IBM Support

PH17633: INCORRECT INSPECT RESULT WITH BEFORE AND AFTER WHEN INSPECT REPLACING USED FOR AMODE64

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Due to a logic error in determining the position range specified
    by BEFORE and AFTER phrases, the INSPECT statement replaced a
    data item beyond the specified positions for an AMODE 64
    program.
    
    Sample code :
    
    01 VAR A     PIC X(100) VALUE
         'EMP NAME=LAST,FIRST EMP NAME2=null'
    
    INSPECT VAR A REPLACING ALL ',' BY '--'
    BEFORE INITIAL ', EMP NAME2='
    AFTER INITIAL 'EMP NAME=
    
    Incorrect output:
    
    ==============================================================
    String After : 'EMP NAME=LAST--FIRST--EMP NAME2=null'
    ==============================================================
    
    Correct output should be:
    
    ==============================================================
    String After : 'EMP NAME=LAST--FIRST, EMP NAME2=null'
    ==============================================================
    
    The INSPECT clause behaves as if the BEFORE clause is ignored.
    
    Fixcat Keyword:
    COB0501T/K COB0502T/K COB0601T/K COB0602T/K COB0603T/K
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6.3 and later     *
    *                 releases running AMODE 64 programs that      *
    *                 use INSPECT with REPLACING, BEFORE, and      *
    *                 AFTER phrases.                               *
    ****************************************************************
    * PROBLEM DESCRIPTION: he INSPECT statement with REPLACING,    *
    *                      BEFORE, and AFTER phrases produced      *
    *                      incorrect result.                       *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    Due to a logic error in determining the position range specified
    by BEFORE and AFTER phrases, the INSPECT statement replaced a
    data item beyond the specified positions.
    

Problem conclusion

  • The INSPECT processing in the COBOL Runtime has been corrected
    to replace characters only within the character positions
    specified by the BEFORE and AFTER phrases.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH17633

  • Reported component name

    LE ENT COBOL LI

  • Reported component ID

    568819812

  • Reported release

    7B0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-10-02

  • Closed date

    2019-10-24

  • Last modified date

    2019-11-21

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

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

Modules/Macros

  • CELQSG04 CELQV004 IGZCER4  IGZCEV4  IGZCMGEN IGZCMGUE IGZLLIBV
    IGZQAPI  IGZQCDA  IGZQINPL IGZXAPI  IGZXCDA  IGZXD24  IGZXDMR
    IGZXLPIO IGZXLPKA IGZXLPKB IGZXLPKC IGZXLPKD IGZXLPKE IGZXLPKF
    IGZXLPKG IGZXPK2
    

Fix information

  • Fixed component name

    LE ENT COBOL LI

  • Fixed component ID

    568819812

Applicable component levels

  • R7B0 PSY UI66035

       UP19/10/30 P F910

  • R7C0 PSY UI66039

       UP19/10/30 P F910

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":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSCVR7X","label":"Runtime"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
14 December 2020