TDUE - Transient data EXEC Parameter List

      CONTROL BLOCK NAME = DFHTDUEC
      DESCRIPTIVE NAME = CICS TS EXEC argument list for Transient
                                  Data user exits.
           Licensed Materials - Property of IBM
            Restricted Materials of IBM 
           5655-Y04
           (C) Copyright IBM Corp. 1992, 1993 
         Although provided in a general library, DFHTDUED is not
         to be used as a general programming interface. Refer to
         product documentation to determine intended usage.
         The following fields are part of the Product-sensitive
         Programming Interface.
                     TD_ADDR0
                     TD_ADDR1
                     TD_ADDR2
                     TD_ADDR3
                     TD_ADDR4
                     TD_ADDR5
                     TD_ADDR6
                     TD_ADDR7
                     TD_GROUP
                     TD_FUNCT
                     TD_BITS1
                     TD_EIDOPT5
                     TD_EIDOPT6
                     TD_EIDOPT7
                     TD_QUEUE
                     TD_WRITEQ_QUEUE
                     TD_READQ_QUEUE
                     TD_DELETEQ_QUEUE
                     TD_READQ_SET
                     TD_READQ_INTO
                     TD_WRITEQ_FROM
                     TD_LENGTH
                     TD_WRITEQ_LENGTH
                     TD_READQ_LENGTH
                     TD_SYSID
                     TD_WRITEQ_SYSID
                     TD_READQ_SYSID
                     TD_DELETEQ_SYSID
         All equates for values of EIBRCODE, EIBRESP and EIBRESP2
         form part of the General-purpose Programming Interface.
         All remaining fields used in defining the Exec Parameter
         List are product sensitive and may vary between CICS
         releases.
      FUNCTION =
           To define the EXEC parameter list for Transient Data
           requests, for use by global user exit programs at exit
           points XTDEREQ and XTDEREQC.
           On entry to the XTDEREQ and XTDEREQC User Exits, the EXEC
           parameter list is pointed to by UEPCLPS.
           The EXEC parameter list for Transient Data consists of
           eight addresses.
           The eight addresses are defined by TD_ADDR0 to TD_ADDR7.
           This DSECT defines these addresses and the areas that
           they point to.
           On entry to the XTDEREQ and XTDEREQC User Exits, the copy
           of EIBRCODE is pointed to by UEPRCODE, the copy of EIBRESP
           is pointed to by UEPRESP and the copy of EIBRESP2 is
           pointed to by UEPRESP2.
           This DSECT also contains equates for values of EIBRCODE,
           EIBRESP and EIBRESP2 used by Transient Data.
      LIFETIME = Lifetime of the TD command request
      STORAGE CLASS = As the storage being mapped is the translated
                   source in the user's application program, the
                   storage may be either above or below the line.
      LOCATION = (1) EXEC Parameter List is addressed by UEPCLPS.
                   (2) Fields copied from the EIB are addressed by
                       UEPRCODE, UEPRESP and UEPRESP2.
                   (3) The token for use in communicating between
                       XTDEREQ and XTDEREQC is addressed by UEPTDTOK.
      INNER CONTROL BLOCKS =
           TD_ADDR_LIST declares the EXEC addresses.
           TD_EID defines the EID pointed to by TD_ADDR0.
      NOTES :
       DEPENDENCIES = S/370 ESA
       RESTRICTIONS = None
       MODULE TYPE = Control Block definition
     -----------------------------------------------------------------
      EXTERNAL REFERENCES =
            None.
        DATA AREAS =
            None.
        CONTROL BLOCKS =
            None.
        GLOBAL VARIABLES (Macro pass) =
            None.
     -----------------------------------------------------------------
      The command parameter list is a list of addresses
      which reference the argument values for this this EXEC CICS
      command. The addresses are only valid if the argument is
      applicable to this command.
      For example, address 1 is of the TD QUEUE name for all TD
      commands, whereas the address 2 is of the FROM data area on
      WRITEQ commands, the SET address or INTO data area for READQ
      commands, and is not valid for DELETEQ commands.
      The existance bits in the EID component (TD_BITS1) specify
      those addresses that are valid, and the flagword bits
      (TD_EIDOPT5 - TD_EIDOPT7) specify the keywords that were given
      in the EXEC CICS TD command.
      Therefore, you can deduce the useage of each address by testing
      these bits in conjunction with the command function(TD_FUNCT).
Table 1.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 32 TD_ADDR_LIST TD_ADDR_LIST consists of
(0) ADDRESS 4 TD_ADDR0 the EID
(4) ADDRESS 4 TD_ADDR1 QUEUE name
(8) ADDRESS 4 TD_ADDR2 FROM data area (WRITEQ)
                                         INTO data area (READQ)
                                         SET address (READQ)
(C) ADDRESS 4 TD_ADDR3 LENGTH value
(10) ADDRESS 4 TD_ADDR4 Reserved
(14) ADDRESS 4 TD_ADDR5 Reserved
(18) ADDRESS 4 TD_ADDR6 Reserved
(1C) ADDRESS 4 TD_ADDR7 SYSID
      TD_EID (addressed by TD_ADDR0) gives the command function, and
      contains the existence and flagword bits.
      Note: Equates for TD_GROUP, TD_FUNCT, EIBRCODE, EIBRESP and
      EIBRESP2 values are defined at the end of this data structure.
Table 2.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 8 TD_EID
(0) CHARACTER 1 TD_GROUP '08'X for TD
(1) CHARACTER 1 TD_FUNCT '02'X for WRITEQ
                                         '04'X for READQ
                                         '06'X for DELETEQ
   -----------------------------------------------------------------
    The existence bits (TD_BITS1) specify the parameters that are
    valid for this command.
    For example, TD_EXIST7 set on indicates that TD_ADDR7 is valid,
    meaning that it addresses a SYSID value.
    TD_ADDR0 is always valid and has no existence bit.
    TD_EXIST3 may be modified by a user exit program invoked for
    a READQ command with the SET option.
    TD_EXIST7 may be modified by a user exit program invoked for
    any TD request.
    None of the other bits may be modified.
   -----------------------------------------------------------------
(2) BIT(8) 1 TD_BITS1
(2) 1... ....   TD_EXIST1
(2) 1... ....   TD_QUEUE_V
(2) 1... ....   TD_WRITEQ_QUEUE_V
(2) 1... ....   TD_READQ_QUEUE_V
(2) 1... ....   TD_DELETEQ_QUEUE_V
(2) .1.. ....   TD_EXIST2
(2) .1.. ....   TD_WRITEQ_FROM_V
(2) .1.. ....   TD_READQ_SET_INTO_V
(2) ..1. ....   TD_EXIST3
(2) ..1. ....   TD_LENGTH_V
(2) ..1. ....   TD_WRITEQ_LENGTH_V
(2) ..1. ....   TD_READQ_LENGTH_V
(2) ...1 11..   * Reserved
(2) .... ..1.   TD_EXIST7
(2) .... ..1.   TD_SYSID_V
(2) .... ..1.   TD_WRITEQ_SYSID_V
(2) .... ..1.   TD_READQ_SYSID_V
(2) .... ..1.   TD_DELETEQ_SYSID_V
(2) .... ...1   * Reserved
(3) BIT(16) 2 * Reserved
   -----------------------------------------------------------------
    The next 3 bytes (TD_EIDOPT5 - TD_EIDOPT7) are the flagword
    bits.
    A user exit program at XTDEREQ can set the TD_READQ_NOSUSPEND_X
    bit for all READQ requests, and may test (but may NOT modify)
    the TD_READQ_SET_X bit for all READQ requests.
    These bits have no meaning for WRITEQ or DELETEQ commands.
   -----------------------------------------------------------------
(5) BIT(8) 1 TD_EIDOPT5
(5) 1111 111.   * Reserved
(5) .... ...1   TD_READQ_SET_X SET specified.
(6) BIT(8) 1 TD_EIDOPT6
(6) BIT(8) 1 * Reserved
(7) BIT(8) 1 TD_EIDOPT7
(7) 11.. ....   * Reserved
(7) ..1. ....   TD_READQ_NOSUSPEND_X NOSUSPEND specified.
(7) ...1 1111   * Reserved
      The following definitions are for the rest of the arguments in
      the EXEC parameter list, addressed by TD_ADDR1 - TD_ADDR7 in
      TD_ADDR_LIST.
Table 3.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 8 TD_DATA1
(0) CHARACTER 8 TD_QUEUE the QUEUE name
(0) CHARACTER 8 TD_WRITEQ_QUEUE
(0) CHARACTER 8 TD_READQ_QUEUE
(0) CHARACTER 8 TD_DELETEQ_QUEUE
Table 4.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 4 TD_DATA2
(0) ADDRESS 4 TD_READQ_SET the SET address
(0) CHARACTER * TD_READQ_INTO the INTO area
(0) CHARACTER * TD_WRITEQ_FROM the FROM area
Table 5.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 2 TD_DATA3
(0) HALFWORD 2 TD_LENGTH the data LENGTH
(0) HALFWORD 2 TD_WRITEQ_LENGTH
(0) HALFWORD 2 TD_READQ_LENGTH
Table 6.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 4 TD_DATA7
(0) CHARACTER 4 TD_SYSID the SYSID name
(0) CHARACTER 4 TD_WRITEQ_SYSID
(0) CHARACTER 4 TD_READQ_SYSID
(0) CHARACTER 4 TD_DELETEQ_SYSID

Constants

Table 7.
Len Type Value Name Description
    Equate for TD_GROUP.
    All Transient Data requests have group code '08'
1 HEX 08 TD_TRANDATA_GROUP
    Equates for TD_FUNCT values.
1 HEX 02 TD_WRITEQ Writeq
1 HEX 04 TD_READQ Readq
1 HEX 06 TD_DELETEQ Deleteq
       Start of General Use Programming Interface.
       Equates for EIBRCODE values used by Transient Data.
1 HEX 00 TD_OK_EIBRCODE
1 HEX 01 TD_QZERO_EIBRCODE
1 HEX 02 TD_QIDERR_EIBRCODE
1 HEX 04 TD_IOERR_EIBRCODE
1 HEX 08 TD_NOTOPEN_EIBRCODE
1 HEX 10 TD_NOSPACE_EIBRCODE
1 HEX C0 TD_QBUSY_EIBRCODE
1 HEX D0 TD_SYSIDERR_EIBRCODE
1 HEX D1 TD_ISCINVREQ_EIBRCODE
1 HEX D6 TD_NOTAUTH_EIBRCODE
1 HEX D7 TD_DISABLED_EIBRCODE
1 HEX E0 TD_INVREQ_EIBRCODE
1 HEX E1 TD_LENGERR_EIBRCODE
       Equates for EIBRESP values used by Transient Data.
1 DECIMAL 0 TD_OK_EIBRESP
1 DECIMAL 23 TD_QZERO_EIBRESP
1 DECIMAL 44 TD_QIDERR_EIBRESP
1 DECIMAL 17 TD_IOERR_EIBRESP
1 DECIMAL 19 TD_NOTOPEN_EIBRESP
1 DECIMAL 18 TD_NOSPACE_EIBRESP
1 DECIMAL 25 TD_QBUSY_EIBRESP
1 DECIMAL 53 TD_SYSIDERR_EIBRESP
1 DECIMAL 54 TD_ISCINVREQ_EIBRESP
1 DECIMAL 70 TD_NOTAUTH_EIBRESP
1 DECIMAL 84 TD_DISABLED_EIBRESP
1 DECIMAL 16 TD_INVREQ_EIBRESP
1 DECIMAL 22 TD_LENGERR_EIBRESP
       Equates for EIBRESP2 values used by Transient Data.
1 DECIMAL 0 TD_OK_EIBRESP2 OK
1 DECIMAL 101 TD_NOTAUTH_EIBRESP2 NOTAUTH *-*-**-**-**-**-**-**-**-**-* *-*-**-**-**-**-**-**-**-**-* *-*-* End of General Use **-* *-* Programming Interface *-* *-*-*-**-**-**-**-**-**-*-*-*