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

* Registers:
*
*
R1 = UEPAR plist (set on entry)
*
*
= Work register
*
*
R2 = UEPAR plist
*
*
R3 = Program base register (set by DFHEIENT)
*
*
R6 = Linkage register
*
*
R11= EIB register
*
*
R13= EISTG register (set by DFHEIENT)
*
*
R15= Work register
*
*
User Exit Return Code
*
*
*
* Logic:
*
*
DFH$XTSE:
*
*
Exec Interface Entry
*
*
Address DFHUEPAR plist
*
*
Set OK Return Code
*
*
Address the EIB
*
*
Trace entry
*
*
Select Exitid
*
*
When(XTSEREQ) then call TS_Request
*
*
When(XTSEREQC) then call TS_Request_Complete
*
*
Otherwise call Error(Invalid_Exit)
*
*
End Select
*
*
Trace exit
*
*
Set Exit return code
*
*
Return
*
***********************************************************************
DFH$XTSE DFHEIENT
DFH$XTSE AMODE 31
DFH$XTSE RMODE ANY
LR
R2,R1
DFHUEPAR plist provided by caller
USING DFHUEPAR,R2
Use R2 to address UEPAR PLIST
*
LA
R15,UERCNORM
Set OK Response
ST
R15,RETCODE
in working storage
*
EXEC CICS ADDRESS EIB(R11)
USING DFHEIBLK,R11
*
BAL
R6,TRACE_ENTRY
Trace program entry
*
L
R1,UEPEXN
Address of the 1 byte Exit Id
CLI
0(R1),XTSEREQ
Is this XTSEREQ exit?
BE
TS_REQUEST
..Yes Branch to routine
CLI
0(R1),XTSEREQC
Is this XTSEREQC exit?
BE
TS_REQUEST_COMPLETE .. Yes Branch to routine
B
ERROR1
Otherwise Branch to error routine
*
RETURN
DS
0H
Return point
BAL
R6,TRACE_EXIT
Trace program exit
*
L
R15,RETCODE
Fetch return code
DFHEIRET RCREG=15
Return to CICS
EJECT ,
Figure 113. Example exit program for the XTSEREQ exit (Part 4 of 16)
example XTSEREQ global user exit program
810
CICS TS for OS/390: CICS Customization Guide