*=====================================================================*
TS_REQUEST DS 0H
* Check for possible recursion
L R1,UEPRECUR Address of recursive count
LH R1,0(R1) Fetch count
LTR R1,R1 Has exit been invoked recursively?
BNZ ERROR2 ..Yes Branch to error routine
*
* Extract pointer to the EID and TS queue name from CLPS
L R8,UEPCLPS Fetch address of Command Plist
USING TS_ADDR_LIST,R8 Use R8 to address CLPS
L R1,TS_ADDR0 Address the EID..
L R7,TS_ADDR1 Fetch address of TS QUEUE
DROP R8 Drop addressability to CLPS
*
* Check that the Command GROUP code corresponds to a TS request
USING TS_EID,R1 ..with Register 1
CLI TS_GROUP,TS_TEMPSTOR_GROUP Is this a TS request?
BNE ERROR3 ..No Branch to error routine
DROP R1 Drop addressability to EID
*
* Clear the TS Request token
L R1,UEPTQTOK Fetch address of token
XC 0(4,R1),0(R1) Clear Token for XTSEREQC
*
*
*---------------------------------------------------------------------*
* Start scan of TS_Routing Table *
*---------------------------------------------------------------------*
LA R9,TS_ROUTING_TABLE Fetch address of routing table
USING TABLE_ENTRY,R9 Address entries from R9
*
CHECK_NEXT_ENTRY DS 0H
CLC ENTRY_NAME,ENTRY_NAME_LAST Is this the last entry
BE ENTRY_NOT_FOUND ..Yes Take default routing action
CLC ENTRY_NAME,0(R7) Is this the wanted TS queue name?
BE ENTRY_FOUND ..Yes Check for the action required
LA R9,24(R9) Point to next entry
B CHECK_NEXT_ENTRY Start search again
*
ENTRY_FOUND DS 0H
CLI ENTRY_ACTION,ROUTE Is the action to route request?
BE ROUTE_REQUEST ..Yes Branch to Route routine
CLI ENTRY_ACTION,LOCAL Is the action to rename queue?
BE LOCAL_REQUEST ..Yes Branch to Local routine
B ERROR4 Otherwise Branch to error routine
DROP R9 Drop addressability to Entry
EJECT ,
*
Figure 113. Example exit program for the XTSEREQ exit (Part 6 of 16)
example XTSEREQ global user exit program
812
CICS TS for OS/390: CICS Customization Guide