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 |
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 *-* *-*-*-**-**-**-**-**-**-*-*-* |