For SYSTEM 2000 Version: 12.1
Problem Status: ZD -- R12.1 FFD3
Description of Problem:
SCF USERS NOT GETTING CLEANED UP WHEN TASKS ASSOCIATED WITH THEM ARE FORCE PURGED.
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 4844 MVS * * THIS BUG FIX WILL REPAIR AREAS IN THE CICS INTERFACE ERROR HANDLING * THAT HAVE BEEN BROKEN BY OTHER BUG FIXES. IN PARTICULAR, SCF USERS * THAT HAVE BEEN PURGED FROM CICS WILL NEVER GET CLEANED UP. * * THE DFHPEP PART OF THIS FIX IS TO BE APPLIED TO DFHPEP21 FOR THE 2.1 * RELEASE OF CICS. APPLY THE DFHPEP32 FIX FOR CICS VERSION 3.2 AND * ABOVE. * ./ CHANGE NAME=SCFINTF * *13* 20JUN96 GOH B4844 SET TASK NUMBER IN URB FOR SCF USERS *13* 00020010 MVC URBTASK,EIBTASKN SET TASK NUMBER *13* 00171010 ./ CHANGE NAME=SCFTERM * *20* 20JUN96 GOH B4844 FIX HANG PROBLEMS WITH ABENDING SCF USERS 00026880 MVC SCFCUID,=CL8' ' CLEAR USER ID FIELD *20* 00133010 BE TERM0100 YES. GO AHEAD ON *20* 00204000 ST R8,SCFCURB SET URB ADDRESS *20* 00206010 TM URBFLAG1,URBWAIT WAIT FLAG ON ? *20* 00217010 BZ TERM0209 NO. PROCESS IT *20* 00217020 CLI SCFCFRC,X'FF' FORCED ? *20* 00217030 BE TERM0203 YES. CONTINUE *20* 00217040 TERM0202 EQU * *20* 00217050 * *20* 00217060 * AT THIS POINT, WE NEED TO CHECK THE URBECB TO *20* 00217070 * DETERMINE IF IT HAS BEEN POSTED BY SYSTEM 2000 AND IF SO, WE *20* 00217080 * WILL TURN OFF THE URBWAIT FLAG AND WRAP UP PROCESSING FOR THIS *20* 00217090 * URB. *20* 00217100 * *20* 00217110 TM URBECB,X'40' HAS URB BEEN POSTED ? *20* 00217120 BO TERM0203 YES. WRAP IT UP *20* 00217130 * *20* 00217140 * THE URB HAS NOT BEEN POSTED BY MULTI-USER SO WE WILL TURN ON *20* 00217150 * THE ERROR FLAG AND DELAY CLEAN UP TILL ANOTHER TIME. *20* 00217160 * *20* 00217170 OI URBFLAG1,URBERR TURN ON ERROR FLAG *20* 00217180 B TERM0299 RETURN TO CALLER *20* 00217190 TERM0203 EQU * *20* 00217200 * *20* 00217210 * IF THE URB HAS BEEN POSTED, WE WILL NOW TURN OF THE URBWAIT FLAG*20* 00217220 * AND CONTINUE PROCESSING TO TERMINATE THIS USER. *20* 00217230 * *20* 00217240 NI URBFLAG1,X'FF'-URBWAIT TURN OFF WAIT FLAG *20* 00217250 TERM0209 EQU * *20* 00217260 LA R0,#URBOCIO CANCEL OPERATION *20* 00222000 B TERM0241 CONTINUE *20* 00257010 OI URBFLAG1,#URBWAIT TURN ON WAIT FLAG *20* 00258010 TERM0241 EQU * *20* 00258020 B TERM0251 CONTINUE *20* 00269010 NI URBFLAG1,X'FF'-#URBWAIT TURN OFF WAIT FLAG *20* 00270010 TERM0251 EQU * *20* 00270020 DROP R14 00312010 * *20* 00312020 * DETERMINE IF USER HAS STACE TABLE ENTRY AND FREE IT TOO *20* 00312030 * *20* 00312040 L R14,SCFCUSE ADDRESS S2KCUSE *20* 00312050 L R14,S2KSTAC-DS2KCUSE(R14) STACE TABLE *20* 00312060 USING DSTACE,R14 00312070 TERM0296 EQU * *20* 00312080 CLI STACENAM,X'FF' END OF LIST ? *20* 00312090 BE TERM0299 YES. WRAP IT UP *20* 00312100 CLC STACENAM,SCFCUID OUR ENTRY *20* 00312110 BE TERM0297 YES. FIX IT *20* 00312120 LA R14,STACEL$(,R14) NO. NEXT ONE *20* 00312130 B TERM0296 CHECK THEM ALL *20* 00312140 TERM0297 EQU * *20* 00312150 XC STACENAM,STACENAM CLEAR IT ALL *20* 00312160 XC STACEFLG,STACEFLG FLAG TOO *20* 00312170 TERM0299 EQU * *20* 00312180 ST R8,SCFCURB SET URB ADDRESS *20* 00419010 MVC SCFCUID,URBUSER SET USER ID IN COMM *20* 00419020 ./ CHANGE NAME=DFHPEP21 * DFHPEP-07 20JUN96 GOH B4844 CHECK FOR SCF AND PLEX ABENDS *07* 00023990 ZAP UNPKWK1,TCAKCTTA GET TASK ID (PACKED 3) *07* 00062010 L R4,UNPKWK1 TO FOUR BYTES *07* 00062020 DFHPC TYPE=LOAD,PROGRAM=S2KCUSE,COND=YES *07* 00062030 CLI TCAPCTR,X'00' OKAY ? *07* 00062040 BNE POSTAB20 NO. JUST DO EPOSTAB *07* 00062050 L R1,TCAPCLA ADDRESS LOADED PROGRAM *07* 00062060 L R1,S2KSCFU-DS2KCUSE(R1) ADDRESS URBS *07* 00062070 USING DURB,R1 00062080 POSTAB02 EQU * *07* 00062090 C R4,URBTASK THIS URB ? *07* 00062100 BE POSTAB04 YES. HANDLE IT *07* 00062110 TM URBFLAG1,URBLAST LAST ONE ? *07* 00062120 BO POSTAB20 YES. JUST DO EPOSTAB *07* 00062130 AH R1,URBLEN NO. NEXT ONE *07* 00062140 B POSTAB02 CHECK IT *07* 00062150 POSTAB04 EQU * *07* 00062160 OI URBFLAG1,URBERR TURN ON ERROR FLAG *07* 00062170 DFHIC TYPE=INITIATE,TRANSID=SCFZ,INTRVAL=0 *07* 00062180 *07* DON'T CALL PLXTERM DIRECTLY *07* 00062190 B S2KEXIT RETURN TO CALLER *07* 00062200 POSTAB20 EQU * *07* 00062210 * *07* LINE COMMENTED OUT *07* 00063000 DURBMU RGEQU=NO *07* 00073010 DS2KCUSE *07* 00073020 ./ CHANGE NAME=DFHPEP32 * *01* 09APR97 GOH B4844 CHECK USER PRIOR TO ERROR HANDLING AND *01* 00040980 * ALLOW FOR SCF USER CLEANUP *01* 00040990 L R5,EIBTASKN TASK # *01* 00050000 EXEC CICS HANDLE CONDITION ERROR(S2KEXIT) 00050010 EXEC CICS LOAD PROGRAM('S2KCUSE') SET(1) 00050020 L R4,S2KSCFU-DS2KCUSE(R1) ADDR SCF URBS *01* 00050030 USING DURB,R4 *01* 00050040 PEPURBL EQU * *01* 00050050 C R5,URBTASK THIS URB ? *01* 00050060 BE PEPSERR YES. SET ERROR TASK *01* 00050070 TM URBFLAG1,URBLAST LAST URB ? *01* 00050080 BO S2KEXIT YES. RETURN TO CALLER *01* 00050090 AH R4,URBLEN NO. NEXT URB *01* 00050100 B PEPURBL CHECK IT *01* 00050110 PEPSERR EQU * *01* 00050120 OI URBFLAG1,URBERR SET URB IN ERROR TASK *01* 00050130 EXEC CICS START TRANSID('SCFZ') 00050140 S2KEXIT EQU * *01* 00050150 DURBMU RGEQU=NO *01* 00064010 DS2KCUSE *01* 00064020
End of Zap Deck