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.
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