For SYSTEM 2000 Version: 12.0
Problem Status: ZC (Zap Coded) -- Fix has received limited testing
Description of Problem:
INTERMITTENT 0C2 ABEND WHEN EXECUTING THE PC INSTRUCTION IN PLXFRMT AND S2KADRC. CAUSES THE CICS USER TO RECEIVE THE MESSAGE 'MULTI-USER TP NOT ACTIVE
Note: Please send email to s2k@sas.com telling us which problem fixes you have downloaded so we can keep track of the fixes at your site in case questions or problems arise.
Top of Zap Deck:
* IBM R12.0 BUG 4743 MVS ./ CHANGE NAME=S2KADRC ADRCABCD DS F *05* 00004010 ADRCRCNT DS F *05* 00004020 ADRCPSW DS 2F *05* 00004030 ADRCFLG DS X *05* 00004040 * X'00' - HAVE NOT RETRIED PC INSTRUCTION *05* 00004050 * X'FF' - HAVE RETRIED PC INSTRUCTION *05* 00004060 * *05* 16DEC93 GOH B4743 TRAP 0C2 ON PC AND TRY AGAIN *05* 00009990 XC ADRCRCNT,ADRCRCNT CLEAR RETRY COUNT *05* 00071010 ADR$0505 EQU * *05* 00198010 * *05* 00224010 * DETERMINE IF ABEND WAS 0C2 AND IF SO, RETRY THE PC COMMAND *05* 00224020 * *05* 00224030 EXEC CICS ASSIGN ABCODE(ADRCABCD) 00224040 CLC ADRCABCD,CASRA ASRA ABEND ? *05* 00224050 BNE EXITE310 NO. CONTINUE *05* 00224060 EXEC CICS ASSIGN ASRAPSW(ADRCPSW) 00224070 L R14,ADRCPSW+4 ADDR OF ABEND *05* 00224080 LA R14,0(R14) CLEAR HI BIT *05* 00224090 LA R15,ADR$0505 PC INST ADDR *05* 00224100 CR R14,R15 SAME ? *05* 00224110 BNE EXITE310 NO. CONTINUE *05* 00224120 * *05* 00224130 * AT THIS POINT WE KNOW THAT WE GOT AN 0CX ABEND ON THE *05* 00224140 * PC INSTRUCTION. WE WILL NOW RETRY THE PC INSTRUCTION. *05* 00224150 * TAKE A SNAP DUMP FOR IDENTIFICATION OF 0C2. *05* 00224160 * *05* 00224170 EXEC CICS DUMP TRANSACTION DUMPCODE('PCC2') FROM(SAVECOM) LENGTH(30) 00224180 L R15,ADRCRCNT BUMP RETRY COUNT *05* 00224190 LA R15,1(R15) UP ONE *05* 00224200 C R15,=F'5' MORE THAN ENOUGH ? *05* 00224210 BH EXITE301 YES. JUST FINISH UP *05* 00224220 ST R15,ADRCRCNT CONTINUE RETRIES *05* 00224230 MVI ADRCFLG,X'FF' TURN ON RETRY FLAG *05* 00224240 B GOPCCALL RETRY THE PC STUFF *05* 00224250 EXITE301 EQU * *05* 00224260 MVI READSW,X'FF' TURN OFF READ SWITCH *05* 00224270 B RTN04 GIVE BACK BAD RETURN *05* 00224280 EXITE310 EQU * *05* 00224290 CASRA DC CL4'ASRA' *05* 00301010 ./ CHANGE NAME=PLXFRMT * *20* 16DEC93 GOH B4743 TRAP 0C2 ON PC AND TRY AGAIN *20* 00010960 ADRCABCD DS F *20* 00049010 ADRCRCNT DS F *20* 00049020 ADRCPSW DS 2F *20* 00049030 ADRCFLG DS X *20* 00049040 * X'00' - HAVE NOT RETRIED PC INSTRUCTION *20* 00049050 * X'FF' - HAVE RETRIED PC INSTRUCTION *20* 00049060 XC ADRCRCNT,ADRCRCNT CLEAR RETRY COUNT *20* 01351010 ADR$0505 EQU * *20* 01462010 * *20* 01480010 * IF ABEND WAS 0C2 RETRY THE PC COMMAND *20* 01480020 * *20* 01480030 EXEC CICS ASSIGN ABCODE(ADRCABCD) 01480040 CLC ADRCABCD,CASRA ASRA ABEND ? *20* 01480050 BNE EXITE310 NO. CONTINUE *20* 01480060 EXEC CICS ASSIGN ASRAPSW(ADRCPSW) 01480070 L R14,ADRCPSW+4 ADDR OF ABEND *20* 01480080 LA R14,0(R14) CLEAR HI BIT *20* 01480090 LA R15,ADR$0505 PC INST ADDR *20* 01480100 CR R14,R15 SAME ? *20* 01480110 BNE EXITE310 NO. CONTINUE *20* 01480120 * *20* 01480130 * AT THIS POINT WE KNOW THAT WE GOT AN 0C2 ABEND ON THE *20* 01480140 * PC INSTRUCTION. WE WILL NOW RETRY THE PC INSTRUCTION. *20* 01480150 * TAKE A SNAP DUMP FOR IDENTIFICATION OF 0C2. *20* 01480160 * *20* 01480170 EXEC CICS DUMP TRANSACTION DUMPCODE('PCC2') FROM(SAVECOM) LENGTH(30) 01480180 L R15,ADRCRCNT BUMP RETRY COUNT *20* 01480190 LA R15,1(R15) UP ONE *20* 01480200 C R15,=F'5' MORE THAN ENOUGH ? *20* 01480210 BH EXITE301 YES. JUST FINISH UP *20* 01480220 ST R15,ADRCRCNT CONTINUE RETRIES *20* 01480230 MVI ADRCFLG,X'FF' TURN ON RETRY FLAG *20* 01480240 B GOPCCALL RETRY THE PC STUFF *20* 01480250 EXITE301 EQU * *20* 01480260 MVI READSW,X'FF' TURN OFF READ SWITCH *20* 01480270 B RTN04 GIVE BACK BAD RETURN *20* 01480280 EXITE310 EQU * *20* 01480290 CASRA DC CL4'ASRA' *20* 01527010
End of Zap Deck