DA$MPF02 TITLE ' Answer WTOR with "W" ' *********************************************************************** *** *** ** ** ** Module Name = DA$MPF02 ** ** ** ** Descriptive Name = Communications task user exit to answer ** ** WTORs with "W" ** ** ** ** Reference = GC28-1147 MVS-XA SPL: User Exits ** ** ** ** Activated by = SET MFP=XX (MVS operator command) ** ** - Where XX is a member in 'SYS1.PARMLIB': ** ** 'SYS1.PARMLIB(MPFLSTXX)' ** ** - REFERENCE IN MPFLSTXX: ** ** ERB306D,SUP(NO),USEREXIT(DA$MPF02) ** ** CICS...,SUP(NO),USEREXIT(DA$MPF02) ** *** *** *********************************************************************** EJECT DA$MPF02 DA#ENTER 'WTO EXIT: REPLY W TO A WTOR', @ AMODE=31,RMODE=ANY, @ RENT=YES,LV=WORKDSL,SP=230,GMTYPE=RU,LOC=BELOW USING WORKDS,R13 * L R2,0(R1) Get CTXT Address L R3,CTXTTXPJ-CTXT(R2) Find Message attributes TM CTXTTFB1-CTXTATTR(R3),CTXTTFWR WTOR? BNO EXIT No, ignore it EJECT *********************************************************************** *** *** ** Reply to the WTOR with a "W" ** *** *** *********************************************************************** SPACE 2 * ** Issue WTO message for an Audit Trail * LA R15,WTO Locate WTO work area MVC 0(C_WTOL,R15),C_WTO Copy in WTO LA R15,4(R15) Bump past header MVC 0(MSG1L,R15),MSG1 Move in message LA R15,MSG1L(R15) Bump past it MVC 0(2,R15),CTXTRPID-CTXT(R2) Get reply number WTO ,MF=(E,WTO) Issue the WTO * ** Answer the WTOR: "R xx,W" * LA R14,REPLY Locate reply area XC 0(MGCRLTH,R14),0(R14) Clear it to binary zeros * LA R15,MGCRTEXT-MGCRPL(R14) Locate reply area MVC 0(2,R15),=C'R ' Move in Text LA R15,2(R15) Bump past it MVC 0(2,R15),CTXTRPID-CTXT(R2) Get reply number LA R15,2(R15) Bump past the number MVC 0(2,R15),=C',W' Complete the message LA R15,2(R15) Bump past the suffix * SR R15,R14 Length = end - Beginning STC R15,MGCRLGTH-MGCRPL(R14) Save length * SLR R0,R0 Clear register MGCR REPLY Issue reply EJECT *********************************************************************** *** *** ** Termination section ** *** *** *********************************************************************** SPACE 2 EXIT EQU * DA#LEAVE SP=230,FMTYPE=RU EJECT *********************************************************************** *** *** ** Constants ** *** *** *********************************************************************** SPACE 2 MSG1 DC C'DA$202I WTOR Answered with W, Reply=' MSG1L EQU *-MSG1 DS 0D C_WTO WTO ' @ @ ', @ ROUTCDE=(11,14),DESC=7,MCSFLAG=HRDCPY,MF=L C_WTOL EQU *-C_WTO * ** Literals * LTORG , DS 0D EJECT *********************************************************************** *** *** ** Getmained work area ** *** *** *********************************************************************** SPACE 2 DS 0D WORKDS DSECT , DS 18F Register Save Area REPLY DS XL(MGCRLTH) Reply (operator command) WTO DS XL(C_WTOL) Write to operator DS 0D WORKDSL EQU *-WORKDS EJECT *********************************************************************** *** *** ** Equates and DSECTs ** *** *** *********************************************************************** SPACE 2 REQUATE , Equate our registers IEZVX100 , WTO User WTO exit parm list IEZMGCR DSECT=NO SVC 34 Parameter List END