TSUE - Temporary Storage EXEC Parameter List

      CONTROL BLOCK NAME = DFHTSUEC
      DESCRIPTIVE NAME = CICS TS EXEC parameter list for Temporary
                                  Storage user exits.
           Licensed Materials - Property of IBM
            Restricted Materials of IBM 
           5655-Y04
           (C) Copyright IBM Corp. 1992, 1998 
         Although provided in a general library, DFHTSUED 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.
                     TS_ADDR0
                     TS_ADDR1
                     TS_ADDR2
                     TS_ADDR3
                     TS_ADDR4
                     TS_ADDR5
                     TS_ADDR7
                     TS_GROUP
                     TS_FUNCT
                     TS_BITS1
                     TS_EIDOPT5
                     TS_EIDOPT6
                     TS_EIDOPT7
                     TS_EIDOPT8
                     TS_QUEUE
                     TS_WRITEQ_QUEUE
                     TS_READQ_QUEUE
                     TS_DELETEQ_QUEUE
                     TS_QNAME
                     TS_WRITEQ_QNAME
                     TS_READQ_QNAME
                     TS_DELETEQ_QNAME
                     TS_READQ_SET
                     TS_READQ_INTO
                     TS_WRITEQ_FROM
                     TS_LENGTH
                     TS_WRITEQ_LENGTH
                     TS_READQ_LENGTH
                     TS_READQ_NUMITEMS
                     TS_WRITEQ_NUMITEMS
                     TS_ITEM
                     TS_WRITEQ_ITEM
                     TS_READQ_ITEM
                     TS_SYSID
                     TS_WRITEQ_SYSID
                     TS_READQ_SYSID
                     TS_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 Temporary Storage
           requests, for use by global user exit programs at exit
           points XTSEREQ and XTSEREQC.
           On entry to the XTSEREQ and XTSEREQC User Exits, the EXEC
           parameter list is pointed to by UEPCLPS.
           The EXEC parameter list for Temporary Storage consists of
           eight addresses.
           The eight addresses are defined by TS_ADDR0 to TS_ADDR7.
           This DSECT defines these addresses and the areas that
           they point to.
           On entry to the XTSEREQ and XTSEREQC 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 Temporary Storage.
      LIFETIME = Lifetime of the TS 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
                       XTSEREQ and XTSEREQC is addressed by UEPTQTOK.
      INNER CONTROL BLOCKS =
           TS_ADDR_LIST declares the EXEC addresses.
           TS_EID defines the EID pointed to by TS_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 TS QUEUE (if used) for all TS
       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 (TS_BITS1) specify
      those addresses that are valid, and the flagword bits
      (TS_EIDOPT5 - TS_EIDOPT8) specify the keywords that were given
      in the EXEC CICS TS command.
      Therefore, you can deduce the usage of each address by testing
      these bits in conjunction with the command function(TS_FUNCT).
Table 1.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 32 TS_ADDR_LIST Addresses of...
(0) ADDRESS 4 TS_ADDR0 the EID
(4) ADDRESS 4 TS_ADDR1 QUEUE/QNAME
(8) ADDRESS 4 TS_ADDR2 FROM data area (WRITEQ)
                                         INTO data area (READQ)
                                         SET address (READQ)
(C) ADDRESS 4 TS_ADDR3 LENGTH value
(10) ADDRESS 4 TS_ADDR4 NUMITEMS value (READQ)
(14) ADDRESS 4 TS_ADDR5 ITEM value
                                         NUMITEMS value (WRITEQ)
(18) ADDRESS 4 * Reserved
(1C) ADDRESS 4 TS_ADDR7 SYSID
      TS_EID (addressed by TS_ADDR0) gives the command function, and
      contains the existence and flagword bits.
      Note: Equates for TS_GROUP, TS_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 9 TS_EID
(0) CHARACTER 1 TS_GROUP '0A'X for TS
(1) CHARACTER 1 TS_FUNCT '02'X for WRITEQ
                                         '04'X for READQ
                                         '06'X for DELETEQ
   -----------------------------------------------------------------
    The existence bits (TS_BITS1) specify the parameters that are
    valid for this command.
    For example, TS_EXIST7 set on indicates that TS_ADDR7 is valid,
    meaning that it addresses a SYSID value.
    TS_ADDR0 is always valid and has no existence bit.
    A user exit program at XTSEREQ can set the TS_EXIST7 bit on or
    off for all TS commands. All other changes will be ignored.
   -----------------------------------------------------------------
(2) BIT(8) 1 TS_BITS1
(2) 1... ....   TS_EXIST1 QUEUE/QNAME -
(2) 1... ....   TS_QUEUE_V ALWAYS SET
(2) 1... ....   TS_WRITEQ_QUEUE_V
(2) 1... ....   TS_READQ_QUEUE_V
(2) 1... ....   TS_DELETEQ_QUEUE_V
(2) .1.. ....   TS_EXIST2
(2) .1.. ....   TS_WRITEQ_FROM_V
(2) .1.. ....   TS_READQ_SET_INTO_V
(2) ..1. ....   TS_EXIST3
(2) ..1. ....   TS_LENGTH_V
(2) ..1. ....   TS_WRITEQ_LENGTH_V
(2) ..1. ....   TS_READQ_LENGTH_V
(2) ...1 ....   TS_EXIST4
(2) ...1 ....   TS_READQ_NUMITEMS_V
(2) .... 1...   TS_EXIST5
(2) .... 1...   TS_WRITEQ_ITEM_ NUMITEMS_V
(2) .... 1...   TS_READQ_ITEM_V
(2) .... .1..   *
(2) .... ..1.   TS_EXIST7
(2) .... ..1.   TS_SYSID_V
(2) .... ..1.   TS_WRITEQ_SYSID_V
(2) .... ..1.   TS_READQ_SYSID_V
(2) .... ..1.   TS_DELETEQ_SYSID_V
(2) .... ...1   * Reserved
(3) BIT(16) 2 * Reserved
   -----------------------------------------------------------------
    The next 4 bytes (TS_EIDOPT5 - TS_EIDOPT8) are the flagword
    bits. Some bits have more than one meaning, depending on the
    command function, and these are named accordingly.
    A user exit program at XTSEREQ can set the TS_WRITEQ_MAIN_X
    and TS_WRITEQ_NOSUSPEND_X bits on or off for all WRITEQ
    commands. All other changes will be ignored.
   -----------------------------------------------------------------
(5) BIT(8) 1 TS_EIDOPT5
(5) 1... ....   TS_QNAME_X QNAME, otherwise QUEUE
(5) .111 111.   * Reserved
(5) .... ...1   TS_READQ_SET_X SET, otherwise INTO
(6) BIT(8) 1 TS_EIDOPT6
(6) BIT(8) 1 * Reserved
(7) BIT(8) 1 TS_EIDOPT7
(7) 111. ....   * Reserved
(7) ...1 ....   TS_WRITEQ_NOSUSPEND_X NOSUSPEND
(7) .... 1...   *
(7) .... 1...   TS_WRITEQ_MAIN_X MAIN, otherwise AUXILIARY
(7) .... 1...   TS_READQ_ITEM_X ITEM
(7) .... .1..   *
(7) .... .1..   TS_WRITEQ_REWRITE_X REWRITE
(7) .... .1..   TS_READQ_NUMITEMS_X NUMITEMS
(7) .... ..11   *
(8) BIT(8) 1 TS_EIDOPT8
(8) 1... ....   *
(8) 1... ....   TS_WRITEQ_ITEM_X ITEM, otherwise NUMITEMS
(8) .111 1111   *
      The following definitions are for the rest of the arguments in
      the EXEC parameter list, addressed by TS_ADDR1 - TS_ADDR7 in
      TS_ADDR_LIST.
Table 3.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 8 TS_DATA1
(0) CHARACTER 8 TS_QUEUE the QUEUE name
(0) CHARACTER 8 TS_WRITEQ_QUEUE
(0) CHARACTER 8 TS_READQ_QUEUE
(0) CHARACTER 8 TS_DELETEQ_QUEUE
Table 4.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 16 TS_DATA1X
(0) CHARACTER 16 TS_QNAME the QNAME, if specified
(0) CHARACTER 16 TS_WRITEQ_QNAME
(0) CHARACTER 16 TS_READQ_QNAME
(0) CHARACTER 16 TS_DELETEQ_QNAME
Table 5.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE * TS_DATA2
(0) CHARACTER * TS_READQ_INTO the INTO area
(0) CHARACTER * TS_WRITEQ_FROM the FROM area
(0) ADDRESS 4 TS_READQ_SET SET address
Table 6.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 2 TS_DATA3
(0) HALFWORD 2 TS_LENGTH the record LENGTH
(0) HALFWORD 2 TS_WRITEQ_LENGTH
(0) HALFWORD 2 TS_READQ_LENGTH
Table 7.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 2 TS_DATA4
(0) HALFWORD 2 TS_READQ_NUMITEMS NUMITEMS value for READQ
Table 8.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 2 TS_DATA5
(0) HALFWORD 2 TS_WRITEQ_NUMITEMS NUMITEMS value for WRITEQ
(0) HALFWORD 2 TS_ITEM the ITEM value
(0) HALFWORD 2 TS_WRITEQ_ITEM
(0) HALFWORD 2 TS_READQ_ITEM
Table 9.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 4 TS_DATA7
(0) CHARACTER 4 TS_SYSID the SYSID name
(0) CHARACTER 4 TS_WRITEQ_SYSID
(0) CHARACTER 4 TS_READQ_SYSID
(0) CHARACTER 4 TS_DELETEQ_SYSID

Constants

Table 10.
Len Type Value Name Description
    Equate for TS_GROUP.
    All Temporary Storage requests have group code '0A'
1 HEX 0A TS_TEMPSTOR_GROUP
    Equates for TS_FUNCT values.
1 HEX 02 TS_WRITEQ WRITEQ
1 HEX 04 TS_READQ READQ
1 HEX 06 TS_DELETEQ DELETEQ
       Start of General Use Programming Interface.
       Equates for EIBRCODE values used by Temporary Storage.
1 HEX 00 TS_OK_EIBRCODE
1 HEX 20 TS_INVREQ_EIBRCODE
1 HEX 04 TS_IOERR_EIBRCODE
1 HEX D1 TS_ISCINVREQ_EIBRCODE
1 HEX 01 TS_ITEMERR_EIBRCODE
1 HEX E1 TS_LENGERR_EIBRCODE
1 HEX 08 TS_NOSPACE_EIBRCODE
1 HEX D6 TS_NOTAUTH_EIBRCODE
1 HEX 02 TS_QIDERR_EIBRCODE
1 HEX D0 TS_SYSIDERR_EIBRCODE
1 HEX 03 TS_LOCKED_EIBRCODE
       Equates for EIBRESP values used by Temporary Storage.
1 DECIMAL 0 TS_OK_EIBRESP
1 DECIMAL 16 TS_INVREQ_EIBRESP
1 DECIMAL 17 TS_IOERR_EIBRESP
1 DECIMAL 54 TS_ISCINVREQ_EIBRESP
1 DECIMAL 26 TS_ITEMERR_EIBRESP
1 DECIMAL 22 TS_LENGERR_EIBRESP
1 DECIMAL 18 TS_NOSPACE_EIBRESP
1 DECIMAL 70 TS_NOTAUTH_EIBRESP
1 DECIMAL 44 TS_QIDERR_EIBRESP
1 DECIMAL 53 TS_SYSIDERR_EIBRESP
1 DECIMAL 100 TS_LOCKED_EIBRESP
       Equates for EIBRESP2 values used by Temporary Storage.
1 DECIMAL 0 TS_OK_EIBRESP2 OK
1 DECIMAL 101 TS_NOTAUTH_EIBRESP2 NOTAUTH
1 DECIMAL 0 TS_LOCKED_EIBRESP2 LOCKED *-*-**-**-**-**-**-**-**-**-* *-*-**-**-**-**-**-**-**-**-* *-*-* End of General Use **-* *-* Programming Interface *-* *-*-*-**-**-**-**-**-**-*-*-*