IBM Support

PI96908: MATCHES OPERATOR IS NOT RETURNING EXPECTED RESULTS.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The problem happens when 2 or more IF statements, containing
    LIKE or MATCH operands are in a row.
    The logic didn't reset a temporary flag, and since these
    statement level temporary variables are redefined storage, the
    2nd IF statement would actually pick up the positive result from
    the 1st IF statement. This is because the logic was not
    resetting the value. By placing another statement between these
    IF statements, it could cause the logic to work, because the
    extra non-IF statement might have also had a temporary variable
    that was causing the redefined storage to get reset, enabling
    the subsequent IF statement to then work.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Incorrect results from LIKE/MATCHES processing can occur     *
    * with embedded IF statements                                  *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * If an IF statement contains a LIKE/MATCHES operand and has   *
    * another IF statement immediately within the first one, then  *
    * it is possible that the results of the subsequent IF         *
    * statements can pick up the result from the previous ones.    *
    * This is because the result flag was not being reset and      *
    * since EGL statement temporary variables redefine each other, *
    * the memory might have been overlaid causing false positive   *
    * results.                                                     *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • The memory is now initialized during the IF statement.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI96908

  • Reported component name

    RATL BUS DEV

  • Reported component ID

    5724S5000

  • Reported release

    950

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-04-18

  • Closed date

    2019-01-18

  • Last modified date

    2019-01-18

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

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

Fix information

  • Fixed component name

    RATL BUS DEV

  • Fixed component ID

    5724S5000

Applicable component levels

  • R911 PSY

       UP

  • R950 PSY

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSMQ79","label":"Rational Business Developer"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"950","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
18 October 2021