DFHUEPAR

DFHUEPAR gives you the following symbolic names for address parameters:
UEPEXN
Address of the function definition, which tells the task-related user exit program why it is being called. See DFHUERTR (the function definition) for more details.
UEPGAA
Address of the global work area requested in the EXEC CICS® ENABLE command. The global work area is described in Work areas. CICS initializes this work area to X'00' when the task-related user exit program is enabled.
UEPGAL
Address of a halfword containing the length (binary value) of the global work area.
UEPTCA
This field is retained for historical reasons. Do not reference it in your exit program.
UEPCSA
This field is retained for historical reasons. Do not reference it in your exit program.
UEPHMSA
Address of the register save area (RSA) of the caller. It is an 18-word save area, with the contents of registers 14 through 12 stored in the fourth and subsequent words. Its fifth word, representing register 15 of the calling program, is cleared by CICS before the task-related user exit program is invoked. The fifth word is cleared so that it can be used to convey response codes from the resource manager to the calling program. For this reason, you cannot use register 15 to send data to the task-related user exit program. The seventh word of the save area contains register 1 of the caller. Register 1 addresses the parameter list of the caller. For a summary, see Summary of the task-related user exit parameter lists. When the caller is an application program, the contents of register 1 are determined by the linkage conventions of the language interface of the adapter.
UEPTAA
Address of the local work area requested in the EXEC CICS ENABLE command. The local work area is described in Work areas. CICS initializes the work area to X'00' throughout on first acquiring the area; that is, when the task first invokes the task-related user exit program.
UEPTAL
Address of a halfword containing the binary length of the local work area.
UEPEIB
Address of the EXEC interface block (EIB) created by CICS for the task-related user exit program. The EIB exists only for the duration of the call and it allows the task-related user exit program to request CICS services through the command-level interface. This EIB is not the same EIB that is available to the calling program. You therefore cannot access the environment of the calling program other than by UEPHMSA, which provides the address of the register save area (RSA) of the calling program.
UEPURID
Address of CICS unit of recovery identifier. This field contains the 8-byte date and time value that is generated by an STCK instruction, and it identifies the current unit of work.
UEPFLAGS
Address of the schedule flag word. This is a fullword that the task-related user exit program uses to register its need for the services of CICS management programs. For more information, see The schedule flag word.
UEPRMSTK
Address of the kernel stack entry.
UEPUOWDS
Address of the APPC unit of work (UOW) identifier.
UEPSECFLG
Address of the user security flag. The user security flag is a 1-byte field that can take the following values:
UEPNOSEC (X'80')
Security is not active for this CICS system.
UEPSEC (X'20')
Security is active for this CICS system. Only in this case is the address of the “user security block” set.
UEPSECBLK
Address of a fullword that addresses the user security block, that is, the ACEE.
UEPRMQUA
Address of an 8-byte field into which the task-related user exit can move the qualifier name of the resource manager on each API request. This practice is useful where the same exit program is used to connect to more than one instance of a resource manager. The qualifier identifies the instance of the resource manager to which the exit is currently connected.

Where different resource manager qualifiers are returned on the responses to various API requests within a UOW, it is the resource manager qualifier returned on the final API request immediately before a prepare or backout invocation that is used when recording any indoubt information.

UEPCALAM
Address of the AMODE indication byte of the caller.
X'80'
Indicates that the original caller was in AMODE 31. If the top bit is not set and bit 31 is 0, the caller was in AMODE 24.
UEPSYNCA
Address of the single-update and read-only indication byte. This field contains flags that your exit program can set to indicate that the resource manager “understands” the single-update protocol, and to record the status of the current unit of work (UOW). See Increasing efficiency: single-update and read-only protocols.
UEPSUPDR (X'80')
The resource manager understands the single-update protocol. That is, your exit program can instruct the resource manager to perform a single-phase commit, in appropriate circumstances.
UEPREADO (X'40')
The resource manager understands the read-only protocol, and has been in read-only mode for this unit of work so far. (If this flag is not set, it means either that the UOW contains updates for this resource manager, or that the UOW may be read-only but the resource manager does not understand the read-only protocol.)
UEPTIND
Address of a 3-byte field containing indicators.
The first indicator byte can take one of three symbolic values, UEPTANY, UEPTCICS, and UEPTUTCB, which you can test to determine:
  • Whether data locations can be above or below 16 MB.
  • Whether the application's storage is in CICS-key or user-key storage.
  • Whether the TRUE has been called by an unexpected TCB.
UEPTANY (X'80')
The application can accept addresses above 16 MB. If the symbolic value is not UEPTANY, the application must be returned an address below 16 MB.
UEPTCICS (X'40')
The working storage and task lifetime storage for the application are in CICS-key storage (TASKDATAKEY=CICS). If the symbolic value is not UEPTCICS, the working storage for the application and the lifetime storage for the task are in user-key storage (TASKDATAKEY=USER).
UEPTUTCB (X'20')
Indicates an unexpected TCB. Set on a sync point or end-of-task call only, this value indicates a failure to switch to the TCB expected by the task-related user exit. In these two cases, the task-related user exit is called on the QR TCB with the UEPTUTCB bit set. For all other calls, CICS abends the transaction without invoking the task-related user exit.

The second and third bytes contain a value indicating the TCB mode of its caller. This value is represented in DFHUEPAR as both a two-character code and a symbolic value, as follows:

Table 1. TCB indicators in DFHUEPAR
Symbolic value 2-byte code Description
UEPTQR QR The quasi-reentrant mode TCB
UEPTRO RO The resource-owning mode TCB
UEPTCO CO The concurrent mode TCB
UEPTSZ SZ The FEPI mode TCB
UEPTRP RP The ONC/RPC mode TCB
UEPTFO FO The file-owning mode TCB
UEPTSL SL The sockets listener mode TCB
UEPTSO SO The sockets mode TCB
UEPTS8 S8 The secure sockets layer mode TCB
UEPTD2 D2 The CICS Db2® housekeeping mode TCB
UEPTL8 L8 An L8 open TCB, used for OPENAPI TRUEs, or OPENAPI programs that are in CICS key
UEPTL9 L9 An L9 open TCB, used for OPENAPI programs that are in user key
UEPTEP EP Event processing TCB
UEPTTP TP The TP open TCB, used to own the Language Environment® enclave and THRD TCB pool for a JVM server.
UEPTT8 T8 A T8 TCB, used by a JVM server to process multithreaded processing.
UEPTX8 X8 An X8 open TCB, used for C and C++ programs, compiled with the XPLINK option, that are in CICS key
UEPTX9 X9 An X9 open TCB, used for C and C++ programs, compiled with the XPLINK option, that are in user key
UEPPBTOK
Address of a 4-byte field containing the z/OS® Workload Manager (WLM) Performance Block Token. An exit program can use this token to:
  • Access information (such as the service class token, SERVCLS) in the WLM Performance Block. To do so, it must use the WLM EXTRACT macro, IWMMEXTR, passing the Performance Block Token as the MONTKN input parameter.
  • Relate its resource manager's performance blocks for the work request with the original CICS performance block. For example, DBCTL and Db2 need to correlate the work they do on behalf of CICS with the originating CICS task, so that the z/OS Workload Manager can measure the performance of the whole CICS task. To correlate the work it must use the WLM IWMMRELA macro.

An exit program must make no assumptions about the contents of the Performance Block and must not attempt to modify it: if it does so, the results are unpredictable.

UEPTRCE
Address of a 1-byte trace flag indicating whether RMI tracing (the RI trace component) is active.
UEPTRLV1 (X'80')
RMI level 1 trace is active.
UEPTRLV2 (X'40')
RMI level 2 trace is active.

When the task-related user exit has addressed this field, it might, for example, issue an EXEC CICS SET TRACETYPE command to reset the level of RMI tracing.