*=====================================================================*
* LOCAL_REQUEST: Process Local TS Queues *
* An entry has been found in the TS_Routing Table for this TS *
* Queue Name. If required, rename the TS Queue Name, but do not *
* modify the SYSID. *
* *
* Registers: *
* R1 = Work register *
* R6 = Link Register *
* R7 = Address of current Queue name (Set on entry) *
* R8 = Command Parameter List (CLPS) *
* R9 = Address of table entry (Set on entry) *
* R12= Work register (Shared_storage) *
* *
* Logic: *
* Local_Request: *
* If entry_name ¬= new_name then *
* Call Getmain_Shared *
* Copy new_name into shared storage *
* Address the command plist *
* Update ADDR1 to point to address of the new TS QUEUE name *
* Set the Hi-order bit if last address in CLPS *
* End If *
* Return *
*=====================================================================*
LOCAL_REQUEST DS 0H
USING TABLE_ENTRY,R9 R9 points to the table entry
CLC NEW_NAME,0(R7) Is the new_name=current_queue name?
BE RETURN ..Yes Return
*
* Obtain Shared storage to hold the new queue name
BAL R6,GETMAIN_SHARED GETMAIN SHARED storage
L R12,UEPTQTOK Fetch address of token
L R12,0(R12) Fetch shared storage pointer
USING SHARED_STORAGE,R12 Address using R12
MVC SHARED_NAME,NEW_NAME Copy QNAME into shared storage
*
* Update the Queue Name in CLPS
L R8,UEPCLPS Address the CLPS.
USING TS_ADDR_LIST,R8 ..with Register 8
LA R1,SHARED_NAME Fetch address of the new QNAME
TM TS_ADDR1,X'80' Is the hi-order bit on?
BZ LOCAL1 ..No continue
O R1,=X'80000000' Indicate ADDR1 is last parameter
LOCAL1 DS 0H
ST R1,TS_ADDR1 Store address in TS_ADDR1
B RETURN Return
DROP R8 Drop TS_ADDR_LIST
DROP R12 Drop SHARED_STORAGE
DROP R9 Drop addressability to Entry
EJECT ,
*
Figure 113. Example exit program for the XTSEREQ exit (Part 8 of 16)
example XTSEREQ global user exit program
814
CICS TS for OS/390: CICS Customization Guide