Resources



Problem Fix Number: 4743

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


Download Fix:

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