I'm confusing about how to run and see the result of DFH$PCEX exit program. This is an CICS exit program that invoked at XPCFTCH point. I was add a line like :
WTO 'A program linking was accured'
to this program to display a message on console, evey time a program linking accured in CICS. (EXEC CICS LINK issued for example PROGRAM A called or linked PROGRAM B)
This is my code:
****************************************
R0 EQU 0 NOT USED
R1 EQU 1 INITIAL USER EXIT PARAMETER LIST
R2 EQU 2 USER EXIT PARAMETER LIST
R3 EQU 3 XPCFTCH GLOBAL WORK AREA ADDRESS
R4 EQU 4 NOT USED @P2C
R5 EQU 5 NOT USED
R6 EQU 6 NOT USED
R7 EQU 7 NOT USED
R8 EQU 8 NOT USED
R9 EQU 9 NOT USED
R10 EQU 10 NOT USED
R11 EQU 11 NOT USED
R12 EQU 12 PROGRAM BASE
R13 EQU 13 SAVE AREA
R14 EQU 14 RETURN ADDRESS
R15 EQU 15 INITIAL PROGRAM BASE
EJECT
DFHUEXIT TYPE=EP,ID=(XPCFTCH)
EJECT @L1A
DFHAFCD TYPE=DSECT @L1A
EJECT
COPY DFH$PCGA XPCFTCH GWA DSECT
EJECT
DFH$PCEX CSECT
DFH$PCEX AMODE 31
DFH$PCEX RMODE ANY
SAVE (14,12) SAVE REGS
LR R12,R15 SET-UP BASE REGISTER
USING MEXIT001,R12 ADDRESSABILITY
LR R2,R1 GET UEP PARAMETER LIST
USING DFHUEPAR,R2 ADDRESSABILITY
SPACE
* Pick up the address of the Global Work Area (GWA) for this exit *
SPACE
L R3,UEPGAA GET GWA ADDRESS
USING DFH$PCGA,R3 ADDRESSABILITY
SPACE
DROP R3
********************************************
********************************************
WTO 'A program linking was accured'
********************************************
********************************************
SPACE
RETURN DS 0H RETURN TO THE CALLER
L R13,UEPEPSA ADDRESS OF EXIT SAVE AREA
RETURN (14,12),RC=UERCNORM RESTORE REGS AND RETURN
SPACE
LTORG
SPACE
END DFH$PCEX
R0 EQU 0 NOT USED
R1 EQU 1 INITIAL USER EXIT PARAMETER LIST
R2 EQU 2 USER EXIT PARAMETER LIST
R3 EQU 3 XPCFTCH GLOBAL WORK AREA ADDRESS
R4 EQU 4 NOT USED @P2C
R5 EQU 5 NOT USED
R6 EQU 6 NOT USED
R7 EQU 7 NOT USED
R8 EQU 8 NOT USED
R9 EQU 9 NOT USED
R10 EQU 10 NOT USED
R11 EQU 11 NOT USED
R12 EQU 12 PROGRAM BASE
R13 EQU 13 SAVE AREA
R14 EQU 14 RETURN ADDRESS
R15 EQU 15 INITIAL PROGRAM BASE
EJECT
DFHUEXIT TYPE=EP,ID=(XPCFTCH)
EJECT @L1A
DFHAFCD TYPE=DSECT @L1A
EJECT
COPY DFH$PCGA XPCFTCH GWA DSECT
EJECT
DFH$PCEX CSECT
DFH$PCEX AMODE 31
DFH$PCEX RMODE ANY
SAVE (14,12) SAVE REGS
LR R12,R15 SET-UP BASE REGISTER
USING MEXIT001,R12 ADDRESSABILITY
LR R2,R1 GET UEP PARAMETER LIST
USING DFHUEPAR,R2 ADDRESSABILITY
SPACE
* Pick up the address of the Global Work Area (GWA) for this exit *
SPACE
L R3,UEPGAA GET GWA ADDRESS
USING DFH$PCGA,R3 ADDRESSABILITY
SPACE
DROP R3
********************************************
********************************************
WTO 'A program linking was accured'
********************************************
********************************************
SPACE
RETURN DS 0H RETURN TO THE CALLER
L R13,UEPEPSA ADDRESS OF EXIT SAVE AREA
RETURN (14,12),RC=UERCNORM RESTORE REGS AND RETURN
SPACE
LTORG
SPACE
END DFH$PCEX
I know that is must be first ENABLEd but! WHERE is it must be done?
I don't know how to exploit these capability.
My final goal is doing some processing on specific application program and sub-program execution time but without any change on PROGRAM A or PROGRAM B sources.