Data Exit Access to Control Blocks

On entry to the exit, register 1 (R1) contains the address of the pointer to an 8-byte parameter list. The address consists of:

  • +Pointer to a 4K storage area that is constant throughout the Data exit step. This area is mapped using the DXPARM label within the DGA$VSMP macro in $CD.SDGAMAC library.
  • +Pointer to the EXTCB (mapped by the DGA$XTCB macro in $CD.SDGAMAC library).

If parameters are passed to the Data exit, the EXTPARML field in EXTCB points to a standard z/OS parameter list, pointing to the parameters (half-word length followed by the parameter itself) passed to the Data exit. If no parameters are passed to the Data exit, EXTPARML points to a full-word field of binary zeros.

For example, if two parameters are passed to the Data exit, EXTPARML in EXTCB points to two full word pointers (the second pointer will have the high order bit on indicating the last parameter). Each of the pointers point to a half-word length followed by the parameter value as follows.

As another example, assume the following Data exit call.

DATAEXIT= = (MYTASK,CL44'DATA.BASE.PI'        -
               F'0010',XL8'FFAB')

Based on this call, the information passed to the exit program is displayed as follows.

To adhere to common linkage standards, IBM® Connect:Direct® sets the list termination bit (X'80') in the Parameter 3 address.