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

Page 847

Advertising
background image

*=====================================================================*

* ROUTE_REQUEST: Ship request to remote system

*

*

An entry has been found in the TS_Routing Table for this TS

*

*

Queue Name. The request is modified by adding a SYSID to the

*

*

command and renaming the queue if required.

*

*

*

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

*

*

Route_Request:

*

*

Call Getmain_Shared

*

*

If entry_name ¬= new_name then

*

*

Copy new_name into shared storage

*

*

Address the command plist

*

*

Update ADDR1 to point to address of the new TS QUEUE name

*

*

End If

*

*

Copy new_sysid into shared storage

*

*

Address the command plist

*

*

Update ADDR7 to point to the address of the new SYSID

*

*

Set the SYSID existence bit in the EID

*

*

Set the Hi-order bit in last address in CLPS

*

*

Return

*

*=====================================================================*

ROUTE_REQUEST DS 0H

BAL

R6,GETMAIN_SHARED

GETMAIN SHARED storage

L

R12,UEPTQTOK

Fetch address of token

L

R12,0(R12)

Fetch Shared storage address

USING SHARED_STORAGE,R12 Address using R12

*

*

Update the Queue Name in CLPS

USING TABLE_ENTRY,R9

R9 points to the table entry

CLC

NEW_NAME,0(R7)

Is the new_name=current_queue name?

BE

ROUTE1

..Yes No need to update Queue Name

MVC

SHARED_NAME,NEW_NAME Copy QNAME into shared storage

L

R8,UEPCLPS

Address the CLPS..

USING TS_ADDR_LIST,R8

..with Register 8

LA

R1,SHARED_NAME

Fetch address of the new QNAME

ST

R1,TS_ADDR1

Store address in TS_ADDR1

DROP R8

Drop TS_ADDR_LIST

*

Figure 113. Example exit program for the XTSEREQ exit (Part 9 of 16)

example XTSEREQ global user exit program

Appendix E. The example program for the XTSEREQ global user exit, DFH$XTSE

815

Advertising