IBM Support

PH61700: JAVA/COBOL INTEROPERABILITY IMPROVEMENTS - CJBUILD UTILITY UPDATES AND NEW SAMPLES

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • Improvements to the cjbuild utility
    -- The so-called "methods file" is no longer required if you
    just want to build all java interop artifcats in the indicated
    COBOL artifact directory into a DLL
    -- New option --jar for creating a .jar file from all .class
    files generated by cjbuild for various Java class
    New sample files for a COBOL-calls-Java scenario
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 6.4 building       *
    *                 non-OO COBOL/Java interoperable              *
    *                 applications who would like one or more of   *
    *                 the following:                               *
    *                                                              *
    *                 1. A way to have the cjbuild utility create  *
    *                 a .jar file from all the .class files it     *
    *                 generates.                                   *
    *                                                              *
    *                 2. A simplified interface to cjbuild that    *
    *                 doesn't require users to specify a           *
    *                 "methods" file identifying all the COBOL     *
    *                 programs and Java method names involved in   *
    *                 the interoperable application.               *
    *                                                              *
    *                 3. For users who still want to use a         *
    *                 "methods" file for cjbuild to filter the     *
    *                 stub files in the COBOL artifact directory,  *
    *                 a way to avoid including the name of each    *
    *                 Java method called from COBOL in the file.   *
    *                                                              *
    *                 4. A way for cjbuild to filter the stubs in  *
    *                 the specified COBOL artifact directory       *
    *                 (similar to the "methods" file approach)     *
    *                 but by specifying the COBOL program names    *
    *                 from the cjbuild command line instead of a   *
    *                 file.                                        *
    ****************************************************************
    * PROBLEM DESCRIPTION: New Function:                           *
    *                      1. A new option -r/--jar has been       *
    *                      added to cjbuild that results in all    *
    *                      .class files produced by cjbuild being  *
    *                      built into a .jar file. Note that       *
    *                      cjbuild produces .class files when it   *
    *                      compiles the Java files for the         *
    *                      progs.java and strg.java classes as     *
    *                      well as the files for accessor classes  *
    *                      generated as the result of              *
    *                      JAVA-SHAREABLE being used.              *
    *                                                              *
    *                      2. cjbuild no longer requires a         *
    *                      "methods" file as input.  The methods   *
    *                      file is now optional.  When it is       *
    *                      omitted, cjbuild will process all stub  *
    *                      files in the COBOL artifact directory   *
    *                      indicated by the -c/--coboldir option.  *
    *                      To take advantage of this, simply put   *
    *                      all stub files for each interoperable   *
    *                      application in a single directory.      *
    *                                                              *
    *                      3. If you want to continue to use the   *
    *                      "methods" file approach to filter out   *
    *                      stub files in the COBOL artifact        *
    *                      directory, it is no longer necessary    *
    *                      to include the name of each Java        *
    *                      method called from COBOL. Instead,      *
    *                      just include the names of all the       *
    *                      COBOL programs in your application      *
    *                      that make calls to Java.                *
    *                                                              *
    *                      4. A new cjbuild command line option    *
    *                      -i/--progid has been added that allows  *
    *                      users to specify COBOL progam names to  *
    *                      filter on instead of filtering via the  *
    *                      methods file.                           *
    ****************************************************************
    * RECOMMENDATION: Apply the IBM-provided PTF                   *
    ****************************************************************
    1. Users wanted a way to tell cjbuild to build all .class files
    it produces into a single .jar file for convenience.
    
    2. Users who prefer to maintain one directory of stub files per
    COBOL/Java interoperable application they build, wanted a way
    to simply tell cjbuild to look at that directory of stub files
    and build them all into a DLL -- no filtering via a "methods"
    file needed.
    
    3. Listing the names of all Java methods called from COBOL in
    the "methods" file was unnecessarily cumbersome.
    
    4. For users who still like the "methods" file approach with
    filtering, some users wanted a way to control the filtering via
    the cjbuild command line instead of a file.
    

Problem conclusion

Temporary fix

Comments

  • The compiler was updated as follows:
    1. A new option -r/--jar was added to cjbuild to allow the user
    to request that all .class files generated by cjbuild be
    combined into a single .jar file.
    
    2. cjbuild no longer requires a "methods" file as input, though
    it is still supported.
    
    3. It is now no longer necessary to add the names of each Java
    method called from COBOL in the "methods" file.  Instead, just
    list the names of all COBOL programs that make calls to Java
    methods.
    
    4. A new option -i/--progid was added to cjbuild to allow users
    to specify COBOL program names from the cjbuild command line
    instead of via the methods file.
    
    For a description of changes related to the cjbuild
    improvements, please refer to the following sections in the
    Enterprise COBOL for z/OS 6.4 IBM Documentation online:
    
    
    1. Programming Guide -> Compiling and debugging your program
         -> Compiling, linking, and running non-OO applications
            that interoperate with Java
    
    2. Programming Guide -> COBOL/Java interoperability outside
                            of the object-oriented (OO) COBOL
                            framework
    

APAR Information

  • APAR number

    PH61700

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    640

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2024-06-05

  • Closed date

    2024-06-21

  • Last modified date

    2024-07-01

  • 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 IGYCJDM1 IGYCJDM2 IGYCJDM3 IGYCJDM4
    IGYCJDM5 IGYCJDM6 IGYCJDMB IGYCJDMJ IGYCJDMR IGYCJDN1 IGYCJDN2
    IGYCJDN3 IGYCJDNB IGYCJDNJ IGYCJDNR 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 UI97420

       UP24/06/27 P F406

  • R641 PSY UI97421

       UP24/06/27 P F406

  • R642 PSY UI97422

       UP24/06/27 P F406

  • R64H PSY UI97423

       UP24/06/27 P F406

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:
02 July 2024