Listing D‑2 is the sample IBM OTMA prerouting user exit which can be found in the dataset
BEATCPI source. The IBM
DFSYPRX0 user exit enables IMS to search for a destination for an application request. In the following sample, the lines in bold are modifications that you must make to the IBM
DFSYPRX0 user exit.
* *
* +80 = ADDR(16-BYTE MEMBER OVERRIDE) *
* THIS FIELD IS USED WHEN THE TRANSACTION IS *
* INVOKED FROM A NON-OTMA LTERM, TO INDICATE *
* THE CLIENT NAME WHEN AN OTMA DESTINATION *
* IS DESIRED. *
* (LEFT JUSTIFIED, PADDED WITH BLANKS) *
* THIS IS AN EXIT PARAMETER ONLY. *
* *
* *
* CONTENTS OF REGISTERS AT EXIT: *
* *
* R15 = RETURN CODE *
* *
* RETURN CODE CAN BE ONE OF THE FOLLOWINGS: *
* 0 : CONTINUE DEFAULT PROCESSING: *
* IF THE TRANSACTION WAS INVOKED FROM AN *
* OTMA TPIPE, THEN OTMA FIND-DESTINATION *
* PROCESSING SHOULD OCCUR. *
* IF THE TRANSACTION WAS INVOKED FROM A NON-*
* OTMA LTERM, THEN LEGACY FIND-DESTINATION*
* PROCESSING SHOULD OCCUR. *
* 4 : OTMA FIND-DESTINATION PROCESSING SHOULD *
* OCCUR. IF THE TRANSACTION WAS ENTERED *
* FROM A NON-OTMA LTERM, THEN A CLIENT *
* MEMBER NAME MUST BE PROVIDED IN THE *
* PRE-ROUTING PARAMETER LIST. *
* 8 : LEGACY FIND-DESTINATION PROCESSING *
* SHOULD OCCUR. *
* *
* *
* *
* REGISTER 13 IS THE ADDRESS OF SAVE AREA. *
* *
* NORMAL LINKAGE CONVENTIONS FOR REGISTER 13, 14 AND 15 *
* *
* *
* *
***********************************************************************
*
*
SAVE (14,12),,DFSYPRX0&SYSDATE&SYSTIME
SPACE 2
LR R12,R15 MODULE ADDRESSABILITY
USING DFSYPRX0,R12
USING OTMAPARM,R10
USING SXPL,R9
*
LR R9,R1 LOAD PARAMETER BASE
L R10,SXPLFSPL OTMA SPECIFIC PARAMETERS
CLC OTMDEST,MYPIPE SPECIAL DESTINATION?
BNE PRX01500 B NO
ICM R8,15,OTMCOVRD GET ADDRESS OF OVERRIDING NAME
BZ PRX01550 B IF NO ADDRESS
MVC 0(16,R8),MYCLIENT SET OVERRIDING CLIENT NAME
LA R15,4 ROUTE TO OTMA
B PRX01600 RETURN
*
PRX01500 DS 0H
CLC OTMTRANS,MYTRAN SPECIAL TRANSACTION?
BNE PRX01550 B NO
LA R15,8 INVOKE LEGACY PROCESSING
B PRX01600 RETURN
*
PRX01550 DS 0H
LA R15,0 RC = 0
PRX01600 DS 0H
*
RETURN (14,12),,RC=(15) RETURN WITH RETURN CODE IN R15
SPACE 2
REQUATE
SPACE 2
MYPIPE DC CL8'BEAOPIPE' TEST TPIPE
MYTRAN DC CL8'BEACRP01' TEST TRANSACTION
MYCLIENT DC CL16'BEAOTMA01' TEST CLIENT
*
* DATA MACROS
*
DFSSXPL
BEAOTM
*
END
Listing D‑3 is the
DSECT BEAOTM macro referenced previously. A
DSECT for the OTMA parameter area passed to the
DFSYPRX0 exit is not provided by IBM.
Listing D‑4 is the sample IBM OTMA destination resolution user exit. The IBM
DFSYDRU0 user exit enables IMS to determine whether the destination is an OTMA client, a non-OTMA
LTERM, a different OTMA client, or an invalid destination. In the following sample, the lines in bold are modifications that you must make to the IBM
DFSYDRU0 user exit.