IBM Support

PH67382: cjbuild and the compiler fail to manage long package names correctly, and to diagnose dynamic length JAVA-SHAREABLE items

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • With longer cjbuild --pkgname's various failures can occur as
    cjbuild performs package name substitutions, including
    generating bad names, I/O errors (IGYLI4055-E A permanent I/O
    error occurred on SYSIN or an HFS source record was longer than
    80 characters.) or IS RECURSIVE related issues (eg. IGYDS1515-E
    The "THREAD" compiler option was in effect but a "RECURSIVE"
    clause was not specified on the "PROGRAM-ID" paragraph)
    
    Dynamic length items are not supported under JAVA-SHAREABLE,
    but the compiler is generating empty classes rather than an
    error message indicating that dynamic length items are not
    supported.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 6.4 using the      *
    *                 cjbuild utility to build a DLL for a         *
    *                 COBOL/Java interoperable application where   *
    *                 one or both of the following is true: 1) the *
    *                 application consists of at least one COBOL   *
    *                 program containing a data item defined with  *
    *                 the DYNAMIC clause and the data item is      *
    *                 under the scope of a JAVA-SHAREABLE          *
    *                 directive. 2) the cjbuild utility is invoked *
    *                 with a value for the -p/--pkgname option     *
    *                 that is long enough to result in some of the *
    *                 lines of the generated stub program to be    *
    *                 longer than 72 characters.                   *
    ****************************************************************
    * PROBLEM DESCRIPTION: 1. cjbuild fails due to a compile-time  *
    *                      error when compiling generated file     *
    *                      strg.java due to incorrectly generated  *
    *                      Java code that resulted from the        *
    *                      presence of the dynamic-length item     *
    *                      that was not supported. 2. cjbuild      *
    *                      fails due to a compile-time error from  *
    *                      the COBOL compiler when compiling one   *
    *                      of the stub files. The error is caused  *
    *                      by a line that is longer than 72        *
    *                      characters being continued incorrectly. *
    ****************************************************************
    * RECOMMENDATION: Apply the IBM-provided PTF.                  *
    ****************************************************************
    1. While it is documented that data items defined with the
    DYNAMIC clause cannot be shared with Java, the compiler was not
    handling this restriction properly. 2. cjbuild substitutes the
    user-specified package name into the stub source code before
    compiling it but was not always properly continuing lines that
    were longer than 72 characters.
    

Problem conclusion

  • 1. The compiler was updated to ensure that dynamic-length
    elementary data items are never attempted to be shared with
    Java, and an informational message is now generated whenever
    such an item is ignored by JAVA-SHAREABLE. 2. cjbuild was
    updated to ensure that it correctly continues lines longer than
    72 characters in stub file code.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH67382

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    640

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2025-07-16

  • Closed date

    2025-08-25

  • Last modified date

    2025-09-23

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

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

    PH68248

Modules/Macros

  • IGY8RWTU IGYCASMB IGYCCBE  IGYCCCRT IGYCCICS IGYCCSRV IGYCDGEN
    IGYCDIAG IGYCDMAP IGYCEN$0 IGYCEN$1 IGYCEN$2 IGYCEN$3 IGYCEN$4
    IGYCEN$5 IGYCEN$8 IGYCEN$D IGYCEN$R IGYCFGEN IGYCFREE IGYCINIT
    IGYCJA$0 IGYCJA$1 IGYCJA$2 IGYCJA$3 IGYCJA$4 IGYCJA$5 IGYCJA$8
    IGYCJA$D IGYCJA$R IGYCJBLD IGYCJGEN IGYCLIBR IGYCLSTR IGYCLVL0
    IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOB2E IGYCOSCN
    IGYCPGEN IGYCRCTL IGYCRDPR IGYCRDSC IGYCREAL IGYCRWT  IGYCSCAN
    IGYCSIMD IGYCUE$0 IGYCUE$1 IGYCUE$2 IGYCUE$3 IGYCUE$4 IGYCUE$5
    IGYCUE$8 IGYCUE$D IGYCUE$R IGYCXREF IGYDRV   IGYEQCWI IGYMSGE
    IGYMSGK  IGYMSGT  IGYQCBE  IGYQSPLT IGYZQEN6 IGYZQENU IGYZQJP6
    IGYZQJPN
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R640 PSY UO04614

       UP25/08/30 P F508

  • R641 PSY UO04615

       UP25/08/30 P F508

  • R642 PSY UO04616

       UP25/08/30 P F508

  • R64H PSY UO04617

       UP25/08/30 P F508

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":"BU048","label":"IBM Software"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"640","Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Document Information

Modified date:
23 September 2025