IBM Support

PI20252: FASTREXX AND REXX GIVE DIFFERENT RESULTS WHEN REFERENCING PAST THE END OF A RECORD.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Client receives different results depending on whether
    FASTREXX is used or not.
    
    e.g.
    Client has FASTREXX code in a DSC procedure as follows:
    
      IF FLD(18,2) == 'TO',
         THEN DO
              FLD_OUT(1,80,1)
         END
      IF FLD(18,2) \== 'TO',
         THEN DO
              FLD_OUT(1,6,34)
              WRITE(EDITOUT)
         END
    
    A record is not written to EDITOUT.
    
    However, if a 'SAY' statement is added (forcing REXX instead of
    FASTREXX), the record is written to EDITOUT.
    
    IF FLD(18,2) == 'TO',
         THEN DO
              FLD_OUT(1,80,1)
         END
      IF FLD(18,2) \== 'TO',
         THEN DO
              say 'this is added to the 2nd IF to make it work'
              FLD_OUT(1,6,34)
              WRITE(EDITOUT)
         END
    

Local fix

  • Another circumvention instead of the 'SAY' is to code as
    follows:
    
      IF I_LENGTH() < 18 ,
         | FLD(18,2) \== 'TO',
          THEN DO
    
    In that way the first test would take precedence and
    FASTREXX would still be used in this case.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All File Manager Users of REXX or FASTREXX   *
    *                 procedures.                                  *
    ****************************************************************
    * PROBLEM DESCRIPTION: When an external File Manager function  *
    *                      has a boundary condition the result     *
    *                      may differ depending on whether the     *
    *                      procedure is run by REXX or by File     *
    *                      Manager FASTREXX.                       *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    File Manager FASTREXX will evaluate the whole condition as false
    when a boundary error occurs. REXX will substitute a null string
    into the comparison. These 2 behaviors may produce different
    results.
    

Problem conclusion

  • File Manager FASTREXX processing will evaluate the condition
    as a low result if the boundary condition is on the left hand
    side of the operator and a high result if the boundary condition
    is on the right hand side of the operator.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI20252

  • Reported component name

    FILE MANAGER Z/

  • Reported component ID

    5655W6800

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-06-18

  • Closed date

    2014-07-10

  • Last modified date

    2015-03-12

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PI36848

Modules/Macros

  •    FMN0LVL
    

Fix information

  • Fixed component name

    FILE MANAGER Z/

  • Fixed component ID

    5655W6800

Applicable component levels

  • RC10 PSY UI19499

       UP14/07/24 P F407

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSXJAV","label":"File Manager for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"C10","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
09 September 2020