Most of the above information is obtained using EXEC CICS API commands
such as:
INQUIRE SYSTEM
– ASSIGN
– ADDRESS
– ASKTIME
– FORMATTIME.
vUses the STARToption of the EXEC CICS ENABLE command to make
DFH$PCEX available for execution. This causes DFH$PCEX to be driven for
all LINKs and XCTLs.
vLinks to the dummy program, DFH$PCPL, in order to drive DFH$PCEX.
vUses the STOP option of the EXEC CICS DISABLE command to make
DFH$PCEX unavailable for execution. Note that this leaves DFH$PCEX’s
global work area still allocated and accessible through the EXEC CICS
EXTRACT EXIT command.
3. Section 3 of DFH$PCPI shows how to share the system information in an exit
program’s global work area with other exit programs. (In doing so it
demonstrates how application programs can access the same information by
means of the EXEC CICS EXTRACT EXIT command.) It also shows how to use
CICS shared storage to overcome the limitation of 32KB on the size of a GWA.
The program obtains an area of 64KB below 16MB and an area of 128KB
above 16MB (using GETMAIN). The use of shared storage enables the second
user exit program (DFH$ZCAT) to use a work area of only 12 bytes below
16MB.
The section performs the following processing:
vUses EXEC CICS ENABLE to enable the DFH$ZCATuser exit program, and
allocate it a global work area
vUses EXEC CICS EXTRACT EXIT to obtain the address of DFH$ZCAT’s
global work area
vStores the address of DFH$PCEX’s global work area in DFH$ZCAT’sglobal
work area
vUses GETMAIN to obtain the shared storage above and below the 16MB
line, and stores the addresses in DFH$ZCAT’sglobal work area.

Sample program definitions:

The following are examples of the RDO definitions
required to define the sample programs to the CSD:
DEFINE PROGRAM(DFH$PCEX) GROUP(EXITGRP)
LANGUAGE(ASSEMBLER) RELOAD(NO) RESIDENT(NO) USAGE(NORMAL)
USELPACOPY(NO) STATUS(ENABLED) CEDF(YES) DATALOCATION(ANY)
EXECKEY(CICS)
DEFINE PROGRAM(DFH$PCPI) GROUP(EXITGRP)
LANGUAGE(ASSEMBLER) RELOAD(NO) RESIDENT(NO) USAGE(NORMAL)
USELPACOPY(NO) STATUS(ENABLED) CEDF(YES) DATALOCATION(ANY)
EXECKEY(CICS)
DEFINE PROGRAM(DFH$PCPL) GROUP(EXITGRP)
LANGUAGE(ASSEMBLER) RELOAD(NO) RESIDENT(NO) USAGE(NORMAL)
USELPACOPY(NO) STATUS(ENABLED) CEDF(YES) DATALOCATION(ANY)
EXECKEY(CICS)
DEFINE PROGRAM(DFH$ZCAT) GROUP(EXITGRP)
LANGUAGE(ASSEMBLER) RELOAD(NO) RESIDENT(NO) USAGE(NORMAL)
USELPACOPY(NO) STATUS(ENABLED) CEDF(YES) DATALOCATION(ANY)
EXECKEY(CICS)
global user exit programs
16 CICS TS for OS/390: CICS Customization Guide