Example xtsereq global user exit program 812 – IBM SC33-1683-02 User Manual
Page 844

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