IBM Support

PI91820: ABENDU4088 REASON=63 WHEN USER EXIT COMPILED WITH IBM ENTERPRISECOBOL FOR Z/OS, V5.1 OR LATER RUN WITH IGZERRE MODULE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When a user exit compiled with IBM Enterprise COBOL for z/OS,
    V5.1 or later runs with the IGZERRE module for the runtime
    environment setup, Language Environment issues ABENDU4088
    REASON=63.
    The IGZERRE interface is not supported for application programs
    compiled with IBM Enterprise COBOL V5 or later.
    This APAR will fix IPR Unload and FABHFSU.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of IMS High Performance Unload for *
    *                 z/OS Version 1 Release 2 (FMID=H1IN120)      *
    ****************************************************************
    * PROBLEM DESCRIPTION: When the IGZERRE interface is used in   *
    *                      an user runtime environment exit        *
    *                      routine and a user exit routine for     *
    *                      FABHFSU unload utility or IPR Unload    *
    *                      utility is compiled with IBM            *
    *                      Enterprise COBOL V5, Language           *
    *                      Environment issues ABENDU4088           *
    *                      REASON=63.                              *
    ****************************************************************
    * RECOMMENDATION: Apply the maintenance for this APAR.         *
    ****************************************************************
    When the IGZERRE interface is used in an user runtime
    environment exit routine and an user exit is compiled with IBM
    Enterprise COBOL V5, Language Environment issues ABENDU4088
    REASON=63. That's because IBM Enterprise COBOL V5 does not
    support the IGZERRE interface anymore.
    
    Instead, the FABHURG1 unload utility and IPR Unload utility will
    invoke CEEPIPI provided by Language Environment. For that, this
    APAR provides a new option to resolve this issue.
    
    The following steps are required for FABHFSU unload utility:
    1. Apply this maintenance.
    2. Remove the RTEXIT control statement from the HSSROPT data
       set.
    3. Add the option 'L' to the 46th column of the PSB control
    statement.
     //CARDIN   DD *
     PSB*       OUT1      ULMYCOBEXTY YY          L
    4. Rerun the FABHFSU unload job.
    
    The following steps are required for IPR Unload utility:
    1. Apply this maintenance.
    2. Remove the RTEXIT control statement from the HPSIN data set.
    3. Add the option 'L' of the OUTPUT control statement.
     //HPSIN   DD *
     OUTPUT=SYSUT2,,COBEXIT,Y,Y,Y,Y,,,L       (for Type-A user exit)
     OUTPUT=SYSUT2,,(COBEXIT,B),L             (for Type-B user exit)
    4. Rerun the IPR Unload job.
    

Problem conclusion

  • ========================
    = DOCUMENTATION CHANGE =
    ========================
    The IBM IMS High Performance Unload for z/OS User's Guide
    Version 1 Release 2 Suffix 8 (SC27-0936-08) should be changed
    as follows:
    ----------------------------------------------------------------
    > Unloading IMS database
    >> FABHFSU unload utility
    >>> FABHFSU input
    >>>> FABHFSU CARDIN input data set
    >>>>> PSB Control Statement
      The PSB control statement for the standard mode identifies the
      characteristics of the output data sets to be created. From
      one to three PSB statements can be used for each execution of
      FABHFSU.
    
      0........1.........2.........3.........4.........5.........6
      123456789012345678901234567890123456789012345678901234567890
    | PSBpsbname ddname1 p#ofuserxit mkxsc    extlnl
    
      POSITION  DESCRIPTION
      1         Code the PSB keyword to identify the PSB control
                statement.
      :         :
    | 46        Language environment option.
    |           L      The user exit routine is to be run under an
    |                  environment of LE (Language Environment)
    |                  using the CEEPIPI invocation.
    |                  This option is effective when the user exit
    |                  routine is written in Enterprise COBOL for
    |                  z/OS. This option is not effective for
    |                  Assembler and PL/I.
    |                  If this option is specified, the Runtime
    |                  Environment exit by specifying the RTEXIT
    |                  control statement is not invoked.
    ----------------------------------------------------------------
    > Unloading IMS databases
    >> Options for HSSR Engine
    >>> RTEXIT control statement
      The RTEXIT control statement is used to specify the name of a
      runtime environment exit routine that can initialize and
      terminate processing required by the user's environment, such
      as a COBOL II runtime environment.
      The FABHRTEX module is provided as the default runtime
      environment exit routine, which is a dummy exit routine that
      returns to HSSR Engine without any processing. If any
      initialization or termination processing is required by your
      environment, you can modify this routine or write your own
      exit routine.
    | Note: IBM Enterprise COBOL Version 5 or later does not support
    | the IGZERRE interface for the runtime environment setup
    | anymore. If the interface is used in your runtime environment
    | exit routine, remove the RTEXIT control statement. Instead,
    | specify a language environment option to invoke CEEPIPI
    | provided by Language Environment not only for initialization
    | and termination calls but also for each segment call of your
    | user exit routine for unload utilities. For the details, "EXIT
    | control statement" for FABHURG1 or "PSB control statement" for
    | FABHFSU.
      The runtime environment exit routine is called before and
      after an HSSR application program is invoked. If no RTEXIT
      control statement is specified, the IBM-supplied FABHRTEX
      module or the user-written FABHRTEX module is called as the
      runtime environment exit routine. For more information about
      FABHRTEX, see Runtime Environment exit (FABHRTEX).
    ---------------------------------------------------------------
    > Tuning and customizing HSSR application jobs
    >> System programming interfaces
    >>> Runtime Environment exit (FABHRTEX)
      With IMS High Performance Unload, you can develop a runtime
      environment exit routine, named FABHRTEX, which enables you to
      do your own initialization and termination processing for your
      application programs or your exit routines for unload
      utilities.
      The runtime environment exit routine is called during the
      initialization of the IMS High Performance Unload program
      controller before the application program is called; the
      routine is called once more after, control is returned from
      the application program to the program controller.
      Notes:
      1. For details of system structure, see IMS High Performance
         Unload system structure.
    | 2. If the following cases, the runtime environment exit is not
    |    invoked:
    |    - The language environment option is specified by the EXIT
    |      control statement for the FABHURG1 unload utility.
    |    - The language environment option is specified by the PSB
    |      control statement for the FABHFSU unload utility.
      You can use an exit routine that has a different name, by
      specifying the RTEXIT control card in the HSSROPT data set.
      Use this control statement if you need to set up a special
      runtime environment for a special application or for an exit
      routine for FABHURG1 or FABHFSU.
    ---------------------------------------------------------------
    > Troubleshooting
    >> Messages and codes
    >>> Messages
    >>>> FABH messages
    ---------------------------------------------------------------
    | FABH0287E LOAD FAILED FOR MODULE: xxxxxxxx
    | Explanation: Load failed for the indicated module.
    | System action: Program FABHURG1 or FABHFSU ends abnormally.
    | User response: Check the contents of the load module library.
    | Correct the error and rerun the job.
    ---------------------------------------------------------------
    | FABH0289E CEEPIPI ERROR OCCURRED. FUNC=function,
    | RC=return_code
    | Explanation: HP Unload invoked CEEPIPI of Language
    | Environment(LE), but it returned non-zero return code.
    | System action: HP Unload ends abnormally.
    | User response: FUNC=INIT shows the CEEPIPI function init_sub
    | or identify_entry. FUNC=CALLSUB shows call_sub. For the
    | return codes, see the topic about preinitialization services
    | in the Language Environment Programming Guide (SA22-7561).
    | Correct the error and rerun the job.
    ---------------------------------------------------------------
    | FABH0296E LE OPTION IS NOT ALLOWED WHEN THE RUN TIME
    | ENVIRONMENT EXIT ROUTINE IS BEING INVOKED
    | Explanation: If the RTEXIT control statement is specified for
    | an user run time environment exit routine, the LE option
    | cannot be specified to activate Language Environment.
    | System action: HP Unload ends abnormally.
    | User response: Remove the RTEXIT control statement and rerun
    | the job.
    ---------------------------------------------------------------
    ================ End of Documentation Change ==================
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI91820

  • Reported component name

    IMS HIGHPERF UN

  • Reported component ID

    5655E0600

  • Reported release

    120

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-12-21

  • Closed date

    2018-02-06

  • Last modified date

    2018-03-02

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

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

    UI53701

Modules/Macros

  •    FABHB15X FABHB20  FABHB30  FABHFSUI FABHFSUJ
    FABHFSUT FABHFSU2 FABHFSU3 FABHFSU4 FABHFSU5 FABHPSFC FABHPSFS
    FABH010A FABH010B FABH0102 FABH0103 FABH0104 FABH0105 FABH0108
    FABH0109 HPSUSTMT HPSUURG2 HPSUURG3 HPSUURG4 HPSUURG5 HPSU015
    HPSU015A
    

Publications Referenced
SC27093608    

Fix information

  • Fixed component name

    IMS HIGHPERF UN

  • Fixed component ID

    5655E0600

Applicable component levels

  • R120 PSY UI53701

       UP18/02/08 P F802

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":"LOB10"},"Business Unit":{"code":"BU029","label":"Software"},"Product":{"code":"SSCX89K","label":"IMS Tools"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"1.2.0"}]

Document Information

Modified date:
14 December 2020