IBM Support

Resolving APCT abends in TXSeries

Technote (troubleshooting)


Transactions can fail with an APCT abend, when there is a failure in a transaction attempting to load the program defined in PD.stanza.


A transaction failure with an APCT abend can be caused by:

  • An APCT abend occurs while loading an application or a map which is not correctly linked with the libraries.
  • The requested program entry in the Program Definitions (PD) has been disabled, or the program has zero length, or an I/O error has occurred while loading the program.
  • APCT abends does not occur due to CICS internal issues, but only due to incorrect settings, or an incorrect procedure used during compilation and linking of an application.

Resolving the problem

1. If a CICS supplied transaction or map fails, check if the locale is set correctly in the environment. You can check this by running locale command on AIX. The locale should show a supported locale such as en_US in LANG and all the other locale related parameters.

    For example,
      # locale

    Check if the set locale is correctly installed in the system by running locale -a.

    2. Ensure that the application is not compiled or linked with a 64-bit library. All the applications must be compiled and linked with 32 bit libraries only for TXSeries.

    3. Ensure that the path associated with linked libraries of an application can be updated by a CICS user. You can do this by completing the following steps:

      1. Login as a CICS user.
      2. Run the region's environment file settings.
      3. Run the ldd command on the application/map. ldd /var/applications/Application_name. The command should not show missing libraries. If any missing library path exists, you need to verify and provide the required permission to the library and path to CICS.
    4. If the problem occurs intermittently, there might be a library which is compiling with a flag that is causing the library to get unloaded. You can resolve this by setting ResidentFlag=yes in the Program Definition (PD).

    5. Check if the shared library is created with the re-entrant flag enabled (-b:MRE flag). Ensure that absolute path of the object file is provided to the linker.

    6. Verify if the problem recreates when the program is compiled through cicstcl command. This will help in isolating the incorrect flag procedure being used for the compiling an application.

    7. If the absolute path is not specified for the file or program in the PD.stanza, check the following:

      • For CICS to find a mapset that is specified as a string, the file name must have the extension .map. CICS searches the directories in the following sequence:
        1. /var/cics_regions/regionName/maps/locale (for Open Systems) or
          rootDir\var\cics_regions\regionName\maps\locale (for Windows)
        2. /var/cics_regions/regionName/maps/prime (for Open Systems) or
          rootDir\var\cics_regions\regionName\maps\prime (for Windows)
        3. $CICSPATH/maps/locale (for Open Systems) or
          rootDir\opt\cics\maps\locale (for Windows)
        4. $CICSPATH/maps/prime (for Open Systems) or rootDir\opt\cics\maps\prime
          (for Windows)
      • To find a program specified as a string, CICS searches the directories in the following sequence:
        1. /var/cics_regions/regionName/bin (for Open Systems) or
          rootDir\var\cics_regions\regionName\bin (for Windows)
        2. $CICSPATH/bin (for Open Systems)
      • If the map or program is not found in the mentioned location, it will search path that are specified through CICS_PROGRAM_PATH.

Document information

More support for: TXSeries for Multiplatforms

Software version: 6.2, 7.1

Operating system(s): AIX, HP-UX, Solaris, Windows

Reference #: 1612698

Modified date: 16 April 2014

Translate this page: