リストD-2は、IBM OTMA事前ルーティング・ユーザー・イグジットのサンプルで、データセット
BEATCPIのソースの中にあります。IBM
DFSYPRX0ユーザー・イグジットを使用すると、アプリケーション・リクエストの宛先をIMSが検索できるようになります。次のサンプルの中で太字になっている行は、IBM
DFSYPRX0ユーザー・イグジットのうち変更が必要な箇所です。
* *
* +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
リストD-4は、IBM OTMA宛先解決ユーザー・イグジットのサンプルです。IBM
DFSYDRU0ユーザー・イグジットを使用すると、宛先がOTMAクライアント、非OTMA
LTERM、その他のタイプのOTMAクライアント、または無効なクライアントのいずれに該当するのかIMSが判別できるようになります。次のサンプルの中で太字になっている行は、IBM
DFSYDRU0ユーザー・イグジットのうち変更が必要な部分です。