A fix is available
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