Resources



Problem Fix Number: 4871

For SYSTEM 2000 Version: 12.1

Problem Status: ZD -- R12.1 FFD3

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.1   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* 24MAR97 GOH B4871 ALLOW FOR USING ALTERNATE URB IN ABEND CASE    00026860
 *              FIX URBWAIT BIT SETS FROM B4844                          00026865
 R14SAVE  DS    F                                                   *21* 00047010
          DS    0D                                                  *21* 00052010
 INTURB   DS    CL4688                                              *21* 00052020
          TM    URBFLAG1,X'01'             IN USE ?                 *21* 00179010
          BZ    TERM0083                   NO. USE IT               *21* 00179020
          BAL   R14,TERMIURB               YES. USE THE INTERNAL URB*21* 00179030
 TERM0083 EQU   *                                                   *21* 00179040
          OI    URBFLAG1,X'01'             SET URB IN USE           *21* 00179050
          OI    URBFLAG1,URBWAIT           TURN ON WAIT FLAG        *21* 00258010
          NI    URBFLAG1,X'FF'-URBWAIT     TURN OFF WAIT FLAG       *21* 00270010
          TM    URBFLAG1,X'01'             IN USE ?                 *21* 00361010
          BZ    TERM499A                   NO. USE IT               *21* 00361020
          BAL   R14,TERMIURB               YES. USE INTERNAL URB    *21* 00361030
 TERM499A EQU   *                                                   *21* 00361040
          OI    URBFLAG1,X'01'             SET URB IN USE           *21* 00361050
          NI    URBFLAG1,X'FF'-X'01'       TURN OFF IN USE FLAG     *21* 00386010
 ********************************************************************21* 00394010
 *                                                                  *21* 00394020
 *  TERMIURB - THE ABEND HANDLER URB IS IN USE BY SOMEONE ELSE, SO  *21* 00394030
 *             WE WILL USE THE URB DEFINED IN THE WORKING STORAGE   *21* 00394040
 *             AREA INSTEAD.                                        *21* 00394050
 *                                                                  *21* 00394060
 *  ON ENTRY, R8 POINTS TO THE ABEND HANDLER'S URB                  *21* 00394070
 *                                                                  *21* 00394080
 ********************************************************************21* 00394090
          SPACE                                                          00394100
 TERMIURB EQU   *                                                   *21* 00394110
          ST    R14,R14SAVE          SAVE RETURN REGISTER           *21* 00394120
          LH    R14,=AL2(L'INTURB)   LENGTH OF URB                  *21* 00394130
          LA    R15,INTURB           ADDRESS WS URB                 *21* 00394140
          LA    R1,256               MAX MOVE LENGTH                *21* 00394150
 IURBMVLP EQU   *                                                   *21* 00394160
          CR    R14,R1               MORE THAN MAX MOVE ?           *21* 00394170
          BL    IURBLSTM             NO. DO LAST MOVE               *21* 00394180
          MVC   0(256,R15),0(R8)     DO THE MOVE                    *21* 00394190
          A     R15,=F'256'          BUMP TO POINTER                *21* 00394200
          A     R8,=F'256'           BUMP FROM POINTER              *21* 00394210
          S     R14,=F'256'          DECREMENT TOTAL LENGTH         *21* 00394220
          B     IURBMVLP             LOOP THROUGH MOVE              *21* 00394230
 IURBLSTM EQU   *                                                   *21* 00394240
          BCTR  R14,0                DECREMENT FOR EXECUTE          *21* 00394250
          EX    R14,URBMOVE          LAST MOVE                      *21* 00394260
          LA    R8,INTURB            ADDRESS URB                    *21* 00394270
          LA    R15,URBNLBUF-DURB(R8)     BUFFER ADDRESS            *21* 00394280
          ST    R15,URBOUT-DURB(R8)       SET URBOUT                *21* 00394290
          ST    R15,URBNLBFA-DURB(R8)     SET BUFFER ADDRESS        *21* 00394300
          LA    R15,URBECB-DURB(R8)       ECB ADDRESS               *21* 00394310
          ST    R15,URBOPCOD-DURB(R8)     SAVE IT                   *21* 00394320
          L     R14,R14SAVE          RESTORE RETURN REGISTER        *21* 00394340
          BR    R14                  RETURN TO CALLER               *21* 00394350
          SPACE 2                                                        00394360
 URBMOVE  MVC   0(0,R15),0(R8)                                      *21* 00394370
          EJECT                                                          00394380
 *USE THE WORKING STORAGE URB TO ELIMINATE                          *21* 00430010
 *THE POSSIBILITY OF A SYSTEM 301 ABEND.                            *21* 00430020
          BAL   R14,TERMIURB               YES. USE INTERNAL URB    *21* 00430030
 TERM8055 EQU   *                                                   *21* 00430040
          OI    URBFLAG1,X'01'             SET URB IN USE           *21* 00430050
          NI    URBFLAG1,X'FF'-X'01'       TURN OFF IN USE BIT      *21* 00471010
          NI    URBFLAG1,X'FF'-X'01'       TURN OFF IN USE BIT      *21* 00509010

End of Zap Deck