IBM Support

PH55397: JAVAINTEROP: CORRECT PROBLEM WITH JAVA-SHAREABLE ZONED DECIMAL I TEMS AND SET DBCS,NSYMBOL(NATIONAL) AS BASE COMPILER OPTIONS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • The following issues are fixed:
    
    1) If a COBOL installation has NODBCS or NSYMBOL(DBCS) set as a
    
    
    compiler option default, programmers will encounter a problem
    
    
    passing PIC X arguments to Java or receiving String objects
    from
    Java to COBOL in a non-OO COBOL/Java interoperable application.
    
    The options DBCS and NSYMBOL(NATIONAL) will be added as
    explicit
    base compiler options for building COBOL stub files in cjbuild
    to correct this problem.
    
    2) A problem with Java-shareable zoned decimal items not being
    converted to BigDecimal properly for negative values when the
    
    zoned decimal is defined with SIGN SEPARATE or SIGN TRAILING.
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 6.4 compiling and  *
    *                 running programs that use non-OO COBOL/Java  *
    *                 interoperability support and at least one of *
    *                 the following conditions is true:            *
    *                                                              *
    *                 1. the NODBCS and/or NSYMBOL(DBCS) compiler  *
    *                 option is set in the user's installation     *
    *                 options and the user is passing a PIC X/N/U  *
    *                 argument to Java or is receiving a String    *
    *                 object from Java                             *
    *                                                              *
    *                 2. the JAVA-SHAREABLE directive is used to   *
    *                 share with Java a zoned decimal data item    *
    *                 that can have a negative value               *
    ****************************************************************
    * PROBLEM DESCRIPTION: 1. When NODBCS is set in the user's     *
    *                      installation defaults, the cjbuild      *
    *                      utility may encounter the following     *
    *                      error when compiling stub files:        *
    *                                                              *
    *                      IGYSC1105-E                             *
    *                                                              *
    *                      When NSYMBOL(DBCS) is in the user's     *
    *                      installation defaults, the cjbuild      *
    *                      utility may encounter the following     *
    *                      errors when compiling stub files:       *
    *                                                              *
    *                      IGYPS0057-E                             *
    *                      IGYPS0081-E                             *
    *                      IGYPS2285-S                             *
    *                                                              *
    *                      2. When the zoned decimal value is      *
    *                      examined in Java it might appear        *
    *                      positive or there may be a Java         *
    *                      exception when converting the data item *
    *                      from zoned decimal format to            *
    *                      java.math.BigDecimal format.            *
    ****************************************************************
    * RECOMMENDATION: Install the IBM-provided PTF                 *
    ****************************************************************
    Stub programs generated for COBOL/Java interoperability use
    NATIONAL data items when the user is passing alphanumeric data
    between COBOL and Java. However, if the user has NODBCS or
    NSYMBOL(DBCS) set in their installation defaults, this will
    cause an error when those stub programs are compiled by the
    cjbuild utility.
    
    Additionally, the JZOS class for converting between
    java.math.BigDecimal and zoned decimals was not appropriate for
    all possible sign configurations.
    

Problem conclusion

  • The cjbuild utility was updated to explicitly specify the DBCS
    and NSYMBOL(NATIONAL) compiler options when building stub
    programs in order to override possible installation defaults of
    DBCS and/or NSYMBOL(DBCS).
    
    The compiler was updated to generate stub programs that use the
    correct JZOS translator class for conversions between
    java.math.BigDecimal and zoned decimals for all possible sign
    configurations.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH55397

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    640

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    YesSpecatt / New Function / Xsystem

  • Submitted date

    2023-06-26

  • Closed date

    2023-06-26

  • Last modified date

    2023-07-03

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

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

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 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 UI92327

       UP23/06/28 P F306  

  • R641 PSY UI92328

       UP23/06/28 P F306  

  • R642 PSY UI92329

       UP23/06/28 P F306  

  • R64H PSY UI92330

       UP23/06/28 P F306  

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":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"640","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
12 December 2023