Resources



Problem Fix Number: 4871

For SYSTEM 2000 Version: 12.0

Problem Status: ZC (Zap Coded) -- Fix has received limited testing

Description of Problem:

WITH BUG FIX 4870 APPLIED, SOME ERROR SITUATIONS CAUSE A 301 ABEND IN CICS ENVIRONMENTS DUE TO MULTIPLE TASKS USING THE SAME ABEND HANDLER'S URB.


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 4871  MVS                                                    
 *                                                                               
 * THIS BUG FIX WILL ALLOW THE USE OF AN INTERNAL URB DURING ABEND               
 * HANDLING IN SCFTERM SO THAT MULTIPLE TASKS WILL NOT BE TRYING TO              
 * USE THE ABEND HANDLER'S URB.  MULTIPLE USE OF THAT URB CAN CAUSE              
 * A 301 ABEND IN A CICS ENVIRONMENT.                                            
 *                                                                               
 * THERE IS ALSO A FIX INCLUDED WHICH WILL CHANGE A FLAG SET FROM                
 * #URBWAIT TO URBWAIT (X'80' TO X'08'). THIS BUG WAS INTRODUCED                 
 * IN BUG FIX 4844 AND IS HEREBY EMENDED.  BUG FIX 4844 IS REQUIRED              
 * FOR THIS FIX TO WORK PROPERLY.                                                
 *                                                                               
 ./ CHANGE NAME=SCFTERM                                                          
 * *21* 30MAY97 GOH B4871 ALLOW FOR USING ALTERNATE URB IN ABEND CASE    00026860
 *              FIX URBWAIT BIT SETS FROM B4844                          00026865
 R14SAVE  DS    F                                                   *21* 00037010
          DS    0D                                                  *21* 00041020
 INTURB   DS    CL4688                                              *21* 00041030
          TM    URBFLAG1,X'01'             IN USE ?                 *21* 00149010
          BZ    TERM0083                   NO. USE IT               *21* 00149020
          BAL   R14,TERMIURB               YES. USE THE INTERNAL URB*21* 00149030
 TERM0083 EQU   *                                                   *21* 00149040
          OI    URBFLAG1,X'01'             SET URB IN USE           *21* 00149050
          OI    URBFLAG1,URBWAIT           TURN ON WAIT FLAG        *21* 00226010
          NI    URBFLAG1,X'FF'-URBWAIT     TURN OFF WAIT FLAG       *21* 00238010
          TM    URBFLAG1,X'01'             IN USE ?                 *21* 00311010
          BZ    TERM499A                   NO. USE IT               *21* 00311020
          BAL   R14,TERMIURB               YES. USE INTERNAL URB    *21* 00311030
 TERM499A EQU   *                                                   *21* 00311040
          OI    URBFLAG1,X'01'             SET URB IN USE           *21* 00311050
          NI    URBFLAG1,X'FF'-X'01'       TURN OFF IN USE FLAG     *21* 00336010
 ********************************************************************21* 00343010
 *                                                                  *21* 00343020
 *  TERMIURB - THE ABEND HANDLER URB IS IN USE BY SOMEONE ELSE, SO  *21* 00343030
 *             WE WILL USE THE URB DEFINED IN THE WORKING STORAGE   *21* 00343040
 *             AREA INSTEAD.                                        *21* 00343050
 *                                                                  *21* 00343060
 *  ON ENTRY, R8 POINTS TO THE ABEND HANDLER'S URB                  *21* 00343070
 *                                                                  *21* 00343080
 ********************************************************************21* 00343090
          SPACE                                                          00343100
 TERMIURB EQU   *                                                   *21* 00343110
          ST    R14,R14SAVE          SAVE RETURN REGISTER           *21* 00343120
          LH    R14,=AL2(L'INTURB)   LENGTH OF URB                  *21* 00343130
          LA    R15,INTURB           ADDRESS WS URB                 *21* 00343140
          LA    R1,256               MAX MOVE LENGTH                *21* 00343150
 IURBMVLP EQU   *                                                   *21* 00343160
          CR    R14,R1               MORE THAN MAX MOVE ?           *21* 00343170
          BL    IURBLSTM             NO. DO LAST MOVE               *21* 00343180
          MVC   0(256,R15),0(R8)     DO THE MOVE                    *21* 00343190
          A     R15,=F'256'          BUMP TO POINTER                *21* 00343200
          A     R8,=F'256'           BUMP FROM POINTER              *21* 00343210
          S     R14,=F'256'          DECREMENT TOTAL LENGTH         *21* 00343220
          B     IURBMVLP             LOOP THROUGH MOVE              *21* 00343230
 IURBLSTM EQU   *                                                   *21* 00343240
          BCTR  R14,0                DECREMENT FOR EXECUTE          *21* 00343250
          EX    R14,URBMOVE          LAST MOVE                      *21* 00343260
          LA    R8,INTURB            ADDRESS URB                    *21* 00343270
          LA    R15,URBNLBUF-DURB(R8)     BUFFER ADDRESS            *21* 00343280
          ST    R15,URBOUT-DURB(R8)       SET URBOUT                *21* 00343290
          ST    R15,URBNLBFA-DURB(R8)     SET BUFFER ADDRESS        *21* 00343300
          LA    R15,URBECB-DURB(R8)       ECB ADDRESS               *21* 00343310
          ST    R15,URBOPCOD-DURB(R8)     SAVE IT                   *21* 00343320
          L     R14,R14SAVE          RESTORE RETURN REGISTER        *21* 00343340
          BR    R14                  RETURN TO CALLER               *21* 00343350
          SPACE 2                                                        00343360
 URBMOVE  MVC   0(0,R15),0(R8)                                      *21* 00343370
          EJECT                                                          00343380
 *USE THE WORKING STORAGE URB TO ELIMINATE                          *21* 00392010
 *THE POSSIBILITY OF A SYSTEM 301 ABEND.                            *21* 00392020
          BAL   R14,TERMIURB               YES. USE INTERNAL URB    *21* 00392030
 TERM8055 EQU   *                                                   *21* 00392040
          OI    URBFLAG1,X'01'             SET URB IN USE           *21* 00392050
          NI    URBFLAG1,X'FF'-X'01'       TURN OFF IN USE BIT      *21* 00412010
          NI    URBFLAG1,X'FF'-X'01'       TURN OFF IN USE BIT      *21* 00451010

End of Zap Deck