IBM Support

PN23508: COBOL STRING STATEMENT WORKS INCORRECTLY IN A LARGE OS/VS COBOL PROGRAM WITH NOOPT IN EFFECT.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The STRING statement does not work properly in a large OS/VS
    Cobol program when the NOOPT option is in effect.  It works fine
    with OPT on.  Example:
           WORKING-STORAGE SECTION.
           01  FIRST-NAME PIC X(20) VALUE 'JANE S              '.
           01  LAST-NAME  PIC X(20) VALUE 'DOE                 '.
           01  WHOLE-NAME PIC X(20) VALUE '                    '.
           PROCEDURE DIVISION.
           STRING FIRST-NAME DELIMITED BY '  '
                  ' '        DELIMITED BY SIZE
                  LAST-NAME  DELIMITED BY '  '
           INTO   WHOLE-NAME.
    With NOOPT, WHOLE-NAME CONTAINS 'JANE S              '.
    With OPT, WHOLE-NAME CONTAINS 'JANE S DOE          '.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of the STRING statement                *
    ****************************************************************
    * PROBLEM DESCRIPTION: Incorrect output may occur on a         *
    *                      STRING statement with the DELIMITED     *
    *                      BY clause when the program contains     *
    *                      a large literal pool.                   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The STRING statement generates 'DC' constants in the listing
    showing the displacement in the literal pool of the literal in
    the DELIMITED BY clause.  if the displacement is greater than
    x'7FFF' a negative displacement is added to the base table
    and the delimiter literal cannot be found.
    

Problem conclusion

  • ILBOSTG will be modified to add the correct displacement.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PN23508

  • Reported component name

    LE COBOL LIB

  • Reported component ID

    568819802

  • Reported release

    120

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    1992-06-26

  • Closed date

    1992-07-28

  • Last modified date

    1993-01-16

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

    PN23425

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

    UN23632 UN23633 UN23634 UN23635 UN25418

Modules/Macros

  •    ILBOSTG
    

Fix information

  • Fixed component name

    LE COBOL LIB

  • Fixed component ID

    568819802

Applicable component levels

  • R12N PSY UN23634

       UP92/07/28 P 9205

  • R12P PSY UN25418

       UP92/07/31 P 9301

  • R120 PSY UN23632

       UP92/07/29 P F206

  • R121 PSY UN23633

       UP92/07/30 P F206

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.

[{"Line of Business":{"code":"LOB16","label":"Mainframe HW"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27M","label":"APARs - z\/VM environment"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"120"}]

Document Information

Modified date:
22 January 2021