CEMT INQUIRE PROGRAM

Retrieve information about programs, maps, and partition sets.

In the CICS Explorer, the Programs operations view provides a functional equivalent to this command.

Description

INQUIRE PROGRAM returns information about the programs, map sets, and partition sets that are defined to your system. Java™ programs that run in a JVM return a subset of values.

Start of changeA program that is defined as part of an application installed on a platform is private to that version of that application. A program is private if the PROGRAM resource is defined in a CICS® bundle that is packaged and installed as part of an application, either as part of the application bundle, or as part of the application binding bundle. A program that is auto-installed by a task for an application that is deployed on a platform is also private to that version of the application. Private programs are not visible when you use the CEMT INQUIRE PROGRAM command. To inquire on or browse private programs, use the CICS Explorer® or the EXEC CICS INQUIRE PROGRAM system programming command. Note that a private program that is declared as an application entry point becomes a public program when the CICS bundle containing the statement of the application entry point is made available.End of change

Start of changeThe APPLICATION, APPLMAJORVER, APPLMINORVER, APPLMICROVER, OPERATION, and PLATFORM fields for CEMT INQUIRE PROGRAM display information about a public PROGRAM resource that is defined as an application entry point. End of change

The resource signature

You can use this command to display the resource signature fields. You can use these fields to manage resources by capturing details of when the resource was defined, installed, and last changed. For more information, see Auditing resources. The resource signature fields are CHANGEAGENT, CHANGEAGREL, CHANGETIME, CHANGEUSRID, DEFINESOURCE, DEFINETIME, INSTALLAGENT, INSTALLTIME, and INSTALLUSRID. See Summary of the resource signature field values for detailed information about the content of the resource signature fields.

Input

Press the clear key. You can start this transaction in one of two ways:
  • Type CEMT INQUIRE PROGRAM. You get a display that lists the status.
  • Type CEMT INQUIRE PROGRAM followed by as many of the other attributes that are necessary to limit the range of information that you require. For example, if you enter cemt i prog c e, the resulting display shows you the details of only those programs that are written in C language and are enabled.
You can use the tab key to navigate to the highlighted or blank fields and type over them with the required values.
(value)
A 1 - 8 character program identifier which is the name of a specific program entry in the table of installed program definitions. If you omit the program name, the ALL option is assumed by default. You can also use the wildcard character * to return a selection of programs; for example, entering CEMT INQUIRE PROGRAM(DFH*) returns all programs that begin with DFH.

You cannot specify the CLASS option and a program name.

ALL
The default.
CLASS(value)
The two character suffix of a program list table (PLT). Use this option to inquire on those programs defined in the specified PLT. Unlike a shutdown PLT, it is not mandatory to define a program definition for a startup PLT. However, if you want to use the CLASS option, you must define and install a program resource definition for the PLT specified by clasid.

If the clasid specified is the suffix of a PLT that does not have a program definition, the INQUIRE PROGRAM CLASS(clasid) command returns a CLASS NOT FOUND message.

CEMT INQUIRE PROGRAM

Read syntax diagramSkip visual syntax diagramCEMT INQUIRE PROGRAMALL( value)CLASS( value)LENGTH( value)PLICOBOLCLENVASSEMBLERJAVANOTAPPLICNOTDEFINEDPROGRAMMAPSETPARTITIONSETENABLEDDISABLEDSHAREDPRIVATENOTREQUIREDREQUIREDNEWCOPYPHASEINCEDFNOCEDFDYNAMICNOTDYNAMICRESIDENCY( cvda) RESCOUNT( value) USECOUNT( value) PROGRAMMAPSETPARTITIONSET ANYBELOWCEXECKEYUEXECKEYDPLSUBSETFULLAPIQUASIRENTTHREADSAFEOREQUIREDCICSAPIOPENAPIREMOTESYSTEM( value)JVMLENVNATIVEUNKNOWNXPLINKLIBRARY( value)LIBRARYDSN( value)APPLICATION( value)PLATFORM( value)OPERATION( value)APPLMAJORVER( value)APPLMINORVER( value)APPLMICROVER( value)JVMCLASS( value)JVMPROFILE( value)JVMSERVER( value)INSTALLTIME( date time)INSTALLUSRID( value)AUTOINSTALLBUNDLECREATESPICSDAPIGRPLISTSYSTEMDEFINESOURCE( value)DEFINETIME( date time)CHANGETIME( date time)CHANGEUSRID( value)AUTOINSTALLCREATESPICSDAPICSDBATCHDREPAPISYSTEMCHANGEAGREL( value)

Displayed fields

APPLICATION
Displays the name of the application for which this program is defined as an entry point. If the program is not defined as an application entry point, the field is blank.
APIST
Displays the API attribute of the installed program definition.
CICSAPI
The program is restricted to use of the CICS permitted application programming interfaces only.

If the program is defined with CONCURRENCY(QUASIRENT) it always runs on the quasi-reentrant (QR) TCB. If the program is defined with CONCURRENCY(THREADSAFE) it runs on whichever TCB is in use by CICS at the time that is determined as suitable. If the program is defined with CONCURRENCY(REQUIRED) it always runs on an L8 open TCB.

OPENAPI
The program is not restricted to the CICS permitted application programming interfaces.

CICS runs the program on its own L8 or L9 mode open TCB, depending on the value of the EXECKEY attribute. If the program is defined with CONCURRENCY(REQUIRED), CICS uses an L9 TCB if EXECKEY(USER) is set and an L8 TCB if EXECKEY(CICS) is set. If, when running a CICS command, CICS requires a switch to QR TCB, it returns to the open TCB before handing control back to the application program. OPENAPI requires the program to be coded to threadsafe standards.

APPLMAJORVER
Displays the major version number of the application for which this program is defined as an entry point. If the program is not defined as an application entry point, the field is blank.
APPLMICROVER
Displays the micro version number of the application for which this program is defined as an entry point. If the program is not defined as an application entry point, the field is blank.
APPLMINORVER
Displays the minor version number of the application for which this program is defined as an entry point. If the program is not defined as an application entry point, the field is blank.
CEDFSTATUS
Displays the action that the execution diagnostic facility (EDF) is to take for this program when the program runs under EDF.
CEDF
When EDF is active, CEDF initiation and termination screens are shown by CEDF while this program is running. Other screens are also shown unless the program was translated using the NOEDF translator option.
NOCEDF
All CEDF activities, including initiation and termination screens, stop while this program is being processed.
CHANGEAGENT(value)
Displays a value that identifies the agent that made the last change to the resource definition. You cannot use CEMT to filter on some of these values because they are duplicated. The possible values are as follows:
AUTOINSTALL
The resource was autoinstalled.
CREATESPI
The resource definition was last changed by an EXEC CICS CREATE command.
CSDAPI
The resource definition was last changed by a CEDA transaction or the programmable interface to DFHEDAP.
CSDBATCH
The resource definition was last changed by a DFHCSDUP job.
DREPAPI
The resource definition was last changed by a CICSPlex SM BAS API command.
SYSTEM
The resource definition was last changed by the CICS or CICSPlex system.
CHANGEAGREL(value)
Displays the 4-digit number of the CICS release that was running when the resource definition was last changed.
CHANGETIME(date time)
Displays the date and time when the resource definition was last changed. The format of the date depends on the value that you selected for the DATFORM system initialization parameter for your CICS region. The format of the time is hh:mm:ss.
CHANGEUSRID(value)
Displays the 8-character user ID that ran the change agent.
CONCURRENCY
Displays the concurrency attribute of the specified program.
QUASIRENT
The program is defined as not threadsafe, and requires the automatic serialization provided by QR TCB.
THREADSAFE
The program is defined as being threadsafe, using appropriate serialization techniques to access shared resources. It does not need the automatic serialization provided by the CICS QR TCB, and can safely run on an open TCB.
OREQUIRED
The program is defined as threadsafe, and must run on an open TCB. The type of open TCB used depends on the API setting.

A value of CONCURRENCY(OREQUIRED) is equivalent to CONCURRENCY(REQUIRED) on the program definition. CEMT uses a value of OREQUIRED to distinguish it from a value of REQUIRED on the option COPYSTATUS. You can use the filter OREQUIRED to return all programs with the concurrency setting of REQUIRED.

COPYSTATUS
Displays the load status of the specified program.
NOTREQUIRED
The program status is such that you do not have to specify CEMT SET PROGRAM NEWCOPY or CEMT SET PROGRAM PHASEIN to make the program available. If the program is already available for use and you have a new version in the DFHRPL or a dynamic LIBRARY concatenation, issue a NEWCOPY or PHASEIN command to replace the current version.
REQUIRED
A search for the program failed during a load operation, and the program is marked as not loadable to avoid further load attempts.

You must specify CEMT SET PROGRAM NEWCOPY or CEMT SET PROGRAM PHASEIN to enable the program to be loaded. Ensure that a copy of the program is in the search order of LIBRARY concatenations, including DFHRPL and dynamic libraries.

You can reset this value by typing over it using the following values:
NEWCOPY
CICS uses a new copy of the program if all the transactions currently using the program have finished (RESCOUNT equal to zero). If RESCOUNT is not zero, NEWCOPY fails. CICS loads the new version either from the search order of LIBRARY concatenations (including DFHRPL and dynamic LIBRARYs) or uses an LPA-resident version, depending on the PRIVATE or SHARED options. PRIVATE is the default setting.
You cannot specify NEWCOPY for a program specified with the HOLD option, or for a Java program that runs in a JVM.
PHASEIN
CICS uses a new copy of the program now for all new transaction requests. CICS continues to use the old copy for all currently running transactions until they have finished (RESCOUNT equal to zero). CICS loads the new version either from the search order of LIBRARY concatenations (including DFHRPL and dynamic LIBRARYs) or uses an LPA-resident version, depending on the PRIVATE or SHARED options. PRIVATE is the default setting.
You cannot specify PHASEIN for a program specified with the HOLD option, or for a Java program that runs in a JVM.

PHASEIN performs a REFRESH PROGRAM function to inform the loader domain that a new version of the program was cataloged and that this version of the named program is used in all future ACQUIRE requests.

Until the program goes to a zero RESCOUNT and a subsequent ACQUIRE PROGRAM was performed, CEMT INQUIRE PROGRAM returns information about the first copy of the program.

DATALOC
Displays whether the program can accept data addresses higher than 16 MB. The values are as follows:
ANY
The program can handle 31-bit addresses. The address of the data can be above or below 16 MB. CICS returns an address above 16 MB if possible.
BELOW
The program can handle only 24-bit addresses and must therefore be given addresses of data located below 16 MB. If required, CICS copies data below 16 MB before passing its address to the application program.
DEFINESOURCE(value)
Displays the source of the resource definition. The DEFINESOURCE value depends on the CHANGEAGENT option. For details, see Summary of the resource signature field values.
DEFINETIME(date time)
Displays the date and time when the resource was created. The format of the date depends on the value that you selected for the DATFORM system initialization parameter for your CICS region. The format of the time is hh:mm:ss.
DYNAMSTATUS
Displays whether, if the program is the subject of a program-link request, the request can be dynamically routed.
DYNAMIC
If the program is the subject of a program-link request, the CICS dynamic routing program is called. Providing that a remote server region is not named explicitly on the SYSID option of the EXEC CICS LINK command, the routing program can route the request to the region on which the program is to run.
NOTDYNAMIC
If the program is the subject of a program-link request, the dynamic routing program is not called.

For a distributed program link (DPL) request, the server region on which the program is to run must be specified explicitly on the REMOTESYSTEM option of the PROGRAM definition or on the SYSID option of the EXEC CICS LINK command; otherwise, it defaults to the local region.

For information about the dynamic routing of DPL requests, see Dynamically routing DPL requests.

EXECKEY
Displays the access key in which the program is running.
CEXECKEY
The program runs in CICS access key, and has read and write access to both CICS-key and user-key storage.
UEXECKEY
The program runs in user access key, and has write access to user-key storage, but read-only access to CICS-key storage.
EXECUTIONSET
Displays whether the program is restricted to the API subset as for a distributed program link request. The values are as follows:
DPLSUBSET
The program is restricted to the DPL API subset, as for a distributed program link request, when it runs in the local CICS region.

A program is always restricted to the DPL subset when it is called in a remote region with a DPL request, even if this option is not specified.

FULLAPI
The program is not restricted to the DPL subset of the CICS API when it runs in the local CICS region and can use the full API.

A program is always restricted to the DPL subset when it is called in a remote region with a DPL request, regardless of this option.

You can reset this value by typing over it with a different value.

INSTALLAGENT(value)
Displays a value that identifies the agent that installed the resource. You cannot use CEMT to filter on some of these values because they are duplicated. The possible values are as follows:
AUTOINSTALL
The resource was autoinstalled.
BUNDLE
The resource was installed by a bundle deployment.
CREATESPI
The resource was installed by an EXEC CICS CREATE command.
CSDAPI
The resource was installed by a CEDA transaction or the programmable interface to DFHEDAP.
GRPLIST
The resource was installed by GRPLIST INSTALL.
SYSTEM
The resource was installed by the CICS or CICSPlex SM system.
INSTALLTIME(date time)
Displays the date and time when the resource was installed. The format of the date depends on the value that you selected for the DATFORM system initialization parameter for your CICS region. The format of the time is hh:mm:ss.
INSTALLUSRID(value)
Displays the 8-character user ID that installed the resource.
JVMCLASS
Displays the name of the main class in the Java program or OSGi service, as specified in the PROGRAM definition, up to a maximum of 255 characters.
JVMPROFILE
Displays the name of the JVM profile that is used for the pooled JVM in which this Java program runs.
JVMSERVER
Displays the name of the JVMSERVER resource that is used to run this OSGi service in a JVM server.
LANGUAGE
Displays the language in which the program is written.
PLI, COBOL, C, Lenv, or Assembler
Supported languages. Lenv Means that the module, whatever its language, uses multi-language support or was compiled with a Language Environment®-conforming compiler.
JAVA
The program is written in Java.
NOTAPPLIC
The language is not specified in the resource definition, and is not loaded.
NOTDEFINED
The language in which the program is written is not defined.
LENGTH(value)
Displays the size of the program in bytes. The value returned is 0000000000 if the program is not loaded during this CICS run. No value is returned if the module is a remote program or a Java program that runs in a JVM.
LIBRARY(value)
Displays the 8-character name of the LIBRARY from which the program is currently loaded.
Note:
  • If the program was loaded from an installed LIBRARY resource, the library and library data set names are returned.
  • If the program was loaded from a LIBRARY resource that is disabled, the library name is returned but the library data set name is blank.
  • If the program was loaded from a LIBRARY resource that is discarded, both library and library data set name are blank.
LIBRARYDSN(value)
Displays the 44-character name of the data set within the LIBRARY from which the program is currently loaded.
Note:
  • If the program was loaded from an installed LIBRARY resource, the library and library data set names are returned.
  • If the program was loaded from a LIBRARY resource that is disabled, the library name is returned but the library data set name is blank.
  • If the program was loaded from a LIBRARY resource that is discarded, both library and library data set name are blank.
OPERATION
Displays the name of the application operation for which this program is defined as an entry point. If the program is not defined as an application entry point, the field is blank.
PLATFORM
Displays the platform name of the application for which this program is defined as an entry point. If the program is not defined as an application entry point, the field is blank.
PROGRAM(value)
Indicates that this panel relates to a PROGRAM inquiry and displays an 8-character program identifier (1 - 8 characters), which is the name of a specific program entry in the table of installed program definitions.
PROGTYPE
Displays the type of program:
PROGRAM
The entry is defined in the CICS system definition as a program.
MAPSET
The entry is defined in the CICS system definition as a map set.
PARTITIONSET
The entry is defined in the CICS system definition as a partition set.
REMOTESYSTEM(value)
Displays the 4-character name of the remote system in which the program is to run.
RESCOUNT(value)
Displays a 3-character string identifying the number of separate invocations of this program that are taking place at the time of this inquiry. No value is returned if the module is a remote program or a Java program that runs in a JVM.

This number is not necessarily the same as the number of times the module has been loaded from DFHRPL or a dynamic LIBRARY concatenation.

Start of changeRESIDENCY(value)End of change
Start of changeDisplays the program's residency attributes:
RESIDENT
The program is permanently resident. It is defined as RESIDENT(YES).
NONRESIDENT
The program is defined as RESIDENT(NO).
End of change
RUNTIME
Displays information about the runtime environment of the program.
JVM
The program is a Java program that runs in a Java Virtual Machine (JVM).
Lenv
The program is running with Language Environment runtime support.
NATIVE
The program is running with its native language runtime support (not Language Environment).
NOTKNOWN
The runtime environment is not known because the program was not loaded by CICS. The source language, which dictates the runtime environment to be used, cannot be deduced.
XPLINK
The program is a C or C++ program which was compiled using the XPLINK option.
SHARESTATUS
Displays, when the next NEWCOPY or PHASEIN request is received, where the next new copy of the program is to be loaded from.
SHARED
CICS is using a shared copy of the program from the link pack area (LPA). If no LPA version is available, the program is loaded from DFHRPL or a dynamic LIBRARY concatenation.
PRIVATE
The next new copy of the program is to be loaded from DFHRPL or a dynamic LIBRARY concatenation.

You can reset this value by typing over it with a different value.

STATUS
Displays whether the program is available for use using of the following values:
ENABLED
The program is available for use.
DISABLED
The program is unavailable for use.

Programs beginning with DFH cannot be disabled because these characters are reserved for use by CICS.

You can reset this value by typing over it with a different value.

USECOUNT(value)
Displays a 10-character string identifying the total number of times the program has run since the start of the current CICS session. The use count is provided for all modules including Java programs, except for remote programs. No value is returned if the program is remote.