TITLE 'ICBVIN00 - MSVC INITIALIZATION MODULE - MVS *00001000 ' 00002000 ICBVIN00 CSECT , 0001 00003000 @MAINENT DS 0H 0001 00004000 USING *,@15 0001 00005000 B @PROLOG 0001 00006000 DC AL1(16) 0001 00007000 DC C'ICBVIN00 77.353' 0001 00008000 DROP @15 00009000 @PROLOG STM @14,@12,12(@13) 0001 00010000 BALR @12,0 0001 00011000 @PSTART LA @11,4095(,@12) 0001 00012000 LA @10,4095(,@11) 0001 00013000 LA @09,4095(,@10) 0001 00014000 USING @PSTART,@12 0001 00015000 USING @PSTART+4095,@11 0001 00016000 USING @PSTART+8190,@10 0001 00017000 USING @PSTART+12285,@09 0001 00018000 ST @13,@SA00001+4 0001 00019000 LA @08,@SA00001 0001 00020000 ST @08,8(,@13) 0001 00021000 LR @13,@08 0001 00022000 JSCBDISP EQU 188 00023000 JSCBAOS1 EQU 72 00024000 JSCBAOS2 EQU 192 00025000 * 0372 00026000 */********************************************************************* 00027000 * * ICBVIN00 MAINLINE @Y30LB27 00028000 * ********************************************************************/ 00029000 * 0372 00030000 * /* @Y30LB27*/ 00031000 */********************************************************************* 00032000 * * INVOKE INITIALIZATION SEGMENT @Y30LB27 00033000 * ********************************************************************/ 00034000 * 0372 00035000 * CALL VININIT; /* CALL INITIALIZATION SEGMENT 0372 00036000 * @ZM31134*/ 00037000 BAL @14,VININIT 0372 00038000 */********************************************************************* 00039000 * * ICBVIN00 IPL CALL @Y30LB27 00040000 * ********************************************************************/ 00041000 * 0373 00042000 * IF ININIT=ON THEN 0373 00043000 L @08,INITPTR 0373 00044000 TM ININIT(@08),B'10000000' 0373 00045000 BNO @RF00373 0373 00046000 * DO; /* INITIALIZATION CALL @Y30LB27 00047000 * @Y30LB27*/ 00048000 * VVIFLG0=ON; /* FORCE MSVC DISABLE @Y30LB27*/ 00049000 * VVIFLG2=ON; /* FORCE JOURNAL DISABLE @Y30LB27 00050000 * @Y30LB27*/ 00051000 OI VVIFLG0(VVIPTR),B'10100000' 0376 00052000 */********************************************************************* 00053000 * * REQUEST PARMLIB CORRECTIONS FROM OPERATOR @Y30LB27 00054000 * ********************************************************************/ 00055000 * 0377 00056000 * IF INIVERFY=ON THEN 0377 00057000 TM INIVERFY(@08),B'10000000' 0377 00058000 BNO @RF00377 0377 00059000 * CALL VINPARMV; /* OPERATOR VERIFICATION REQD 0378 00060000 * @Y30LB27*/ 00061000 BAL @14,VINPARMV 0378 00062000 */********************************************************************* 00063000 * * DO GETMAIN FOR VOLUME TRACKING STORAGE AREA @ZA27588* 00064000 * ********************************************************************/ 00065000 * 0379 00066000 * IF VVIVTRK^=C000 THEN /* @ZA27588*/ 00067000 @RF00377 CLC VVIVTRK(3,VVIPTR),@CC03662 0379 00068000 BE @RF00379 0379 00069000 * DO; /* @ZA27588*/ 00070000 * TEMPBIN=ZEROFX31; /* ZERO OUT WORK AREA @ZA27588*/ 00071000 SLR @08,@08 0381 00072000 ST @08,TEMPBIN 0381 00073000 * PACK(VVIVTRK,VVIVTRK); /* PACK VOL COUNT @ZA27588*/ 00074000 PACK VVIVTRK(3,VVIPTR),VVIVTRK(3,VVIPTR) 0382 00075000 * CVB(TEMPBIN,VVIVTRK); /* CONVERT TO BINARY @ZA27588*/ 00076000 XC @TS00001(8),@TS00001 0383 00077000 MVC @TS00001+5(3),VVIVTRK(VVIPTR) 0383 00078000 CVB @08,@TS00001 0383 00079000 ST @08,TEMPBIN 0383 00080000 * REG0=(FOUR+(SIXTY*TEMPBIN));/* DETER SPACE REQ @ZA27588*/ 00081000 MH @08,@CH00414 0384 00082000 AL @08,@CF00098 0384 00083000 LR REG0,@08 0384 00084000 *LGETMA: 0385 00085000 * GEN(GETMAIN RC,LV=(0),SP=241);/* GET SUBPOOL 241 @ZA27588*/ 00086000 LGETMA GETMAIN RC,LV=(0),SP=241 00087000 * IF REG15=ZERO THEN /* IS GETMAIN OK @ZA27588*/ 00088000 LTR REG15,REG15 0386 00089000 BNZ @RF00386 0386 00090000 * DO; /* YES @ZA27588*/ 00091000 * ICBVOLST=REG1; /* SAVE PTR TO AREA @ZA27588*/ 00092000 L @08,CVTPTR 0388 00093000 L @08,CVTEXT2(,@08) 0388 00094000 L @08,CVTICB(,@08) 0388 00095000 ST REG1,ICBVOLST(,@08) 0388 00096000 * ICBVLCNT=TEMPBIN; /* SAVE COUNT @ZA27588*/ 00097000 L @08,CVTPTR 0389 00098000 L @08,CVTEXT2(,@08) 0389 00099000 L @08,CVTICB(,@08) 0389 00100000 L @08,ICBVOLST(,@08) 0389 00101000 L @05,TEMPBIN 0389 00102000 ST @05,ICBVLCNT(,@08) 0389 00103000 * DO I=ONE TO ICBVLCNT;/* ZERO OUT AREA @ZA27588*/ 00104000 LA I,1 0390 00105000 B @DE00390 0390 00106000 @DL00390 DS 0H 0391 00107000 * ICBVLENT(I)=ICBVLENT(I)&&ICBVLENT(I);/* @ZA27588*/ 00108000 LR @05,I 0391 00109000 MH @05,@CH00414 0391 00110000 L @04,CVTPTR 0391 00111000 L @04,CVTEXT2(,@04) 0391 00112000 L @04,CVTICB(,@04) 0391 00113000 L @04,ICBVOLST(,@04) 0391 00114000 ALR @04,@05 0391 00115000 AL @04,@CF03966 0391 00116000 XC ICBVLENT-4(60,@04),ICBVLENT-4(@04) 0391 00117000 * END; 0392 00118000 AL I,@CF00055 0392 00119000 @DE00390 L @05,CVTPTR 0392 00120000 L @05,CVTEXT2(,@05) 0392 00121000 L @05,CVTICB(,@05) 0392 00122000 L @05,ICBVOLST(,@05) 0392 00123000 C I,ICBVLCNT(,@05) 0392 00124000 BNH @DL00390 0392 00125000 * END; /* @ZA27588*/ 00126000 * ELSE /* GETMAIN UNSUCCESSFUL @ZA27588*/ 00127000 * DO; /* @ZA27588*/ 00128000 B @RC00386 0394 00129000 @RF00386 DS 0H 0395 00130000 * VINMSGID=MSGTRK; /* SET UP NO SPACE MSG @ZA27588*/ 00131000 MVC VINMSGID(2),@CH00237 0395 00132000 * CALL VINWTO; /* WRITE MSG FROM VMG00 @ZA27588*/ 00133000 BAL @14,VINWTO 0396 00134000 * END; /* @ZA27588*/ 00135000 * END; /* @ZA27588*/ 00136000 @RC00386 DS 0H 0399 00137000 */********************************************************************* 00138000 * * IF LIBRARIAN MSGS ARE TO BE JOURNALLED SAVE FLAG UNTIL @ZM31134 00139000 * * VJL IS INITIALIZED @Y30LB27 00140000 * ********************************************************************/ 00141000 * 0399 00142000 * IF VVIFLG3=ON THEN /* LIB MSGS JOURNALED @Y30LB27*/ 00143000 @RF00379 TM VVIFLG3(VVIPTR),B'00010000' 0399 00144000 BNO @RF00399 0399 00145000 * DO; /* YES @Y30LB27*/ 00146000 * VVIFLG3=OFF; /* TURN JORUNALLING SWITCH OFF */ 00147000 NI VVIFLG3(VVIPTR),B'11101111' 0401 00148000 * JRNLSW3=ON; /* REMBER IT FOR LATER @ZA17167*/ 00149000 OI JRNLSW3,B'10000000' 0402 00150000 * END; /* @Y30LB27 00151000 * @Y30LB27*/ 00152000 */********************************************************************* 00153000 * * INITIALIZE INVENTORY AND JOURNAL DATA SETS @Y30LB27 00154000 * ********************************************************************/ 00155000 * 0404 00156000 * IF RPLVRETC=ZERO THEN /* JOURNAL INIT OKAY @Y30LB27*/ 00157000 @RF00399 LH @08,RPLVRETC(,RPLVPTR) 0404 00158000 N @08,@CF03969 0404 00159000 LTR @08,@08 0404 00160000 BNZ @RF00404 0404 00161000 * CALL VININDS; /* INITIALIZE MSVC DATA SETS 0405 00162000 * @Y30LB27 00163000 * @YM04327*/ 00164000 BAL @14,VININDS 0405 00165000 */********************************************************************* 00166000 * * IF FIRST MSS IPL AFTER SYSGEN WRITE CONTROL RECORDS @Y30LB27 00167000 * ********************************************************************/ 00168000 * 0406 00169000 * IF RPLVRETC=ZERO THEN /* OKAY SO FAR @YM04327*/ 00170000 @RF00404 LH @08,RPLVRETC(,RPLVPTR) 0406 00171000 N @08,@CF03969 0406 00172000 LTR @08,@08 0406 00173000 BNZ @RF00406 0406 00174000 * IF AMBCREAT=ON THEN /* INIT RECORDS REQD @YM04327*/ 00175000 L @08,VVIACBAD(,VVIPTR) 0407 00176000 L @08,ACBAMBL(,@08) 0407 00177000 L @08,AMBLDTA(,@08) 0407 00178000 TM AMBCREAT(@08),B'10000000' 0407 00179000 BNO @RF00407 0407 00180000 * CALL VINCRTDS; /* FIRST MSS IPL AFTER SYSGEN 0408 00181000 * @YM04327*/ 00182000 BAL @14,VINCRTDS 0408 00183000 * ELSE /* @ZA05115*/ 00184000 * CALL UPDTRCDS; /* NOT FIRST IPL AFTER SYSGEN 0409 00185000 * @ZA05115*/ 00186000 B @RC00407 0409 00187000 @RF00407 BAL @14,UPDTRCDS 0409 00188000 */********************************************************************* 00189000 * * INVOKE MODULES REQUIRING INITIALIZATION CALL AT IPL @Y30LB27 00190000 * * VRR WAS ALREADY INITIALIZED ON RESERVE FOR INVENTORY @Y30LB27 00191000 * ********************************************************************/ 00192000 * 0410 00193000 * IF RPLVRETC=ZERO THEN /* OKAY SO FAR @Y30LB27*/ 00194000 @RC00407 DS 0H 0410 00195000 @RF00406 LH @08,RPLVRETC(,RPLVPTR) 0410 00196000 N @08,@CF03969 0410 00197000 LTR @08,@08 0410 00198000 BNZ @RF00410 0410 00199000 * DO; /* YES @Y30LB27*/ 00200000 * REG1=RPLVPTR; /* SET RPLV PTR FOR CALL @Y30LB27*/ 00201000 LR REG1,RPLVPTR 0412 00202000 * CALL ICBVJL00; /* INVOKE JOURNAL PROCESSOR 0413 00203000 * @Y30LB27*/ 00204000 L @15,@CV03333 0413 00205000 BALR @14,@15 0413 00206000 * IF RPLVRETC^=ZERO THEN /* GOOD RETURN @ZA05115*/ 00207000 LH @08,RPLVRETC(,RPLVPTR) 0414 00208000 N @08,@CF03969 0414 00209000 LTR @08,@08 0414 00210000 BZ @RF00414 0414 00211000 * DO; /* NO @ZA05115*/ 00212000 * VINMSGID=MSGVJLE; /* SET MSGID @ZA05115*/ 00213000 MVC VINMSGID(2),@CH00230 0416 00214000 * CNVRTWK1(ONE:TWO)=RPLRCODE;/* CONVERT THE @ZA05115*/ 00215000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 0417 00216000 * CALL VINCNVRT; /* CODE @ZA05115*/ 00217000 BAL @14,VINCNVRT 0418 00218000 * CALL VINWTO; /* WRITE THE MSG @ZA05115*/ 00219000 BAL @14,VINWTO 0419 00220000 * END; /* @ZA05115*/ 00221000 * END; /* #Y30LB27 00222000 * #Y30LB27*/ 00223000 @RF00414 DS 0H 0422 00224000 * IF VVIFLG5=ON THEN /* RESERVED @ZA05115*/ 00225000 @RF00410 TM VVIFLG5(VVIPTR),B'00000100' 0422 00226000 BNO @RF00422 0422 00227000 * CALL JRNLDEQ; /* DEQUEUE THE JOURNAL @ZA05115*/ 00228000 BAL @14,JRNLDEQ 0423 00229000 */********************************************************************* 00230000 * * IF VJL INITIALIZED REST JRNL FLAG SWITCH #Y30LB27 00231000 * ********************************************************************/ 00232000 * 0424 00233000 * IF RPLVRETC=ZERO THEN /* LIB MSGS JOURNALED @ZA17167*/ 00234000 @RF00422 LH @08,RPLVRETC(,RPLVPTR) 0424 00235000 N @08,@CF03969 0424 00236000 LTR @08,@08 0424 00237000 BNZ @RF00424 0424 00238000 * VVIFLG2=OFF; /* TURN JOURNALLING SWITCH OFF 0425 00239000 * @Y30LB27*/ 00240000 NI VVIFLG2(VVIPTR),B'11011111' 0425 00241000 */********************************************************************* 00242000 * * UPDATE INV WITH CURRENT IPL ACTIVITY AND MOUNT STATUS @ZM31134 00243000 * ********************************************************************/ 00244000 * 0426 00245000 * IF RPLVRETC=ZERO THEN 0426 00246000 @RF00424 LH @08,RPLVRETC(,RPLVPTR) 0426 00247000 N @08,@CF03969 0426 00248000 LTR @08,@08 0426 00249000 BNZ @RF00426 0426 00250000 * CALL VINTBUPT; /* UPDATE INV IF OKAY @Y30LB27*/ 00251000 BAL @14,VINTBUPT 0427 00252000 * ELSE 0428 00253000 * CALL VINUCBTB; /* IF NOT BUILD UCB TABLE 0428 00254000 * @Y30LB27 00255000 * @Y30LB27*/ 00256000 B @RC00426 0428 00257000 @RF00426 BAL @14,VINUCBTB 0428 00258000 */********************************************************************* 00259000 * * RESET JRNL FLAG SWITCH - WHETHER OR NOT VJL INIT @Y30LB27 00260000 * ********************************************************************/ 00261000 * 0429 00262000 * IF JRNLSW3=ON THEN /* LIB MSGS JOURNALED @ZA17167*/ 00263000 @RC00426 TM JRNLSW3,B'10000000' 0429 00264000 BNO @RF00429 0429 00265000 * VVIFLG3=ON; /* TURN JOURNALLING SWITCH OFF */ 00266000 OI VVIFLG3(VVIPTR),B'00010000' 0430 00267000 */********************************************************************* 00268000 * * IF ZERO RPLVRETC THEN INDICATE MSVC ENABLED @ZM31134 00269000 * ********************************************************************/ 00270000 * 0431 00271000 * IF RPLVRETC=ZERO THEN /* ZERO RETURN CODES SO FAR 0431 00272000 * @ZM30746*/ 00273000 @RF00429 LH @08,RPLVRETC(,RPLVPTR) 0431 00274000 N @08,@CF03969 0431 00275000 LTR @08,@08 0431 00276000 BNZ @RF00431 0431 00277000 * DO; /* YES - INDICATE MSVC ENABLED 0432 00278000 * @ZM30746 00279000 * @ZM30746*/ 00280000 * VVIFLG0=OFF; /* ENABLE MSVC @ZM30746*/ 00281000 * VVIFLG2=OFF; /* ENABLE FOR JOURNAL PROCESSING 00282000 * @ZM30746*/ 00283000 NI VVIFLG0(VVIPTR),B'01011111' 0434 00284000 * END; /* @ZM30746 00285000 * #Y30LB27*/ 00286000 * IF VVIACBAD^=ZERO&ACBOPEN=ON THEN/* ACB OPEN @ZM31134*/ 00287000 @RF00431 L @08,VVIACBAD(,VVIPTR) 0436 00288000 LTR @08,@08 0436 00289000 BZ @RF00436 0436 00290000 TM ACBOPEN(@08),B'00010000' 0436 00291000 BNO @RF00436 0436 00292000 * DO; /* YES @ZM31134 00293000 * #Y30LB27*/ 00294000 */********************************************************************* 00295000 * * ISSUE ENDREC FOR DATA SET #Y30LB27 00296000 * ********************************************************************/ 00297000 * 0438 00298000 * RPLVTYP=RPLVENDR; /* INDICATE ENDREC #Y30LB27*/ 00299000 MVI RPLVTYP(RPLVPTR),X'04' 0438 00300000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV #Y30LB27*/ 00301000 LR REG1,RPLVPTR 0439 00302000 * CALL ICBVIO00; /* CALL ICBVIN00 FOR ENDREC 0440 00303000 * #Y30LB27*/ 00304000 L @15,@CV03332 0440 00305000 BALR @14,@15 0440 00306000 * RPLVSAM=''B; /* CLEAR VSAM RPL #Y30LB27*/ 00307000 XC RPLVSAM(76,RPLVPTR),RPLVSAM(RPLVPTR) 0441 00308000 * END; /* @ZM31134*/ 00309000 */********************************************************************* 00310000 * * DEQ - RELEASE THE DATA SET - INVENTORY #Y30LB27 00311000 * ********************************************************************/ 00312000 * 0443 00313000 * /* #Y30LB27*/ 00314000 * IF VVIFLG4=ON THEN /* RESERVED @ZA05115*/ 00315000 @RF00436 TM VVIFLG4(VVIPTR),B'00001000' 0443 00316000 BNO @RF00443 0443 00317000 * CALL INVDEQ; /* DEQUEUE THE INVENTORY @ZA05115*/ 00318000 BAL @14,INVDEQ 0444 00319000 * END; /* #Y30LB27 00320000 * #Y30LB27*/ 00321000 @RF00443 DS 0H 0446 00322000 */********************************************************************* 00323000 * * ENABLE CALL - FORMALLY A SEPARATE ENTRY POINT #Y30LB27 00324000 * ********************************************************************/ 00325000 * 0446 00326000 * IF INIENABL=ON THEN /* ENABLE CALL #Y30LB27*/ 00327000 @RF00373 L @08,INITPTR 0446 00328000 TM INIENABL(@08),B'01000000' 0446 00329000 BNO @RF00446 0446 00330000 * CALL ICBVEN00; /* #Y30LB27 00331000 * #Y30LB27*/ 00332000 BAL @14,ICBVEN00 0447 00333000 */********************************************************************* 00334000 * * DISABLE CALL - FORMALLY A SEPARATE ENTRY POINT #Y30LB27 00335000 * ********************************************************************/ 00336000 * 0448 00337000 * IF INIDISAB=ON THEN 0448 00338000 @RF00446 L @08,INITPTR 0448 00339000 TM INIDISAB(@08),B'00100000' 0448 00340000 BNO @RF00448 0448 00341000 * CALL ICBVDS00; /* INVOKE DISABLE SEG #Y30LB27 00342000 * #Y30LB27*/ 00343000 BAL @14,ICBVDS00 0449 00344000 */********************************************************************* 00345000 * * CALL TERMINATION SEGMENT #Y30LB27 00346000 * ********************************************************************/ 00347000 * 0450 00348000 * CALL VINTERM; /* CALL TERMINATION SEGMENT */ 00349000 @RF00448 BAL @14,VINTERM 0450 00350000 * RETURN; /* RETURN TO CALLER #Y30LB27*/ 00351000 @EL00001 L @13,4(,@13) 0451 00352000 @EF00001 DS 0H 0451 00353000 @ER00001 LM @14,@12,12(@13) 0451 00354000 BR @14 0451 00355000 * 0452 00356000 */* ******************************************************************* 00357000 ** @ZM31138 00358000 ** VININIT: INITIALIZATION SEGMENT @ZM31138 00359000 ** @ZM31138 00360000 ** INPUT: @ZM31138 00361000 ** NONE @ZM31138 00362000 ** @ZM31138 00363000 ** PROCESS: @ZM31138 00364000 ** ESTABLISH ADDR, CLEAR REQUIRED AREAS, ESTABLISH @ZM31134 00365000 ** ESTAE, AND REPLACE MSVC INTERFACE FROM VPI TO VQM @ZM31138 00366000 ** @ZM31138 00367000 ** OUTPUT: @ZM31138 00368000 ** AS INDICATED UNDER PROCESS @ZM31138 00369000 ** @ZM31138 00370000 ******************************************************************* */ 00371000 * 0452 00372000 *VININIT: 0452 00373000 * PROC OPTIONS(SAVE(14)); /* #Y30LB27 00374000 * #Y30LB27*/ 00375000 VININIT ST @14,@SA00002 0452 00376000 */********************************************************************* 00377000 * * INITIALIZATION SEGMENT #Y30LB27 00378000 * ********************************************************************/ 00379000 * 0453 00380000 * /* #Y30LB27*/ 00381000 */********************************************************************* 00382000 * * ESTABLISH ADDR TO THE RPL #Y30LB27 00383000 * ********************************************************************/ 00384000 * 0453 00385000 * RPLVPTR=REG1; /* BASE MSVC RPLV #Y30LB27*/ 00386000 LR RPLVPTR,REG1 0453 00387000 * INITPTR=ADDR(RPLVUTIL); /* GET INIT RPLV @ZM31134 00388000 * @Y30LB27*/ 00389000 LA @08,RPLVUTIL(,RPLVPTR) 0454 00390000 ST @08,INITPTR 0454 00391000 */********************************************************************* 00392000 * * CLEAR RETURN AND REASON CODES @Y30LB27 00393000 * ********************************************************************/ 00394000 * 0455 00395000 * RPLRCODE=ZERO; /* CLEAR REASON CODE @Y30LB27*/ 00396000 SLR @05,@05 0455 00397000 STH @05,RPLRCODE(,RPLVPTR) 0455 00398000 * RPLVRETC=ZERO; /* CLEAR RETURN CODE @Y30LB27 00399000 * @Y30LB27*/ 00400000 STH @05,RPLVRETC(,RPLVPTR) 0456 00401000 */********************************************************************* 00402000 * * CLEAR MISC PTRS @Y30LB27 00403000 * ********************************************************************/ 00404000 * 0457 00405000 * GROUPPTR=ZERO; /* CLEAR RECORD BUFFER PTR */ 00406000 ST @05,GROUPPTR 0457 00407000 * SWITCH=OFF; /* @Y30LB27 00408000 * @Y30LB27*/ 00409000 MVI SWITCH+1,X'00' 0458 00410000 MVI SWITCH,B'00000000' 0458 00411000 */********************************************************************* 00412000 * * EST MESSAGE RPL @Y30LB27 00413000 * ********************************************************************/ 00414000 * 0459 00415000 * MSGRQ=''B; /* CLEAR MSG REQ PARM LIST 0459 00416000 * @Y30LB27*/ 00417000 XC MSGRQ(32),MSGRQ 0459 00418000 * MSGRPLV=RPLVPTR; /* SET MSVC RPLV PTR IN MSG REQ 00419000 * RPL @Y30LB27 00420000 * @Y30LB27*/ 00421000 ST RPLVPTR,MSGRPLV 0460 00422000 */********************************************************************* 00423000 * * EST ADDR FOR VVICB @Y30LB27 00424000 * ********************************************************************/ 00425000 * 0461 00426000 * VVIPTR=ICBVVICB; /* SET CONTROL BLOC PTR @Y30LB27*/ 00427000 L @05,CVTPTR 0461 00428000 L @05,CVTEXT2(,@05) 0461 00429000 L @05,CVTICB(,@05) 0461 00430000 L VVIPTR,ICBVVICB(,@05) 0461 00431000 * IF ININIT=ON THEN /* INIT CALL @ZM31134*/ 00432000 TM ININIT(@08),B'10000000' 0462 00433000 BNO @RF00462 0462 00434000 * DO; /* YES @Y30LB27 00435000 * @Y30LB27*/ 00436000 */********************************************************************* 00437000 * * INIT FOR IPL CALL ONLY @Y30LB27 00438000 * ********************************************************************/ 00439000 * 0464 00440000 * ICBVVIC=VVIVQMP; /* SET USER TASK CONTROLLER IN 0464 00441000 * MSSC CONTROL BLOCK @Y30LB27*/ 00442000 L @08,VVIVQMP(,VVIPTR) 0464 00443000 ST @08,ICBVVIC(,@05) 0464 00444000 * VVIUCB=REG12; /* SAVE BASE REG FOR DEBUG 0465 00445000 * @Y30LB27 00446000 * @Y30LB27*/ 00447000 ST REG12,VVIUCB(,VVIPTR) 0465 00448000 */********************************************************************* 00449000 * * EST ESTAE ENVIRONMENT FOR MSVC TASK @Y30LB27 00450000 * ********************************************************************/ 00451000 * 0466 00452000 * ESTAESTG=ESTAELST; /* GET ESTAE PARM LIST @Y30LB27*/ 00453000 MVC ESTAESTG(16),ESTAELST 0466 00454000 * REG1=ADDR(ESTAESTG); /* GET ADDR TO PARM LIST @Y30LB27*/ 00455000 LA REG1,ESTAESTG 0467 00456000 * REG14=ADDR(ICBVPR00); /* GET ADDR TO RECOVERY RTN 0468 00457000 * @Y30LB27*/ 00458000 L REG14,@CV03330 0468 00459000 *LESTAE1: 0469 00460000 * GEN REFS(REG14,REG1); 0469 00461000 LESTAE1 DS 0H 0469 00462000 * /* ISSUE ESTAE @Y30LB27*/ 00463000 ESTAE (14),RECORD=YES,XCTL=YES,MF=(E,(1)) @Y30LB27 00464000 * IF REG15^=ZERO THEN 0470 00465000 LTR REG15,REG15 0470 00466000 BZ @RF00470 0470 00467000 * DO; /* ESTABLISHED @Y30LB27*/ 00468000 * CNVRTWK1(ONE:TWO)=REG15;/* CONVERT RTN CODE @Y30LB27*/ 00469000 STCM REG15,3,CNVRTWK1 0472 00470000 * CALL VINCNVRT; /* CONVERT TO EBCDIC @ZM31134*/ 00471000 BAL @14,VINCNVRT 0473 00472000 * VINMSGID=MSGESTE; /* INDICATE ESTAE ERROR @Y30LB27*/ 00473000 MVC VINMSGID(2),@CH00055 0474 00474000 * CALL VINWTO; /* ISSUE MESSAGE @Y30LB27*/ 00475000 BAL @14,VINWTO 0475 00476000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 00477000 @EL00002 DS 0H 0476 00478000 @EF00002 DS 0H 0476 00479000 @ER00002 L @14,@SA00002 0476 00480000 BR @14 0476 00481000 * END; /* @Y30LB27*/ 00482000 * END; /* @Y30LB27*/ 00483000 * END VININIT; /* @Y30LB27*/ 00484000 B @EL00002 0479 00485000 * 0480 00486000 */* ******************************************************************* 00487000 ** @Y30LB27 00488000 ** VINPARMV: PARMLIB CORRECTIONS SOLICITED FROM @ZM31134 00489000 ** THE OPERTOR @ZM31134 00490000 ** @Y30LB27 00491000 ** INPUT: @Y30LB27 00492000 ** NONE @Y30LB27 00493000 ** @Y30LB27 00494000 ** PROCESS: @Y30LB27 00495000 ** ALL PARMLIB KEYWORDS ARE EXTRACTED AND OPERATOR IS @Y30LB27 00496000 ** REQUESTED TO VALIDATE THE KEYWORDS @Y30LB27 00497000 ** @Y30LB27 00498000 ** OUTPUT: @Y30LB27 00499000 ** MESSAGE TO OPERATOR @Y30LB27 00500000 ** REQUIRED CONTROL BLOCKS ARE UPDATED @Y30LB27 00501000 ** @Y30LB27 00502000 ******************************************************************* */ 00503000 * 0480 00504000 *VINPARMV: 0480 00505000 * PROC OPTIONS(SAVE(14)); /* @Y30LB27*/ 00506000 VINPARMV ST @14,@SA00003 0480 00507000 * IF ININIT=ON&INIVCODE^=ZERO THEN/* IPL CALL @Y30LB27*/ 00508000 L @08,INITPTR 0481 00509000 TM ININIT(@08),B'10000000' 0481 00510000 BNO @RF00481 0481 00511000 CLI INIVCODE(@08),0 0481 00512000 BE @RF00481 0481 00513000 * DO; /* YES @Y30LB27*/ 00514000 * VINMSGID=MSGMVIE; /* SET MSG INDEX @Y30LB27*/ 00515000 MVC VINMSGID(2),@CH00066 0483 00516000 * CNVRTWK1(ONE)=''B; /* ERROR CODE IS 1 BYTE @Y30LB27*/ 00517000 MVI CNVRTWK1,X'00' 0484 00518000 * CNVRTWK1(TWO)=INIVCODE; /* CONVERT CODE @Y30LB27*/ 00519000 MVC CNVRTWK1+1(1),INIVCODE(@08) 0485 00520000 * CALL VINCNVRT; /* AND INSERT INTO MSG @Y30LB27*/ 00521000 BAL @14,VINCNVRT 0486 00522000 * CALL VINWTO; /* ISSUE THE ERROR MSG @Y30LB27*/ 00523000 BAL @14,VINWTO 0487 00524000 * RETRYSW=ON; /* FORCE FIRST READ @Y30LB27*/ 00525000 OI RETRYSW,B'10000000' 0488 00526000 * IF JRNLSW3=ON THEN /* @ZA17167*/ 00527000 TM JRNLSW3,B'10000000' 0489 00528000 BNO @RF00489 0489 00529000 * VVIFLG3=ON; /* LIB MSGS JRNLED @ZA17167*/ 00530000 OI VVIFLG3(VVIPTR),B'00010000' 0490 00531000 * END; /* END IPL CALL @Y30LB27*/ 00532000 @RF00489 DS 0H 0492 00533000 */********************************************************************* 00534000 * * LOOP UNTIL NO INVALID PARAMETER IS ENCOUNTERED @Y30LB27 00535000 * ********************************************************************/ 00536000 * 0492 00537000 * DO WHILE(RETRYSW=ON); /* SCAN UNTIL OPER RESPONSE 0492 00538000 * COMPLETE @Y30LB27*/ 00539000 @RF00481 B @DE00492 0492 00540000 @DL00492 DS 0H 0493 00541000 * RETRYSW=OFF; /* FORCE FIRST READ @Y30LB27 00542000 * @Y30LB27*/ 00543000 NI RETRYSW,B'01111111' 0493 00544000 */********************************************************************* 00545000 * * CONSTRUCT THE MESSAGE @Y30LB27 00546000 * ********************************************************************/ 00547000 * 0494 00548000 * /* @Y30LB27*/ 00549000 */********************************************************************* 00550000 * * USER CATALOG @Y30LB27 00551000 * ********************************************************************/ 00552000 * 0494 00553000 * DO UCATLEN=ONE TO EIGHT WHILE(VVIUCAT(UCATLEN)^=BLANK);/* 0494 00554000 * @Y30LB27*/ 00555000 LA @08,1 0494 00556000 STH @08,UCATLEN 0494 00557000 @DL00494 LH @08,UCATLEN 0494 00558000 ALR @08,VVIPTR 0494 00559000 CLI VVIUCAT-1(@08),C' ' 0494 00560000 BE @DC00494 0494 00561000 * END; /* @Y30LB27*/ 00562000 LA @08,1 0495 00563000 AH @08,UCATLEN 0495 00564000 STH @08,UCATLEN 0495 00565000 C @08,@CF00039 0495 00566000 BNH @DL00494 0495 00567000 @DC00494 DS 0H 0496 00568000 * UCATLEN=UCATLEN-ONE; /* SCAN TO BLANK @Y30LB27*/ 00569000 LH @03,UCATLEN 0496 00570000 BCTR @03,0 0496 00571000 STH @03,UCATLEN 0496 00572000 * I=UCATLEN; /* SET INDEX @Y30LB27*/ 00573000 LH I,UCATLEN 0497 00574000 * SCANPTR=ADDR(MSGBUF); /* SET PTR MSG BUFFER @Y30LB27*/ 00575000 LA SCANPTR,MSGBUF 0498 00576000 * MSGBUF=''; /* CLEAR MSG BUFFER @Y30LB27 00577000 * @Y30LB27*/ 00578000 MVI MSGBUF,C' ' 0499 00579000 MVC MSGBUF+1(59),MSGBUF 0499 00580000 */********************************************************************* 00581000 * * SET USER CATALOG KEYWORD, VALUE, AND DELIMITER @Y30LB27 00582000 * ********************************************************************/ 00583000 * 0500 00584000 * SCANCHAR(ONE:LENGTH(CUCAT))=CUCAT;/* SET USER CATALOG KEYWORD 00585000 * @Y30LB27*/ 00586000 MVC SCANCHAR(8,SCANPTR),CUCAT 0500 00587000 * SCANPTR=SCANPTR+LENGTH(CUCAT);/* UPDATE BUFFER PTR @Y30LB27*/ 00588000 AL SCANPTR,@CF00039 0501 00589000 * SCANCHAR(ONE:I)=VVIUCAT; /* SET KEYWORD VALUE @Y30LB27*/ 00590000 LR @03,I 0502 00591000 BCTR @03,0 0502 00592000 EX @03,@SM03973 0502 00593000 * SCANPTR=SCANPTR+I; /* UPDATE SCAN POINTER @Y30LB27*/ 00594000 ALR SCANPTR,I 0503 00595000 * SCANCHAR(ONE)=COMMA; /* SET DELIMTER @Y30LB27*/ 00596000 MVI SCANCHAR(SCANPTR),C',' 0504 00597000 * SCANPTR=SCANPTR+ONE; /* UPDATE SCAN POINTER @Y30LB27 00598000 * @Y30LB27*/ 00599000 LA @08,1 0505 00600000 ALR SCANPTR,@08 0505 00601000 */********************************************************************* 00602000 * * SET MSSCSAMP KEYWORD, VALUE, AND DELIMITER @Y30LB27 00603000 * ********************************************************************/ 00604000 * 0506 00605000 * SCANCHAR(ONE:LENGTH(CSSCSAMP))=CSSCSAMP;/* SET SAMP KEYWORD 0506 00606000 * @Y30LB27*/ 00607000 MVC SCANCHAR(9,SCANPTR),CSSCSAMP 0506 00608000 * SCANPTR=SCANPTR+LENGTH(CSSCSAMP);/* SET PTR FOR DELIMTER 0507 00609000 * @Y30LB27*/ 00610000 AL SCANPTR,@CF00035 0507 00611000 * SCANCHAR(ONE:LENGTH(ICBSAMP))=ICBSAMP;/* PICK KEYWORD VALUE 0508 00612000 * @Y30LB27*/ 00613000 L @03,CVTPTR 0508 00614000 L @03,CVTEXT2(,@03) 0508 00615000 L @03,CVTICB(,@03) 0508 00616000 MVC SCANCHAR(2,SCANPTR),ICBSAMP(@03) 0508 00617000 * SCANPTR=SCANPTR+LENGTH(ICBSAMP);/* UPDATE BUFFER PTR @Y30LB27*/ 00618000 AL SCANPTR,@CF00066 0509 00619000 * SCANCHAR(ONE)=COMMA; /* SET DELIMITER @Y30LB27*/ 00620000 MVI SCANCHAR(SCANPTR),C',' 0510 00621000 * SCANPTR=SCANPTR+ONE; /* SET PTR FOR DELIMTER @Y30LB27 00622000 * @Y30LB27 00623000 * @Y30LB27*/ 00624000 ALR SCANPTR,@08 0511 00625000 */********************************************************************* 00626000 * * SET MSFMSG KEYWORD, VALUE, AND DELIMITER @Y30LB27 00627000 * ********************************************************************/ 00628000 * 0512 00629000 * SCANCHAR(ONE:LENGTH(CMSFMSG))=CMSFMSG;/* LIBRARAIN MSG @Y30LB27*/ 00630000 MVC SCANCHAR(7,SCANPTR),CMSFMSG 0512 00631000 * SCANPTR=SCANPTR+LENGTH(CMSFMSG);/* SET BUUFER PTR @Y30LB27*/ 00632000 AL SCANPTR,@CF00310 0513 00633000 * IF VVIALCON^=ZERO&VVIFLG3=ON THEN 0514 00634000 CLI VVIALCON(VVIPTR),0 0514 00635000 BE @RF00514 0514 00636000 TM VVIFLG3(VVIPTR),B'00010000' 0514 00637000 BNO @RF00514 0514 00638000 * DO; /* IF BOTH VALUES ADD DELIMTER 0515 00639000 * @Y30LB27*/ 00640000 * SCANCHAR(ONE)=LFTPAREN; /* SET LEFT PAREN @Y30LB27*/ 00641000 MVI SCANCHAR(SCANPTR),C'(' 0516 00642000 * SCANPTR=SCANPTR+ONE; /* SET BUFFER PTR @Y30LB27*/ 00643000 ALR SCANPTR,@08 0517 00644000 * END; /* @Y30LB27*/ 00645000 * IF VVIALCON^=ZERO THEN 0519 00646000 @RF00514 CLI VVIALCON(VVIPTR),0 0519 00647000 BE @RF00519 0519 00648000 * DO; /* ALT CONSOLE IN CONTROL BLOCK 00649000 * @Y30LB27*/ 00650000 * FIXED8=VVIALCON; /* BUFFER FOR CONVRT @Y30LB27*/ 00651000 SLR FIXED8,FIXED8 0521 00652000 IC FIXED8,VVIALCON(,VVIPTR) 0521 00653000 * CVD(FIXED8,WORK1); /* CONVRT TO DECIMAL @Y30LB27*/ 00654000 CVD FIXED8,@TS00001 0522 00655000 MVC WORK1(2),@TS00001+6 0522 00656000 * UNPK(SCANCHAR(1:2),WORK1);/* UNPACK @Y30LB27*/ 00657000 UNPK SCANCHAR(2,SCANPTR),WORK1(2) 0523 00658000 * SCANCHAR(2)=SCANCHAR(2)|C0;/* FIX SIGN @Y30LB27*/ 00659000 OI SCANCHAR+1(SCANPTR),C'0' 0524 00660000 * SCANPTR=SCANPTR+TWO; /* UPDATE BUFFER PTR @Y30LB27*/ 00661000 AL SCANPTR,@CF00066 0525 00662000 * END; /* @Y30LB27*/ 00663000 * IF VVIFLG3=ON THEN /* JOURNALLING ALSO @Y30LB27*/ 00664000 @RF00519 TM VVIFLG3(VVIPTR),B'00010000' 0527 00665000 BNO @RF00527 0527 00666000 * DO; /* @Y30LB27*/ 00667000 * IF VVIALCON^=ZERO THEN 0529 00668000 CLI VVIALCON(VVIPTR),0 0529 00669000 BE @RF00529 0529 00670000 * DO; /* TWO VALUES @Y30LB27*/ 00671000 * SCANCHAR(ONE)=COMMA; /* SET DELIMITER @Y30LB27*/ 00672000 MVI SCANCHAR(SCANPTR),C',' 0531 00673000 * SCANPTR=SCANPTR+ONE; /* SET BUFFER PTR @Y30LB27*/ 00674000 AL SCANPTR,@CF00055 0532 00675000 * END; /* @Y30LB27*/ 00676000 * SCANCHAR(1:LENGTH(CJOURNAL))=CJOURNAL;/* SET KEYWORD 0534 00677000 * @Y30LB27*/ 00678000 @RF00529 MVC SCANCHAR(7,SCANPTR),CJOURNAL 0534 00679000 * SCANPTR=SCANPTR+LENGTH(CJOURNAL);/* UPDATE BUFFER PTR */ 00680000 AL SCANPTR,@CF00310 0535 00681000 * IF VVIFLG3=ON&VVIALCON^=ZERO THEN/* 2 VALUES @Y30LB27*/ 00682000 TM VVIFLG3(VVIPTR),B'00010000' 0536 00683000 BNO @RF00536 0536 00684000 CLI VVIALCON(VVIPTR),0 0536 00685000 BE @RF00536 0536 00686000 * DO; /* @ZA27588*/ 00687000 * SCANCHAR(ONE)=RGTPAREN;/* SET DELIMITER @Y30LB27*/ 00688000 MVI SCANCHAR(SCANPTR),C')' 0538 00689000 * SCANPTR=SCANPTR+ONE; /* SET PRT FOR DELIM @ZA27588*/ 00690000 AL SCANPTR,@CF00055 0539 00691000 * END; /* @ZA27588*/ 00692000 * END; /* @Y30LB27 00693000 * @Y30LB27*/ 00694000 @RF00536 DS 0H 0542 00695000 */* SET TRKVOLS KEYWORD, VALUE AND DELIMETER @ZA27588*/ 00696000 * 0542 00697000 * IF ININIT=ON THEN /* IS THIS INITIALIZAT @ZA27588*/ 00698000 @RF00527 L @08,INITPTR 0542 00699000 TM ININIT(@08),B'10000000' 0542 00700000 BNO @RF00542 0542 00701000 * DO; /* YES @ZA27588*/ 00702000 * SCANCHAR(ONE)=COMMA; /* SET DELIMETER @ZA27588*/ 00703000 MVI SCANCHAR(SCANPTR),C',' 0544 00704000 * SCANPTR=SCANPTR+ONE; /* SET PRT FOR DELIM @ZA27588*/ 00705000 AL SCANPTR,@CF00055 0545 00706000 * SCANCHAR(ONE:LENGTH(CTRKVOLS))=CTRKVOLS;/* TRK PARM 0546 00707000 * @ZA27588*/ 00708000 MVC SCANCHAR(8,SCANPTR),CTRKVOLS 0546 00709000 * SCANPTR=SCANPTR+LENGTH(CTRKVOLS);/* MOVE PTR @ZA27588*/ 00710000 AL SCANPTR,@CF00039 0547 00711000 * SCANCHAR(ONE:LENGTH(VVIVTRK))=VVIVTRK;/* SAVE VALUE 0548 00712000 * @ZA27588*/ 00713000 MVC SCANCHAR(3,SCANPTR),VVIVTRK(VVIPTR) 0548 00714000 * END; /* @ZA27588*/ 00715000 */********************************************************************* 00716000 * * SET RPLV FOR MESSAGE ICB420I @Y30LB27 00717000 * ********************************************************************/ 00718000 * 0550 00719000 * VINMSGID=MSGPRMM; /* INDICATE VERIFICATION MESSAGE 00720000 * @Y30LB27*/ 00721000 @RF00542 MVC VINMSGID(2),@CH00118 0550 00722000 * CALL VINWTO; /* ISSUE MSG HDR @Y30LB27*/ 00723000 BAL @14,VINWTO 0551 00724000 * VINMSGID=MSGVERM; /* SET MSG ID #Y30LB27*/ 00725000 MVC VINMSGID(2),@CH00098 0552 00726000 * MSGLEN1=LENGTH(MSGBUF); /* SET MSG CONSTANT LEN #Y30LB27*/ 00727000 MVI MSGLEN1,X'3C' 0553 00728000 * MSGTEXT1=ADDR(MSGBUF); /* MSG COMP LEN #Y30LB27*/ 00729000 LA @08,MSGBUF 0554 00730000 STCM @08,7,MSGTEXT1 0554 00731000 * CALL VINWTO; /* ISSUE MSG #Y30LB27*/ 00732000 BAL @14,VINWTO 0555 00733000 * VINMSGID=MSGRPYM; /* SET MSG ID #Y30LB27*/ 00734000 MVC VINMSGID(2),@CH00082 0556 00735000 * MSGRLEN=LENGTH(REPLY); /* SET REPL LENGTH #Y30LB27*/ 00736000 MVI MSGRLEN,X'48' 0557 00737000 * MSGREPLY=ADDR(REPLY); /* REPLY LOCATION #Y30LB27*/ 00738000 LA @08,REPLY 0558 00739000 STCM @08,7,MSGREPLY 0558 00740000 * CALL VINWTO; /* ISSUE ERROR MSG #Y30LB27 00741000 * #Y30LB27*/ 00742000 BAL @14,VINWTO 0559 00743000 */********************************************************************* 00744000 * * FOLD RESPONSE TO UPPER CASE #Y30LB27 00745000 * ********************************************************************/ 00746000 * 0560 00747000 * REPLY=REPLY|BLANKS; /* FOLD RESPONSE #Y30LB27 00748000 * @Y30LB27*/ 00749000 OC REPLY(72),BLANKS 0560 00750000 */********************************************************************* 00751000 * * IF A RESPONSE OF U IS SPECIFED, ACCEPT VALUES AS IS @ZM31134 00752000 * * OTHERWISE ANALYZE THE RESPONSE @Y30LB27 00753000 * ********************************************************************/ 00754000 * 0561 00755000 * IF REPLY(ONE:TWO)^=CU THEN /* VALUES ACCEPTED @Y30LB27*/ 00756000 CLC REPLY(2),@CC03666 0561 00757000 BE @RF00561 0561 00758000 * DO; /* @Y30LB27*/ 00759000 * INDX=ONE; /* NO SCAN RESPONSE @Y30LB27 00760000 * @Y30LB27*/ 00761000 LA INDX,1 0563 00762000 */********************************************************************* 00763000 * * MAXIMUM 72 CHARACTER RESPONSE. IF INDX - STRTINDX NO HIT WAS FOUND 00764000 * ********************************************************************/ 00765000 * 0564 00766000 * DO INDX=INDX TO SVNTYONE; /* SCAN REPLY @Y30LB27*/ 00767000 B @DE00564 0564 00768000 @DL00564 DS 0H 0565 00769000 * STRTINDX=INDX; /* SAVE START INDEX TO VERIFY AT 00770000 * LEAST 1 HIT @Y30LB27 00771000 * @Y30LB27*/ 00772000 STH INDX,STRTINDX 0565 00773000 */********************************************************************* 00774000 * * USER CATALOG #Y30LB27 00775000 * ********************************************************************/ 00776000 * 0566 00777000 * IF REPLY(INDX:INDX+LENGTH(CUCAT)-ONE)=CUCAT THEN/* 0566 00778000 * @Y30LB27*/ 00779000 LA @08,REPLY-1(INDX) 0566 00780000 CLC 0(8,@08),CUCAT 0566 00781000 BNE @RF00566 0566 00782000 * DO; /* YES #Y30LB27*/ 00783000 * INDX=INDX+LENGTH(CUCAT);/* BYPASS KEYWORD #Y30LB27 00784000 * #Y30LB27*/ 00785000 AL INDX,@CF00039 0568 00786000 */********************************************************************* 00787000 * * FIND LENGTH MUST BE LESS THAN EIGHT TO BE VALID #Y30LB27 00788000 * ********************************************************************/ 00789000 * 0569 00790000 * STRTCOL=INDX; /* FIND LENGTH #Y30LB27*/ 00791000 STH INDX,STRTCOL 0569 00792000 * DO INDX=INDX TO SVNTYONE WHILE(REPLY(INDX)^=BLANK&REPLY 00793000 * (INDX)^=COMMA);/* #Y30LB27*/ 00794000 B @DE00570 0570 00795000 @DL00570 LA @08,REPLY-1(INDX) 0570 00796000 CLI 0(@08),C' ' 0570 00797000 BE @DC00570 0570 00798000 LA @08,REPLY-1(INDX) 0570 00799000 CLI 0(@08),C',' 0570 00800000 BE @DC00570 0570 00801000 * END; /* #Y30LB27*/ 00802000 AL INDX,@CF00055 0571 00803000 @DE00570 C INDX,@CF03635 0571 00804000 BNH @DL00570 0571 00805000 @DC00570 DS 0H 0572 00806000 * NUMCOL=INDX-STRTCOL;/* CALC LENGTH #Y30LB27 00807000 * #Y30LB27*/ 00808000 LH @08,STRTCOL 0572 00809000 LR @03,INDX 0572 00810000 SLR @03,@08 0572 00811000 STH @03,NUMCOL 0572 00812000 */********************************************************************* 00813000 * * UPDATE VVICB IF VALID #Y30LB27 00814000 * ********************************************************************/ 00815000 * 0573 00816000 * IF NUMCOL>ZERO&NUMCOL<=EIGHT THEN/* 8 IS MAX @YM02859*/ 00817000 LTR @03,@03 0573 00818000 BNP @RF00573 0573 00819000 C @03,@CF00039 0573 00820000 BH @RF00573 0573 00821000 * VVIUCAT=REPLY(STRTCOL:STRTCOL+NUMCOL-ONE);/* 0574 00822000 * #Y30LB27*/ 00823000 MVI VVIUCAT+1(VVIPTR),C' ' 0574 00824000 MVC VVIUCAT+2(6,VVIPTR),VVIUCAT+1(VVIPTR) 0574 00825000 BCTR @03,0 0574 00826000 LA @05,REPLY-1(@08) 0574 00827000 EX @03,@SM03975 0574 00828000 * ELSE 0575 00829000 * RETRYSW=ON; /* TRY AGAIN #Y30LB27*/ 00830000 B @RC00573 0575 00831000 @RF00573 OI RETRYSW,B'10000000' 0575 00832000 * INDX=INDX+ONE; /* TRY NEXT #Y30LB27*/ 00833000 @RC00573 AL INDX,@CF00055 0576 00834000 * END; /* #Y30LB27 00835000 * #Y30LB27*/ 00836000 */********************************************************************* 00837000 * * SCC SAMPLING KEYWORD #Y30LB27 00838000 * ********************************************************************/ 00839000 * 0578 00840000 * IF REPLY(INDX:INDX+LENGTH(CSSCSAMP)-ONE)=CSSCSAMP THEN/* 00841000 * HIT @Y30LB27*/ 00842000 @RF00566 LA @08,REPLY-1(INDX) 0578 00843000 CLC 0(9,@08),CSSCSAMP 0578 00844000 BNE @RF00578 0578 00845000 * DO; /* YES @Y30LB27*/ 00846000 * INDX=INDX+LENGTH(CSSCSAMP);/* SET PTR @Y30LB27 00847000 * @Y30LB27*/ 00848000 AL INDX,@CF00035 0580 00849000 */********************************************************************* 00850000 * * FIND LENGTH, TWO IS MAXIMUM @G24LB04 00851000 * ********************************************************************/ 00852000 * 0581 00853000 * STRTCOL=INDX; /* FIND LENGTH #Y30LB27*/ 00854000 STH INDX,STRTCOL 0581 00855000 * DO INDX=INDX TO SVNTYONE WHILE(REPLY(INDX)^=BLANK&REPLY 00856000 * (INDX)^=COMMA);/* #Y30LB27*/ 00857000 B @DE00582 0582 00858000 @DL00582 LA @08,REPLY-1(INDX) 0582 00859000 CLI 0(@08),C' ' 0582 00860000 BE @DC00582 0582 00861000 LA @08,REPLY-1(INDX) 0582 00862000 CLI 0(@08),C',' 0582 00863000 BE @DC00582 0582 00864000 * END; /* #Y30LB27*/ 00865000 AL INDX,@CF00055 0583 00866000 @DE00582 C INDX,@CF03635 0583 00867000 BNH @DL00582 0583 00868000 @DC00582 DS 0H 0584 00869000 * NUMCOL=INDX-STRTCOL;/* NUMBER OF COLUMNS #Y30LB27*/ 00870000 LR @08,INDX 0584 00871000 SH @08,STRTCOL 0584 00872000 STH @08,NUMCOL 0584 00873000 * CALL VINPARMT; /* VERIFY KEYWORD @YM02859 00874000 * #Y30LB27*/ 00875000 BAL @14,VINPARMT 0585 00876000 */********************************************************************* 00877000 * * SET SAMPLING KEYWORD INTO MSSC CONTROL BLOCK @ZM31134 00878000 * ********************************************************************/ 00879000 * 0586 00880000 * IF NUMCOL=TWO THEN /* LEN OF 2 #Y30LB27*/ 00881000 CLC NUMCOL(2),@CH00066 0586 00882000 BNE @RF00586 0586 00883000 * ICBSAMP=REPLY(STRTCOL:STRTCOL+ONE);/* #Y30LB27*/ 00884000 L @08,CVTPTR 0587 00885000 L @08,CVTEXT2(,@08) 0587 00886000 L @08,CVTICB(,@08) 0587 00887000 LH @03,STRTCOL 0587 00888000 LA @05,REPLY-1(@03) 0587 00889000 MVC ICBSAMP(2,@08),0(@05) 0587 00890000 * IF NUMCOL=ONE THEN /* LEN OF 1 @YM02859*/ 00891000 @RF00586 CLC NUMCOL(2),@CH00055 0588 00892000 BNE @RF00588 0588 00893000 * DO; /* YES #Y30LB27*/ 00894000 * ICBSAMP(ONE)=C0;/* RIGHT JUSTIFY IT #Y30LB27*/ 00895000 L @08,CVTPTR 0590 00896000 L @08,CVTEXT2(,@08) 0590 00897000 L @08,CVTICB(,@08) 0590 00898000 MVI ICBSAMP(@08),C'0' 0590 00899000 * ICBSAMP(TWO)=REPLY(STRTCOL);/* SET VALUE #Y30LB27*/ 00900000 LH @03,STRTCOL 0591 00901000 LA @05,REPLY-1(@03) 0591 00902000 MVC ICBSAMP+1(1,@08),0(@05) 0591 00903000 * END; /* #Y30LB27*/ 00904000 * IF NUMCOL=ZERO|NUMCOL>TWO THEN 0593 00905000 @RF00588 LH @08,NUMCOL 0593 00906000 LTR @08,@08 0593 00907000 BZ @RT00593 0593 00908000 C @08,@CF00066 0593 00909000 BNH @RF00593 0593 00910000 @RT00593 DS 0H 0594 00911000 * RETRYSW=ON; /* @YM02859 00912000 * #Y30LB27*/ 00913000 OI RETRYSW,B'10000000' 0594 00914000 * IF RETRYSW=OFF&ICBSAMP(ONE:TWO)=C00 THEN 0595 00915000 @RF00593 TM RETRYSW,B'10000000' 0595 00916000 BNZ @RF00595 0595 00917000 L @08,CVTPTR 0595 00918000 L @08,CVTEXT2(,@08) 0595 00919000 L @08,CVTICB(,@08) 0595 00920000 CLC ICBSAMP(2,@08),@CC03660 0595 00921000 BNE @RF00595 0595 00922000 * RETRYSW=ON; /* @YM02859*/ 00923000 OI RETRYSW,B'10000000' 0596 00924000 * INDX=INDX+ONE; /* SET BUFER PTR #Y30LB27*/ 00925000 @RF00595 AL INDX,@CF00055 0597 00926000 * END; /* #Y30LB27 00927000 * @Y30LB27 00928000 * #Y30LB27*/ 00929000 */********************************************************************* 00930000 * * LIBRARIAN MESSAGE KEYWORD #Y30LB27 00931000 * ********************************************************************/ 00932000 * 0599 00933000 * IF REPLY(INDX:INDX+LENGTH(CMSFMSG)-ONE)=CMSFMSG THEN 0599 00934000 @RF00578 LA @08,REPLY-1(INDX) 0599 00935000 CLC 0(7,@08),CMSFMSG 0599 00936000 BNE @RF00599 0599 00937000 * DO; /* #Y30LB27*/ 00938000 * INDX=INDX+LENGTH(CMSFMSG);/* #Y30LB27 00939000 * #Y30LB27*/ 00940000 AL INDX,@CF00310 0601 00941000 */********************************************************************* 00942000 * * SKIP THE LEFT PAREN #Y30LB27 00943000 * ********************************************************************/ 00944000 * 0602 00945000 * IF REPLY(INDX)=LFTPAREN THEN 0602 00946000 LA @08,REPLY-1(INDX) 0602 00947000 CLI 0(@08),C'(' 0602 00948000 BNE @RF00602 0602 00949000 * DO; /* #Y30LB27*/ 00950000 * INDX=INDX+ONE; /* BYPASS DELIMITER #Y30LB27*/ 00951000 AL INDX,@CF00055 0604 00952000 * PARENSW=ON; /* INDICATE DELIMITER FND */ 00953000 OI PARENSW,B'00000010' 0605 00954000 * END; /* @YM02859 00955000 * #Y30LB27*/ 00956000 */********************************************************************* 00957000 * * JOURNALING KEYWORD #Y30LB27 00958000 * ********************************************************************/ 00959000 * 0607 00960000 * IF REPLY(INDX:INDX+LENGTH(CJOURNAL)-ONE)=CJOURNAL THEN 00961000 @RF00602 LA @08,REPLY-1(INDX) 0607 00962000 CLC 0(7,@08),CJOURNAL 0607 00963000 BNE @RF00607 0607 00964000 * /* #Y30LB27*/ 00965000 * DO; /* #Y30LB27*/ 00966000 * INDX=INDX+LENGTH(CJOURNAL)+ONE;/* #Y30LB27*/ 00967000 AL INDX,@CF00039 0609 00968000 * VVIFLG3=ON; /* JOURNAL LIBRARIAN MSGS@ZM31134 00969000 * #Y30LB27*/ 00970000 OI VVIFLG3(VVIPTR),B'00010000' 0610 00971000 * VVIALCON=ZERO; /* ZERO ALT CONSOLE @YM02859*/ 00972000 MVI VVIALCON(VVIPTR),X'00' 0611 00973000 * END; /* #Y30LB27 00974000 * #Y30LB27*/ 00975000 */********************************************************************* 00976000 * * ASSUM ALTERNAT CONSOLE - GET LENGTH - TWO IS MAXIMUM @ZM31134 00977000 * ********************************************************************/ 00978000 * 0613 00979000 * ELSE 0613 00980000 * DO; /* ASSUME ALT CONSOLE #Y30LB27*/ 00981000 B @RC00607 0613 00982000 @RF00607 DS 0H 0614 00983000 * STRTCOL=INDX; /* FIND LENGTH #Y30LB27*/ 00984000 STH INDX,STRTCOL 0614 00985000 * DO INDX=INDX TO SVNTYONE WHILE(REPLY(INDX)^=BLANK& 00986000 * REPLY(INDX)^=COMMA&REPLY(INDX)^=RGTPAREN); 00987000 B @DE00615 0615 00988000 @DL00615 LA @08,REPLY-1(INDX) 0615 00989000 CLI 0(@08),C' ' 0615 00990000 BE @DC00615 0615 00991000 LA @08,REPLY-1(INDX) 0615 00992000 CLI 0(@08),C',' 0615 00993000 BE @DC00615 0615 00994000 LA @08,REPLY-1(INDX) 0615 00995000 CLI 0(@08),C')' 0615 00996000 BE @DC00615 0615 00997000 * END; /* #Y30LB27*/ 00998000 AL INDX,@CF00055 0616 00999000 @DE00615 C INDX,@CF03635 0616 01000000 BNH @DL00615 0616 01001000 @DC00615 DS 0H 0617 01002000 * NUMCOL=INDX-STRTCOL;/* GET LENGTH #Y30LB27*/ 01003000 LR @08,INDX 0617 01004000 SH @08,STRTCOL 0617 01005000 STH @08,NUMCOL 0617 01006000 * CALL VINPARMT; /* VERIFY PARMS @YM02859*/ 01007000 BAL @14,VINPARMT 0618 01008000 * IF NUMCOL=TWO THEN/* 2 IS MAX #Y30LB27*/ 01009000 CLC NUMCOL(2),@CH00066 0619 01010000 BNE @RF00619 0619 01011000 * DO; /* #Y30LB27*/ 01012000 * PACK(WORK1,REPLY(STRTCOL:STRTCOL+ONE));/* 0621 01013000 * #Y30LB27*/ 01014000 LH @03,STRTCOL 0621 01015000 LA @05,REPLY-1(@03) 0621 01016000 PACK WORK1(2),0(2,@05) 0621 01017000 * CVB(FIXED8,WORK1);/* CONVRT IT #Y30LB27*/ 01018000 XC @TS00001(8),@TS00001 0622 01019000 MVC @TS00001+6(2),WORK1 0622 01020000 CVB FIXED8,@TS00001 0622 01021000 * VVIALCON=FIXED8;/* SET CONTROL BLOCK VALUE 0623 01022000 * #Y30LB27*/ 01023000 STC FIXED8,VVIALCON(,VVIPTR) 0623 01024000 * VVIFLG3=OFF;/* JOURNAL LIBARAIAN MSGS 0624 01025000 * @YM02859*/ 01026000 NI VVIFLG3(VVIPTR),B'11101111' 0624 01027000 * END; /* #Y30LB27*/ 01028000 * IF NUMCOL=ONE THEN/* #Y30LB27*/ 01029000 @RF00619 CLC NUMCOL(2),@CH00055 0626 01030000 BNE @RF00626 0626 01031000 * DO; /* #Y30LB27*/ 01032000 * PACK(WORK1,REPLY(STRTCOL));/* PACK IT 0628 01033000 * #Y30LB27*/ 01034000 LH @03,STRTCOL 0628 01035000 LA @05,REPLY-1(@03) 0628 01036000 PACK WORK1(2),0(1,@05) 0628 01037000 * CVB(FIXED8,WORK1);/* CONVERT IT TO BINARY 0629 01038000 * #Y30LB27*/ 01039000 XC @TS00001(8),@TS00001 0629 01040000 MVC @TS00001+6(2),WORK1 0629 01041000 CVB FIXED8,@TS00001 0629 01042000 * VVIALCON=FIXED8;/* SET CONTROL BLOCK #Y30LB27*/ 01043000 STC FIXED8,VVIALCON(,VVIPTR) 0630 01044000 * VVIFLG3=OFF;/* JOURNAL LIBARAIAN MSGS 0631 01045000 * @YM02859*/ 01046000 NI VVIFLG3(VVIPTR),B'11101111' 0631 01047000 * END; /* #Y30LB27*/ 01048000 * IF NUMCOL=ZERO|NUMCOL>TWO THEN 0633 01049000 @RF00626 LH @08,NUMCOL 0633 01050000 LTR @08,@08 0633 01051000 BZ @RT00633 0633 01052000 C @08,@CF00066 0633 01053000 BNH @RF00633 0633 01054000 @RT00633 DS 0H 0634 01055000 * RETRYSW=ON; /* @YM02859*/ 01056000 OI RETRYSW,B'10000000' 0634 01057000 * IF RETRYSW=OFF&VVIALCON=ZERO|VVIALCON>SIXTEEN THEN 01058000 @RF00633 TM RETRYSW,B'10000000' 0635 01059000 BNZ @GL00013 0635 01060000 CLI VVIALCON(VVIPTR),0 0635 01061000 BE @RT00635 0635 01062000 @GL00013 CLI VVIALCON(VVIPTR),16 0635 01063000 BNH @RF00635 0635 01064000 @RT00635 DS 0H 0636 01065000 * RETRYSW=ON; /* @YM02859*/ 01066000 OI RETRYSW,B'10000000' 0636 01067000 * INDX=INDX+ONE; /* SET BUFFER PTR #Y30LB27*/ 01068000 @RF00635 AL INDX,@CF00055 0637 01069000 * END; /* #Y30LB27 01070000 * #Y30LB27*/ 01071000 */********************************************************************* 01072000 * * JOURNALING KEYWORD #Y30LB27 01073000 * ********************************************************************/ 01074000 * 0639 01075000 * IF PARENSW=ON THEN /* PAREN DELIMITER #Y30LB27*/ 01076000 @RC00607 TM PARENSW,B'00000010' 0639 01077000 BNO @RF00639 0639 01078000 * DO; /* JOURNAL KEYWORD #Y30LB27*/ 01079000 * IF REPLY(INDX:INDX+LENGTH(CJOURNAL)-ONE)=CJOURNAL 01080000 * THEN /* #Y30LB27*/ 01081000 LA @08,REPLY-1(INDX) 0641 01082000 CLC 0(7,@08),CJOURNAL 0641 01083000 BNE @RF00641 0641 01084000 * DO; /* JOURNAL KEYWORD #Y30LB27*/ 01085000 * INDX=INDX+LENGTH(CJOURNAL)+ONE;/* #Y30LB27*/ 01086000 AL INDX,@CF00039 0643 01087000 * VVIFLG3=ON; /* MSGS ARE TO BE JOURNALED 0644 01088000 * #Y30LB27*/ 01089000 OI VVIFLG3(VVIPTR),B'00010000' 0644 01090000 * END; /* #Y30LB27 01091000 * #Y30LB27*/ 01092000 */********************************************************************* 01093000 * * IF NOT ASSUME ALTERNATE CONSOLE - FIND LENGTH #Y30LB27 01094000 * ********************************************************************/ 01095000 * 0646 01096000 * ELSE 0646 01097000 * DO; /* ALT - CONSOLE #Y30LB27*/ 01098000 B @RC00641 0646 01099000 @RF00641 DS 0H 0647 01100000 * STRTCOL=INDX;/* SAVE KEYWORD BEGIN #Y30LB27*/ 01101000 STH INDX,STRTCOL 0647 01102000 * DO INDX=INDX TO SVNTYONE WHILE(REPLY(INDX)^= 01103000 * BLANK&REPLY(INDX)^=COMMA&REPLY(INDX)^= 01104000 * RGTPAREN); 0648 01105000 B @DE00648 0648 01106000 @DL00648 LA @08,REPLY-1(INDX) 0648 01107000 CLI 0(@08),C' ' 0648 01108000 BE @DC00648 0648 01109000 LA @08,REPLY-1(INDX) 0648 01110000 CLI 0(@08),C',' 0648 01111000 BE @DC00648 0648 01112000 LA @08,REPLY-1(INDX) 0648 01113000 CLI 0(@08),C')' 0648 01114000 BE @DC00648 0648 01115000 * END; /* #Y30LB27*/ 01116000 AL INDX,@CF00055 0649 01117000 @DE00648 C INDX,@CF03635 0649 01118000 BNH @DL00648 0649 01119000 @DC00648 DS 0H 0650 01120000 * NUMCOL=INDX-STRTCOL;/* NUMBER OF COLS 0650 01121000 * #Y30LB27*/ 01122000 LR @08,INDX 0650 01123000 SH @08,STRTCOL 0650 01124000 STH @08,NUMCOL 0650 01125000 * CALL VINPARMT;/* VERIFY PARMS @YM02859*/ 01126000 BAL @14,VINPARMT 0651 01127000 * IF NUMCOL=TWO THEN/* VALUE LEN OF 2 #Y30LB27*/ 01128000 CLC NUMCOL(2),@CH00066 0652 01129000 BNE @RF00652 0652 01130000 * DO; /* #Y30LB27 01131000 * FORCE NUMERIC VALUE #Y30LB27*/ 01132000 * PACK(WORK1,REPLY(STRTCOL:STRTCOL+ONE));/* 01133000 * #Y30LB27*/ 01134000 LH @03,STRTCOL 0654 01135000 LA @05,REPLY-1(@03) 0654 01136000 PACK WORK1(2),0(2,@05) 0654 01137000 * CVB(FIXED8,WORK1);/* CNVRT IT #Y30LB27*/ 01138000 XC @TS00001(8),@TS00001 0655 01139000 MVC @TS00001+6(2),WORK1 0655 01140000 CVB FIXED8,@TS00001 0655 01141000 * VVIALCON=FIXED8;/* UPDATE CONTROL BLOCK 01142000 * #Y30LB27*/ 01143000 STC FIXED8,VVIALCON(,VVIPTR) 0656 01144000 * END; /* #Y30LB27*/ 01145000 * IF NUMCOL=ONE THEN/* VALUE LEN OF 1 #Y30LB27*/ 01146000 @RF00652 CLC NUMCOL(2),@CH00055 0658 01147000 BNE @RF00658 0658 01148000 * DO; /* #Y30LB27 01149000 * FORCE NUMERIC VALUE #Y30LB27*/ 01150000 * PACK(WORK1,REPLY(STRTCOL));/* PACK IT 0660 01151000 * #Y30LB27*/ 01152000 LH @03,STRTCOL 0660 01153000 LA @05,REPLY-1(@03) 0660 01154000 PACK WORK1(2),0(1,@05) 0660 01155000 * CVB(FIXED8,WORK1);/* CONVERT IT #Y30LB27*/ 01156000 XC @TS00001(8),@TS00001 0661 01157000 MVC @TS00001+6(2),WORK1 0661 01158000 CVB FIXED8,@TS00001 0661 01159000 * VVIALCON=FIXED8;/* UPDATE CONTROL BLOCK 01160000 * #Y30LB27*/ 01161000 STC FIXED8,VVIALCON(,VVIPTR) 0662 01162000 * END; /* #Y30LB27*/ 01163000 * IF NUMCOL=ZERO|NUMCOL>TWO THEN 0664 01164000 @RF00658 LH @08,NUMCOL 0664 01165000 LTR @08,@08 0664 01166000 BZ @RT00664 0664 01167000 C @08,@CF00066 0664 01168000 BNH @RF00664 0664 01169000 @RT00664 DS 0H 0665 01170000 * RETRYSW=ON; 0665 01171000 OI RETRYSW,B'10000000' 0665 01172000 * IF RETRYSW=OFF&VVIALCON=ZERO|VVIALCON>SIXTEEN 01173000 * THEN 0666 01174000 @RF00664 TM RETRYSW,B'10000000' 0666 01175000 BNZ @GL00018 0666 01176000 CLI VVIALCON(VVIPTR),0 0666 01177000 BE @RT00666 0666 01178000 @GL00018 CLI VVIALCON(VVIPTR),16 0666 01179000 BNH @RF00666 0666 01180000 @RT00666 DS 0H 0667 01181000 * RETRYSW=ON;/* @YM02859*/ 01182000 OI RETRYSW,B'10000000' 0667 01183000 * INDX=INDX+ONE;/* BYPASS VALUE #Y30LB27*/ 01184000 @RF00666 AL INDX,@CF00055 0668 01185000 * END; /* #Y30LB27*/ 01186000 * END; /* #Y30LB27 01187000 * #Y30LB27*/ 01188000 @RC00641 DS 0H 0671 01189000 */********************************************************************* 01190000 * * SKIP RIGHT PAREN #Y30LB27 01191000 * ********************************************************************/ 01192000 * 0671 01193000 * IF REPLY(INDX)=RGTPAREN THEN 0671 01194000 @RF00639 LA @08,REPLY-1(INDX) 0671 01195000 CLI 0(@08),C')' 0671 01196000 BNE @RF00671 0671 01197000 * INDX=INDX+ONE; /* #Y30LB27*/ 01198000 AL INDX,@CF00055 0672 01199000 * END; /* #Y30LB27 01200000 * #Y30LB27*/ 01201000 @RF00671 DS 0H 0674 01202000 */********************************************************************* 01203000 * * TRKVOLS PARAMETER @ZA27588* 01204000 * ********************************************************************/ 01205000 * 0674 01206000 * IF REPLY(INDX:INDX+LENGTH(CTRKVOLS)-ONE)=CTRKVOLS THEN/* 01207000 * @ZA27588*/ 01208000 @RF00599 LA @08,REPLY-1(INDX) 0674 01209000 CLC 0(8,@08),CTRKVOLS 0674 01210000 BNE @RF00674 0674 01211000 * DO; /* @ZA27588*/ 01212000 * INDX=INDX+LENGTH(CTRKVOLS);/* INCREMENT INDEX 0676 01213000 * @ZA27588*/ 01214000 AL INDX,@CF00039 0676 01215000 * STRTCOL=INDX; /* SAVE START @ZA27588*/ 01216000 STH INDX,STRTCOL 0677 01217000 * DO INDX=INDX TO SVNTYONE WHILE REPLY(INDX)^=BLANK&REPLY 01218000 * (INDX)^=COMMA;/* @ZA27588*/ 01219000 B @DE00678 0678 01220000 @DL00678 LA @08,REPLY-1(INDX) 0678 01221000 CLI 0(@08),C' ' 0678 01222000 BE @DC00678 0678 01223000 LA @08,REPLY-1(INDX) 0678 01224000 CLI 0(@08),C',' 0678 01225000 BE @DC00678 0678 01226000 * END; /* @ZA27588*/ 01227000 AL INDX,@CF00055 0679 01228000 @DE00678 C INDX,@CF03635 0679 01229000 BNH @DL00678 0679 01230000 @DC00678 DS 0H 0680 01231000 * NUMCOL=INDX-STRTCOL;/* GET REPLY LENGTH @ZA27588*/ 01232000 LR @08,INDX 0680 01233000 SH @08,STRTCOL 0680 01234000 STH @08,NUMCOL 0680 01235000 * IF ININIT=ON THEN /* @ZA27588*/ 01236000 L @03,INITPTR 0681 01237000 TM ININIT(@03),B'10000000' 0681 01238000 BNO @RF00681 0681 01239000 * DO; /* @ZA27588*/ 01240000 * IF NUMCOL>ZERO&NUMCOL<=THREE THEN/* COR LENGTH 0683 01241000 * @ZA27588*/ 01242000 LTR @08,@08 0683 01243000 BNP @RF00683 0683 01244000 C @08,@CF00118 0683 01245000 BH @RF00683 0683 01246000 * DO; /* YES @ZA27588*/ 01247000 * TMPCOL=NUMCOL;/* SAVE LENGTH @ZA27588*/ 01248000 STH @08,TMPCOL 0685 01249000 * CALL VINPARMT;/* TEST FOR NUMRIC @ZA27588*/ 01250000 BAL @14,VINPARMT 0686 01251000 * VVIVTRK(FOUR-TMPCOL:THREE)=REPLY(STRTCOL: 0687 01252000 * STRTCOL+TMPCOL-ONE);/* SAVE VOL COUNT 0687 01253000 * @ZA27588*/ 01254000 LA @08,4 0687 01255000 SH @08,TMPCOL 0687 01256000 ST @08,@TF00001 0687 01257000 ALR @08,VVIPTR 0687 01258000 LA @03,3 0687 01259000 SL @03,@TF00001 0687 01260000 LH @05,STRTCOL 0687 01261000 LA @04,REPLY-1(@05) 0687 01262000 EX @03,@SM03977 0687 01263000 * IF NUMCOL=ZERO THEN/* IF NOT NUMERIC @ZA27588*/ 01264000 LH @08,NUMCOL 0688 01265000 LTR @08,@08 0688 01266000 BNZ @RF00688 0688 01267000 * DO; /* @ZA27588*/ 01268000 * VVIVTRK=C68;/* SET DEFAULT @ZA27588*/ 01269000 MVC VVIVTRK(3,VVIPTR),@CC03664 0690 01270000 * RETRYSW=ON;/* RE-ISSUE MSG @ZA27588*/ 01271000 OI RETRYSW,B'10000000' 0691 01272000 * END; /* @ZA27588*/ 01273000 * IF NUMCOL=ONE THEN/* IS VAL ONE DIGIT 0693 01274000 * @ZA27588*/ 01275000 @RF00688 CLC NUMCOL(2),@CH00055 0693 01276000 BNE @RF00693 0693 01277000 * VVIVTRK(ONE:TWO)=C00;/* PAD WITH ZEROS 0694 01278000 * @ZA27588*/ 01279000 MVC VVIVTRK(2,VVIPTR),@CC03660 0694 01280000 * IF NUMCOL=TWO THEN/* IS VAL TWO DIGITS 0695 01281000 * @ZA27588*/ 01282000 @RF00693 CLC NUMCOL(2),@CH00066 0695 01283000 BNE @RF00695 0695 01284000 * VVIVTRK(ONE)=C0;/* PAD WITH ZERO @ZA27588*/ 01285000 MVI VVIVTRK(VVIPTR),C'0' 0696 01286000 * END; /* @ZA27588*/ 01287000 * ELSE /* @ZA27588*/ 01288000 * DO; /* @ZA27588*/ 01289000 B @RC00683 0698 01290000 @RF00683 DS 0H 0699 01291000 * RETRYSW=ON; /* REISSUE MSG @ZA27588*/ 01292000 OI RETRYSW,B'10000000' 0699 01293000 * VVIVTRK=C68;/* SET DEFAULT @ZA27588*/ 01294000 MVC VVIVTRK(3,VVIPTR),@CC03664 0700 01295000 * END; /* @ZA27588*/ 01296000 * END; /* @ZA27588*/ 01297000 * ELSE 0703 01298000 * RETRYSW=ON; /* RE-ISSUE MSG @ZA27588*/ 01299000 B @RC00681 0703 01300000 @RF00681 OI RETRYSW,B'10000000' 0703 01301000 * INDX=INDX+ONE; /* INCREMENT VAL @ZA27588*/ 01302000 @RC00681 AL INDX,@CF00055 0704 01303000 * END; /* @ZA27588*/ 01304000 */********************************************************************* 01305000 * * SKIP THE DELIMITER #Y30LB27 01306000 * ********************************************************************/ 01307000 * 0706 01308000 * IF REPLY(INDX)=COMMA THEN 0706 01309000 @RF00674 LA @08,REPLY-1(INDX) 0706 01310000 CLI 0(@08),C',' 0706 01311000 BNE @RF00706 0706 01312000 * INDX=INDX+ONE; /* #Y30LB27 01313000 * #Y30LB27*/ 01314000 AL INDX,@CF00055 0707 01315000 * IF REPLY(INDX)=BLANK THEN 0708 01316000 @RF00706 LA @08,REPLY-1(INDX) 0708 01317000 CLI 0(@08),C' ' 0708 01318000 BNE @RF00708 0708 01319000 * INDX=SVNTYTWO; /* BLANK AUTOMATIC TERMINATION OF 01320000 * SCAN #Y30LB27*/ 01321000 LA INDX,72 0709 01322000 * IF INDX>SVNTYTWO THEN 0710 01323000 @RF00708 LA @08,72 0710 01324000 CR INDX,@08 0710 01325000 BNH @RF00710 0710 01326000 * INDX=SVNTYTWO; /* FORCED OUT OF BUFFER #Y30LB27*/ 01327000 LR INDX,@08 0711 01328000 */********************************************************************* 01329000 * * IF NO HIT ISSUE ERROR MESSAGE AND CONTINUE SCAN #Y30LB27 01330000 * ********************************************************************/ 01331000 * 0712 01332000 * IF STRTINDX=INDX THEN /* #Y30LB27*/ 01333000 @RF00710 CH INDX,STRTINDX 0712 01334000 BNE @RF00712 0712 01335000 * DO; /* #Y30LB27*/ 01336000 * RETRYSW=ON; /* FORCE RE-ISSUE #Y30LB27*/ 01337000 OI RETRYSW,B'10000000' 0714 01338000 * INDX=SVNTYTWO; /* CAUSE PARM ERR MSG @ZA09528*/ 01339000 LA INDX,72 0715 01340000 * END; /* #Y30LB27*/ 01341000 * ELSE /* GOOD SCAN @ZM30746*/ 01342000 * INDX=INDX-ONE; /* @ZM30746*/ 01343000 B @RC00712 0717 01344000 @RF00712 BCTR INDX,0 0717 01345000 * END; /* @ZM30746*/ 01346000 @RC00712 AL INDX,@CF00055 0718 01347000 @DE00564 C INDX,@CF03635 0718 01348000 BNH @DL00564 0718 01349000 * IF RETRYSW=ON THEN /* @ZM30746*/ 01350000 TM RETRYSW,B'10000000' 0719 01351000 BNO @RF00719 0719 01352000 * DO; /* @ZM30746*/ 01353000 * VINMSGID=MSGSPEE; /* @ZM30746*/ 01354000 MVC VINMSGID(2),@CH00707 0721 01355000 * CALL VINWTO; /* @ZM30746*/ 01356000 BAL @14,VINWTO 0722 01357000 * END; /* @ZM30746*/ 01358000 * END; /* #Y30LB27*/ 01359000 * ELSE /* SCAN OKAY @ZM30746*/ 01360000 * IF VVIALCON=ZERO&VVIFLG3=OFF THEN/* @ZM30746*/ 01361000 B @RC00561 0725 01362000 @RF00561 CLI VVIALCON(VVIPTR),0 0725 01363000 BNE @RF00725 0725 01364000 TM VVIFLG3(VVIPTR),B'00010000' 0725 01365000 BNZ @RF00725 0725 01366000 * DO; /* @ZM30746*/ 01367000 * VINMSGID=MSGSPEE; /* @ZM30746*/ 01368000 MVC VINMSGID(2),@CH00707 0727 01369000 * CALL VINWTO; /* @ZM30746*/ 01370000 BAL @14,VINWTO 0728 01371000 * RETRYSW=ON; /* @ZM30746*/ 01372000 OI RETRYSW,B'10000000' 0729 01373000 * END; /* @ZM30746*/ 01374000 * ELSE /* @ZM30746*/ 01375000 * RETRYSW=OFF; /* @ZM30746*/ 01376000 B @RC00725 0731 01377000 @RF00725 NI RETRYSW,B'01111111' 0731 01378000 * END; /* #Y30LB27*/ 01379000 @RC00725 DS 0H 0732 01380000 @RC00561 DS 0H 0732 01381000 @DE00492 TM RETRYSW,B'10000000' 0732 01382000 BO @DL00492 0732 01383000 * IF VVIFLG3=ON THEN /* IS JRNL SW ON @ZA17167*/ 01384000 TM VVIFLG3(VVIPTR),B'00010000' 0733 01385000 BNO @RF00733 0733 01386000 * JRNLSW3=ON; /* SAVE FLG @ZA17167*/ 01387000 OI JRNLSW3,B'10000000' 0734 01388000 * ELSE 0735 01389000 * JRNLSW3=OFF; /* @ZA17167*/ 01390000 B @RC00733 0735 01391000 @RF00733 NI JRNLSW3,B'01111111' 0735 01392000 * RETURN; /* RETURN TO MAINLINE #Y30LB27*/ 01393000 @EL00003 DS 0H 0736 01394000 @EF00003 DS 0H 0736 01395000 @ER00003 L @14,@SA00003 0736 01396000 BR @14 0736 01397000 * END VINPARMV; /* #Y30LB27*/ 01398000 B @EL00003 0737 01399000 *VINPARMT: 0738 01400000 * PROC OPTIONS(SAVE(14)); /* #YM02859*/ 01401000 VINPARMT ST @14,12(,@13) 0738 01402000 * J=NUMCOL-ONE; /* SET LOOP CONTROL #YM02859*/ 01403000 LH @08,NUMCOL 0739 01404000 BCTR @08,0 0739 01405000 STH @08,J 0739 01406000 * DO I=ZERO TO J; /* TEST ALL VALUES #YM02859*/ 01407000 SLR I,I 0740 01408000 B @DE00740 0740 01409000 @DL00740 DS 0H 0741 01410000 * TESTBYTE=REPLY(STRTCOL+I); /* SET VALUE TO BE TESTED 0741 01411000 * #YM02859*/ 01412000 LR @03,I 0741 01413000 AH @03,STRTCOL 0741 01414000 LA @05,REPLY-1(@03) 0741 01415000 MVC TESTBYTE(1),0(@05) 0741 01416000 * IF TESTB0=OFF|TESTB1=OFF|TESTB2=OFF|TESTB3=OFF THEN 0742 01417000 TM TESTB0,B'11110000' 0742 01418000 BO @RF00742 0742 01419000 * NUMCOL=ZERO; /* FORCE INVALID VALUE #YM02859*/ 01420000 SLR @03,@03 0743 01421000 STH @03,NUMCOL 0743 01422000 * END; /* END TEST #YM02859*/ 01423000 @RF00742 AL I,@CF00055 0744 01424000 @DE00740 CH I,J 0744 01425000 BNH @DL00740 0744 01426000 * END VINPARMT; /* END PARM TEST #YM02859*/ 01427000 @EL00004 DS 0H 0745 01428000 @EF00004 DS 0H 0745 01429000 @ER00004 L @14,12(,@13) 0745 01430000 BR @14 0745 01431000 * 0746 01432000 */****************************************************************** 01433000 ** #Y30LB27 01434000 ** VININDS: ALLOCATE, OPEN (& INIT INVENTORY IF 1ST IPL) #Y30LB27 01435000 ** THE MSVC INVENTORY AND MSVC JOURNAL #Y30LB27 01436000 ** #Y30LB27 01437000 ** INPUT: #Y30LB27 01438000 ** ICBVVICB ADDRESS #Y30LB27 01439000 ** MSVCS TCB ADDRESS #Y30LB27 01440000 ** VVIUCAT, IN ICBVVICB, = VSAM USER CATALOG NAME #Y30LB27 01441000 ** #Y30LB27 01442000 ** PROCESS: #Y30LB27 01443000 ** UPON ENTRY, THE MSVC INVENTORY IS ALLOCATED VIA #Y30LB27 01444000 ** CALL TO SEGMENT VINALDS1 (VS/1) OR DYNAMIC #Y30LB27 01445000 ** ALLOCATION (VS/2). IF SUCCESSFUL, SEGMENT VINMOPN #Y30LB27 01446000 ** IS CALLED TO OPEN THE INVENTORY. @Y30LB27 01447000 ** @Y30LB27 01448000 ** IF THE DATA SET IS FOUND TO BE EMPTY, ASSUME @Y30LB27 01449000 ** it IS THE FIRST MSS IPL AFTER SYSGEN AND @Y30LB27 01450000 ** CONTROL RECORDS ARE CREATED AND WRITTEN TO THE @Y30LB27 01451000 ** MSVC INVENTORY. @Y30LB27 01452000 ** @Y30LB27 01453000 ** UPON SUCCESSFUL OPENING OF THE MSVC INVENTORY, @Y30LB27 01454000 ** THE MSVC JOURNAL IS ALLOCATED, RESERVED AND OPENED,@Z37LB26 01455000 ** VIA CALLS VINAJL2, JRNLRES AND VINJOPN. @Z37LB26 01456000 ** @Y30LB27 01457000 ** IF ANY UNRECOVERABLE ERRORS ARE ENCOUNTERED DURING SEGMENT 01458000 ** PROCESSING, SEGMENT VINWTO IS CALLED TO ASK THE OPERATOR 0746 01459000 ** WHETHER MSS SHOULD BE CONTINUED WITHOUT MSVC OR MSS 0746 01460000 ** SHOULD BE TERMINATED. A 'TERM' CODE, INDICATING THE 0746 01461000 ** RESPONSE IS PASSED BACK TO THE MAINLINE SEGMENT. @Y30LB27 01462000 ** @Y30LB27 01463000 ** OUTPUT: @Y30LB27 01464000 ** . FOLLOWING JCL STRUCTURE @Y30LB27 01465000 ** //STEP EXEC PGM=ICBVvi00 @Y30LB27 01466000 ** //STEPCAT DD DSN=USERCAT,DISP=SHR @Y30LB27 01467000 ** //MSVC DD DSN=USERCAT.MSVI,DISP=SHR @Y30LB27 01468000 ** //MSVCJRNL DD DSN=USERCAT.MSVCJRNL,DISP=SHR @Y30LB27 01469000 ** . (VS/1) CONTROL BLOCK CONFIGURATION FOR VSAM OPEN OF THE 01470000 ** MSVC USER CATALOG @Y30LB27 01471000 ** . (VS/1) ACB FOR THE MSVC USER CATALOG @Y30LB27 01472000 ** @Y30LB27 01473000 ** . (VS/1) CONTROL BLOCK CONFIGURATION FOR VSAM OPEN OF THE 01474000 ** MSVC INVENTORY @Y30LB27 01475000 ** . ACB FOR THE MSVC INVENTORY IS CHAINED TO THE ICBVVICB 0746 01476000 ** @Y30LB27 01477000 ** . DCB FOR THE MSVC JOURNAL IS CHAINED TO THE ICBVVICB 0746 01478000 ** @Y30LB27 01479000 ** . TERM CODE, INDICATING - @Y30LB27 01480000 ** = 0, NO ALLOCATION/OPEN ERROR @Y30LB27 01481000 ** ^= 0, ALLOCATION/OPEN ERROR DETECTED @Y30LB27 01482000 ** @Y30LB27 01483000 **********************************************************************/ 01484000 * 0746 01485000 *VININDS: 0746 01486000 * PROC OPTIONS(SAVE(14)); /* @Y30LB27 01487000 * @Y30LB27*/ 01488000 VININDS ST @14,@SA00005 0746 01489000 */********************************************************************* 01490000 * * USE DYNAMIC ALLOCATION @G24LB04 01491000 * ********************************************************************/ 01492000 * 0747 01493000 * CALL VINALV2; /* CALL VS/2 SEGMENT @Y30LB27*/ 01494000 BAL @14,VINALV2 0747 01495000 * IF RPLVRETC=ZERO THEN /* RETURN CODE ZERO @ZM31134*/ 01496000 LH @08,RPLVRETC(,RPLVPTR) 0748 01497000 N @08,@CF03969 0748 01498000 LTR @08,@08 0748 01499000 BNZ @RF00748 0748 01500000 * CALL INVRES; /* RESERVE THE INVENTORY @ZA05115 01501000 * #Y30LB27*/ 01502000 BAL @14,INVRES 0749 01503000 */********************************************************************* 01504000 * * OPEN THE INVENTORY DATA SET #Y30LB27 01505000 * ********************************************************************/ 01506000 * 0750 01507000 * IF RPLVRETC=ZERO THEN /* @ZM30746*/ 01508000 @RF00748 LH @08,RPLVRETC(,RPLVPTR) 0750 01509000 N @08,@CF03969 0750 01510000 LTR @08,@08 0750 01511000 BNZ @RF00750 0750 01512000 * CALL VINMOPN; /* OPEN INVENTORY #Y30LB27 01513000 * #Y30LB27*/ 01514000 BAL @14,VINMOPN 0751 01515000 */********************************************************************* 01516000 * * ALLOC JOURNAL DATA SET #Y30LB27 01517000 * ********************************************************************/ 01518000 * 0752 01519000 * /* #Y30LB27*/ 01520000 */********************************************************************* 01521000 * * USE DYN ALLOC @G24LB04 01522000 * ********************************************************************/ 01523000 * 0752 01524000 * IF RPLVRETC=ZERO THEN /* @ZM30746*/ 01525000 @RF00750 LH @08,RPLVRETC(,RPLVPTR) 0752 01526000 N @08,@CF03969 0752 01527000 LTR @08,@08 0752 01528000 BNZ @RF00752 0752 01529000 * CALL VINALJ2; /* YES #Y30LB27*/ 01530000 BAL @14,VINALJ2 0753 01531000 * IF RPLVRETC=ZERO THEN /* ZERO RETURN CODE @ZM31134*/ 01532000 @RF00752 LH @08,RPLVRETC(,RPLVPTR) 0754 01533000 N @08,@CF03969 0754 01534000 LTR @08,@08 0754 01535000 BNZ @RF00754 0754 01536000 * CALL JRNLRES; /* RESERVE THE JOURNAL @ZA05115 01537000 * #Y30LB27*/ 01538000 BAL @14,JRNLRES 0755 01539000 */********************************************************************* 01540000 * * OPEN THE JOURNAL DATA SET #Y30LB27 01541000 * ********************************************************************/ 01542000 * 0756 01543000 * IF RPLVRETC=ZERO THEN /* @ZM30746*/ 01544000 @RF00754 LH @08,RPLVRETC(,RPLVPTR) 0756 01545000 N @08,@CF03969 0756 01546000 LTR @08,@08 0756 01547000 BNZ @RF00756 0756 01548000 * CALL VINJOPN; /* OPEN THE MSVC JOURNAL #Y30LB27*/ 01549000 BAL @14,VINJOPN 0757 01550000 * RETURN; /* RETURN TO CALLER #Y30LB27*/ 01551000 @EL00005 DS 0H 0758 01552000 @EF00005 DS 0H 0758 01553000 @ER00005 L @14,@SA00005 0758 01554000 BR @14 0758 01555000 * END VININDS; /* #Y30LB27*/ 01556000 B @EL00005 0759 01557000 * 0760 01558000 */* ****************************************************************** 01559000 ** #Y30LB27 01560000 ** NAME = VINALV2: SEGMENT TO ALLOCATE INVENTORY FOR VS/2 @Y30LB27 01561000 ** #Y30LB27 01562000 ** INPUT = NONE #Y30LB27 01563000 ** #Y30LB27 01564000 ** PROCESS = VINALV2 IS A SUBSEGMENT OF SEGMENT VININDS. #Y30LB27 01565000 ** #Y30LB27 01566000 ** OUTPUT = JOURNAL IS ALLOCATED FOR MSVC THE TASK #Y30LB27 01567000 ** #Y30LB27 01568000 ******************************************************************** */ 01569000 * 0760 01570000 *VINALV2: 0760 01571000 * PROC OPTIONS(SAVE(14)); /* #Y30LB27 01572000 * #Y30LB27*/ 01573000 VINALV2 ST @14,@SA00006 0760 01574000 */********************************************************************* 01575000 * * EST SSIB, SWA, AND CALL DYN ALLOC ESTABLISHMENT ROUTINE #Y30LB27 01576000 * ********************************************************************/ 01577000 * 0761 01578000 * IF ININIT=ON THEN 0761 01579000 L @08,INITPTR 0761 01580000 TM ININIT(@08),B'10000000' 0761 01581000 BNO @RF00761 0761 01582000 * DO; /* ESTABLISH JSCB DURING IPL ONLY 01583000 * #Y30LB27*/ 01584000 */********************************************************************* 01585000 * * ESTABLISH SSIB SUBSYSTEM INTERFACE BLOCK - REQD BY #Y30LB27 01586000 * * DYNAMIC ALLOCATION #Y30LB27 01587000 * ********************************************************************/ 01588000 * 0763 01589000 * REG1=LENGTH(SSIB); /* GET LENGTH OF SSIB #Y30LB27*/ 01590000 LA REG1,36 0763 01591000 * GEN(GETMAIN RC,LV=(1),SP=230);/* GET STORAGE FOR SSIB 0764 01592000 * @ZM31134*/ 01593000 GETMAIN RC,LV=(1),SP=230 01594000 * IF REG15^=ZERO THEN 0765 01595000 LTR REG15,REG15 0765 01596000 BZ @RF00765 0765 01597000 * DO; /* STORAGE OBTAIN #Y30LB27*/ 01598000 * VINMSGID=MSGSTGE; /* SET MSG ID FOR STORAGE ERROR 01599000 * #Y30LB27*/ 01600000 MVC VINMSGID(2),@CH00250 0767 01601000 * CALL VINWTO; /* PRINT ERROR MESSAGE #Y30LB27*/ 01602000 BAL @14,VINWTO 0768 01603000 * RETURN; /* RETURN TO CALLER #Y30LB27*/ 01604000 @EL00006 DS 0H 0769 01605000 @EF00006 DS 0H 0769 01606000 @ER00006 L @14,@SA00006 0769 01607000 BR @14 0769 01608000 * END; /* #Y30LB27*/ 01609000 * JSCBSSIB=REG1; /* JSCB POINTS TO SSIB #Y30LB27*/ 01610000 @RF00765 L @08,CVTPTR 0771 01611000 L @08,CVTTCBP(,@08) 0771 01612000 L @08,TCBPTR(,@08) 0771 01613000 L @05,TCBJSCB(,@08) 0771 01614000 ST REG1,JSCBSSIB(,@05) 0771 01615000 * RFY 0772 01616000 * SSIB BASED(REG1); /* RESET PTR TO INIT #Y30LB27*/ 01617000 * SSIBID=CSSIB; /* SET SSICB ID #Y30LB27*/ 01618000 MVC SSIBID(4,REG1),CSSIB 0773 01619000 * SSIBLEN=LENGTH(SSIB); /* SET SSIB LENGTH #Y30LB27*/ 01620000 MVC SSIBLEN(2,REG1),@CH03936 0774 01621000 * SSIBSSNM=MSTR; /* SET JOBNAME @ZA13475*/ 01622000 MVC SSIBSSNM(4,REG1),MSTR 0775 01623000 * SSIBJBID=SUBTASK; /* SET STEP NAME @ZM30746 01624000 * #Y30LB27*/ 01625000 MVC SSIBJBID(8,REG1),SUBTASK 0776 01626000 */********************************************************************* 01627000 * * ESTABLISH SCHEDULAR WORK AREA - REQUIRED BY DYN ALLOC #Y30LB27 01628000 * ********************************************************************/ 01629000 * 0777 01630000 * RFY 0777 01631000 * SWAE BASED(ADDR(SWAEAREA));/* POINT TO INTERNAL SWA 0777 01632000 * #Y30LB27*/ 01633000 * SWJSCBPT=ADDR(TCBJSCB); /* SWA PTR TO ADDR OF JSCB 0778 01634000 * #Y30LB27*/ 01635000 LA @05,SWAEAREA 0778 01636000 LA @08,TCBJSCB(,@08) 0778 01637000 ST @08,SWJSCBPT(,@05) 0778 01638000 * SWCREATE=ON; /* INDICATE CRAETE #Y30LB27*/ 01639000 OI SWCREATE(@05),B'10000000' 0779 01640000 * SWJOBNAM=ADDR(MSTR); /* ADDR OF JOBNAME @ZA13475*/ 01641000 LA @08,MSTR 0780 01642000 ST @08,SWJOBNAM(,@05) 0780 01643000 * SWSTEPNM=ADDR(SUBTASK); /* ADDR OF STEPNAME @ZM31129*/ 01644000 LA @08,SUBTASK 0781 01645000 ST @08,SWSTEPNM(,@05) 0781 01646000 * SWTIOTPT=ADDR(TIOTPTR); /* ZERO TIOT PTR - CREATE NEW 0782 01647000 * TIOT #Y30LB27 01648000 * #Y30LB27*/ 01649000 LA @08,TIOTPTR 0782 01650000 ST @08,SWTIOTPT(,@05) 0782 01651000 */********************************************************************* 01652000 * * INVOKE ALLOCATION ESTABLISHMENT ROUTINE FOR DYNAMIC #Y30LB27 01653000 * * ALLCOATION #Y30LB27 01654000 * ********************************************************************/ 01655000 * 0783 01656000 * REG1=ADDR(SWAEAREA); /* POINT TO SWA #Y30LB27*/ 01657000 LR REG1,@05 0783 01658000 *LLINK1: 0784 01659000 * GEN(LINK EP=IEESB601); /* INVOKE JSCB ALLOC RTN #Y30LB27*/ 01660000 LLINK1 LINK EP=IEESB601 01661000 * IF REG15^=ZERO THEN 0785 01662000 LTR REG15,REG15 0785 01663000 BZ @RF00785 0785 01664000 * DO; /* ERROR RTN #Y30LB27*/ 01665000 */********************************************************************* 01666000 * * ALLOCATION OF JOB STEP CONTROL BLOCK FAILED #Y30LB27 01667000 * ********************************************************************/ 01668000 * 0787 01669000 * VINMSGID=MSGALCE; /* SET MSG INDEX #Y30LB27*/ 01670000 MVC VINMSGID(2),@CH00310 0787 01671000 * MSGLEN1=LENGTH(CIEESB60);/* SET MSG CONSTANT #Y30LB27*/ 01672000 MVI MSGLEN1,X'08' 0788 01673000 * MSGTEXT1=ADDR(CIEESB60);/* SET MSG CONSTANT #Y30LB27*/ 01674000 LA @08,CIEESB60 0789 01675000 STCM @08,7,MSGTEXT1 0789 01676000 * CNVRTWK1(ONE:TWO)=REG15;/* CNVRT IT FOR MSG #Y30LB27*/ 01677000 STCM REG15,3,CNVRTWK1 0790 01678000 * CALL VINCNVRT; /* CONVERT IT #Y30LB27*/ 01679000 BAL @14,VINCNVRT 0791 01680000 * CALL VINWTO; /* ISSUE ERROR MSG #Y30LB27*/ 01681000 BAL @14,VINWTO 0792 01682000 * RETURN; /* RETURN #Y30LB27*/ 01683000 B @EL00006 0793 01684000 * END; /* #Y30LB27*/ 01685000 * END; /* #Y30LB27 01686000 * #Y30LB27*/ 01687000 @RF00785 DS 0H 0796 01688000 */********************************************************************* 01689000 * * SET UP DYNAMIC ALLOC REQUEST BLOCK AND PARAMETER LIST @ZM31134 01690000 * * FOR THE INVENTORY #Y30LB27 01691000 * ********************************************************************/ 01692000 * 0796 01693000 * S99RB=S99RB&&S99RB; /* CLEAR DYN ALLOC RB #Y30LB27*/ 01694000 @RF00761 XC S99RB(20),S99RB 0796 01695000 * S99RBLN=TWENTY; /* SET LENGTH TO 20 #Y30LB27*/ 01696000 MVI S99RBLN,X'14' 0797 01697000 * S99VERB=S99VRBAL; /* SET VERB CODE #Y30LB27*/ 01698000 MVI S99VERB,X'01' 0798 01699000 * S99NOMNT=ON; /* INDICATE DONT MOUNT VOLUME 0799 01700000 * #Y30LB27*/ 01701000 OI S99NOMNT,B'00100000' 0799 01702000 * S99TXTPP=ADDR(TXTPTR(ONE)); /* INITIALIZE TEXT PTR @Y30LB27*/ 01703000 LA @08,TXTPTR 0800 01704000 ST @08,S99TXTPP 0800 01705000 * S99TUPLN(2)=OFF; /* INDICATE END OF LIST @Y30LB27*/ 01706000 NI S99TUPLN+4(@08),B'01111111' 0801 01707000 * S99TUPLN(4)=ON; /* INDICATE END OF LIST @Y30LB27*/ 01708000 OI S99TUPLN+12(@08),B'10000000' 0802 01709000 * DO UCATLEN=ONE TO EIGHT WHILE(VVIUCAT(UCATLEN)^=BLANK);/* 0803 01710000 * @Y30LB27*/ 01711000 LA @08,1 0803 01712000 STH @08,UCATLEN 0803 01713000 @DL00803 LH @08,UCATLEN 0803 01714000 ALR @08,VVIPTR 0803 01715000 CLI VVIUCAT-1(@08),C' ' 0803 01716000 BE @DC00803 0803 01717000 * END; /* @Y30LB27*/ 01718000 LA @08,1 0804 01719000 AH @08,UCATLEN 0804 01720000 STH @08,UCATLEN 0804 01721000 C @08,@CF00039 0804 01722000 BNH @DL00803 0804 01723000 @DC00803 DS 0H 0805 01724000 * UCATLEN=UCATLEN-ONE; /* SEARCH FOR BLANK @Y30LB27*/ 01725000 LH @08,UCATLEN 0805 01726000 BCTR @08,0 0805 01727000 STH @08,UCATLEN 0805 01728000 * TXTPTR(ONE)=ADDR(MSVCKEY1); /* POINT TO INVE PARM @Y30LB27*/ 01729000 LA @08,MSVCKEY1 0806 01730000 ST @08,TXTPTR 0806 01731000 * TXTPTR(TWO)->S99TULNG=UCATLEN+FIVE;/* SET PTR @Y30LB27*/ 01732000 L @08,TXTPTR+4 0807 01733000 LA @05,5 0807 01734000 AH @05,UCATLEN 0807 01735000 STCM @05,3,S99TULNG(@08) 0807 01736000 * TXTPTR(TWO)->S99TUPAR(ONE:UCATLEN)=VVIUCAT;/* ADD CAT NAME 0808 01737000 * @Y30LB27*/ 01738000 LH @05,UCATLEN 0808 01739000 BCTR @05,0 0808 01740000 EX @05,@SM03980 0808 01741000 * TXTPTR(TWO)->S99TUPAR(UCATLEN+ONE)=PERIOD;/* SET DELIMITER 0809 01742000 * @Y30LB27*/ 01743000 LH @08,UCATLEN 0809 01744000 L @05,TXTPTR+4 0809 01745000 ALR @05,@08 0809 01746000 MVI S99TUPAR(@05),C'.' 0809 01747000 * TXTPTR(TWO)->S99TUPAR(UCATLEN+TWO:UCATLEN+FIVE)=CMSVI;/* @Y30LB27*/ 01748000 LH @08,UCATLEN 0810 01749000 L @05,TXTPTR+4 0810 01750000 ALR @05,@08 0810 01751000 MVC S99TUPAR+1(4,@05),CMSVI 0810 01752000 * TXTPTR(TWO)->S99TUPAR(UCATLEN+SIX:UCATLEN+NINE)=BLANKS(ONE:FOUR); 01753000 LH @08,UCATLEN 0811 01754000 L @05,TXTPTR+4 0811 01755000 ALR @05,@08 0811 01756000 MVC S99TUPAR+5(4,@05),BLANKS 0811 01757000 * /* RESET TEXT PARM @Y30LB27*/ 01758000 * S99RBPTR=ADDR(S99RB); /* POINT TO DYN ALLOC RB @Y30LB27 01759000 * @Y30LB27*/ 01760000 LA @08,S99RB 0812 01761000 ST @08,S99RBPTR 0812 01762000 */********************************************************************* 01763000 * * DYNAMICALLY ALLOCATE INVENTORY FOR VS/2 @Y30LB27 01764000 * ********************************************************************/ 01765000 * 0813 01766000 * REG1=ADDR(S99RBPTR); /* SET PARM REG @Y30LB27*/ 01767000 LA REG1,S99RBPTR 0813 01768000 * S99RBPND=ON; /* INDICATE END OF LIST @Y30LB27*/ 01769000 OI S99RBPND,B'10000000' 0814 01770000 *LSVC99A: 0815 01771000 * GEN(SVC 99); /* ISSUE DYNAMIC ALLOC SVC 0815 01772000 * @Y30LB27*/ 01773000 LSVC99A SVC 99 01774000 * IF S99ERROR^=ZERO THEN 0816 01775000 LH @08,S99ERROR 0816 01776000 N @08,@CF03969 0816 01777000 LTR @08,@08 0816 01778000 BZ @RF00816 0816 01779000 * DO; /* DYNAMIC ALLOCATION ERROR 0817 01780000 * @Y30LB27*/ 01781000 * IF S99ERROR=LOCERR THEN /* LOCATE ERROR @YM02859*/ 01782000 CLC S99ERROR(2),LOCERR 0818 01783000 BNE @RF00818 0818 01784000 * DO; /* YES @YM02859*/ 01785000 * VINMSGID=MSGLOCE; /* INDICATE LOCATE ERROR @YM02859*/ 01786000 MVC VINMSGID(2),@CH02345 0820 01787000 * MSGLEN1=TXTPTR(TWO)->S99TULNG;/* SET LENGTH @YM02859*/ 01788000 L @08,TXTPTR+4 0821 01789000 MVC MSGLEN1(1),S99TULNG+1(@08) 0821 01790000 * MSGTEXT1=ADDR(TXTPTR(TWO)->S99TUPAR);/* SET NAME@YM02859 */ 01791000 LA @08,S99TUPAR(,@08) 0822 01792000 STCM @08,7,MSGTEXT1 0822 01793000 * END; /* END LOCATE ERROR @YM02859*/ 01794000 * ELSE /* NOT LOCATE ERROR @YM02859*/ 01795000 * VINMSGID=MSGDYNEI; /* ISSUE ERROR MSG #Y30LB27*/ 01796000 B @RC00818 0824 01797000 @RF00818 MVC VINMSGID(2),@CH00039 0824 01798000 * CNVRTWK1(ONE:TWO)=S99ERROR; /* ADD TO MSG @ZM30746*/ 01799000 @RC00818 MVC CNVRTWK1(2),S99ERROR 0825 01800000 * CALL VINCNVRT; /* VIA CNVRT @ZM30746*/ 01801000 BAL @14,VINCNVRT 0826 01802000 * CALL VINWTO; /* ISSUE MESSAGE @YM02859*/ 01803000 BAL @14,VINWTO 0827 01804000 * END; /* @YM02859*/ 01805000 * IF RPLVRETC=ZERO THEN /* @ZM30746*/ 01806000 @RF00816 LH @08,RPLVRETC(,RPLVPTR) 0829 01807000 N @08,@CF03969 0829 01808000 LTR @08,@08 0829 01809000 BNZ @RF00829 0829 01810000 * DO; /* @ZM30746*/ 01811000 * TIOTPTR=TCBTIO; /* @ZM30746*/ 01812000 L @08,CVTPTR 0831 01813000 L @08,CVTTCBP(,@08) 0831 01814000 L @08,TCBPTR(,@08) 0831 01815000 L @08,TCBTIO(,@08) 0831 01816000 ST @08,TIOTPTR 0831 01817000 * DO WHILE TIOELNGH^=ZERO; /* @ZM30746*/ 01818000 B @DE00832 0832 01819000 @DL00832 DS 0H 0833 01820000 * IF TIOEDDNM=CMSVC THEN /* @ZM30746*/ 01821000 L @08,TIOTPTR 0833 01822000 CLC TIOEDDNM(8,@08),CMSVC 0833 01823000 BNE @RF00833 0833 01824000 * DO; /* @ZM31134*/ 01825000 * INVUCBAD=TIOEFSRT; /* SAVE MSVI UCB ADDR @ZM31134*/ 01826000 L @08,TIOEFSRT-1(,@08) 0835 01827000 LA @08,0(,@08) 0835 01828000 ST @08,INVUCBAD 0835 01829000 * VVIIUCB=TIOEFSRT; /* SAVE MSVI UCB ADDR @ZM31134*/ 01830000 L @08,TIOTPTR 0836 01831000 L @08,TIOEFSRT-1(,@08) 0836 01832000 LA @08,0(,@08) 0836 01833000 ST @08,VVIIUCB(,VVIPTR) 0836 01834000 * END; /* @ZM31134*/ 01835000 * TIOTPTR=TIOTPTR+TWENTY; /* @ZM30746*/ 01836000 @RF00833 LA @08,20 0838 01837000 AL @08,TIOTPTR 0838 01838000 ST @08,TIOTPTR 0838 01839000 * END; /* @ZM30746*/ 01840000 @DE00832 L @08,TIOTPTR 0839 01841000 CLI TIOELNGH(@08),0 0839 01842000 BNE @DL00832 0839 01843000 * TIOTPTR=ZERO; /* @ZM30746*/ 01844000 SLR @08,@08 0840 01845000 ST @08,TIOTPTR 0840 01846000 * END; /* @ZM30746*/ 01847000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 01848000 B @EL00006 0842 01849000 * END VINALV2; /* @Y30LB27*/ 01850000 B @EL00006 0843 01851000 * 0844 01852000 */* ****************************************************************** 01853000 ** @Y30LB27 01854000 ** NAME = VINALJ2: SEGMENT TO ALLOCATE JOURNAL @G24LB04 01855000 ** @Y30LB27 01856000 ** INPUT = NONE @Y30LB27 01857000 ** @Y30LB27 01858000 ** PROCESS = VINALV2 IS A SUBSEGMENT OF SEGMENT VININDS. @Y30LB27 01859000 ** @Y30LB27 01860000 ** OUTPUT = JOURNAL IS ALLOCATED FOR MSVC THE TASK @Y30LB27 01861000 ** @Y30LB27 01862000 ******************************************************************** */ 01863000 * 0844 01864000 *VINALJ2: 0844 01865000 * PROC OPTIONS(SAVE(14)); /* @Y30LB27 01866000 * @Y30LB27*/ 01867000 VINALJ2 ST @14,@SA00007 0844 01868000 */********************************************************************* 01869000 * * FOR VS/2 DYNAICALLY ALLOC THE JOURNAL @Y30LB27 01870000 * ********************************************************************/ 01871000 * 0845 01872000 * /* @Y30LB27*/ 01873000 * S99RB=S99RB&&S99RB; /* CLEAR DYN ALLOC RB @Y30LB27*/ 01874000 XC S99RB(20),S99RB 0845 01875000 * S99RBLN=TWENTY; /* SET LENGTH TO 20 @Y30LB27*/ 01876000 MVI S99RBLN,X'14' 0846 01877000 * S99VERB=S99VRBAL; /* SET VERB CODE @Y30LB27*/ 01878000 MVI S99VERB,X'01' 0847 01879000 * S99NOMNT=ON; /* INDICATE DONT MOUNT VOLUME 0848 01880000 * @Y30LB27*/ 01881000 OI S99NOMNT,B'00100000' 0848 01882000 * S99TXTPP=ADDR(TXTPTR(ONE)); /* INITIALIZE TEXT PTR @Y30LB27*/ 01883000 LA @08,TXTPTR 0849 01884000 ST @08,S99TXTPP 0849 01885000 * S99TUPLN(2)=OFF; /* INDICATE END OF LIST @Y30LB27*/ 01886000 NI S99TUPLN+4(@08),B'01111111' 0850 01887000 * S99TUPLN(4)=ON; /* INDICATE END OF LIST @Y30LB27*/ 01888000 OI S99TUPLN+12(@08),B'10000000' 0851 01889000 */********************************************************************* 01890000 * * RESET DYN ALLOC PTRS FOR JOURNAL #Y30LB27 01891000 * ********************************************************************/ 01892000 * 0852 01893000 * TXTPTR(ONE)=ADDR(JRNLKEY1); /* SET DYN ALLOC TEXT PTR TO JRNL 01894000 * @Y30LB27*/ 01895000 LA @08,JRNLKEY1 0852 01896000 ST @08,TXTPTR 0852 01897000 * DO UCATLEN=ONE TO EIGHT WHILE(VVIUCAT(UCATLEN)^=BLANK);/* 0853 01898000 * @Y30LB27*/ 01899000 LA @08,1 0853 01900000 STH @08,UCATLEN 0853 01901000 @DL00853 LH @08,UCATLEN 0853 01902000 ALR @08,VVIPTR 0853 01903000 CLI VVIUCAT-1(@08),C' ' 0853 01904000 BE @DC00853 0853 01905000 * END; /* @Y30LB27*/ 01906000 LA @08,1 0854 01907000 AH @08,UCATLEN 0854 01908000 STH @08,UCATLEN 0854 01909000 C @08,@CF00039 0854 01910000 BNH @DL00853 0854 01911000 @DC00853 DS 0H 0855 01912000 * UCATLEN=UCATLEN-ONE; /* SEARCH FOR BLANK @Y30LB27*/ 01913000 LH @08,UCATLEN 0855 01914000 BCTR @08,0 0855 01915000 STH @08,UCATLEN 0855 01916000 * TXTPTR(TWO)->S99TUPAR(ONE:UCATLEN)=VVIUCAT;/* ADD CAT NAME 0856 01917000 * @Y30LB27*/ 01918000 L @08,TXTPTR+4 0856 01919000 LH @05,UCATLEN 0856 01920000 BCTR @05,0 0856 01921000 EX @05,@SM03980 0856 01922000 * TXTPTR(TWO)->S99TUPAR(UCATLEN+ONE)=PERIOD;/* SET DELIMITER 0857 01923000 * @Y30LB27*/ 01924000 LH @08,UCATLEN 0857 01925000 L @05,TXTPTR+4 0857 01926000 ALR @05,@08 0857 01927000 MVI S99TUPAR(@05),C'.' 0857 01928000 * TXTPTR(TWO)->S99TUPAR(UCATLEN+TWO:UCATLEN+FIVE)=CMSVC(ONE:FOUR); 01929000 LH @08,UCATLEN 0858 01930000 L @05,TXTPTR+4 0858 01931000 ALR @05,@08 0858 01932000 MVC S99TUPAR+1(4,@05),CMSVC 0858 01933000 * TXTPTR(TWO)->S99TUPAR(UCATLEN+SIX:UCATLEN+NINE)=CJRNL;/* #Y30LB27*/ 01934000 LH @08,UCATLEN 0859 01935000 L @05,TXTPTR+4 0859 01936000 ALR @05,@08 0859 01937000 MVC S99TUPAR+5(4,@05),CJRNL 0859 01938000 * TXTPTR(TWO)->S99TULNG=UCATLEN+NINE;/* SET NAME AND NEW LEN 0860 01939000 * #Y30LB27 01940000 * #Y30LB27*/ 01941000 L @08,TXTPTR+4 0860 01942000 LA @05,9 0860 01943000 AH @05,UCATLEN 0860 01944000 STCM @05,3,S99TULNG(@08) 0860 01945000 */********************************************************************* 01946000 * * DYN ALLOC THE JOURNAL #Y30LB27 01947000 * ********************************************************************/ 01948000 * 0861 01949000 * REG1=ADDR(S99RBPTR); /* SET PARM REG #Y30LB27*/ 01950000 LA REG1,S99RBPTR 0861 01951000 * GEN(SVC 99); /* ISSUE DYNAMIC ALLOC SVC 0862 01952000 * #Y30LB27*/ 01953000 SVC 99 01954000 * IF S99ERROR^=ZERO THEN 0863 01955000 LH @08,S99ERROR 0863 01956000 N @08,@CF03969 0863 01957000 LTR @08,@08 0863 01958000 BZ @RF00863 0863 01959000 * DO; /* DYNAMIC ALLOCATION ERROR 0864 01960000 * #Y30LB27*/ 01961000 * IF S99ERROR=LOCERR THEN /* LOCATE ERROR @YM02859*/ 01962000 CLC S99ERROR(2),LOCERR 0865 01963000 BNE @RF00865 0865 01964000 * DO; /* YES @YM02859*/ 01965000 * VINMSGID=MSGLOCE; /* INDICATE LOCATE ERROR @YM02859*/ 01966000 MVC VINMSGID(2),@CH02345 0867 01967000 * MSGLEN1=TXTPTR(TWO)->S99TULNG;/* SET LENGTH @YM02859*/ 01968000 L @08,TXTPTR+4 0868 01969000 MVC MSGLEN1(1),S99TULNG+1(@08) 0868 01970000 * MSGTEXT1=ADDR(TXTPTR(TWO)->S99TUPAR);/* SET NAME@YM02859 */ 01971000 LA @08,S99TUPAR(,@08) 0869 01972000 STCM @08,7,MSGTEXT1 0869 01973000 * END; /* END LOCATE ERROR @YM02859*/ 01974000 * ELSE /* NOT LOCATE ERROR @YM02859*/ 01975000 * VINMSGID=MSGDYNEJ; /* ISSUE ERROR MSG @ZM30746*/ 01976000 B @RC00865 0871 01977000 @RF00865 MVC VINMSGID(2),@CH00034 0871 01978000 * CNVRTWK1(ONE:TWO)=S99ERROR; /* CNVRT ERR CODE @ZM30746*/ 01979000 @RC00865 MVC CNVRTWK1(2),S99ERROR 0872 01980000 * CALL VINCNVRT; /* AND ADD TO ERR MSG @ZM30746*/ 01981000 BAL @14,VINCNVRT 0873 01982000 * CALL VINWTO; /* ISSUE MESSAGE @YM02859*/ 01983000 BAL @14,VINWTO 0874 01984000 * END; /* @YM02859*/ 01985000 * IF RPLVRETC=ZERO THEN /* @ZM30746*/ 01986000 @RF00863 LH @08,RPLVRETC(,RPLVPTR) 0876 01987000 N @08,@CF03969 0876 01988000 LTR @08,@08 0876 01989000 BNZ @RF00876 0876 01990000 * DO; /* @ZM30746*/ 01991000 * TIOTPTR=TCBTIO; /* @ZM30746*/ 01992000 L @08,CVTPTR 0878 01993000 L @08,CVTTCBP(,@08) 0878 01994000 L @08,TCBPTR(,@08) 0878 01995000 L @08,TCBTIO(,@08) 0878 01996000 ST @08,TIOTPTR 0878 01997000 * DO WHILE TIOELNGH^=ZERO; /* @ZM30746*/ 01998000 B @DE00879 0879 01999000 @DL00879 DS 0H 0880 02000000 * IF TIOEDDNM=MSVCJRNL THEN /* @ZM30746*/ 02001000 L @08,TIOTPTR 0880 02002000 CLC TIOEDDNM(8,@08),MSVCJRNL 0880 02003000 BNE @RF00880 0880 02004000 * DO; /* @ZM31134*/ 02005000 * JNLUCBAD=TIOEFSRT; /* SAVE MSVJ UCB ADDR @ZM31134*/ 02006000 L @08,TIOEFSRT-1(,@08) 0882 02007000 LA @08,0(,@08) 0882 02008000 ST @08,JNLUCBAD 0882 02009000 * VVIJUCB=TIOEFSRT; /* SAVE MSVJ UCB ADDR @ZM31134*/ 02010000 L @08,TIOTPTR 0883 02011000 L @08,TIOEFSRT-1(,@08) 0883 02012000 LA @08,0(,@08) 0883 02013000 ST @08,VVIJUCB(,VVIPTR) 0883 02014000 * END; /* @ZM31134*/ 02015000 * TIOTPTR=TIOTPTR+TWENTY; /* @ZM30746*/ 02016000 @RF00880 LA @08,20 0885 02017000 AL @08,TIOTPTR 0885 02018000 ST @08,TIOTPTR 0885 02019000 * END; /* @ZM30746*/ 02020000 @DE00879 L @08,TIOTPTR 0886 02021000 CLI TIOELNGH(@08),0 0886 02022000 BNE @DL00879 0886 02023000 * TIOTPTR=ZERO; /* @ZM30746*/ 02024000 SLR @08,@08 0887 02025000 ST @08,TIOTPTR 0887 02026000 * END; /* @ZM30746*/ 02027000 * RETURN; /* RETURN TO MAINLINE #YM02859*/ 02028000 @EL00007 DS 0H 0889 02029000 @EF00007 DS 0H 0889 02030000 @ER00007 L @14,@SA00007 0889 02031000 BR @14 0889 02032000 * END VINALJ2; /* #Y30LB27*/ 02033000 B @EL00007 0890 02034000 * 0891 02035000 */* *************************************************************** 02036000 ** @Y30LB27 02037000 ** VINMOPN: OPEN THE MSVC INVENTORY @Y30LB27 02038000 ** @Y30LB27 02039000 ** INPUT: @Y30LB27 02040000 ** ALLOCATED CONTROL BLOCK STRUCTURE @Y30LB27 02041000 ** USER CATALOG NAME, VVIUCAT IN ICBVVICB @Y30LB27 02042000 ** @Y30LB27 02043000 ** PROCESS: @Y30LB27 02044000 ** STORAGE IS GOTTEN FROM SUBPOOL 241 AND AN ACB IS @Y30LB27 02045000 ** INITIALIZED FOR MSVC. AN OPEN MACRO IS THEN @Y30LB27 02046000 ** ISSUED AND, IF UNSUCCESSFUL, A SHOWCB MACRO TO @Y30LB27 02047000 ** DETERMINE IF THE DATA SET IS OPEN. IF THE DATA @Y30LB27 02048000 ** SET IS OPEN,INDICATING A RECORD/EOF ERROR, THEN A @Y30LB27 02049000 ** VERIFY MACRO IS ISSUED TO CORRECT THE @Y30LB27 02050000 ** FAILURE. IF THIS ACTION FAILS ALSO, A VINWTO @Y30LB27 02051000 ** ERROR CODE IS SET TO INDICATE THE SOURCE OF ERROR. @Y30LB27 02052000 ** @Y30LB27 02053000 ** OUTPUT: @Y30LB27 02054000 ** 1. ACB FOR THE MSVC INVENTORY IS CHAINED TO ICBVVICB 0891 02055000 ** 2. VINWTO ERROR CODE INDICATING - @Y30LB27 02056000 ** =0, NO ERROR @Y30LB27 02057000 ** ^=0, OPEN ERROR ENCOUNTERED @Y30LB27 02058000 ** @Y30LB27 02059000 ******************************************************************* */ 02060000 * 0891 02061000 *VINMOPN: 0891 02062000 * PROC OPTIONS(SAVE(14)); /* @Y30LB27 02063000 * @Y30LB27*/ 02064000 VINMOPN ST @14,@SA00008 0891 02065000 */********************************************************************* 02066000 * * ACB ADDRES IS USED AS AN OPEN INDICATOR FOR TASK @Y30LB27 02067000 * * RE-INSTATEMENT IF NON-ZERO ACB IS STILL CONSIDERED OPEN @Y30LB27 02068000 * ********************************************************************/ 02069000 * 0892 02070000 * DO WHILE(VVIACBAD=ZERO); /* ACB BEEN ALLOC @Y30LB27 02071000 * @Y30LB27*/ 02072000 B @DE00892 0892 02073000 @DL00892 DS 0H 0893 02074000 */********************************************************************* 02075000 * * GET STORAGE FOR ACB @Y30LB27 02076000 * ********************************************************************/ 02077000 * 0893 02078000 * REG0=MAXDCBLN; /* GET LENGTH OF ACB INTO REG0 */ 02079000 LA REG0,96 0893 02080000 *LGETM1: 0894 02081000 * GEN(GETMAIN RC,LV=(0),SP=241);/* GET STORAGE FOR ACB @Y30LB27*/ 02082000 LGETM1 GETMAIN RC,LV=(0),SP=241 02083000 * IF REG15^=ZERO THEN 0895 02084000 LTR REG15,REG15 0895 02085000 BZ @RF00895 0895 02086000 * DO; /* STORAGE OBTAIN @Y30LB27*/ 02087000 * VINMSGID=MSGSTGE; /* SET MSG ID FOR STORAGE ERROR */ 02088000 MVC VINMSGID(2),@CH00250 0897 02089000 * CALL VINWTO; /* PRINT ERROR MESSAGE @Y30LB27*/ 02090000 BAL @14,VINWTO 0898 02091000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 02092000 @EL00008 DS 0H 0899 02093000 @EF00008 DS 0H 0899 02094000 @ER00008 L @14,@SA00008 0899 02095000 BR @14 0899 02096000 * END; /* @Y30LB27*/ 02097000 * VVIACBAD=REG1; /* SET ACB ADDRESS @Y30LB27*/ 02098000 @RF00895 ST REG1,VVIACBAD(,VVIPTR) 0901 02099000 * END; /* @ZM30746 02100000 * @Y30LB27*/ 02101000 @DE00892 L @08,VVIACBAD(,VVIPTR) 0902 02102000 LTR @08,@08 0902 02103000 BZ @DL00892 0902 02104000 */********************************************************************* 02105000 * * SET MODEL ACB INDICATE THAT ITS A CATALOG (SYSTEM DATA @Y30LB27 02106000 * * SET) AND THAT ITS MSVC @Y30LB27 02107000 * ********************************************************************/ 02108000 * 0903 02109000 * IFGACB=ACBLST; /* SET MODEL ACB @Y30LB27*/ 02110000 MVC IFGACB(76,@08),ACBLST 0903 02111000 * RJFCBSTG=RJFCBLST; /* SET LIST FOR RDJFCB @Y30LB27*/ 02112000 L @05,RJFCBLST 0904 02113000 ST @05,RJFCBSTG 0904 02114000 * ACBEXLST=ADDR(JFCBELST); /* SET EXIT LIST ADDR @Y30LB27*/ 02115000 LA @05,JFCBELST 0905 02116000 ST @05,ACBEXLST(,@08) 0905 02117000 * RFY 0906 02118000 * REG2 RSTD; /* PASS ACB ADDR VIS REG2 0906 02119000 * @Y30LB27*/ 02120000 * REG2=VVIACBAD; /* GET ACB ADDR @Y30LB27*/ 02121000 LR REG2,@08 0907 02122000 * REG1=ADDR(RJFCBSTG); /* PARMLIST FOR SVC @Y30LB27*/ 02123000 LA REG1,RJFCBSTG 0908 02124000 *LREADJF1: 0909 02125000 * GEN(RDJFCB ((REG2),),MF=(E,(REG1)));/* GET THE JFCB ADDR @Y30LB27*/ 02126000 LREADJF1 RDJFCB ((REG2),),MF=(E,(REG1)) 02127000 * RFY 0910 02128000 * REG2 UNRSTD; /* RELEASE REG2 TO THE CMPLR 0910 02129000 * @Y30LB27*/ 02130000 * IFGACB=ACBLST; /* SET MODEL ACB @Y30LB27*/ 02131000 L @08,VVIACBAD(,VVIPTR) 0911 02132000 MVC IFGACB(76,@08),ACBLST 0911 02133000 * ACBVVIC=ON; /* INDICATE MSVC ACB @Y30LB27*/ 02134000 * ACBCAT=ON; /* INDICATE BUFFERS FROM 241 0913 02135000 * @Y30LB27*/ 02136000 OI ACBVVIC(@08),B'00010010' 0913 02137000 * ACBUAPTR=ADDR(CATWKA); /* POINT TO VSAM CATALOG WORKAREA*/ 02138000 LA @05,CATWKA 0914 02139000 ST @05,ACBUAPTR(,@08) 0914 02140000 * TIOTPTR=TCBTIO; /* SET TIOT PTR @Y30LB27*/ 02141000 L @08,CVTPTR 0915 02142000 L @08,CVTTCBP(,@08) 0915 02143000 L @08,TCBPTR(,@08) 0915 02144000 L @08,TCBTIO(,@08) 0915 02145000 ST @08,TIOTPTR 0915 02146000 * DO WHILE TIOELNGH^=ZERO; /* SCAN TO END OF TIOT @Y30LB27*/ 02147000 B @DE00916 0916 02148000 @DL00916 DS 0H 0917 02149000 * IF TIOEDDNM=CMSVC THEN /* FOUND MSVC DDNAME @Y30LB27*/ 02150000 L @08,TIOTPTR 0917 02151000 CLC TIOEDDNM(8,@08),CMSVC 0917 02152000 BNE @RF00917 0917 02153000 * QMIDSKAD=ADDR(TIOELNGH); /* POINT TO TIOT ENTRY @Y30LB27*/ 02154000 LA @08,TIOELNGH(,@08) 0918 02155000 ST @08,QMIDSKAD 0918 02156000 * TIOTPTR=TIOTPTR+TWENTY; /* NEXT ENTRY @Y30LB27*/ 02157000 @RF00917 LA @08,20 0919 02158000 AL @08,TIOTPTR 0919 02159000 ST @08,TIOTPTR 0919 02160000 * END; /* END OF TIOT SEARCH @Y30LB27*/ 02161000 @DE00916 L @08,TIOTPTR 0920 02162000 CLI TIOELNGH(@08),0 0920 02163000 BNE @DL00916 0920 02164000 * TIOTPTR=ZERO; /* RESET TIOT PTR FOR ENABLE 0921 02165000 * @Y30LB27*/ 02166000 SLR @08,@08 0921 02167000 ST @08,TIOTPTR 0921 02168000 */********************************************************************* 02169000 * * SET MODEL OPEN LIST AND OPEN INV @Y30LB27 02170000 * ********************************************************************/ 02171000 * 0922 02172000 * REG0=VVIACBAD; /* SET ACB ADDRESS @Y30LB27*/ 02173000 L REG0,VVIACBAD(,VVIPTR) 0922 02174000 * OPNSTG=OPNLST; /* GET THE OPEN LIST @Y30LB27*/ 02175000 L @08,OPNLST 0923 02176000 ST @08,OPNSTG 0923 02177000 *LOPEN1: 0924 02178000 * GEN(OPEN ((REG0),),MF=(E,OPNSTG));/* OPEN THE ACB @Y30LB27*/ 02179000 LOPEN1 OPEN ((REG0),),MF=(E,OPNSTG) 02180000 * RFY 0925 02181000 * IDAAMB BASED(AMBLDTA); /* POINT TO DATA @ZA09527*/ 02182000 * IF(REG15=ZERO)&(ACBOPEN=ON) THEN/* @ZA09527*/ 02183000 LTR REG15,REG15 0926 02184000 BNZ @RF00926 0926 02185000 L @08,VVIACBAD(,VVIPTR) 0926 02186000 TM ACBOPEN(@08),B'00010000' 0926 02187000 BNO @RF00926 0926 02188000 * DO; /* @ZM30746*/ 02189000 * IF(AMBCREAT=OFF) THEN /* NULL DS @ZA09527*/ 02190000 L @05,ACBAMBL(,@08) 0928 02191000 L @05,AMBLDTA(,@05) 0928 02192000 TM AMBCREAT(@05),B'10000000' 0928 02193000 BNZ @RF00928 0928 02194000 * DO; /* @ZA09527*/ 02195000 * RPLVSAM=''B; /* CLEAR VSAM RPL @Y30LB27*/ 02196000 XC RPLVSAM(76,RPLVPTR),RPLVSAM(RPLVPTR) 0930 02197000 * RPLDACB=VVIACBAD; /* SET ACB ADDR @Y30LB27*/ 02198000 LA @05,56 0931 02199000 ALR @05,RPLVPTR 0931 02200000 ST @08,RPLDACB(,@05) 0931 02201000 * RPLLEN=LENGTH(RPLVSAM); /* SET ITS LENGTH @Y30LB27*/ 02202000 MVI RPLLEN(@05),X'4C' 0932 02203000 * RPLNEXIT=ON; /* NO USER EXITS @Y30LB27*/ 02204000 OI RPLNEXIT(@05),B'01000000' 0933 02205000 * RPLCNV=ON; /* CONTROL INTERVAL PROC @Y30LB27*/ 02206000 OI RPLCNV(@05),B'00100000' 0934 02207000 * RPLVLOC=OFF; /* LOCATE OFF @ZA09527*/ 02208000 * RPLVDIR=OFF; /* DIRECT OFF @ZA09527*/ 02209000 * RPLVNEXT=OFF; /* NO EXIT @ZA09527*/ 02210000 NI RPLVLOC(RPLVPTR),B'00011111' 0937 02211000 * RPLKGE=OFF; /* NO KGE @ZA09527*/ 02212000 NI RPLKGE(@05),B'11111011' 0938 02213000 * RPLUPD=OFF; /* NO UPDATE @ZA09527*/ 02214000 * RPLKEY=OFF; /* NO KEY @ZA09527 02215000 * @Y30LB27*/ 02216000 NI RPLUPD(@05),B'01111101' 0940 02217000 */********************************************************************* 02218000 * * ISSUE VERIFY @Y30LB27 02219000 * ********************************************************************/ 02220000 * 0941 02221000 * REG1=ADDR(RPLVSAM); /* SET RPL ADDR @Y30LB27*/ 02222000 LA REG1,RPLVSAM(,RPLVPTR) 0941 02223000 *LVER1: 0942 02224000 * GEN(VERIFY RPL=(REG1)); /* ISSUE VERIFY @Y30LB27 02225000 * @Y30LB27*/ 02226000 LVER1 VERIFY RPL=(REG1) 02227000 * RPLKEY=ON; /* KEY SPECIFIED @ZA09527*/ 02228000 LA @08,56 0943 02229000 ALR @08,RPLVPTR 0943 02230000 OI RPLKEY(@08),B'10000000' 0943 02231000 * RPLVLOC=OFF; /* NO LOCATE @ZA09527*/ 02232000 * RPLVDIR=OFF; /* NO DIRECT @ZA09527*/ 02233000 * RPLVNEXT=OFF; /* NO EXIT @ZA09527*/ 02234000 * RPLVKGE=OFF; /* NO KGE @ZA09527*/ 02235000 NI RPLVLOC(RPLVPTR),B'00011011' 0947 02236000 * RPLCNV=OFF; /* NO CONTROL INTERVAL @ZA09527*/ 02237000 NI RPLCNV(@08),B'11011111' 0948 02238000 * RPLVUPD=OFF; /* NO UPDATE @ZA09527*/ 02239000 NI RPLVUPD(RPLVPTR),B'11111101' 0949 02240000 * END; /* @ZA09527*/ 02241000 * END; /* @Y30LB27*/ 02242000 * ELSE /* @ZM30746*/ 02243000 * DO; /* @ZM30746*/ 02244000 B @RC00926 0952 02245000 @RF00926 DS 0H 0953 02246000 * RETRYSW=OFF; /* @ZM30746*/ 02247000 NI RETRYSW,B'01111111' 0953 02248000 * VINMSGID=MSGOPNEI; /* @ZM30746*/ 02249000 MVC VINMSGID(2),@CH00035 0954 02250000 * CNVRTWK1(ONE)=''B; /* @ZM30746*/ 02251000 MVI CNVRTWK1,X'00' 0955 02252000 * CNVRTWK1(TWO)=ACBERFLG; /* @ZM30746*/ 02253000 L @08,VVIACBAD(,VVIPTR) 0956 02254000 MVC CNVRTWK1+1(1),ACBERFLG(@08) 0956 02255000 * CALL VINCNVRT; /* @ZM30746*/ 02256000 BAL @14,VINCNVRT 0957 02257000 * CALL VINWTO; /* @ZM30746*/ 02258000 BAL @14,VINWTO 0958 02259000 * END; /* @ZM30746*/ 02260000 * END VINMOPN; /* @Y30LB27*/ 02261000 B @EL00008 0960 02262000 * 0961 02263000 */* **************************************************************** 02264000 ** @Y30LB27 02265000 ** VINJOPN: OPEN THE MSVC JOURNAL @Y30LB27 02266000 ** @Y30LB27 02267000 ** INPUT: @Y30LB27 02268000 ** 1. CONTROL BLOCK CONFIGURATION SET BY ALLOCATION @Y30LB27 02269000 ** 2. VVIUCAT, IN ICBVVICB, = MSVC VSAM USER CATALOG @Y30LB27 02270000 ** NAME @Y30LB27 02271000 ** @Y30LB27 02272000 ** PROCESS: @Y30LB27 02273000 ** STORAGE IS OBTAINED FROM SUBPOOL 241, A DCB IS @Y30LB27 02274000 ** CREATED, AND AN OPENJ MACRO ISSUED. THE DCB IS @Y30LB27 02275000 ** CHAINED TO THE ICBVVICB. @Y30LB27 02276000 ** @Y30LB27 02277000 ** IF AN ERROR IS ENCOUNTERED DUE TO OPEN, AN @Y30LB27 02278000 ** ERROR CODE, VINWTO, IS SET TO INDICATE THE SOURCE @Y30LB27 02279000 ** OF FAILURE. @Y30LB27 02280000 ** @Y30LB27 02281000 ** OUTPUT: @Y30LB27 02282000 ** IF JOURNAL SUCCESSFULLY OPENED - @Y30LB27 02283000 ** 1. DCB IS CHAINED TO ICBVVICB @Y30LB27 02284000 ** 2. VINWTO CODE = 0 @Y30LB27 02285000 ** IF JOURNAL UNSUCCESSFULLY OPENED - @Y30LB27 02286000 ** 1. VINWTO CODE ^= 0 @Y30LB27 02287000 ** @Y30LB27 02288000 ******************************************************************* */ 02289000 * 0961 02290000 *VINJOPN: 0961 02291000 * PROC OPTIONS(SAVE(14)); /* @Y30LB27*/ 02292000 VINJOPN ST @14,@SA00009 0961 02293000 */********************************************************************* 02294000 * * DCB ADDRESS IS USED AS INDICATOR THAT DCB IS OPEN ALREADY FOR TASK 02295000 * * RE-INSTATEMENT @Y30LB27 02296000 * ********************************************************************/ 02297000 * 0962 02298000 * DO WHILE(VVIDCBAD=ZERO); /* ALREADY OPENED @Y30LB27 02299000 * @Y30LB27*/ 02300000 B @DE00962 0962 02301000 @DL00962 DS 0H 0963 02302000 */********************************************************************* 02303000 * * GET STORAGE FOR DCB @G24LB04 02304000 * ********************************************************************/ 02305000 * 0963 02306000 * REG0=MAXDCBLN; /* GET LENGTH OF DCB @Y30LB27*/ 02307000 LA REG0,96 0963 02308000 *LGETM2: 0964 02309000 * GEN(GETMAIN RC,LV=(0),SP=241);/* GET STORAGE FOR ACB @Y30LB27*/ 02310000 LGETM2 GETMAIN RC,LV=(0),SP=241 02311000 * IF REG15^=ZERO THEN 0965 02312000 LTR REG15,REG15 0965 02313000 BZ @RF00965 0965 02314000 * DO; /* STORAGE OBTAIN @Y30LB27*/ 02315000 * VINMSGID=MSGSTGE; /* SET MSG INDEX @Y30LB27*/ 02316000 MVC VINMSGID(2),@CH00250 0967 02317000 * CALL VINWTO; /* PRINT ERROR MESSAGE @Y30LB27*/ 02318000 BAL @14,VINWTO 0968 02319000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 02320000 @EL00009 DS 0H 0969 02321000 @EF00009 DS 0H 0969 02322000 @ER00009 L @14,@SA00009 0969 02323000 BR @14 0969 02324000 * END; /* @Y30LB27 02325000 * @Y30LB27*/ 02326000 */********************************************************************* 02327000 * * EST DCB @Y30LB27 02328000 * ********************************************************************/ 02329000 * 0971 02330000 * VVIDCBAD=REG1; /* SET DCB ADDRESS @Y30LB27*/ 02331000 @RF00965 ST REG1,VVIDCBAD(,VVIPTR) 0971 02332000 * REG0=REG1; /* SET DCB ADDRESS @Y30LB27*/ 02333000 LR REG0,REG1 0972 02334000 * DCBPTR=REG1; /* SET DCB POINTER @Y30LB27*/ 02335000 ST REG1,DCBPTR 0973 02336000 * IHADCB=DCBLST; /* MOVE DCB INTO STORAGE @Y30LB27*/ 02337000 L @08,DCBPTR 0974 02338000 MVC IHADCB(52,@08),DCBLST 0974 02339000 * OPNSTG=OPNLST; /* SET OPEN LIST @Y30LB27 02340000 * @Y30LB27*/ 02341000 L @08,OPNLST 0975 02342000 ST @08,OPNSTG 0975 02343000 */********************************************************************* 02344000 * * FOR VS/2 JUST DO NORMAL OPEN @Y30LB27 02345000 * ********************************************************************/ 02346000 * 0976 02347000 * GEN(OPEN ((REG0),),MF=(E,OPNSTG));/* OPEN IT @Y30LB27 02348000 * @Y30LB27 02349000 * @Y30LB27*/ 02350000 OPEN ((REG0),),MF=(E,OPNSTG) 02351000 * IF DCBOFOPN^=ON THEN 0977 02352000 L @08,DCBPTR 0977 02353000 TM DCBOFOPN+40(@08),B'00010000' 0977 02354000 BO @RF00977 0977 02355000 * DO; /* OPEN ERROR @Y30LB27*/ 02356000 * VINMSGID=MSGOPNEJ; /* YES @Y30LB27*/ 02357000 MVC VINMSGID(2),@CH00033 0979 02358000 * CALL VINWTO; /* ISSUE ERROR MSG @Y30LB27*/ 02359000 BAL @14,VINWTO 0980 02360000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 02361000 B @EL00009 0981 02362000 * END; /* @Y30LB27*/ 02363000 * END; /* @Y30LB27*/ 02364000 @RF00977 DS 0H 0983 02365000 @DE00962 L @08,VVIDCBAD(,VVIPTR) 0983 02366000 LTR @08,@08 0983 02367000 BZ @DL00962 0983 02368000 * END VINJOPN; /* @Y30LB27*/ 02369000 B @EL00009 0984 02370000 * 0985 02371000 */* *************************************************************** 02372000 ** @Y30LB27 02373000 ** VINCRTDS: SEGMENT TO CREATE AND WRITE MSVC CONTROL @Y30LB27 02374000 ** RECORDS TO THE MSVC INVENTORY AT FIRST IPL @Y30LB27 02375000 ** AFTER SYSGEN @Y30LB27 02376000 ** @Y30LB27 02377000 ** INPUT: @Y30LB27 02378000 ** . VSAM OPEN CONTROL BLOCK CONFIGURATION FOR MSVC @Y30LB27 02379000 ** INVENTORY @Y30LB27 02380000 ** . ICBVVICB WITH THE FOLLOWING FIELDS UPDATED @Y30LB27 02381000 ** FROM VVIKEY00: VVIUCAT, MSVC VSAM USER CATALOG @Y30LB27 02382000 ** @Y30LB27 02383000 ** PROCESS: @Y30LB27 02384000 ** STORAGE IS OBTAINED FOR A BUFFER AND THE FOLLOWING @Y30LB27 02385000 ** RECORDS ARE CREATED AND WRITTEN TO THE MSVC INVENTORY:@Y30LB27 02386000 ** SYSGROUP (DEFAULT) HEADER RECORD @Y30LB27 02387000 ** NON-GROUPED HEADER RECORD @Y30LB27 02388000 ** CPU ASSOCIATION RECORD @Y30LB27 02389000 ** @Y30LB27 02390000 ** WHEN THESE RECORDS ARE WRITTEN, THE DATA SET IS @Y30LB27 02391000 ** CLOSED AND REOPENED. THIS STEP IS A VSAM REQUIREMENT @Y30LB27 02392000 ** SINCE, ON INITIAL UPDATES TO A VSAM KSDS DATA SET, @Y30LB27 02393000 ** ALL UPDATES MUST BE IN KEYED SEQUENTIAL ORDER. @Y30LB27 02394000 ** @Y30LB27 02395000 ** OUTPUT: @Y30LB27 02396000 ** IF SUCCESSFUL, @Y30LB27 02397000 ** VINWTO CODE =0, INDICATING DATA SET INITIALIZED @Y30LB27 02398000 ** THE MSVC INVENTORY IS UPDATED TO INCLUDE THE ABOVE @Y30LB27 02399000 ** RECORDS @Y30LB27 02400000 ** IF UNSUCCESSFUL, @Y30LB27 02401000 ** VINWTO CODE ^=0, INDICATING THE REASON FOR FAILURE @Y30LB27 02402000 ** @Y30LB27 02403000 ******************************************************************* */ 02404000 * 0985 02405000 *VINCRTDS: 0985 02406000 * PROC OPTIONS(SAVE(14)); /* @Y30LB27 02407000 * @Y30LB27*/ 02408000 VINCRTDS ST @14,@SA00010 0985 02409000 */********************************************************************* 02410000 * * GET STORAGE FOR MAXIMUM RECORD BUFFER @G24LB04 02411000 * ********************************************************************/ 02412000 * 0986 02413000 * REG0=MAXREC; /* GET LENGTH OF @Y30LB27 02414000 * MAXIMUM RECORD @G24LB04*/ 02415000 LA REG0,1024 0986 02416000 *LGETM3: 0987 02417000 * GEN(GETMAIN RC,LV=(0),SP=241); /* GET STORAGE FOR ACB @Y30LB27*/ 02418000 LGETM3 GETMAIN RC,LV=(0),SP=241 02419000 * IF REG15^=ZERO THEN 0988 02420000 LTR REG15,REG15 0988 02421000 BZ @RF00988 0988 02422000 * DO; /* STORAGE OBTAIN @Y30LB27*/ 02423000 * VINMSGID=MSGSTGE; /* SET MSG ID FOR ERROR @Y30LB27*/ 02424000 MVC VINMSGID(2),@CH00250 0990 02425000 * CALL VINWTO; /* PRINT ERROR MESSAGE @Y30LB27*/ 02426000 BAL @14,VINWTO 0991 02427000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 02428000 @EL00010 DS 0H 0992 02429000 @EF00010 DS 0H 0992 02430000 @ER00010 L @14,@SA00010 0992 02431000 BR @14 0992 02432000 * END; /* @Y30LB27*/ 02433000 * CPUIDPTR=REG1; /* SET PTR FOR GROUP RECORD 0994 02434000 * @Y30LB27 02435000 * @Y30LB27*/ 02436000 @RF00988 ST REG1,CPUIDPTR 0994 02437000 */********************************************************************* 02438000 * * INITIALIZE CPU ASSOC RECORD @Y30LB27 02439000 * ********************************************************************/ 02440000 * 0995 02441000 * CPUID=''B; /* INIT. THE NON-GRUOP RECORD 0995 02442000 * @Y30LB27*/ 02443000 L @08,CPUIDPTR 0995 02444000 XC CPUID(151,@08),CPUID(@08) 0995 02445000 * CPUNAME=CCPUIDK; /* SET NON-GROUP KEY @Y30LB27*/ 02446000 MVC CPUNAME(13,@08),CCPUIDK 0996 02447000 * CPUASSOC=ON; /* @YM30000*/ 02448000 OI CPUASSOC(@08),B'00000010' 0997 02449000 * RFY 0998 02450000 * IDAAMB BASED(AMBLIX); /* SET AMB POINTER @ZM31134*/ 02451000 * CPUINEXT=AMDNEXT; /* SET NUMBER OF INDEX EXTENTS 0999 02452000 * @ZM31134*/ 02453000 L @05,VVIACBAD(,VVIPTR) 0999 02454000 L @05,ACBAMBL(,@05) 0999 02455000 L @04,AMBLIX(,@05) 0999 02456000 L @04,AMBDSB(,@04) 0999 02457000 LH @04,AMDNEXT(,@04) 0999 02458000 STH @04,CPUINEXT(,@08) 0999 02459000 * RFY 1000 02460000 * IDAAMB BASED(AMBLDTA); /* SET AMB POINTER @ZM31134*/ 02461000 * CPUDNEXT=AMDNEXT; /* SET NUMBER OF DATA EXTENTS 1001 02462000 * @ZM31134*/ 02463000 L @05,AMBLDTA(,@05) 1001 02464000 L @05,AMBDSB(,@05) 1001 02465000 LH @05,AMDNEXT(,@05) 1001 02466000 STH @05,CPUDNEXT(,@08) 1001 02467000 * DO I=ONE TO SIXTEEN; /* 16 SLOTS @Y30LB27*/ 02468000 LA I,1 1002 02469000 @DL01002 DS 0H 1003 02470000 * CPUIDREC(I)=''; /* BLANK THE IDS @Y30LB27*/ 02471000 L @05,CPUIDPTR 1003 02472000 LR @04,I 1003 02473000 SLA @04,3 1003 02474000 ST @04,@TF00001 1003 02475000 ALR @04,@05 1003 02476000 MVI CPUIDREC-8(@04),C' ' 1003 02477000 MVC CPUIDREC-7(4,@04),CPUIDREC-8(@04) 1003 02478000 * CPUMASK(I)=''B; /* ZERO THE MASKS @Y30LB27*/ 02479000 LR @04,@05 1004 02480000 AL @04,@TF00001 1004 02481000 XC CPUMASK-8(2,@04),CPUMASK-8(@04) 1004 02482000 * CPUPURGE=''B; /* NOBODY TO PURGE @Y30LB27*/ 02483000 XC CPUPURGE(2,@05),CPUPURGE(@05) 1005 02484000 * END; /* @Y30LB27 02485000 * @Y30LB27*/ 02486000 AL I,@CF00055 1006 02487000 C I,@CF00167 1006 02488000 BNH @DL01002 1006 02489000 */********************************************************************* 02490000 * * INITIALIZE VSAM RPL @Y30LB27 02491000 * ********************************************************************/ 02492000 * 1007 02493000 * RPLVSAM=''B; /* CLEAR VSAM RPL @Y30LB27*/ 02494000 XC RPLVSAM(76,RPLVPTR),RPLVSAM(RPLVPTR) 1007 02495000 * RPLVTYP=RPLVPUT; /* PUT @Y30LB27*/ 02496000 MVI RPLVTYP(RPLVPTR),X'01' 1008 02497000 * RPLVBUF=CPUIDPTR; /* SET BUFFER ADDR @Y30LB27*/ 02498000 L @08,CPUIDPTR 1009 02499000 ST @08,RPLVBUF(,RPLVPTR) 1009 02500000 * RPLVKEY=CPUIDPTR; /* SET KEY ADDR @Y30LB27*/ 02501000 ST @08,RPLVKEY(,RPLVPTR) 1010 02502000 * RPLVRLN=LENGTH(CPUID); /* RECORD LENGTH @Y30LB27*/ 02503000 LA @08,151 1011 02504000 ST @08,RPLVRLN(,RPLVPTR) 1011 02505000 * RPLVBLN=LENGTH(CPUID); /* BUFFER LENGTH @Y30LB27 02506000 * @Y30LB27*/ 02507000 ST @08,RPLVBLN(,RPLVPTR) 1012 02508000 */********************************************************************* 02509000 * * WRITE CPU ASSOC REC @Y30LB27 02510000 * ********************************************************************/ 02511000 * 1013 02512000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV @Y30LB27*/ 02513000 LR REG1,RPLVPTR 1013 02514000 * CALL ICBVIO00; /* CALL ICBVIN00 @Y30LB27*/ 02515000 L @15,@CV03332 1014 02516000 BALR @14,@15 1014 02517000 * IF RPLVRETC^=ZERO THEN 1015 02518000 LH @08,RPLVRETC(,RPLVPTR) 1015 02519000 N @08,@CF03969 1015 02520000 LTR @08,@08 1015 02521000 BZ @RF01015 1015 02522000 * DO; /* VSAM I/O ERROR @Y30LB27*/ 02523000 * VINMSGID=MSGVSME; /* INDICATE VSAM ERROR @Y30LB27*/ 02524000 MVC VINMSGID(2),@CH00172 1017 02525000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST @Y30LB27*/ 02526000 MVI MSGLEN1,X'0C' 1018 02527000 * MSGTEXT1=RPLVKEY; /* LOCATION OF NON-GRP @YM02859*/ 02528000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1019 02529000 * CNVRTWK1=RPLRCODE; /* SET REASON CODE @Y30LB27*/ 02530000 MVI CNVRTWK1+2,X'00' 1020 02531000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1020 02532000 * CALL VINCNVRT; /* CNVRT IT @Y30LB27*/ 02533000 BAL @14,VINCNVRT 1021 02534000 * CALL VINWTO; /* ISSUE THE MSG @Y30LB27*/ 02535000 BAL @14,VINWTO 1022 02536000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 02537000 B @EL00010 1023 02538000 * END; /* @Y30LB27 02539000 * @Y30LB27*/ 02540000 */********************************************************************* 02541000 * * INIT SYSGROUP RECORD @Y30LB27 02542000 * ********************************************************************/ 02543000 * 1025 02544000 * GROUPPTR=CPUIDPTR; /* SET PTR @Y30LB27*/ 02545000 @RF01015 L @08,CPUIDPTR 1025 02546000 ST @08,GROUPPTR 1025 02547000 * GROUP=''B; /* INIT. THE GROUOP RECORD 1026 02548000 * @Y30LB27*/ 02549000 XC GROUP(164,@08),GROUP(@08) 1026 02550000 * GRONAME=CSYSGRPK; /* SET SYSGROUP KEY @Y30LB27*/ 02551000 MVC GRONAME(13,@08),CSYSGRPK 1027 02552000 * GROBLANK=''; /* RECORD ID @Y30LB27*/ 02553000 MVI GROBLANK(@08),C' ' 1028 02554000 * GROFSN=''; /* SER # OF 1ST VOLUME @Y30LB27*/ 02555000 MVI GROFSN(@08),C' ' 1029 02556000 MVC GROFSN+1(5,@08),GROFSN(@08) 1029 02557000 * GROLSN=''; /* SER # OF LAST VOLUME @Y30LB27*/ 02558000 MVI GROLSN(@08),C' ' 1030 02559000 MVC GROLSN+1(5,@08),GROLSN(@08) 1030 02560000 * GROERRTS=''; /* ERROR TIME STAMP @Y30LB27*/ 02561000 MVI GROERRTS(@08),C' ' 1031 02562000 MVC GROERRTS+1(7,@08),GROERRTS(@08) 1031 02563000 * GRODESCR=''; /* DESCRIPTION @Y30LB27*/ 02564000 MVI GRODESCR(@08),C' ' 1032 02565000 MVC GRODESCR+1(29,@08),GRODESCR(@08) 1032 02566000 * GROOWNER=''; /* OWNER @Y30LB27*/ 02567000 MVI GROOWNER(@08),C' ' 1033 02568000 MVC GROOWNER+1(9,@08),GROOWNER(@08) 1033 02569000 * GROADDR=''; /* ADDR OF GROUP OWNER @Y30LB27*/ 02570000 MVI GROADDR(@08),C' ' 1034 02571000 MVC GROADDR+1(29,@08),GROADDR(@08) 1034 02572000 * GROGVR=ON; /* VOLUME RECORD @Y30LB27*/ 02573000 OI GROGVR(@08),B'10000000' 1035 02574000 * GROPSPD=EIGHT; /* PRIMARY SPACE @Y30LB27*/ 02575000 LA @05,8 1036 02576000 STH @05,GROPSPD(,@08) 1036 02577000 * GROSSPD=EIGHT; /* SECONDARY SPACE @Y30LB27 02578000 * @Y30LB27*/ 02579000 STH @05,GROSSPD(,@08) 1037 02580000 */********************************************************************* 02581000 * * SET UP RPL AND WRITE SYSGROUP RECORD @Y30LB27 02582000 * ********************************************************************/ 02583000 * 1038 02584000 * RPLVRLN=LENGTH(GROUP); /* SET LENGTH TO GROUP LENGTH 1038 02585000 * @Y30LB27*/ 02586000 LA @08,164 1038 02587000 ST @08,RPLVRLN(,RPLVPTR) 1038 02588000 * RPLVBLN=LENGTH(GROUP); /* SET LENGTH TO GROUP LENGTH 1039 02589000 * @Y30LB27*/ 02590000 ST @08,RPLVBLN(,RPLVPTR) 1039 02591000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV @Y30LB27*/ 02592000 LR REG1,RPLVPTR 1040 02593000 * CALL ICBVIO00; /* CALL ICBVIN00 @Y30LB27*/ 02594000 L @15,@CV03332 1041 02595000 BALR @14,@15 1041 02596000 * IF RPLVRETC^=ZERO THEN 1042 02597000 LH @08,RPLVRETC(,RPLVPTR) 1042 02598000 N @08,@CF03969 1042 02599000 LTR @08,@08 1042 02600000 BZ @RF01042 1042 02601000 * DO; /* VSAM I/O ERROR @Y30LB27*/ 02602000 * VINMSGID=MSGVSME; /* INDICATE VSAM ERROR @Y30LB27*/ 02603000 MVC VINMSGID(2),@CH00172 1044 02604000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST @Y30LB27*/ 02605000 MVI MSGLEN1,X'0C' 1045 02606000 * MSGTEXT1=RPLVKEY; /* LOCATION OF NON-GRP @YM02859*/ 02607000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1046 02608000 * CNVRTWK1=RPLRCODE; /* SET REASON CODE @Y30LB27*/ 02609000 MVI CNVRTWK1+2,X'00' 1047 02610000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1047 02611000 * CALL VINCNVRT; /* INVOKE CNVRSION RTN @Y30LB27*/ 02612000 BAL @14,VINCNVRT 1048 02613000 * CALL VINWTO; /* ISSUE ERROR MSG @Y30LB27*/ 02614000 BAL @14,VINWTO 1049 02615000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 02616000 B @EL00010 1050 02617000 * END; /* @Y30LB27 02618000 * @Y30LB27*/ 02619000 */********************************************************************* 02620000 * * INITAILZE NON-GROUPED HEADER RECORD @Y30LB27 02621000 * ********************************************************************/ 02622000 * 1052 02623000 * NGVRPTR=GROUPPTR; /* SET PTR FOR NON-GROUP VOLUME 02624000 * RECORD @Y30LB27*/ 02625000 @RF01042 L @08,GROUPPTR 1052 02626000 ST @08,NGVRPTR 1052 02627000 * NGVR=''B; /* INIT. THE NON-GRUOP RECORD 1053 02628000 * @Y30LB27*/ 02629000 XC NGVR(40,@08),NGVR(@08) 1053 02630000 * GRONAME=CNGRPK; /* SET NON-GROUP KEY @Y30LB27*/ 02631000 L @05,GROUPPTR 1054 02632000 MVC GRONAME(13,@05),CNGRPK 1054 02633000 * NGVHDR=ON; /* HDR FLAG @Y30LB27*/ 02634000 OI NGVHDR(@08),B'00000001' 1055 02635000 * NGVFVOL=''; /* 1ST VOL SER @Y30LB27*/ 02636000 MVI NGVFVOL(@08),C' ' 1056 02637000 MVC NGVFVOL+1(5,@08),NGVFVOL(@08) 1056 02638000 * NGVLVOL=''; /* LAST VOL SER @Y30LB27 02639000 * @Y30LB27*/ 02640000 MVI NGVLVOL(@08),C' ' 1057 02641000 MVC NGVLVOL+1(5,@08),NGVLVOL(@08) 1057 02642000 */********************************************************************* 02643000 * * UPDATE VSAM RPL AND WRITE NON-GROUPED VOLUME HEADER @Y30LB27 02644000 * ********************************************************************/ 02645000 * 1058 02646000 * RPLVRLN=LENGTH(NGVR); /* SET GROUP LENGTH @Y30LB27*/ 02647000 LA @08,40 1058 02648000 ST @08,RPLVRLN(,RPLVPTR) 1058 02649000 * RPLVBLN=LENGTH(NGVR); /* SET GROUP LENGTH @Y30LB27*/ 02650000 ST @08,RPLVBLN(,RPLVPTR) 1059 02651000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV @Y30LB27*/ 02652000 LR REG1,RPLVPTR 1060 02653000 * CALL ICBVIO00; /* CALL ICBVIO00 @Y30LB27*/ 02654000 L @15,@CV03332 1061 02655000 BALR @14,@15 1061 02656000 * IF RPLVRETC^=ZERO THEN 1062 02657000 LH @08,RPLVRETC(,RPLVPTR) 1062 02658000 N @08,@CF03969 1062 02659000 LTR @08,@08 1062 02660000 BZ @RF01062 1062 02661000 * DO; /* VSAM I/O ERROR @Y30LB27*/ 02662000 * VINMSGID=MSGVSME; /* INDICATE VSAM ERROR @Y30LB27*/ 02663000 MVC VINMSGID(2),@CH00172 1064 02664000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST @Y30LB27*/ 02665000 MVI MSGLEN1,X'0C' 1065 02666000 * MSGTEXT1=RPLVKEY; /* LOCATION OF NON-GRP @YM02859*/ 02667000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1066 02668000 * CNVRTWK1=RPLRCODE; /* SET REASON CODE @Y30LB27*/ 02669000 MVI CNVRTWK1+2,X'00' 1067 02670000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1067 02671000 * CALL VINCNVRT; /* SET IN MSG CMP LIST @Y30LB27*/ 02672000 BAL @14,VINCNVRT 1068 02673000 * CALL VINWTO; /* ISSUE THE ERROR MSG @Y30LB27*/ 02674000 BAL @14,VINWTO 1069 02675000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 02676000 B @EL00010 1070 02677000 * END; /* @Y30LB27 02678000 * @Y30LB27*/ 02679000 */********************************************************************* 02680000 * * CLOSE THE INVENTORY @Y30LB27 02681000 * ********************************************************************/ 02682000 * 1072 02683000 * REG0=VVIACBAD; /* SET ACB ADDRESS @Y30LB27*/ 02684000 @RF01062 L REG0,VVIACBAD(,VVIPTR) 1072 02685000 * CLSSTG=CLSLST; /* SET THE CLOSE LIST @Y30LB27*/ 02686000 L @08,CLSLST 1073 02687000 ST @08,CLSSTG 1073 02688000 *LCLOSE2: 1074 02689000 * GEN(CLOSE ((REG0),),MF=(E,CLSSTG));/* CLOSE THE ACB @Y30LB27*/ 02690000 LCLOSE2 CLOSE ((REG0),),MF=(E,CLSSTG) 02691000 * RPLVSAM=''B; /* CLEAR RPL @ZM31138 02692000 * @Y30LB27*/ 02693000 XC RPLVSAM(76,RPLVPTR),RPLVSAM(RPLVPTR) 1075 02694000 */********************************************************************* 02695000 * * RE-OPEN THE INVENTORY @Y30LB27 02696000 * ********************************************************************/ 02697000 * 1076 02698000 * CALL VINMOPN; /* RE-OPEN THE INVENTORY @Y30LB27*/ 02699000 BAL @14,VINMOPN 1076 02700000 * RETURN; /* RETURN TO VIN MAINLINE 1077 02701000 * @Y30LB27*/ 02702000 B @EL00010 1077 02703000 * END VINCRTDS; /* @Y30LB27*/ 02704000 * 1079 02705000 */******************************************************** @ZA05115 02706000 ** @ZA05115 02707000 ** NAME = UPDTRCDS @ZA05115 02708000 ** @ZA05115 02709000 ** INPUT= NONE @ZA05115 02710000 ** @ZA05115 02711000 ** PROCESS = UPDATE THE CPUID RECORD @ZA05115 02712000 ** @ZA05115 02713000 ** OUTPUT = THE CPUID RECORD IS UPDATED @ZA05115 02714000 ** @ZA05115 02715000 ********************************************************** @ZA05115*/ 02716000 * 1079 02717000 *UPDTRCDS: 1079 02718000 * PROC OPTIONS(SAVE(14)); 1079 02719000 * 1079 02720000 UPDTRCDS ST @14,@SA00011 1079 02721000 */********************************************************************* 02722000 * * GET MAX RECORD BUFFER IF NOT ALREADY OBTAINED @ZA05115 02723000 * ********************************************************************/ 02724000 * 1080 02725000 * DO WHILE(CPUIDPTR=ZERO); /* RECORD BUFFER OBTAINED 1080 02726000 * @ZA05115*/ 02727000 B @DE01080 1080 02728000 @DL01080 DS 0H 1081 02729000 * REG0=MAXREC; /* GET LENGTH OF @ZA05115 02730000 * MAXIMUM RECORD @ZA05115*/ 02731000 LA REG0,1024 1081 02732000 *LGETM9: 1082 02733000 * GEN(GETMAIN RC,LV=(0),SP=241);/* GET STORAGE @ZA05115 02734000 * FOR ACB @ZA05115*/ 02735000 LGETM9 GETMAIN RC,LV=(0),SP=241 02736000 * IF REG15^=ZERO THEN 1083 02737000 LTR REG15,REG15 1083 02738000 BZ @RF01083 1083 02739000 * DO; /* STORAGE OBTAIN @ZA05115*/ 02740000 * VINMSGID=MSGSTGE; /* SET MSG ID @ZA05115*/ 02741000 MVC VINMSGID(2),@CH00250 1085 02742000 * CALL VINWTO; /* PRINT ERROR MESSAGE @ZA05115*/ 02743000 BAL @14,VINWTO 1086 02744000 * RETURN; /* RETURN TO CALLER @ZA05115*/ 02745000 @EL00011 DS 0H 1087 02746000 @EF00011 DS 0H 1087 02747000 @ER00011 L @14,@SA00011 1087 02748000 BR @14 1087 02749000 * END; /* @ZA05115*/ 02750000 * CPUIDPTR=REG1; /* SET PTR FOR RECORD @ZA05115 02751000 * BUFFER @ZA05115*/ 02752000 @RF01083 ST REG1,CPUIDPTR 1089 02753000 * END; /* BUFFER OBTAINED @ZA05115*/ 02754000 @DE01080 L @08,CPUIDPTR 1090 02755000 LTR @08,@08 1090 02756000 BZ @DL01080 1090 02757000 */********************************************************************* 02758000 * * GET CPU ASSOCIATION RECORD @ZA05115 02759000 * ********************************************************************/ 02760000 * 1091 02761000 * RPLVTYP=RPLVREAD; /* INDICATE READ @ZA05115*/ 02762000 MVI RPLVTYP(RPLVPTR),X'00' 1091 02763000 * RPLVUPD=ON; /* FOR UPDATE @ZA05115*/ 02764000 OI RPLVUPD(RPLVPTR),B'00000010' 1092 02765000 * RPLVBUF=CPUIDPTR; /* SET BUFFER ADDRESS @ZA05115*/ 02766000 ST @08,RPLVBUF(,RPLVPTR) 1093 02767000 * RPLVKEY=CPUIDPTR; /* SET KEY ADDRESS @ZA05115*/ 02768000 ST @08,RPLVKEY(,RPLVPTR) 1094 02769000 * RPLVRLN=LENGTH(CPUID); /* SET KEY ADDRESS @ZA05115*/ 02770000 LA @05,151 1095 02771000 ST @05,RPLVRLN(,RPLVPTR) 1095 02772000 * RPLVBLN=LENGTH(CPUID); /* SET KEY ADDRESS @ZA05115*/ 02773000 ST @05,RPLVBLN(,RPLVPTR) 1096 02774000 * CPUNAME=CCPUIDK; /* SET KWY ADDR @ZA05115*/ 02775000 MVC CPUNAME(13,@08),CCPUIDK 1097 02776000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV @ZA05115*/ 02777000 LR REG1,RPLVPTR 1098 02778000 * CALL ICBVIO00; /* GET CPUID REC @ZA05115*/ 02779000 L @15,@CV03332 1099 02780000 BALR @14,@15 1099 02781000 * IF RPLVRETC^=ZERO THEN 1100 02782000 LH @08,RPLVRETC(,RPLVPTR) 1100 02783000 N @08,@CF03969 1100 02784000 LTR @08,@08 1100 02785000 BZ @RF01100 1100 02786000 * DO; /* VSAM I/O ERROR @ZA05115*/ 02787000 * VINMSGID=MSGVSME; /* INDICATE VSAM ERROR @ZA05115*/ 02788000 MVC VINMSGID(2),@CH00172 1102 02789000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST @ZA05115*/ 02790000 MVI MSGLEN1,X'0C' 1103 02791000 * MSGTEXT1=RPLVKEY; /* LOCATION OF NON-GRP @ZA05115*/ 02792000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1104 02793000 * CNVRTWK1=RPLRCODE; /* SET REASON CODE @ZA05115*/ 02794000 MVI CNVRTWK1+2,X'00' 1105 02795000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1105 02796000 * CALL VINCNVRT; /* TO MSG @ZA05115*/ 02797000 BAL @14,VINCNVRT 1106 02798000 * CALL VINWTO; /* ISSUE MESSAGE @ZA05115*/ 02799000 BAL @14,VINWTO 1107 02800000 * RETURN; /* RETURN TO CALLER @ZA05115*/ 02801000 B @EL00011 1108 02802000 * END; /* @ZA05115*/ 02803000 * 1109 02804000 * /*****************************************************************/ 02805000 * /* */ 02806000 * /* UPDATE THE NUMBER OF EXTENTS IN THE CPU ID @ZA05115*/ 02807000 * /* RECORD @ZA05115*/ 02808000 * /* */ 02809000 * /*****************************************************************/ 02810000 * 1110 02811000 * RFY 1110 02812000 * IDAAMB BASED(AMBLIX); /* SET AMB POINTER @ZA05115*/ 02813000 @RF01100 DS 0H 1111 02814000 * CPUINEXT=AMDNEXT; /* SET NUMBER OF INDEX EXTENTS 1111 02815000 * @ZA05115*/ 02816000 L @08,CPUIDPTR 1111 02817000 L @05,VVIACBAD(,VVIPTR) 1111 02818000 L @05,ACBAMBL(,@05) 1111 02819000 L @04,AMBLIX(,@05) 1111 02820000 L @04,AMBDSB(,@04) 1111 02821000 LH @04,AMDNEXT(,@04) 1111 02822000 STH @04,CPUINEXT(,@08) 1111 02823000 * RFY 1112 02824000 * IDAAMB BASED(AMBLDTA); /* SET AMB POINTER @ZA05115*/ 02825000 * CPUDNEXT=AMDNEXT; /* SET NUMBER OF DATA EXTENTS 1113 02826000 * @ZA05115*/ 02827000 L @05,AMBLDTA(,@05) 1113 02828000 L @05,AMBDSB(,@05) 1113 02829000 LH @05,AMDNEXT(,@05) 1113 02830000 STH @05,CPUDNEXT(,@08) 1113 02831000 */********************************************************************* 02832000 * * MODIFY RPL AND PUT THE UPDATED CPU ASSOC RECORD @ZA05115 02833000 * ********************************************************************/ 02834000 * 1114 02835000 * RPLVTYP=RPLVPUT; /* INDICATE READ @ZA05115*/ 02836000 MVI RPLVTYP(RPLVPTR),X'01' 1114 02837000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV @ZA05115*/ 02838000 LR REG1,RPLVPTR 1115 02839000 * CALL ICBVIO00; /* WRITE THE RECORD @ZA05115*/ 02840000 L @15,@CV03332 1116 02841000 BALR @14,@15 1116 02842000 * IF RPLVRETC^=ZERO THEN 1117 02843000 LH @08,RPLVRETC(,RPLVPTR) 1117 02844000 N @08,@CF03969 1117 02845000 LTR @08,@08 1117 02846000 BZ @RF01117 1117 02847000 * DO; /* VSAM I/O ERROR @ZA05115*/ 02848000 * VINMSGID=MSGVSME; /* INDICATE VSAM ERROR @ZA05115*/ 02849000 MVC VINMSGID(2),@CH00172 1119 02850000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST @ZA05115*/ 02851000 MVI MSGLEN1,X'0C' 1120 02852000 * MSGTEXT1=RPLVKEY; /* SET KEY ADDR @ZA05115*/ 02853000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1121 02854000 * CNVRTWK1=RPLRCODE; /* SET REASON CODE @ZA05115*/ 02855000 MVI CNVRTWK1+2,X'00' 1122 02856000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1122 02857000 * CALL VINCNVRT; /* AND ADD TO MSG @ZA05115*/ 02858000 BAL @14,VINCNVRT 1123 02859000 * CALL VINWTO; /* ISSUE MESSAGE @ZA05115*/ 02860000 BAL @14,VINWTO 1124 02861000 * RETURN; /* RETURN TO CALLER @ZA05115*/ 02862000 B @EL00011 1125 02863000 * END; /* @ZA05115*/ 02864000 */********************************************************************* 02865000 * * UPDATE VSAM RPL AND ISSUE ENDREC @ZA05115 02866000 * ********************************************************************/ 02867000 * 1127 02868000 * RPLVTYP=RPLVENDR; /* INDICATE PUT TO VSAM @ZA05115*/ 02869000 @RF01117 MVI RPLVTYP(RPLVPTR),X'04' 1127 02870000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV @ZA05115*/ 02871000 LR REG1,RPLVPTR 1128 02872000 * CALL ICBVIO00; /* ISSUE ENDREC @ZA05115*/ 02873000 L @15,@CV03332 1129 02874000 BALR @14,@15 1129 02875000 * RPLVSAM=''B; /* CLEAR RPL @ZA05115*/ 02876000 XC RPLVSAM(76,RPLVPTR),RPLVSAM(RPLVPTR) 1130 02877000 * END UPDTRCDS; /* @ZA05515*/ 02878000 B @EL00011 1131 02879000 * 1132 02880000 */* ****************************************************************** 02881000 ** @Y30LB27 02882000 ** NAME = VINTBUPT: UPDATE INVENTORY WITH IPL ACTIVITY @Y30LB27 02883000 ** @Y30LB27 02884000 ** INPUT = RPL CHAIN CONSTRUCTED BY ICBVPI00, CHAINED @Y30LB27 02885000 ** FROM THE LOW PRIORITY IPL QUEUE OF THE ICBMSVCB @Y30LB27 02886000 ** CONTROL BLOCK AND THE 'USERCAT.MSVI' DATA SET. @Y30LB27 02887000 ** @Y30LB27 02888000 ** PROCESS = VINTBUPT TAKES THE RPL BUILT BY @Y30LB27 02889000 ** ICBVPI00, CHAINED FROM THE ICBVVICB CONTROL BLOCK @Y30LB27 02890000 ** (LOW PRIORITY RPL QUEUE), AND EXTRACTS THE ENTRYS INTO 1132 02891000 ** THEIR INDIVIDUAL COMPONENT ORDERS. VINTBUPT (VIA 1132 02892000 ** ICBVSP00) THEN PROCESSES EACH INDIVIDUAL ORDER AGAINST 1132 02893000 ** THE 'USERCAT.MSVI' DATA SET. AFTER ALL RPLS HAVE BEEN APPLIED, 02894000 ** THE UCBS ARE SCANNED FOR VIRTUAL UCBS UPDATING THE 1132 02895000 ** CURRENT MOUNT STATUS IN THE MSVGRP AND VOLUME RECORDS. 1132 02896000 ** ANY VOLUMES MARKED DEMOUNTED BECAUSE OF A PURGE OR 1132 02897000 ** ASSOCAITE ORDER HAVE THEIR DOWN LEVEL SPACE INDICATOR 1132 02898000 ** TURNED ON. ANY VOLUMES MARKED MOUNTED BECAUSE OF THE 1132 02899000 ** UCB SCAN WILL HAVE THEIR DOWN LEVEL SPACE FLAG TURNED @G24LB23 02900000 ** OFF. IF UPDATING MOUNT STATUS AFTER THE MSVI DATA SET 1132 02901000 ** HAS BEEN RESTORED, ALL GENERAL USE MOUNTED VOLUMES @G24LB23 02902000 ** (IF MOUNTED PRIVATE RESERVED OR REMOVABLE OR WITH NO @G24LB23 02903000 ** MOUNT AND USE ATTRIBUTES, AND BELONG TO A GROUP OTHER @G24LB23 02904000 ** THAN SYSGROUP) WILL BE LSPACED TO GET ACCURATE @G24LB23 02905000 ** AVAILABLE FREE SPACE. IF THE RUNNING SPACE INVALID @G24LB23 02906000 ** FLAG IS ON, IT WILL BE TURNED OFF. @G24LB23 02907000 ** ORDERS PROCESSED ARE PURGE, ASSOCIATE, AND 1132 02908000 ** DISASSOCIATE. CPU ASSOCIATON RECORD AND THE 1132 02909000 ** ICBVVICB CONTROL BLOCK ARE UPDATED TO REFLECT CPU 1132 02910000 ** ASSOCIATION STATUS. 1132 02911000 ** @Z37LB26 02912000 ** OUTPUT = 'USERCAT.MSVI' DATA SET UPDATED TO REFLECT PURGE, 1132 02913000 ** ASSOCIATE, AND DISASSOCIATE PROCESSING, AND CURRENT SYSTEM MOUNT 02914000 ** STATUS. MSVGP, VOLUME, AND THE CPU ASSOCIATION RECORDS 1132 02915000 ** ARE INVOLVED IN THE UPDATE OPERATION. A VINWTO CODE IS SET 1132 02916000 ** INDICATING THE RESULTS OF THE SEGMENT. @Y30LB27 02917000 ** @Y30LB27 02918000 ******************************************************************** */ 02919000 * 1132 02920000 *VINTBUPT: 1132 02921000 * PROC OPTIONS(SAVE(14)); /* @Y30LB27 02922000 * @Y30LB27*/ 02923000 VINTBUPT ST @14,@SA00012 1132 02924000 */********************************************************************* 02925000 * * GET MAX RECORD BUFFER IF NOT ALREADY OBTAINED @Y30LB27 02926000 * ********************************************************************/ 02927000 * 1133 02928000 * DO WHILE(CPUIDPTR=ZERO); /* RECORD BUFFER OBTAINED 1133 02929000 * @Y30LB27*/ 02930000 B @DE01133 1133 02931000 @DL01133 DS 0H 1134 02932000 * REG0=MAXREC; /* GET LENGTH OF @Y30LB27 02933000 * MAXIMUM RECORD @G24LB04*/ 02934000 LA REG0,1024 1134 02935000 *LGETM4: 1135 02936000 * GEN(GETMAIN RC,LV=(0),SP=241);/* GET STORAGE FOR ACB @Y30LB27*/ 02937000 LGETM4 GETMAIN RC,LV=(0),SP=241 02938000 * IF REG15^=ZERO THEN 1136 02939000 LTR REG15,REG15 1136 02940000 BZ @RF01136 1136 02941000 * DO; /* STORAGE OBTAIN @Y30LB27*/ 02942000 * VINMSGID=MSGSTGE; /* SET MSG ID @Y30LB27*/ 02943000 MVC VINMSGID(2),@CH00250 1138 02944000 * CALL VINWTO; /* PRINT ERROR MESSAGE @Y30LB27*/ 02945000 BAL @14,VINWTO 1139 02946000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 02947000 @EL00012 DS 0H 1140 02948000 @EF00012 DS 0H 1140 02949000 @ER00012 L @14,@SA00012 1140 02950000 BR @14 1140 02951000 * END; /* @Y30LB27*/ 02952000 * CPUIDPTR=REG1; /* SET PTR FOR RECORD BUFFER 1142 02953000 * @Y30LB27*/ 02954000 @RF01136 ST REG1,CPUIDPTR 1142 02955000 * END; /* BUFFER OBTAINED @Y30LB27 02956000 * @Y30LB27*/ 02957000 @DE01133 L @08,CPUIDPTR 1143 02958000 LTR @08,@08 1143 02959000 BZ @DL01133 1143 02960000 */********************************************************************* 02961000 * * IF INITIALIZATION ESTABLISH MOUNT MASK FOR CPU - GET @Y30LB27 02962000 * * CPU ASSOCIATION RECORD @Y30LB27 02963000 * ********************************************************************/ 02964000 * 1144 02965000 * RPLVTYP=RPLVREAD; /* INDICATE READ @Y30LB27*/ 02966000 MVI RPLVTYP(RPLVPTR),X'00' 1144 02967000 * RPLVUPD=ON; /* FOR UPDATE @Y30LB27*/ 02968000 OI RPLVUPD(RPLVPTR),B'00000010' 1145 02969000 * RPLVBUF=CPUIDPTR; /* SET BUFFER ADDRESS @Y30LB27*/ 02970000 ST @08,RPLVBUF(,RPLVPTR) 1146 02971000 * RPLVKEY=CPUIDPTR; /* SET KEY ADDRESS @Y30LB27*/ 02972000 ST @08,RPLVKEY(,RPLVPTR) 1147 02973000 * RPLVRLN=LENGTH(CPUID); /* SET KEY ADDRESS @Y30LB27*/ 02974000 LA @05,151 1148 02975000 ST @05,RPLVRLN(,RPLVPTR) 1148 02976000 * RPLVBLN=LENGTH(CPUID); /* SET KEY ADDRESS @Y30LB27*/ 02977000 ST @05,RPLVBLN(,RPLVPTR) 1149 02978000 * CPUNAME=CCPUIDK; /* SET KWY ADDR @Y30LB27*/ 02979000 MVC CPUNAME(13,@08),CCPUIDK 1150 02980000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV @Y30LB27*/ 02981000 LR REG1,RPLVPTR 1151 02982000 * CALL ICBVIO00; /* GET CPUID REC @Y30LB27*/ 02983000 L @15,@CV03332 1152 02984000 BALR @14,@15 1152 02985000 * IF RPLVRETC^=ZERO THEN 1153 02986000 LH @08,RPLVRETC(,RPLVPTR) 1153 02987000 N @08,@CF03969 1153 02988000 LTR @08,@08 1153 02989000 BZ @RF01153 1153 02990000 * DO; /* VSAM I/O ERROR @Y30LB27*/ 02991000 * VINMSGID=MSGVSME; /* INDICATE VSAM ERROR @Y30LB27*/ 02992000 MVC VINMSGID(2),@CH00172 1155 02993000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST @Y30LB27*/ 02994000 MVI MSGLEN1,X'0C' 1156 02995000 * MSGTEXT1=RPLVKEY; /* LOCATION OF NON-GRP @YM02859*/ 02996000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1157 02997000 * CNVRTWK1=RPLRCODE; /* SET REASON CODE @Y30LB27*/ 02998000 MVI CNVRTWK1+2,X'00' 1158 02999000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1158 03000000 * CALL VINCNVRT; /* TO MSG @Y30LB27*/ 03001000 BAL @14,VINCNVRT 1159 03002000 * CALL VINWTO; /* ISSUE MESSAGE @Y30LB27*/ 03003000 BAL @14,VINWTO 1160 03004000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 03005000 B @EL00012 1161 03006000 * END; /* @Y30LB27 03007000 * @Y30LB27*/ 03008000 * SAVEI=ZERO; /* CLEAR SAVE AREA @Y30LB27*/ 03009000 @RF01153 SLR SAVEI,SAVEI 1163 03010000 * VVICPUID=ZERO; /* CLEAR CPUID @YM02859*/ 03011000 SLR @08,@08 1164 03012000 STH @08,VVICPUID(,VVIPTR) 1164 03013000 * DO I=ONE TO SIXTEEN; /* SEARCH FOR CPUID @Y30LB27*/ 03014000 LA I,1 1165 03015000 @DL01165 DS 0H 1166 03016000 * IF CPUIDREC(I)=ICBCPUID THEN 1166 03017000 L @03,CPUIDPTR 1166 03018000 LR @05,I 1166 03019000 SLA @05,3 1166 03020000 L @04,CVTPTR 1166 03021000 L @04,CVTEXT2(,@04) 1166 03022000 L @04,CVTICB(,@04) 1166 03023000 ST @05,@TF00001 1166 03024000 ALR @05,@03 1166 03025000 CLC CPUIDREC-8(5,@05),ICBCPUID(@04) 1166 03026000 BNE @RF01166 1166 03027000 * DO; /* CPUID FOUND @G24LB05*/ 03028000 * VVICPUID=CPUMASK(I); /* SET CPUID IN ICBVVICB @Y30LB27*/ 03029000 AL @03,@TF00001 1168 03030000 MVC VVICPUID(2,VVIPTR),CPUMASK-8(@03) 1168 03031000 * I=SIXTEEN; /* END SEARCH @Y30LB27*/ 03032000 LA I,16 1169 03033000 * END; /* @Y30LB27 03034000 * @Y30LB27*/ 03035000 */********************************************************************* 03036000 * * SAVE FIRST EMPTY SLOT IF FIRST TIME FOR THIS CPU @Y30LB27 03037000 * ********************************************************************/ 03038000 * 1171 03039000 * IF CPUIDREC(I)=BLANKS(ONE:FIVE)&SAVEI=ZERO THEN/* @Y30LB27*/ 03040000 @RF01166 LR @03,I 1171 03041000 SLA @03,3 1171 03042000 L @05,CPUIDPTR 1171 03043000 ALR @05,@03 1171 03044000 CLC CPUIDREC-8(5,@05),BLANKS 1171 03045000 BNE @RF01171 1171 03046000 LTR SAVEI,SAVEI 1171 03047000 BNZ @RF01171 1171 03048000 * SAVEI=I; /* SAVE INDEX ADDR @Y30LB27*/ 03049000 LR SAVEI,I 1172 03050000 * END; /* @Y30LB27 03051000 * @Y30LB27*/ 03052000 @RF01171 AL I,@CF00055 1173 03053000 C I,@CF00167 1173 03054000 BNH @DL01165 1173 03055000 */********************************************************************* 03056000 * * IF NOT FOUND AND NO SLOTS ISSUE ERROR MESSAGE @Y30LB27 03057000 * ********************************************************************/ 03058000 * 1174 03059000 * IF VVICPUID=ZERO&SAVEI=ZERO THEN 1174 03060000 SLR @08,@08 1174 03061000 LH @03,VVICPUID(,VVIPTR) 1174 03062000 N @03,@CF03969 1174 03063000 CR @08,@03 1174 03064000 BNE @RF01174 1174 03065000 CR SAVEI,@08 1174 03066000 BNE @RF01174 1174 03067000 * DO; /* @Y30LB27*/ 03068000 * VINMSGID=MSGCPUE; /* INDICATE VSAM ERROR @Y30LB27*/ 03069000 MVC VINMSGID(2),@CH00165 1176 03070000 * CALL VINWTO; /* ISSUE MESSAGE @Y30LB27*/ 03071000 BAL @14,VINWTO 1177 03072000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 03073000 B @EL00012 1178 03074000 * END; /* @Y30LB27 03075000 * @Y30LB27*/ 03076000 */********************************************************************* 03077000 * * IF NOT FOUND, SHIFT MASK AND USE CURRENT SLOT @Y30LB27 03078000 * ********************************************************************/ 03079000 * 1180 03080000 * DO WHILE(VVICPUID=ZERO); /* IF NOT FOUND FILL NEXT SLOT 1180 03081000 * @Y30LB27*/ 03082000 @RF01174 B @DE01180 1180 03083000 @DL01180 DS 0H 1181 03084000 * IDMASK=MASK8000; /* INIT MASK FIELD @Y30LB27*/ 03085000 LH @08,MASK8000 1181 03086000 N @08,@CF03969 1181 03087000 STH @08,IDMASK 1181 03088000 * DO I=ONE TO SAVEI-ONE; /* BUILD MASK @Y30LB27*/ 03089000 LA I,1 1182 03090000 B @DE01182 1182 03091000 @DL01182 DS 0H 1183 03092000 * IDMASK=IDMASK/TWO; /* SHIFT RIGHT CORRET NUMBER OF 03093000 * SLOTS @Y30LB27*/ 03094000 LH @03,IDMASK 1183 03095000 N @03,@CF03969 1183 03096000 SRL @03,1 1183 03097000 STH @03,IDMASK 1183 03098000 * END; /* @Y30LB27*/ 03099000 AL I,@CF00055 1184 03100000 @DE01182 LR @03,SAVEI 1184 03101000 BCTR @03,0 1184 03102000 CR I,@03 1184 03103000 BNH @DL01182 1184 03104000 * VVICPUID=IDMASK; /* SET MASK IN CONTROL BLOCK 1185 03105000 * @Y30LB27*/ 03106000 MVC VVICPUID(2,VVIPTR),IDMASK 1185 03107000 * CPUIDREC(SAVEI)=ICBCPUID; /* SAVE CPUID @G24LB05*/ 03108000 L @08,CPUIDPTR 1186 03109000 LR @03,SAVEI 1186 03110000 SLA @03,3 1186 03111000 ST @03,@TF00001 1186 03112000 ALR @03,@08 1186 03113000 L @05,CVTPTR 1186 03114000 L @05,CVTEXT2(,@05) 1186 03115000 L @05,CVTICB(,@05) 1186 03116000 MVC CPUIDREC-8(5,@03),ICBCPUID(@05) 1186 03117000 * CPUMASK(SAVEI)=IDMASK; /* SET MASK @Y30LB27*/ 03118000 AL @08,@TF00001 1187 03119000 MVC CPUMASK-8(2,@08),IDMASK 1187 03120000 * END; /* @Y30LB27 03121000 * @Y30LB27*/ 03122000 @DE01180 LH @08,VVICPUID(,VVIPTR) 1188 03123000 N @08,@CF03969 1188 03124000 LTR @08,@08 1188 03125000 BZ @DL01180 1188 03126000 */********************************************************************* 03127000 * * MODIFY RPL AND PUT THE UPDATED CPU ASSOC RECORD @Y30LB27 03128000 * ********************************************************************/ 03129000 * 1189 03130000 * RPLVTYP=RPLVPUT; /* INDICATE READ @Y30LB27*/ 03131000 MVI RPLVTYP(RPLVPTR),X'01' 1189 03132000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV @Y30LB27*/ 03133000 LR REG1,RPLVPTR 1190 03134000 * CALL ICBVIO00; /* WRITE THE RECORD @Y30LB27*/ 03135000 L @15,@CV03332 1191 03136000 BALR @14,@15 1191 03137000 * IF RPLVRETC^=ZERO THEN 1192 03138000 LH @08,RPLVRETC(,RPLVPTR) 1192 03139000 N @08,@CF03969 1192 03140000 LTR @08,@08 1192 03141000 BZ @RF01192 1192 03142000 * DO; /* VSAM I/O ERROR @Y30LB27*/ 03143000 * VINMSGID=MSGVSME; /* INDICATE VSAM ERROR @Y30LB27*/ 03144000 MVC VINMSGID(2),@CH00172 1194 03145000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST @Y30LB27*/ 03146000 MVI MSGLEN1,X'0C' 1195 03147000 * MSGTEXT1=RPLVKEY; /* SET KEY ADDR @YM02859*/ 03148000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1196 03149000 * CNVRTWK1=RPLRCODE; /* SET REASON CODE @Y30LB27*/ 03150000 MVI CNVRTWK1+2,X'00' 1197 03151000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1197 03152000 * CALL VINCNVRT; /* AND ADD TO MSG @Y30LB27*/ 03153000 BAL @14,VINCNVRT 1198 03154000 * CALL VINWTO; /* ISSUE MESSAGE @Y30LB27*/ 03155000 BAL @14,VINWTO 1199 03156000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 03157000 B @EL00012 1200 03158000 * END; /* @Y30LB27 03159000 * @Y30LB27*/ 03160000 */********************************************************************* 03161000 * * UPDATE VSAM RPL AND ISSUE ENDREC @Y30LB27 03162000 * ********************************************************************/ 03163000 * 1202 03164000 * RPLVTYP=RPLVENDR; /* INDICATE PUT TO VSAM @Y30LB27*/ 03165000 @RF01192 MVI RPLVTYP(RPLVPTR),X'04' 1202 03166000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV @Y30LB27*/ 03167000 LR REG1,RPLVPTR 1203 03168000 * CALL ICBVIO00; /* ISSUE ENDREC @Y30LB27*/ 03169000 L @15,@CV03332 1204 03170000 BALR @14,@15 1204 03171000 * RPLVSAM=''B; /* CLEAR RPL @Y30LB27 03172000 * @Y30LB27*/ 03173000 XC RPLVSAM(76,RPLVPTR),RPLVSAM(RPLVPTR) 1205 03174000 */********************************************************************* 03175000 * * SAVE INIT RPLV PTR NAD LOOP THRU VSP WITH PURGE/DISASSOC/ASSOC RPLS 03176000 * ********************************************************************/ 03177000 * 1206 03178000 * IF ININIT=ON THEN 1206 03179000 L @08,INITPTR 1206 03180000 TM ININIT(@08),B'10000000' 1206 03181000 BNO @RF01206 1206 03182000 * DO; /* IF INITI. PROCESS RPLS 1207 03183000 * @Y30LB27*/ 03184000 * RPLVSAVE=RPLVPTR; /* SAVE RPLV PONITER @Y30LB27*/ 03185000 LR RPLVSAVE,RPLVPTR 1208 03186000 * RPLVPTR=VVIQRPL2; /* RETRIVE ENTRY FROM LOW@Y30LB27 03187000 * PRIORITY QUEUE @Y30LB27*/ 03188000 L RPLVPTR,VVIQRPL2(,VVIPTR) 1209 03189000 * INITPTR=ADDR(RPLVUTIL); /* RESET REQ PTR @Y30LB27*/ 03190000 LA @08,RPLVUTIL(,RPLVPTR) 1210 03191000 ST @08,INITPTR 1210 03192000 * DO WHILE(RPLVPTR^=ZERO&(INITOPCD=PURGOPCD|INITOPCD=ASSCOPCD)); 03193000 B @DE01211 1211 03194000 @DL01211 DS 0H 1212 03195000 * /* @Y30LB27*/ 03196000 * RPLFTIME=ON; /* INDICATE SECOND CALL @Y30LB27*/ 03197000 * RPLVVIN=ON; /* INDICATE VIN00 CALL TO VSP 1213 03198000 * RESERVE ALREADY DONE AND VIN00 03199000 * WILL DISABLE IF REQD @Y30LB27*/ 03200000 OI RPLFTIME(RPLVPTR),B'10001000' 1213 03201000 * RPLVDATE=CVTDATE; /* SET DATE @ZA13484*/ 03202000 L @08,CVTPTR 1214 03203000 MVC RPLVDATE(4,RPLVPTR),CVTDATE(@08) 1214 03204000 * RPLVDATE=RPLVDATE&FC; /* SET SIGN @ZA13484*/ 03205000 NC RPLVDATE(4,RPLVPTR),@CB03677 1215 03206000 * REG1=RPLVPTR; /* POINT TP RPLV @Y30LB27*/ 03207000 LR REG1,RPLVPTR 1216 03208000 * CALL ICBVSP00; /* ICBVSP00 HANDLES PURGE, ASSOC. 03209000 * AND DISASSOC. PROC. @Y30LB27*/ 03210000 L @15,@CV03331 1217 03211000 BALR @14,@15 1217 03212000 * IF RPLVSAVE->RPLVRETC=ZERO THEN/* OKAY SO FAR @Y30LB27*/ 03213000 LH @08,RPLVRETC(,RPLVSAVE) 1218 03214000 N @08,@CF03969 1218 03215000 LTR @08,@08 1218 03216000 BNZ @RF01218 1218 03217000 * RPLVSAVE->RPLVRETC=RPLVRETC;/* SAVE RETURN CODE @Y30LB27 03218000 * @YM04327*/ 03219000 MVC RPLVRETC(2,RPLVSAVE),RPLVRETC(RPLVPTR) 1219 03220000 */********************************************************************* 03221000 * * MARK RPL COMPLETED AFTER IT HAS BEEN PROCESSED @YM04327 03222000 * ********************************************************************/ 03223000 * 1220 03224000 * RPLVCOMP=ON; /* INDICATE RPL COMPLETED 1220 03225000 * @YM04327*/ 03226000 @RF01218 OI RPLVCOMP(RPLVPTR),B'00010000' 1220 03227000 * RPLVPTR=RPLVQPTR; /* SET RPLPTR ADDR @Y30LB27*/ 03228000 L RPLVPTR,RPLVQPTR(,RPLVPTR) 1221 03229000 * INITPTR=ADDR(RPLVUTIL); /* RESET PTR TO REQUEST @Y30LB27*/ 03230000 LA @08,RPLVUTIL(,RPLVPTR) 1222 03231000 ST @08,INITPTR 1222 03232000 * END; /* @Y30LB27 03233000 * @Y30LB27*/ 03234000 @DE01211 LTR RPLVPTR,RPLVPTR 1223 03235000 BZ @DC01211 1223 03236000 L @08,INITPTR 1223 03237000 CLC INITOPCD(1,@08),PURGOPCD 1223 03238000 BE @DL01211 1223 03239000 CLC INITOPCD(1,@08),ASSCOPCD 1223 03240000 BE @DL01211 1223 03241000 @DC01211 DS 0H 1224 03242000 */********************************************************************* 03243000 * * RESTORE PTR TO INIT RPLV @Y30LB27 03244000 * ********************************************************************/ 03245000 * 1224 03246000 * RPLVPTR=RPLVSAVE; /* SAVE RPLV PONITER @Y30LB27*/ 03247000 LR RPLVPTR,RPLVSAVE 1224 03248000 * INITPTR=ADDR(RPLVUTIL); /* RESET PTR TO REQUEST @Y30LB27*/ 03249000 LA @08,RPLVUTIL(,RPLVPTR) 1225 03250000 ST @08,INITPTR 1225 03251000 * IF RPLVRETC^=ZERO THEN 1226 03252000 LH @08,RPLVRETC(,RPLVPTR) 1226 03253000 N @08,@CF03969 1226 03254000 LTR @08,@08 1226 03255000 BZ @RF01226 1226 03256000 * DO; /* BAD RETURN CODE @Y30LB27*/ 03257000 * CALL VINDSDS; /* CLOSE AND DE-ALLOCATE @Y30LB27*/ 03258000 BAL @14,VINDSDS 1228 03259000 * RETURN; /* RETURN TO MAINLINE @Y30LB27*/ 03260000 B @EL00012 1229 03261000 * END; /* END VSP FAILURE @Y30LB27*/ 03262000 * END; /* @Y30LB27 03263000 * @Y30LB27*/ 03264000 @RF01226 DS 0H 1232 03265000 */********************************************************************* 03266000 * * CHECK IF PURGE REQUIRED @Y30LB27 03267000 * ********************************************************************/ 03268000 * 1232 03269000 * RPLVTYP=RPLVREAD; /* INDICATE READ @Y30LB27*/ 03270000 @RF01206 MVI RPLVTYP(RPLVPTR),X'00' 1232 03271000 * RPLVBUF=CPUIDPTR; /* SET BUFFER ADDRESS @Y30LB27*/ 03272000 L @08,CPUIDPTR 1233 03273000 ST @08,RPLVBUF(,RPLVPTR) 1233 03274000 * RPLVKEY=CPUIDPTR; /* SET KEY ADDRESS @Y30LB27*/ 03275000 ST @08,RPLVKEY(,RPLVPTR) 1234 03276000 * RPLVRLN=LENGTH(CPUID); /* SET KEY ADDRESS @Y30LB27*/ 03277000 LA @05,151 1235 03278000 ST @05,RPLVRLN(,RPLVPTR) 1235 03279000 * RPLVBLN=LENGTH(CPUID); /* SET KEY ADDRESS @Y30LB27*/ 03280000 ST @05,RPLVBLN(,RPLVPTR) 1236 03281000 * CPUNAME=CCPUIDK; /* POINT TO CPUID REC @Y30LB27*/ 03282000 MVC CPUNAME(13,@08),CCPUIDK 1237 03283000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV @Y30LB27*/ 03284000 LR REG1,RPLVPTR 1238 03285000 * CALL ICBVIO00; /* READ CPUID @Y30LB27*/ 03286000 L @15,@CV03332 1239 03287000 BALR @14,@15 1239 03288000 * IF RPLVRETC^=ZERO THEN 1240 03289000 LH @08,RPLVRETC(,RPLVPTR) 1240 03290000 N @08,@CF03969 1240 03291000 LTR @08,@08 1240 03292000 BZ @RF01240 1240 03293000 * DO; /* VSAM I/O ERROR @Y30LB27*/ 03294000 * VINMSGID=MSGVSME; /* INDICATE VSAM ERROR @Y30LB27*/ 03295000 MVC VINMSGID(2),@CH00172 1242 03296000 * MSGTEXT1=RPLVKEY; /* SET KEY ADDR @Y30LB27*/ 03297000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1243 03298000 * CNVRTWK1=RPLRCODE; /* SET REASON CODE @Y30LB27*/ 03299000 MVI CNVRTWK1+2,X'00' 1244 03300000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1244 03301000 * CALL VINCNVRT; /* ADD IT TO MSG @Y30LB27*/ 03302000 BAL @14,VINCNVRT 1245 03303000 * CALL VINWTO; /* ISSUE MESSAGE @Y30LB27*/ 03304000 BAL @14,VINWTO 1246 03305000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 03306000 B @EL00012 1247 03307000 * END; /* @Y30LB27 03308000 * @Y30LB27*/ 03309000 */********************************************************************* 03310000 * * PURGE THIS CPU - A DISABLE OR SUSPEND-FOR-RECONF WAS EX. @Y30LB27 03311000 * * A NORMAL COMPARE WILL NOT SURFICE A 2 BYTE TM WITH VAR. @Y30LB27 03312000 * * FIELDS IS REQD @Y30LB27 03313000 * ********************************************************************/ 03314000 * 1249 03315000 * REG1=VVICPUID; /* GET THE CPUID @Y30LB27*/ 03316000 @RF01240 LH REG1,VVICPUID(,VVIPTR) 1249 03317000 N REG1,@CF03969 1249 03318000 * WORK1=CPUPURGE; /* GET PURG FLAG FROM CPUID REC 03319000 * @Y30LB27*/ 03320000 L @08,CPUIDPTR 1250 03321000 MVC WORK1(2),CPUPURGE(@08) 1250 03322000 * REG1=REG1&MASK00FF; /* ISOLATE LOWER ORDER BYTE */ 03323000 N REG1,MASK00FF 1251 03324000 * IF REG1^=ZERO THEN /* CPU IN FLAG @Y30LB27*/ 03325000 LTR REG1,REG1 1252 03326000 BZ @RF01252 1252 03327000 * DO; /* YES @Y30LB27*/ 03328000 * GEN(EX REG1,VINTML); /* CPU TO BE PURGED @Y30LB27*/ 03329000 EX REG1,VINTML 03330000 * BC(BZ,CHKPURGH); /* HAVE A HIT @Y30LB27*/ 03331000 BC 8,CHKPURGH 1255 03332000 * PURGSW=ON; /* INDICATE PURGE REQD @Y30LB27*/ 03333000 OI PURGSW,B'00010000' 1256 03334000 * END; /* @Y30LB27*/ 03335000 *CHKPURGH: 1258 03336000 * REG1=VVICPUID; /* GET THE CPUID @Y30LB27*/ 03337000 @RF01252 DS 0H 1258 03338000 CHKPURGH LH REG1,VVICPUID(,VVIPTR) 1258 03339000 N REG1,@CF03969 1258 03340000 * SRL(REG1,EIGHT); /* ISOLATE HIGH ORDER BYTE 1259 03341000 * @Y30LB27*/ 03342000 SRL REG1,8 1259 03343000 * IF REG1^=ZERO THEN /* CPU IN FLAG @Y30LB27*/ 03344000 LTR REG1,REG1 1260 03345000 BZ @RF01260 1260 03346000 * DO; /* YES @Y30LB27*/ 03347000 * GEN(EX REG1,VINTMH); /* CPU TO BE PURGED @Y30LB27*/ 03348000 EX REG1,VINTMH 03349000 * BC(BZ,VINPURG); /* HAVE A HIT @Y30LB27*/ 03350000 BC 8,VINPURG 1263 03351000 * PURGSW=ON; /* INDICATE PURGE REQD @Y30LB27*/ 03352000 OI PURGSW,B'00010000' 1264 03353000 * END; /* @Y30LB27*/ 03354000 *VINPURG: 1266 03355000 * IF PURGSW=ON THEN /* CPU TO BE PURGED @Y30LB27*/ 03356000 @RF01260 DS 0H 1266 03357000 VINPURG TM PURGSW,B'00010000' 1266 03358000 BNO @RF01266 1266 03359000 * DO; /* @Y30LB27*/ 03360000 * PURGSW=OFF; /* INDICATE PURGE REQD @Y30LB27 03361000 * @Y30LB27*/ 03362000 NI PURGSW,B'11101111' 1268 03363000 */********************************************************************* 03364000 * * UPDATE VSAM RPL AND ISSUE ENDREC @Y30LB27 03365000 * ********************************************************************/ 03366000 * 1269 03367000 * RPLVTYP=RPLVENDR; /* INDICATE PUT TO VSAM @Y30LB27*/ 03368000 MVI RPLVTYP(RPLVPTR),X'04' 1269 03369000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV @Y30LB27*/ 03370000 LR REG1,RPLVPTR 1270 03371000 * CALL ICBVIO00; /* ISSUE ENDREC @Y30LB27*/ 03372000 L @15,@CV03332 1271 03373000 BALR @14,@15 1271 03374000 * RPLVSAM=''B; /* CLEAR RPL @Y30LB27*/ 03375000 XC RPLVSAM(76,RPLVPTR),RPLVSAM(RPLVPTR) 1272 03376000 * RPLVSAVE=RPLVPTR; /* YES SAVE PTR TO IPL RPLV 1273 03377000 * #Y30LB27*/ 03378000 LR RPLVSAVE,RPLVPTR 1273 03379000 * REG0=LENGTH(RPLV)+LENGTH(LSTPAIR);/* SET RPLV LEN #Y30LB27*/ 03380000 LA REG0,145 1274 03381000 *LGETM5: 1275 03382000 * GEN(GETMAIN RC,LV=(0),SP=241);/* GET STORAGE FOR IT #Y30LB27*/ 03383000 LGETM5 GETMAIN RC,LV=(0),SP=241 03384000 * IF REG15^=ZERO THEN /* STORAGE OBTAINED #Y30LB27*/ 03385000 LTR REG15,REG15 1276 03386000 BZ @RF01276 1276 03387000 * DO; /* NO #Y30LB27*/ 03388000 * RPLVPTR=RPLVSAVE; /* SET PTR TO PURGE RPLV @Y30LB27*/ 03389000 LR RPLVPTR,RPLVSAVE 1278 03390000 * INITPTR=ADDR(RPLVUTIL); /* SET PTR TO PURGE RPLV @Y30LB27*/ 03391000 LA @08,RPLVUTIL(,RPLVPTR) 1279 03392000 ST @08,INITPTR 1279 03393000 * VINMSGID=MSGSTGE; /* SET MSG INDEX #Y30LB27*/ 03394000 MVC VINMSGID(2),@CH00250 1280 03395000 * CALL VINWTO; /* ISSUE THE ERROR MSG #Y30LB27*/ 03396000 BAL @14,VINWTO 1281 03397000 * RETURN; /* RETURN TO MAINLINE @Y30LB27*/ 03398000 B @EL00012 1282 03399000 * END; /* #Y30LB27*/ 03400000 * RPLVPTR=REG1; /* SET PTR TO PURGE RPLV #Y30LB27*/ 03401000 @RF01276 LR RPLVPTR,REG1 1284 03402000 * RPLV=''B; /* CLEAR IT #Y30LB27*/ 03403000 XC RPLV(132,RPLVPTR),RPLV(RPLVPTR) 1285 03404000 * RPLVVICB=VVIPTR; /* SET VVICB PTR @Y30LB27*/ 03405000 ST VVIPTR,RPLVVICB(,RPLVPTR) 1286 03406000 * RPLFTIME=ON; /* INDICATE 2ND CALL #Y30LB27*/ 03407000 * RPLVVIN=ON; /* INDICATE VIN00 CALL TO VSP 1288 03408000 * RESERVE ALREADY DONE AND VIN00 03409000 * WILL DISABLE IF REQD @Y04LB27*/ 03410000 OI RPLFTIME(RPLVPTR),B'10001000' 1288 03411000 * RPLVTLEN=LENGTH(RPLV); /* SET LENGTH #Y30LB27*/ 03412000 MVC RPLVTLEN(2,RPLVPTR),@CH03940 1289 03413000 * RPLVDATE=CVTDATE; /* SET DATE @ZA13484*/ 03414000 L @03,CVTPTR 1290 03415000 MVC RPLVDATE(4,RPLVPTR),CVTDATE(@03) 1290 03416000 * RPLVDATE=RPLVDATE&FC; /* SET SIGN @ZA13484*/ 03417000 NC RPLVDATE(4,RPLVPTR),@CB03677 1291 03418000 * PAIRPTR=ADDR(RPLVUTIL); /* SET ADDR FOR PURGE LIST 1292 03419000 * #Y30LB27*/ 03420000 LA PAIRPTR,RPLVUTIL(,RPLVPTR) 1292 03421000 * LSTPAIR=''B; /* ZERO OUT PARM LIST @ZA14739*/ 03422000 XC LSTPAIR(13,PAIRPTR),LSTPAIR(PAIRPTR) 1293 03423000 * PURGLL=LENGTH(LSTPAIR); /* SET LENGTH #Y30LB27*/ 03424000 MVC PURGLL(4,PAIRPTR),@CF00230 1294 03425000 * PURGOP=PURGOPCD; /* SET THE OP-CODE #Y30LB27*/ 03426000 IC @05,PURGOPCD 1295 03427000 STC @05,PURGOP(,PAIRPTR) 1295 03428000 * PURGHOST=ICBCPUID; /* THE HOSTID @G24LB05*/ 03429000 L @03,CVTEXT2(,@03) 1296 03430000 L @03,CVTICB(,@03) 1296 03431000 MVC PURGHOST(5,PAIRPTR),ICBCPUID(@03) 1296 03432000 * REG1=ADDR(RPLV); /* POINT TO RPL #Y30LB27*/ 03433000 LR REG1,RPLVPTR 1297 03434000 * CALL ICBVSP00; /* INVOKE VSP #Y30LB27*/ 03435000 L @15,@CV03331 1298 03436000 BALR @14,@15 1298 03437000 * IF RPLVSAVE->RPLVRETC=ZERO THEN/* OKAY SO FAR @Y30LB27*/ 03438000 LH @08,RPLVRETC(,RPLVSAVE) 1299 03439000 N @08,@CF03969 1299 03440000 LTR @08,@08 1299 03441000 BNZ @RF01299 1299 03442000 * RPLVSAVE->RPLVRETC=RPLVRETC;/* SAVE RETURN CODE @Y30LB27*/ 03443000 MVC RPLVRETC(2,RPLVSAVE),RPLVRETC(RPLVPTR) 1300 03444000 * REG0=LENGTH(RPLV)+LENGTH(LSTPAIR);/* @ZM30746*/ 03445000 @RF01299 LA REG0,145 1301 03446000 * REG1=RPLVPTR; /* SET DCB ADDRESS @ZM30746*/ 03447000 LR REG1,RPLVPTR 1302 03448000 *LFREEM7: 1303 03449000 * GEN(FREEMAIN RC,LV=(0),A=(1),SP=241);/* FREE DCB @ZM30746*/ 03450000 LFREEM7 FREEMAIN RC,LV=(0),A=(1),SP=241 03451000 * RPLVPTR=RPLVSAVE; /* RE-RESRVE THE INV @Y30LB27*/ 03452000 LR RPLVPTR,RPLVSAVE 1304 03453000 * INITPTR=ADDR(RPLVUTIL); /* RESET ORDR PTR @Y30LB27*/ 03454000 LA @08,RPLVUTIL(,RPLVPTR) 1305 03455000 ST @08,INITPTR 1305 03456000 * IF RPLVRETC^=ZERO THEN 1306 03457000 LH @08,RPLVRETC(,RPLVPTR) 1306 03458000 N @08,@CF03969 1306 03459000 LTR @08,@08 1306 03460000 BZ @RF01306 1306 03461000 * DO; /* BAD RETURN CODE @Y30LB27*/ 03462000 * CALL VINDSDS; /* CLOSE AND DE-ALLOCATE @Y30LB27*/ 03463000 BAL @14,VINDSDS 1308 03464000 * RETURN; /* RETURN TO MAINLINE @Y30LB27*/ 03465000 B @EL00012 1309 03466000 * END; /* END VSP FAILURE @Y30LB27*/ 03467000 * END; /* @Y30LB27 03468000 * #Y30LB27*/ 03469000 @RF01306 DS 0H 1312 03470000 */********************************************************************* 03471000 * * CALL VINUCB TO BUILD TABLE OF VIRTUAL UCBS NAD UPDATE #Y30LB27 03472000 * * CURRENT MOUNT STATUS #Y30LB27 03473000 * ********************************************************************/ 03474000 * 1312 03475000 * CALL VINUCB; /* SCAN UCBS TO UPDATE MOUNT 1312 03476000 * STATUS #Y30LB27*/ 03477000 @RF01266 BAL @14,VINUCB 1312 03478000 * RETURN; /* RETURN TO VIN MAINLINE 1313 03479000 * @Y30LB27*/ 03480000 B @EL00012 1313 03481000 * END VINTBUPT; /* @Y30LB27*/ 03482000 * 1315 03483000 */* ****************************************************************** 03484000 ** @Y30LB27 03485000 ** NAME = VINUCB: SEGMENT TO SCAN UCBS FOR CURRENT MOUNT STATUS 1315 03486000 ** @Y30LB27 03487000 ** INPUT = UCBS REFLECTING A MOUNTED MSS VOLUME AND THE MSVC 1315 03488000 ** INVENTORY DATA SET. @Y30LB27 03489000 ** @Y30LB27 03490000 ** PROCESS = ALL UCBS ARE SCANNED LOOKING FOR MOUNTED MSS 1315 03491000 ** VOLUMES, IF A MSS VOLUME IS MOUNTED THE VOLUME RECORD 1315 03492000 ** IS READ AND UPDATE TO INDICATE IS IS MOUNTED FOR THE CURRENT 03493000 ** HOST. IF THE VOLUME IS A MEMBER OF A MSVGRP, THE MSVGRP RECORD I 03494000 ** CORRESPONDINGLY UPDATED. THE DOWN LEVEL SPACE FLAG IS 1315 03495000 ** TURNED OFF IF THE VOLUME IS MOUNTED. IECILK2 IN 1315 03496000 ** THE CVT CONTAINS THE STARTING ADDR OF THE UCB 1315 03497000 ** ADDRESS PORTION OF THE UCB LOOK-UP TABLE. BIT, X'08', 1315 03498000 ** IN THE SECOND BYTE (UCB+17) OF THE UCBTYPE FIELD INDICATES 1315 03499000 ** A REAL OR MSS VOLUME. B'0' THE DEVICE IS REAL. B'1' 1315 03500000 ** THE DEVICE IS VIRTUAL. 1315 03501000 ** @Z37LB26 03502000 ** OUTPUT = VOLUME AND MSVGRP RECORDS IN THE MSVC INVENTORY, 1315 03503000 ** UPDATED TO RELFECT THE MOUNT STATUS FOR THE CPU. 1315 03504000 ** A VINWTO CODE IS SET INDICATING THE RESULTS OF THE SEGMENT. 1315 03505000 ** @Y30LB27 03506000 ******************************************************************** */ 03507000 * 1315 03508000 *VINUCB: 1315 03509000 * PROC OPTIONS(SAVE(14)); /* @Y30LB27*/ 03510000 VINUCB ST @14,@SA00013 1315 03511000 */********************************************************************* 03512000 * * BUILD TABLE OF VIRTUAL UCB ADDRESSES - @Y30LB27 03513000 * * 31-BIT ADDRESSING @Y30LB27 03514000 * ********************************************************************/ 03515000 * 1316 03516000 * IF REG12=VVIUCB THEN /* BUILD TABLE AT IPL @Y30LB27*/ 03517000 C REG12,VVIUCB(,VVIPTR) 1316 03518000 BNE @RF01316 1316 03519000 * CALL VINUCBTB; /* BUILD UCB ADDRESS TABLE 1317 03520000 * @Y30LB27 03521000 * @Y30LB27*/ 03522000 BAL @14,VINUCBTB 1317 03523000 */********************************************************************* 03524000 * * IF A VIRTUAL UCB HAS A MOUNTED VOLUME INDICATE IT AS @Y30LB27 03525000 * * MOUNTED IN THE VOLUME RECORD AND OPTIONALLY IN THE @Y30LB27 03526000 * * MSVGRP RECORD @Y30LB27 03527000 * ********************************************************************/ 03528000 * 1318 03529000 * DISSW=ON; /* NEED TO RESET IPL @ZM30746*/ 03530000 @RF01316 OI DISSW,B'00000001' 1318 03531000 * SCANPTR=VVIUCB; /* SET PTR TO START OF UCB ADDRS 03532000 * @Y30LB27*/ 03533000 L SCANPTR,VVIUCB(,VVIPTR) 1319 03534000 * DO WHILE SCAN31^=UCBDELIM; /* SCAN TO END OF TABLE @Y30LB27*/ 03535000 B @DE01320 1320 03536000 @DL01320 DS 0H 1321 03537000 * RFY 1321 03538000 * UCBOB BASED(SCANP31); /* BASE UCB ON SCAN ADDR @Y30LB27*/ 03539000 * IF UCBVOLI^=BINZERO THEN 1322 03540000 L @08,SCANP31(,SCANPTR) 1322 03541000 CLC UCBVOLI(6,@08),BINZERO 1322 03542000 BE @RF01322 1322 03543000 * CALL VINUCBMT; /* UPDATE MOUNT @Y30LB27*/ 03544000 BAL @14,VINUCBMT 1323 03545000 * SCANPTR=SCANPTR+FOUR; /* UPDATE UCB PTR @Y30LB27 03546000 * @Y30LB27*/ 03547000 @RF01322 AL SCANPTR,@CF00098 1324 03548000 */********************************************************************* 03549000 * * I/O ERRORS FOR MSVGRP, MSVGRP EXT, AND VOLUME RECORDS ARE @Y30LB27 03550000 * * IGNORED DURING IPL VIO WILL ISSUE AN ERROR MESSAGE @Y30LB27 03551000 * ********************************************************************/ 03552000 * 1325 03553000 * RPLRCODE=ZERO; /* CLEAR RETURN CODE @Y30LB27*/ 03554000 SLR @08,@08 1325 03555000 STH @08,RPLRCODE(,RPLVPTR) 1325 03556000 * RPLVRETC=ZERO; /* CLEAR REASON CODE @Y30LB27*/ 03557000 STH @08,RPLVRETC(,RPLVPTR) 1326 03558000 * END; /* @Y30LB27*/ 03559000 @DE01320 CLC SCAN31(4,SCANPTR),UCBDELIM 1327 03560000 BNE @DL01320 1327 03561000 * DISSW=OFF; /* NEED TO RESET IPL @ZM30746*/ 03562000 NI DISSW,B'11111110' 1328 03563000 * RETURN; /* @Y30LB27*/ 03564000 @EL00013 DS 0H 1329 03565000 @EF00013 DS 0H 1329 03566000 @ER00013 L @14,@SA00013 1329 03567000 BR @14 1329 03568000 * END VINUCB; /* @Y30LB27*/ 03569000 * 1331 03570000 */****************************************************************** 03571000 ** @Y30LB27 03572000 ** NAME = VINUCBTB: SEGMENT TO CONSTRUCT TABLE OF VIRTUAL@Y30LB27 03573000 ** UCB ADDRESSES AND TO CALCULATE DEVICE MASK @G24LB04 03574000 ** SIZE, AND TO GET AND INITIALIZE CONTROL @G24LB04 03575000 ** BLOCKS FOR JES3 COMMUNICATION. @G24LB04 03576000 ** @Y30LB27 03577000 ** INPUT = SYSTEM UCBS, REFLECTING MOUNTED MSS VOLUMES. @G24LB04 03578000 ** @Y30LB27 03579000 ** PROCESS = ALL UCBS ARE SCANNED LOOKING FOR A VIRTUAL @Y30LB27 03580000 ** UNIT. IF A VIRTUAL UNIT IS LOCATED @G24LB04 03581000 ** THE ADDRESS IS ADDED TO TABLE OF 31 @G24LB04 03582000 ** BIT ADDRESSES. @G24LB04 03583000 ** @G24LB04 03584000 ** DURING THIS SCAN, THE TOTAL NUMBER OF UCBS @G24LB04 03585000 ** IS COUNTED. THE LENGTH OF A MASK IN A @G24LB04 03586000 ** DEVICE MASK TABLE ENTRY IS CALCULATED FROM @G24LB04 03587000 ** THIS NUMBER, AND PLACED INTO THE MSVC @G24LB04 03588000 ** CONTROL BLOCK. @G24LB04 03589000 ** @G24LB04 03590000 ** JES3 - STORAGE OBTAINED AND INITIALIZED @G24LB04 03591000 ** @Y30LB27 03592000 ** OUTPUT = VVIUCB POINTING TO A TABLE OF VIRTUAL @Y30LB27 03593000 ** UCB ADDRESSES (31 BIT).TABLE IS DELIMITED BY @Y30LB27 03594000 ** FULL WORD OF XFFFFFFFF. @Y30LB27 03595000 ** @Y30LB27 03596000 ** VVISSOBA POINTS TO SSOB OF LINKED AND @G24LB04 03597000 ** INITIALIZED SSIB, SSOB AND SSOB EXTENSION @G24LB04 03598000 ** FOR MSVC-OPEN FUNCTION OF JES3, AS USED BY @G24LB04 03599000 ** ALLOCATE TO MOUNTED VOLUMES SUPPORT. @G24LB04 03600000 ** @G24LB04 03601000 ** VVIDVMEL HAS THE LENGTH OF THE MASK IN EACH @G24LB04 03602000 ** ENTRY IN THE DEVICE MASK TABLE. @G24LB04 03603000 ** @G24LB04 03604000 **********************************************************************/ 03605000 * 1331 03606000 *VINUCBTB: 1331 03607000 * PROC OPTIONS(SAVE(14)); /* @ZM31138 03608000 * @Y30LB27*/ 03609000 VINUCBTB ST @14,@SA00014 1331 03610000 */********************************************************************* 03611000 * * GET STORAGE FOR MAXIMUM TABLE @G24LB04 03612000 * ********************************************************************/ 03613000 * 1332 03614000 * REG0=NUMUCBS*FOUR+LENGTH(AMVJES3S);/* GET STORAGE FOR @G24LB04 03615000 * MAXIMUM TABLE OF UCB @G24LB04 03616000 * ADDRESS AND FOR @G24LB04 03617000 * ALLOCATE TO MOUNTED @G24LB04 03618000 * VOLUMES TO COMMUNICATE 1332 03619000 * @G24LB04 03620000 * WITH JES3 @G24LB04*/ 03621000 L REG0,@CF03944 1332 03622000 */* NOTE THAT MORE STORAGE IS OBTAINED THAN MAY BE NEEDED. @G24LB04 03623000 * UNUSED PART WILL BE FREED AFTER THE AMOUNT REQUIRED HAS 1333 03624000 * BEEN DETERMINED. THE ADDRESS OF THE PORTION TO BE FREED 1333 03625000 * MUST BE ON A DOUBLEWORD BOUNDARY. @G24LB04*/ 03626000 * 1333 03627000 *LGETM6: 1333 03628000 * GEN(GETMAIN RC,LV=(0),SP=241); /* GET STORAGE FOR ACB @Y30LB27*/ 03629000 LGETM6 GETMAIN RC,LV=(0),SP=241 03630000 * IF REG15^=ZERO THEN 1334 03631000 LTR REG15,REG15 1334 03632000 BZ @RF01334 1334 03633000 * DO; /* STORAGE OBTAIN @Y30LB27*/ 03634000 * VINMSGID=MSGSTGE; /* SET MSG ID FOR STORAGE ERROR 03635000 * @Y30LB27*/ 03636000 MVC VINMSGID(2),@CH00250 1336 03637000 * CALL VINWTO; /* PRINT ERROR MESSAGE @Y30LB27*/ 03638000 BAL @14,VINWTO 1337 03639000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 03640000 @EL00014 DS 0H 1338 03641000 @EF00014 DS 0H 1338 03642000 @ER00014 L @14,@SA00014 1338 03643000 BR @14 1338 03644000 * END; /* @Y30LB27 03645000 * @Y30LB27*/ 03646000 */********************************************************************* 03647000 * * SET POINTERS IN CONTROL BLOCK @G24LB04 03648000 * ********************************************************************/ 03649000 * 1340 03650000 * VVISSOBA=REG1; /* ESTABLISH @G24LB04 03651000 * ADDRESSABILITY TO JES3 1340 03652000 * @G24LB04 03653000 * AMV STORAGE @G24LB04*/ 03654000 @RF01334 ST REG1,VVISSOBA(,VVIPTR) 1340 03655000 * VVIUCB=REG1+LENGTH(AMVJES3S); /* SET PTR FOR TABLE OF @G24LB04 03656000 * VIRTUAL 3330 UCBS @G24LB04*/ 03657000 LA @03,84 1341 03658000 ALR @03,REG1 1341 03659000 ST @03,VVIUCB(,VVIPTR) 1341 03660000 * SCANPTR=REG1+LENGTH(AMVJES3S); /* SET PTR FOR SCAN @G24LB04 03661000 * @Y30LB27*/ 03662000 LR SCANPTR,@03 1342 03663000 */********************************************************************* 03664000 * * GET START OF UCB LOOK-UP TABLE, DELIMITER BY X'FFFF' @Y30LB27 03665000 * ********************************************************************/ 03666000 * 1343 03667000 * UCBLOKUP=CVTILK2; /* SET UCB PTR TO ADDRESS OF 1343 03668000 * LOOK-UP TABLE @Y30LB27*/ 03669000 L @03,CVTPTR 1343 03670000 L UCBLOKUP,CVTILK2(,@03) 1343 03671000 * RFY 1344 03672000 * UCBOB BASED(UCBPTR); /* BASED ON UCBLOOK TABLE 1344 03673000 * @Y30LB27*/ 03674000 * COUNTUCB=ZEROFX31; /* ZERO COUNT OF UCBS @G24LB04*/ 03675000 SLR @03,@03 1345 03676000 ST @03,COUNTUCB 1345 03677000 * DO WHILE(UCBPTR^=UCBDELIM(1:2));/* @Y30LB27 03678000 * @Y30LB27*/ 03679000 B @DE01346 1346 03680000 @DL01346 DS 0H 1347 03681000 * COUNTUCB=COUNTUCB+1; /* COUNT LOOKUP POSITION @G24LB04*/ 03682000 LA @03,1 1347 03683000 AL @03,COUNTUCB 1347 03684000 ST @03,COUNTUCB 1347 03685000 */********************************************************************* 03686000 * * MAKE TABLE ENTRY IF DEVICE IS DASD(X20) AND VIRTUAL(X08).@Y30LB27 03687000 * ********************************************************************/ 03688000 * 1348 03689000 * IF UCBPTR^=ZERO THEN /* VALID UCB ADDRESS @G24LB04*/ 03690000 LH @03,UCBPTR(,UCBLOKUP) 1348 03691000 N @03,@CF03969 1348 03692000 LTR @03,@03 1348 03693000 BZ @RF01348 1348 03694000 * DO; /* @G24LB04*/ 03695000 * IF UCB3DACC=ON /* DIRECT ACCESS? @G24LB04*/ 03696000 * &UCBRVDEV=ON /* VIRTUAL VOLUME? @G24LB04*/ 03697000 * THEN 1350 03698000 TM UCB3DACC(@03),B'00100000' 1350 03699000 BNO @RF01350 1350 03700000 TM UCBRVDEV(@03),B'00001000' 1350 03701000 BNO @RF01350 1350 03702000 * DO; /* @G24LB04*/ 03703000 * SCAN31=UCBPTR; /* SAVE UCB ADDR OF VIRT 3330 1352 03704000 * @Y30LB27*/ 03705000 ST @03,SCAN31(,SCANPTR) 1352 03706000 * SCANPTR=SCANPTR+FOUR; /* UPDATE TABLE POINTER @Y30LB27*/ 03707000 AL SCANPTR,@CF00098 1353 03708000 * END; /* @Y30LB27*/ 03709000 * END; /* @G24LB04*/ 03710000 @RF01350 DS 0H 1356 03711000 * UCBLOKUP=UCBLOKUP+TWO; /* UPDATE UCB POINTER @Y30LB27*/ 03712000 @RF01348 AL UCBLOKUP,@CF00066 1356 03713000 * END; /* @Y30LB27*/ 03714000 @DE01346 CLC UCBPTR(2,UCBLOKUP),UCBDELIM 1357 03715000 BNE @DL01346 1357 03716000 * ICBVSCRA=VVIVSCRA; /* SET SCRNR IN MSSCB @ZA24770*/ 03717000 L @08,CVTPTR 1358 03718000 L @08,CVTEXT2(,@08) 1358 03719000 L @08,CVTICB(,@08) 1358 03720000 L @03,VVIVSCRA(,VVIPTR) 1358 03721000 ST @03,ICBVSCRA(,@08) 1358 03722000 * SCAN31=UCBDELIM; /* SET TABLE DELIMTER @Y30LB27*/ 03723000 L @08,UCBDELIM 1359 03724000 ST @08,SCAN31(,SCANPTR) 1359 03725000 * SCANPTR=SCANPTR+FOUR; /* GET NEXT ADDRESS @Y30LB27 03726000 * @Y30LB27*/ 03727000 AL SCANPTR,@CF00098 1360 03728000 */********************************************************************* 03729000 * * CALCULATE NUMBER OF BYTES REMAING AND TABLE ADDR TO @Y30LB27 03730000 * * NEXT DOUBLE WORD FREE THE TABLE @Y30LB27 03731000 * ********************************************************************/ 03732000 * 1361 03733000 * SCANPTR=EVAL(SCANPTR&MASKFFF8)+EIGHT;/* ROUND TO NEXT DOUBLE WORD 03734000 * BDY @Y30LB27*/ 03735000 LR @08,SCANPTR 1361 03736000 N @08,MASKFFF8 1361 03737000 AL @08,@CF00039 1361 03738000 LR SCANPTR,@08 1361 03739000 * REG1=SCANPTR; /* SET FREEMAIN ADDR @Y30LB27*/ 03740000 LR REG1,SCANPTR 1362 03741000 * REG0=NUMUCBS*FOUR-EVAL(SCANPTR-VVIUCB);/* @G24LB04 03742000 * # OF BYTES @G24LB04*/ 03743000 LR REG0,SCANPTR 1363 03744000 SL REG0,VVIUCB(,VVIPTR) 1363 03745000 LCR REG0,REG0 1363 03746000 AL REG0,@CF03942 1363 03747000 *LFREEM3: 1364 03748000 * GEN(FREEMAIN RC,LV=(0),A=(1),SP=241);/* FREEMAIN SUBPOOL 241 1364 03749000 * @Y30LB27*/ 03750000 LFREEM3 FREEMAIN RC,LV=(0),A=(1),SP=241 03751000 */*CALCULATE SIZE OF DEVICE MASK TABLE ENTRY FROM COUNT OF @G24LB04*/ 03752000 */* UCB LOOKUP POSITIONS IN SYSTEM, AND PUT THIS INTO MSVC @G24LB04*/ 03753000 */* CONTROL BLOCK @G24LB04*/ 03754000 * 1365 03755000 * VVIDVMEL=COUNTUCB/MASKDVSR; /* NO OF FULLWORDS USED @G24LB04*/ 03756000 L @08,COUNTUCB 1365 03757000 LR @02,@08 1365 03758000 SRDA @02,32 1365 03759000 D @02,@CF00237 1365 03760000 ST @03,VVIDVMEL(,VVIPTR) 1365 03761000 * IF EVAL(COUNTUCB&MASK001F)^=ZEROFX31 THEN/* @G24LB04*/ 03762000 ICM @02,15,MASK001F 1366 03763000 NR @08,@02 1366 03764000 LTR @08,@08 1366 03765000 BZ @RF01366 1366 03766000 * VVIDVMEL=VVIDVMEL+1; /* NEED ANOTHER FULLWORD @G24LB04*/ 03767000 AL @03,@CF00055 1367 03768000 ST @03,VVIDVMEL(,VVIPTR) 1367 03769000 */* INITIALIZE STORAGE OBTAINED FOR ALLOCATE TO MOUNTED @G24LB04*/ 03770000 */* VOLUMES COMMUNICATION WITH JES3 @G24LB04*/ 03771000 * 1368 03772000 * AMVJES3S=AMVJES3S&&AMVJES3S; /* @G24LB04*/ 03773000 @RF01366 L @08,VVISSOBA(,VVIPTR) 1368 03774000 XC AMVJES3S(84,@08),AMVJES3S(@08) 1368 03775000 * RESPECIFY 1369 03776000 * SSIB BASED(ADDR(AMVSSIB)); /* CLEAR IT @G24LB04*/ 03777000 * SSIBID=CSSIB; /* PROVIDE ID OF BLOCK @G24LB04*/ 03778000 LA @05,48 1370 03779000 ALR @05,@08 1370 03780000 MVC SSIBID(4,@05),CSSIB 1370 03781000 * SSIBLEN=LENGTH(SSIB); /* AND LENGTH @G24LB04*/ 03782000 MVC SSIBLEN(2,@05),@CH03936 1371 03783000 * SSIBSSNM=JESPJESN; /* PRIMARY SUBSYSTEM NAME 1372 03784000 * @G24LB04*/ 03785000 L @04,CVTPTR 1372 03786000 L @04,CVTJESCT(,@04) 1372 03787000 MVC SSIBSSNM(4,@05),JESPJESN(@04) 1372 03788000 * RESPECIFY 1373 03789000 * SSOB BASED(ADDR(AMVSSOB)); /* @G24LB04*/ 03790000 * RESPECIFY 1374 03791000 * SSMO BASED(ADDR(AMVSSBX)); /* @G24LB04*/ 03792000 * SSOBID=CSSOB; /* ID OF BLOCK @G24LB04*/ 03793000 MVC SSOBID(4,@08),CSSOB 1375 03794000 * SSOBLEN=LENGTH(SSOB); /* AND LENGTH @G24LB04*/ 03795000 LA @05,20 1376 03796000 STH @05,SSOBLEN(,@08) 1376 03797000 * SSOBFUNC=SSOBMSVC; /* MSVC FUNCTION @G24LB04*/ 03798000 MVC SSOBFUNC(2,@08),@CH02569 1377 03799000 * SSOBSSIB=ADDR(AMVSSIB); /* SSIB ADDRESS @G24LB04*/ 03800000 LA @04,AMVSSIB(,@08) 1378 03801000 ST @04,SSOBSSIB(,@08) 1378 03802000 * SSOBINDV=ADDR(AMVSSBX); /* SSOB EXTENSION @G24LB04*/ 03803000 LA @04,AMVSSBX(,@08) 1379 03804000 ST @04,SSOBINDV(,@08) 1379 03805000 * SSMOLEN=LENGTH(SSMO); /* LENGTH OF SSOB @G24LB04 03806000 * EXTENSION @G24LB04*/ 03807000 ALR @08,@05 1380 03808000 MVC SSMOLEN(2,@08),@CH00272 1380 03809000 * SSMORUSE=ON; /* SET UP FOR REUSE @G24LB04*/ 03810000 OI SSMORUSE(@08),B'00010000' 1381 03811000 * END VINUCBTB; /* #Y30LB27*/ 03812000 B @EL00014 1382 03813000 * 1383 03814000 */****************************************************************** 03815000 ** @Y30LB27 03816000 ** NAME = VINUCBMT: SEGMENT TO UPDATE MOUNT STATUS. @Y30LB27 03817000 ** @Y30LB27 03818000 ** INPUT = UCBS REFLECTING A MOUNTED MSS VOLUME. @Y30LB27 1383 03819000 ** @Y30LB27 03820000 ** PROCESS = UPDATES MOUNT STATUS @Y30LB27 03821000 ** @Y30LB27 03822000 ** OUTPUT = INVENTORY REFLECTS MOUNTED MSS VOLUMES, @G24LB04 03823000 ** INCLUDING MOUNT NON-SHARED STATUS. @G24LB04 03824000 ** @Y30LB27 03825000 **********************************************************************/ 03826000 * 1383 03827000 *VINUCBMT: 1383 03828000 * PROC OPTIONS(SAVE(14)); /* @ZM31138 03829000 * @Y30LB27*/ 03830000 VINUCBMT ST @14,@SA00015 1383 03831000 */********************************************************************* 03832000 * * SET RECORD BUFFER POINTER @Y30LB27 03833000 * ********************************************************************/ 03834000 * 1384 03835000 * BASEVPTR=CPUIDPTR; /* SET PTR FOR BASE VOL RECORD 1384 03836000 * @Y30LB27 03837000 * @Y30LB27*/ 03838000 L @08,CPUIDPTR 1384 03839000 ST @08,BASEVPTR 1384 03840000 */********************************************************************* 03841000 * * SET KEY FOR A BASE VOLUME RECORD @Y30LB27 03842000 * ********************************************************************/ 03843000 * 1385 03844000 * BASNAME=CBASNAMK; /* SET KEY FOR ANY BASE VOL REC. 03845000 * @Y30LB27 03846000 * @Y30LB27*/ 03847000 MVC BASNAME(13,@08),CBASNAMK 1385 03848000 */********************************************************************* 03849000 * * BASE UCB ON TABLE OF VIRTUAL UCB ADDRESSES @Y30LB27 03850000 * ********************************************************************/ 03851000 * 1386 03852000 * RFY 1386 03853000 * (UCBOB) BASED(SCANP31); /* @Y30LB27 03854000 * @Y30LB27*/ 03855000 */********************************************************************* 03856000 * * INDICATE VOLUME RECORD TO BE READ @Y30LB27 03857000 * ********************************************************************/ 03858000 * 1387 03859000 * BASSERNO=UCBVOLI; /* SET VOLID @Y30LB27 03860000 * @Y30LB27*/ 03861000 L @03,SCANP31(,SCANPTR) 1387 03862000 MVC BASSERNO(6,@08),UCBVOLI(@03) 1387 03863000 */********************************************************************* 03864000 * * INITIALIZE VSAM RPL AND READ BASE VOLUME RECORD @Y30LB27 03865000 * ********************************************************************/ 03866000 * 1388 03867000 * RPLVTYP=RPLVREAD; /* INDICATE READ @Y30LB27*/ 03868000 MVI RPLVTYP(RPLVPTR),X'00' 1388 03869000 * RPLVDIR=ON; /* READ DIRECT @Y30LB27*/ 03870000 OI RPLVDIR(RPLVPTR),B'01000000' 1389 03871000 * RPLVUPD=ON; /* INDICATE READ FOR UPDATE 1390 03872000 * @Y30LB27*/ 03873000 OI RPLVUPD(RPLVPTR),B'00000010' 1390 03874000 * RPLVBUF=BASEVPTR; /* SET RECORD PTR @Y30LB27*/ 03875000 ST @08,RPLVBUF(,RPLVPTR) 1391 03876000 * RPLVKEY=BASEVPTR; /* SET KEY PTR @Y30LB27*/ 03877000 ST @08,RPLVKEY(,RPLVPTR) 1392 03878000 * RPLVBLN=MAXREC; /* INDICATE BUFFER FOR MAXIMUM 1393 03879000 * @Y30LB27*/ 03880000 MVC RPLVBLN(4,RPLVPTR),@CF03640 1393 03881000 * REG1=RPLVPTR; /* SET PTR TO MSVC RPL @Y30LB27*/ 03882000 LR REG1,RPLVPTR 1394 03883000 * CALL ICBVIO00; /* CALL ICBVIN00 @Y30LB27*/ 03884000 L @15,@CV03332 1395 03885000 BALR @14,@15 1395 03886000 * RPLVDIR=OFF; /* READ DIRECT @Y30LB27 03887000 * @Y30LB27*/ 03888000 NI RPLVDIR(RPLVPTR),B'10111111' 1396 03889000 */********************************************************************* 03890000 * * IF I/O ERROR NOTIFY OPERATOR @Y30LB27 03891000 * ********************************************************************/ 03892000 * 1397 03893000 * IF RPLVRETC^=ZERO THEN 1397 03894000 LH @08,RPLVRETC(,RPLVPTR) 1397 03895000 N @08,@CF03969 1397 03896000 LTR @08,@08 1397 03897000 BZ @RF01397 1397 03898000 * DO; /* VSAM I/O ERROR @Y30LB27*/ 03899000 * IF RPLRCODE=NORECFND THEN 1399 03900000 LH @08,RPLRCODE(,RPLVPTR) 1399 03901000 N @08,@CF03969 1399 03902000 CH @08,NORECFND 1399 03903000 BNE @RF01399 1399 03904000 * DO; /* NO RECORD FOUND @Y30LB27*/ 03905000 * VINMSGID=MSGVLE; /* INDICATE VOL ERROR @YM04327*/ 03906000 MVC VINMSGID(2),@CH03715 1401 03907000 * MSGLEN1=SIX; /* COMP LEN @YM04327*/ 03908000 MVI MSGLEN1,X'06' 1402 03909000 * MSGTEXT1=ADDR(UCBVOLI); /* COMP ADDR @YM04327*/ 03910000 L @08,SCANP31(,SCANPTR) 1403 03911000 LA @08,UCBVOLI(,@08) 1403 03912000 STCM @08,7,MSGTEXT1 1403 03913000 * END; /* END NO REC FOUND @YM04327*/ 03914000 * ELSE 1405 03915000 * DO; /* VSAM ERROR @YM04327*/ 03916000 B @RC01399 1405 03917000 @RF01399 DS 0H 1406 03918000 * VINMSGID=MSGVSME; /* SET MSG INDEX @Y30LB27*/ 03919000 MVC VINMSGID(2),@CH00172 1406 03920000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST @Y30LB27*/ 03921000 MVI MSGLEN1,X'0C' 1407 03922000 * MSGTEXT1=RPLVKEY; /* LOCATION OF NON-GRP @YM02859*/ 03923000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1408 03924000 * CNVRTWK1=RPLRCODE; /* SET REASON CODE @Y30LB27*/ 03925000 MVI CNVRTWK1+2,X'00' 1409 03926000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1409 03927000 * CALL VINCNVRT; /* CONVERTED @Y30LB27*/ 03928000 BAL @14,VINCNVRT 1410 03929000 * END; /* END VSAM ERROR @YM04327*/ 03930000 * CALL VINWTO; /* @Y30LB27*/ 03931000 @RC01399 BAL @14,VINWTO 1412 03932000 * RETURN; /* ISSUE MESSAGE @Y30LB27*/ 03933000 @EL00015 DS 0H 1413 03934000 @EF00015 DS 0H 1413 03935000 @ER00015 L @14,@SA00015 1413 03936000 BR @14 1413 03937000 * END; /* @Y30LB27 03938000 * @Y30LB27*/ 03939000 */********************************************************************* 03940000 * * SET RPL TO PUT THE UPDATED RECORD @Y30LB27 03941000 * ********************************************************************/ 03942000 * 1415 03943000 * RPLVTYP=RPLVPUT; /* INDICATE PUT @G24LB23 03944000 * @Y30LB27*/ 03945000 @RF01397 MVI RPLVTYP(RPLVPTR),X'01' 1415 03946000 */********************************************************************* 03947000 * * INDICATE THE VOLUME MOUNTED AND RE-WRITE THE RECORD @Y30LB27 03948000 * ********************************************************************/ 03949000 * 1416 03950000 * BASCPUID=VVICPUID|BASCPUID; /* INDICATE VOLUME @Y30LB27*/ 03951000 L @08,BASEVPTR 1416 03952000 OC BASCPUID(2,@08),VVICPUID(VVIPTR) 1416 03953000 * BASDLMTD=CVTDATE; /* UPDATE DATE LAST MOUNTED 1417 03954000 * @YN02191*/ 03955000 L @03,CVTPTR 1417 03956000 MVC BASDLMTD(4,@08),CVTDATE(@03) 1417 03957000 * BASDLMTD=BASDLMTD&FC; /* SIGN DATE @ZA14733*/ 03958000 NC BASDLMTD(4,@08),@CB03677 1418 03959000 * BASDLSF=OFF; /* INDICATE SPACE NOT DOWN LEVEL 03960000 * @G24LB23*/ 03961000 NI BASDLSF(@08),B'01111111' 1419 03962000 * REG1=RPLVPTR; /* SET PTR TO MSVC RPL #Y30LB27*/ 03963000 LR REG1,RPLVPTR 1420 03964000 * CALL ICBVIO00; /* CALL ICBVIN00 @Y30LB27*/ 03965000 L @15,@CV03332 1421 03966000 BALR @14,@15 1421 03967000 * IF RPLVRETC^=ZERO THEN 1422 03968000 LH @08,RPLVRETC(,RPLVPTR) 1422 03969000 N @08,@CF03969 1422 03970000 LTR @08,@08 1422 03971000 BZ @RF01422 1422 03972000 * DO; /* VSAM I/O ERROR @Y30LB27*/ 03973000 * VINMSGID=MSGVSME; /* SET MSG INDEX #Y30LB27*/ 03974000 MVC VINMSGID(2),@CH00172 1424 03975000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST #Y30LB27*/ 03976000 MVI MSGLEN1,X'0C' 1425 03977000 * MSGTEXT1=RPLVKEY; /* LOCATION OF NON-GRP @YM02859*/ 03978000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1426 03979000 * CNVRTWK1=RPLRCODE; /* SET REASON CODE @Y30LB27*/ 03980000 MVI CNVRTWK1+2,X'00' 1427 03981000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1427 03982000 * CALL VINCNVRT; /* IN PRINTABLE FORMAT @Y30LB27*/ 03983000 BAL @14,VINCNVRT 1428 03984000 * CALL VINWTO; /* ISSUE THE ERROR MSG @Y30LB27*/ 03985000 BAL @14,VINWTO 1429 03986000 * RETURN; /* @Y30LB27*/ 03987000 B @EL00015 1430 03988000 * END; /* @Y30LB27 03989000 * @Y30LB27*/ 03990000 */********************************************************************* 03991000 * * IF THE VOLUME IS GROUPED READ THE VVGROUP AND @Y30LB27 03992000 * * EXTENSION RECORDS @Y30LB27 03993000 * ********************************************************************/ 03994000 * 1432 03995000 * RPLVTYP=RPLVREAD; /* INDICATE READ @Y30LB27*/ 03996000 @RF01422 MVI RPLVTYP(RPLVPTR),X'00' 1432 03997000 * RPLVDIR=ON; /* READ DIRECT @Y30LB27*/ 03998000 OI RPLVDIR(RPLVPTR),B'01000000' 1433 03999000 * IF BASGRPV=OFF|BASGENUS=OFF|BASINAC=ON THEN 1434 04000000 L @08,BASEVPTR 1434 04001000 TM BASINAC(@08),B'00000100' 1434 04002000 BNZ @RT01434 1434 04003000 TM BASGRPV(@08),B'00110000' 1434 04004000 BNO @RT01434 1434 04005000 * RETURN; /* IF NOT A MEMBER OF A GROUP 1435 04006000 * CONT @Y30LB27*/ 04007000 * GROUPPTR=BASEVPTR; /* SET GROUP REC PTR @Y30LB27*/ 04008000 ST @08,GROUPPTR 1436 04009000 * GRONAME=CGRONAMK; /* GET GENERAL GROUP KEY @Y30LB27*/ 04010000 MVC GRONAME(13,@08),CGRONAMK 1437 04011000 * GROVVGRP=BASGROUP; /* SET GROUP NAME IN KET @Y30LB27*/ 04012000 L @03,BASEVPTR 1438 04013000 MVC GROVVGRP(8,@08),BASGROUP(@03) 1438 04014000 * REG1=RPLVPTR; /* SET PTR TO MSVC RPL @Y30LB27*/ 04015000 LR REG1,RPLVPTR 1439 04016000 * CALL ICBVIO00; /* CALL ICBVIN00 @Y30LB27*/ 04017000 L @15,@CV03332 1440 04018000 BALR @14,@15 1440 04019000 * RPLVDIR=OFF; /* READ DIRECT @Y30LB27*/ 04020000 NI RPLVDIR(RPLVPTR),B'10111111' 1441 04021000 * IF RPLVRETC^=ZERO THEN 1442 04022000 LH @08,RPLVRETC(,RPLVPTR) 1442 04023000 N @08,@CF03969 1442 04024000 LTR @08,@08 1442 04025000 BZ @RF01442 1442 04026000 * DO; /* VSAM I/O ERROR @Y30LB27*/ 04027000 * IF RPLRCODE=NORECFND THEN 1444 04028000 LH @08,RPLRCODE(,RPLVPTR) 1444 04029000 N @08,@CF03969 1444 04030000 CH @08,NORECFND 1444 04031000 BNE @RF01444 1444 04032000 * DO; /* NO RECORD FOUND @ZM30746*/ 04033000 * VINMSGID=MSGGRPE; /* INDICATE VOL ERROR @ZM30746*/ 04034000 LH @08,MSGGRPE 1446 04035000 STH @08,VINMSGID 1446 04036000 * MSGLEN1=SIX; /* COMP LEN @ZM30746*/ 04037000 MVI MSGLEN1,X'06' 1447 04038000 * MSGTEXT1=ADDR(BASGROUP);/* COMP ADDR @ZM30746*/ 04039000 L @08,BASEVPTR 1448 04040000 LA @08,BASGROUP(,@08) 1448 04041000 STCM @08,7,MSGTEXT1 1448 04042000 * MSGLEN2=SIX; /* COMP LEN @ZM30746*/ 04043000 MVI MSGLEN2,X'06' 1449 04044000 * MSGTEXT2=ADDR(UCBVOLI); /* COMP ADDR @ZM30746*/ 04045000 L @08,SCANP31(,SCANPTR) 1450 04046000 LA @08,UCBVOLI(,@08) 1450 04047000 STCM @08,7,MSGTEXT2 1450 04048000 * END; /* END NO REC FOUND @ZM30746*/ 04049000 * ELSE 1452 04050000 * DO; /* VSAM ERROR @ZM30746*/ 04051000 B @RC01444 1452 04052000 @RF01444 DS 0H 1453 04053000 * VINMSGID=MSGVSME; /* SET MSG INDEX @ZM30746*/ 04054000 MVC VINMSGID(2),@CH00172 1453 04055000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST @ZM30746*/ 04056000 MVI MSGLEN1,X'0C' 1454 04057000 * MSGTEXT1=RPLVKEY; /* LOCATION OF NON-GRP @ZM30746*/ 04058000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1455 04059000 * CNVRTWK1=RPLRCODE; /* SET REASON CODE @ZM30746*/ 04060000 MVI CNVRTWK1+2,X'00' 1456 04061000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1456 04062000 * CALL VINCNVRT; /* CONVERTED @Y30LB27*/ 04063000 BAL @14,VINCNVRT 1457 04064000 * CALL VINWTO; /* ISSUE THE ERROR MSG @Y30LB27*/ 04065000 BAL @14,VINWTO 1458 04066000 * END; /* @ZM30746*/ 04067000 * RETURN; /* @Y30LB27*/ 04068000 B @EL00015 1460 04069000 * END; /* @Y30LB27*/ 04070000 * GVSEXSW=ON; /* INDICATE READ OF EXTENSION 1462 04071000 * RECORD @Y30LB27 04072000 * @Y30LB27*/ 04073000 @RF01442 OI GVSEXSW,B'01000000' 1462 04074000 */********************************************************************* 04075000 * * SEARCH GROUP EXTENSION RECORDS FOR VOLUME @Y30LB27 04076000 * ********************************************************************/ 04077000 * 1463 04078000 * DO WHILE(GVSEXSW=ON); /* CONTINUE TO READ EXTENSIONS 1463 04079000 * @Y30LB27*/ 04080000 B @DE01463 1463 04081000 @DL01463 DS 0H 1464 04082000 * RPLVNEXT=ON; /* INDICATE READ NEXT @Y30LB27*/ 04083000 OI RPLVNEXT(RPLVPTR),B'00100000' 1464 04084000 * REG1=RPLVPTR; /* SET PTR TO MSVC RPL @Y30LB27*/ 04085000 LR REG1,RPLVPTR 1465 04086000 * CALL ICBVIO00; /* CALL ICBVIN00 @Y30LB27*/ 04087000 L @15,@CV03332 1466 04088000 BALR @14,@15 1466 04089000 * RPLVNEXT=OFF; /* INDICATE READ NEXT @Y30LB27*/ 04090000 NI RPLVNEXT(RPLVPTR),B'11011111' 1467 04091000 * IF RPLVRETC^=ZERO THEN 1468 04092000 LH @08,RPLVRETC(,RPLVPTR) 1468 04093000 N @08,@CF03969 1468 04094000 LTR @08,@08 1468 04095000 BZ @RF01468 1468 04096000 * DO; /* VSAM I/O ERROR @ZM30746*/ 04097000 * IF RPLRCODE=NORECFND THEN 1470 04098000 LH @08,RPLRCODE(,RPLVPTR) 1470 04099000 N @08,@CF03969 1470 04100000 CH @08,NORECFND 1470 04101000 BNE @RF01470 1470 04102000 * DO; /* NO RECORD FOUND @ZM30746*/ 04103000 * VINMSGID=MSGGRPE; /* INDICATE VOL ERROR @ZM30746*/ 04104000 LH @08,MSGGRPE 1472 04105000 STH @08,VINMSGID 1472 04106000 * MSGLEN1=SIX; /* COMP LEN @ZM30746*/ 04107000 MVI MSGLEN1,X'06' 1473 04108000 * MSGTEXT1=ADDR(BASGROUP);/* COMP ADDR @ZM30746*/ 04109000 L @08,BASEVPTR 1474 04110000 LA @08,BASGROUP(,@08) 1474 04111000 STCM @08,7,MSGTEXT1 1474 04112000 * MSGLEN2=SIX; /* COMP LEN @ZM30746*/ 04113000 MVI MSGLEN2,X'06' 1475 04114000 * MSGTEXT2=ADDR(UCBVOLI);/* COMP ADDR @ZM30746*/ 04115000 L @08,SCANP31(,SCANPTR) 1476 04116000 LA @08,UCBVOLI(,@08) 1476 04117000 STCM @08,7,MSGTEXT2 1476 04118000 * END; /* END NO REC FOUND @ZM30746*/ 04119000 * ELSE 1478 04120000 * DO; /* VSAM ERROR @ZM30746*/ 04121000 B @RC01470 1478 04122000 @RF01470 DS 0H 1479 04123000 * VINMSGID=MSGVSME; /* SET MSG INDEX @ZM30746*/ 04124000 MVC VINMSGID(2),@CH00172 1479 04125000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST @ZM30746*/ 04126000 MVI MSGLEN1,X'0C' 1480 04127000 * MSGTEXT1=RPLVKEY; /* LOCATION OF NON-GRP @ZM30746*/ 04128000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1481 04129000 * CNVRTWK1=RPLRCODE; /* SET REASON CODE @ZM30746*/ 04130000 MVI CNVRTWK1+2,X'00' 1482 04131000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1482 04132000 * CALL VINCNVRT; /* CONVERTED @ZM30746*/ 04133000 BAL @14,VINCNVRT 1483 04134000 * CALL VINWTO; /* ISSUE THE ERROR MSG @ZM30746*/ 04135000 BAL @14,VINWTO 1484 04136000 * END; /* @ZM30746*/ 04137000 * RETURN; /* @ZM30746*/ 04138000 B @EL00015 1486 04139000 * END; /* @ZM30746 04140000 * @Y30LB27*/ 04141000 */********************************************************************* 04142000 * * VOLUME IN THIS GROUP EXTENSION? IF YES INDICATE VOLUME @G24LB04 04143000 * * MOUNTED. IF NO, TRY NEXT EXTENSION @G24LB04 04144000 * ********************************************************************/ 04145000 * 1488 04146000 * DO I=ONE TO GVSESIND-ONE; /* LOOP CONTROL @Y30LB27*/ 04147000 @RF01468 LA I,1 1488 04148000 B @DE01488 1488 04149000 @DL01488 DS 0H 1489 04150000 * IF UCBVOLI=GVSVOLID(I) THEN 1489 04151000 L @03,SCANP31(,SCANPTR) 1489 04152000 L @05,GVSNEPTR 1489 04153000 LR @04,I 1489 04154000 MH @04,@CH00088 1489 04155000 ST @04,@TF00001 1489 04156000 ALR @04,@05 1489 04157000 CLC UCBVOLI(6,@03),GVSVOLID-20(@04) 1489 04158000 BNE @RF01489 1489 04159000 * DO; /* SPECIFIED VOLID @Y30LB27*/ 04160000 * GVSCPUBM(I)=VVICPUID|GVSCPUBM(I);/* INDICATE VOLUME 1491 04161000 * MOUNTED @Y30LB27*/ 04162000 LR @04,@05 1491 04163000 AL @04,@TF00001 1491 04164000 OC GVSCPUBM-20(2,@04),VVICPUID(VVIPTR) 1491 04165000 * IF UCBRR=OFF /* MOUNTED AS HOST @G24LB04 04166000 * NON-SHARED? @G24LB04*/ 04167000 * THEN 1492 04168000 TM UCBRR(@03),B'00100000' 1492 04169000 BNZ @RF01492 1492 04170000 * GVSMTNSH(I)=ON; /* YES, SET FLAG IN GVSNE 1493 04171000 * @G24LB04*/ 04172000 * 1493 04173000 AL @05,@TF00001 1493 04174000 OI GVSMTNSH-20(@05),B'01000000' 1493 04175000 * /*********************************************************/ 04176000 * /* */ 04177000 * /* IF THE VOLUME BELONGS TO A GROUP OTHER THAN @G24LB23*/ 04178000 * /* SYSGROUP, IS MOUNTED PRIVATE RESERVED OR @G24LB23*/ 04179000 * /* REMOVABLE OR WITH NO MOUNT AND USE ATTRIBUTES, */ 04180000 * /* @G24LB23*/ 04181000 * /* AND IF ENABLE WITH RESTORED IS REQUESTED, THEN */ 04182000 * /* @G24LB23*/ 04183000 * /* LSPACE THE VOLUME. @G24LB23*/ 04184000 * /* */ 04185000 * /*********************************************************/ 04186000 * 1494 04187000 * IF INIENABL=ON&INIRESTR=ON&GVSVVGRP^=SYSGROUP&((UCBBPRV=ON& 04188000 * (UCBRESV=ON|(UCBPRES=OFF&UCBRESV=OFF)))|(UCBBPRV=OFF& 04189000 * UCBBPUB=OFF&UCBBSTR=OFF)) THEN 1494 04190000 @RF01492 L @03,INITPTR 1494 04191000 TM INIENABL(@03),B'01000000' 1494 04192000 BNO @RF01494 1494 04193000 TM INIRESTR(@03),B'00010000' 1494 04194000 BNO @RF01494 1494 04195000 L @03,GVSNEPTR 1494 04196000 CLC GVSVVGRP(8,@03),@CC03588 1494 04197000 BE @RF01494 1494 04198000 L @03,SCANP31(,SCANPTR) 1494 04199000 TM UCBBPRV(@03),B'00010000' 1494 04200000 BNO @GL00032 1494 04201000 TM UCBRESV(@03),B'00100000' 1494 04202000 BO @RT01494 1494 04203000 TM UCBPRES(@03),B'00100100' 1494 04204000 BZ @RT01494 1494 04205000 @GL00032 L @03,SCANP31(,SCANPTR) 1494 04206000 TM UCBBPRV(@03),B'00011100' 1494 04207000 BNZ @RF01494 1494 04208000 @RT01494 DS 0H 1495 04209000 * DO; /* @G24LB23*/ 04210000 * 1495 04211000 * /*****************************************************/ 04212000 * /* */ 04213000 * /* INITIALIZE FOR LSPACE AND ISSUE LSPACE REQUEST */ 04214000 * /* @G24LB23*/ 04215000 * /* */ 04216000 * /*****************************************************/ 04217000 * 1496 04218000 * REG0=ADDR(UCBOB); /* @G24LB23*/ 04219000 L REG0,SCANP31(,SCANPTR) 1496 04220000 * REG1=ADDR(LSPAREA); /* @G24LB23*/ 04221000 LA REG1,LSPAREA 1497 04222000 * SVC(LSPACE); /* @G24LB23*/ 04223000 * 1498 04224000 SVC 78 1498 04225000 * /*****************************************************/ 04226000 * /* */ 04227000 * /* IF LSPACE SUCCESSFUL, MOVE FREE SPACE INTO */ 04228000 * /* @G24LB23*/ 04229000 * /* AVAILABLE FREE SPACE FIELD @G24LB23*/ 04230000 * /* */ 04231000 * /*****************************************************/ 04232000 * 1499 04233000 * IF REG15=ZERO THEN 1499 04234000 LTR REG15,REG15 1499 04235000 BNZ @RF01499 1499 04236000 * DO; /* @G24LB23*/ 04237000 * PACK(TEMPPACK,LSPFRESP);/* @G24LB23*/ 04238000 PACK TEMPPACK(4),LSPFRESP(4) 1501 04239000 * CVB(TEMPBIN,TEMPPACK);/* @G24LB23*/ 04240000 XC @TS00001(8),@TS00001 1502 04241000 MVC @TS00001+4(4),TEMPPACK 1502 04242000 CVB @03,@TS00001 1502 04243000 ST @03,TEMPBIN 1502 04244000 * GVSRCFSI(I)=OFF;/* @G24LB23*/ 04245000 L @05,GVSNEPTR 1503 04246000 LR @04,I 1503 04247000 MH @04,@CH00088 1503 04248000 ST @04,@TF00001 1503 04249000 ALR @04,@05 1503 04250000 NI GVSRCFSI-20(@04),B'01111111' 1503 04251000 * GVSMTDSP(I)=TEMPBIN;/* @G24LB23*/ 04252000 L @04,@TF00001 1504 04253000 STH @03,GVSMTDSP-20(@04,@05) 1504 04254000 * GVSFRESP(I)=TEMPBIN;/* UPDATE FREE SPACE @ZA28479*/ 04255000 L @04,@TF00001 1505 04256000 STH @03,GVSFRESP-20(@04,@05) 1505 04257000 * PACK(TEMPPACK,LSPLEXT);/* @ZA28479*/ 04258000 PACK TEMPPACK(4),LSPLEXT(4) 1506 04259000 * CVB(TEMPBIN,TEMPPACK);/* @ZA28479*/ 04260000 XC @TS00001(8),@TS00001 1507 04261000 MVC @TS00001+4(4),TEMPPACK 1507 04262000 CVB @03,@TS00001 1507 04263000 ST @03,TEMPBIN 1507 04264000 * GVSLEXT(I)=TEMPBIN;/* UPDATE LRGST EXTENT 1508 04265000 * @ZA28479*/ 04266000 L @04,@TF00001 1508 04267000 STH @03,GVSLEXT-20(@04,@05) 1508 04268000 * END; /* @G24LB23*/ 04269000 * ELSE 1510 04270000 * 1510 04271000 * /***************************************************/ 04272000 * /* */ 04273000 * /* PRINT LSPACE ERROR MESSAGE AND TURN ON INVALID */ 04274000 * /* @G24LB23*/ 04275000 * /* AVAILABLE SPACE FLAG. @G24LB23*/ 04276000 * /* */ 04277000 * /***************************************************/ 04278000 * 1510 04279000 * DO; /* @G24LB23*/ 04280000 B @RC01499 1510 04281000 @RF01499 DS 0H 1511 04282000 * GVSRCFSI(I)=ON; /* @G24LB23*/ 04283000 LR @03,I 1511 04284000 MH @03,@CH00088 1511 04285000 L @05,GVSNEPTR 1511 04286000 ALR @05,@03 1511 04287000 OI GVSRCFSI-20(@05),B'10000000' 1511 04288000 * MSGRQ=''B; /* @G24LB23*/ 04289000 XC MSGRQ(32),MSGRQ 1512 04290000 * MSGRPLV=RPLVPTR;/* @G24LB23*/ 04291000 ST RPLVPTR,MSGRPLV 1513 04292000 * MSGID=M401; /* @G24LB23*/ 04293000 MVC MSGID(4),@CF03592 1514 04294000 * MSGLEN1=SIX; /* @G24LB23*/ 04295000 MVI MSGLEN1,X'06' 1515 04296000 * MSGTEXT1=ADDR(UCBVOLI);/* @G24LB23*/ 04297000 L @08,SCANP31(,SCANPTR) 1516 04298000 LA @08,UCBVOLI(,@08) 1516 04299000 STCM @08,7,MSGTEXT1 1516 04300000 * MSGLEN2=TWO; /* @G24LB23*/ 04301000 MVI MSGLEN2,X'02' 1517 04302000 * MSGTEXT2=ADDR(TEMPCHAR);/* @G24LB23*/ 04303000 LA @08,TEMPCHAR 1518 04304000 STCM @08,7,MSGTEXT2 1518 04305000 * TEMPBIN=REG15; /* @G24LB23*/ 04306000 ST REG15,TEMPBIN 1519 04307000 * CVD(TEMPBIN,TEMPPACK);/* @G24LB23*/ 04308000 L @08,TEMPBIN 1520 04309000 CVD @08,@TS00001 1520 04310000 MVC TEMPPACK(4),@TS00001+4 1520 04311000 * UNPK(TEMPCHAR,TEMPPACK);/* @G24LB23*/ 04312000 UNPK TEMPCHAR(2),TEMPPACK(4) 1521 04313000 * TEMPCHAR=TEMPCHAR|NUMCONV;/* @G24LB23*/ 04314000 OC TEMPCHAR(2),@CB03596 1522 04315000 * REG1=ADDR(MSGRQ);/* @G24LB23*/ 04316000 LA REG1,MSGRQ 1523 04317000 * CALL ICBVOP00; /* @G24LB23*/ 04318000 L @15,@CV03334 1524 04319000 BALR @14,@15 1524 04320000 * MSGRQ=''B; /* @G24LB23*/ 04321000 XC MSGRQ(32),MSGRQ 1525 04322000 * MSGRPLV=RPLVPTR;/* @G24LB23*/ 04323000 ST RPLVPTR,MSGRPLV 1526 04324000 * END; /* @G24LB23*/ 04325000 * END; /* @G24LB23*/ 04326000 @RC01499 DS 0H 1529 04327000 * RPLVTYP=RPLVPUT; /* INDICATE PUT @G24LB23*/ 04328000 @RF01494 MVI RPLVTYP(RPLVPTR),X'01' 1529 04329000 * REG1=RPLVPTR; /* SET PTR TO MSVC RPL #Y30LB27*/ 04330000 LR REG1,RPLVPTR 1530 04331000 * CALL ICBVIO00; /* CALL ICBVIO00 @G24LB23*/ 04332000 L @15,@CV03332 1531 04333000 BALR @14,@15 1531 04334000 * IF RPLVRETC^=ZERO THEN 1532 04335000 LH @08,RPLVRETC(,RPLVPTR) 1532 04336000 N @08,@CF03969 1532 04337000 LTR @08,@08 1532 04338000 BZ @RF01532 1532 04339000 * DO; /* ERROR #Y30LB27*/ 04340000 * VINMSGID=MSGVSME; /* SET ERROR INDEX #Y30LB27*/ 04341000 MVC VINMSGID(2),@CH00172 1534 04342000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST @Y30LB27*/ 04343000 MVI MSGLEN1,X'0C' 1535 04344000 * MSGTEXT1=RPLVKEY; /* LOCATION OF KEY @YM02859*/ 04345000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1536 04346000 * CALL VINCNVRT; /* CONVERTED @Y30LB27*/ 04347000 BAL @14,VINCNVRT 1537 04348000 * CALL VINWTO; /* ISSUE ERROR MSG @Y30LB27*/ 04349000 BAL @14,VINWTO 1538 04350000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 04351000 B @EL00015 1539 04352000 * END; /* @Y30LB27*/ 04353000 * RPLVTYP=RPLVREAD; /* INDICATE READ @Y30LB27*/ 04354000 @RF01532 MVI RPLVTYP(RPLVPTR),X'00' 1541 04355000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 04356000 B @EL00015 1542 04357000 * END; /* @Y30LB27*/ 04358000 * END; /* @Y30LB27*/ 04359000 @RF01489 AL I,@CF00055 1544 04360000 @DE01488 L @03,GVSNEPTR 1544 04361000 LH @03,GVSESIND(,@03) 1544 04362000 BCTR @03,0 1544 04363000 CR I,@03 1544 04364000 BNH @DL01488 1544 04365000 * IF GVSEX=ON THEN 1545 04366000 L @08,GVSNEPTR 1545 04367000 TM GVSEX(@08),B'10000000' 1545 04368000 BNO @RF01545 1545 04369000 * GVSEXSW=ON; /* ANOTHER EXTENSION REC @Y30LB27*/ 04370000 OI GVSEXSW,B'01000000' 1546 04371000 * ELSE 1547 04372000 * GVSEXSW=OFF; /* @Y30LB27*/ 04373000 B @RC01545 1547 04374000 @RF01545 NI GVSEXSW,B'10111111' 1547 04375000 * END; /* @Y30LB27*/ 04376000 @RC01545 DS 0H 1548 04377000 @DE01463 TM GVSEXSW,B'01000000' 1548 04378000 BO @DL01463 1548 04379000 * END VINUCBMT; /* @Y30LB27*/ 04380000 B @EL00015 1549 04381000 * 1550 04382000 */* **************************************************************** 04383000 ** @Y30LB27 04384000 ** VINDSDS: SEGMENT TO DEALLOCATE AND CLOSE ALL DATA SETS @Y30LB27 04385000 ** @Y30LB27 04386000 ** INPUT: @Y30LB27 04387000 ** MSVC TCB ADDRESS @Y30LB27 04388000 ** VVIACBAD, IN ICBVVICB = ACB ADDRESS OF MSVC INVENTORY @Y30LB27 04389000 ** VVIDCBAD, IN ICBVVICB = DCB ADDRESS OF MSVC JOURNAL @Y30LB27 04390000 ** USER CATALOG ACB ADDRESS @Y30LB27 04391000 ** UCB ADDRESSES IN TIOT ENTRIES @Y30LB27 04392000 ** ACB, DCB ADDRESSES IN ICBVVICB @Y30LB27 04393000 ** @Y30LB27 04394000 ** PROCESS: SEGMENT TO DEALLOCATE AND CLOSE ALL DATA SETS @Y30LB27 04395000 ** @Y30LB27 04396000 ** OUTPUT: @Y30LB27 04397000 ** WHEN DATA SETS ARE CLOSED - @Y30LB27 04398000 ** VVIACBAD = 0 @Y30LB27 04399000 ** VVIDCBAD = 0 @Y30LB27 04400000 ** WHEN DATA SETS ARE DEALLOCATED - @Y30LB27 04401000 ** UCB ADDRS IN EACH TIOT ENTRY ARE SET TO ZERO @G24LB04 04402000 ** @Y30LB27 04403000 ******************************************************************* */ 04404000 * 1550 04405000 *VINDSDS: 1550 04406000 * PROC OPTIONS(SAVE(14)); /* @Y30LB27*/ 04407000 VINDSDS ST @14,@SA00016 1550 04408000 */********************************************************************* 04409000 * * SAVE RPLVRETC IF NOT A DISABLE CALL @Y30LB27 04410000 * ********************************************************************/ 04411000 * 1551 04412000 * SAVRETC=RPLVRETC; /* SAVE RETURN CODE @Y30LB27*/ 04413000 LH @08,RPLVRETC(,RPLVPTR) 1551 04414000 N @08,@CF03969 1551 04415000 STH @08,SAVRETC 1551 04416000 * RPLVRETC=ZERO; /* ZERO IT @Y30LB27*/ 04417000 SLR @08,@08 1552 04418000 STH @08,RPLVRETC(,RPLVPTR) 1552 04419000 * DISSW=ON; /* INDICATE DISABLE PROCESSING TO 04420000 * VINWTO @Y30LB27 04421000 * @Y30LB27*/ 04422000 OI DISSW,B'00000001' 1553 04423000 */********************************************************************* 04424000 * * NON-ZERO ADDRESS MEANS OPEN DCB - CLOSE, DE-ALLOCATE, @Y30LB27 04425000 * * AND FREE STORAGE @Y30LB27 04426000 * ********************************************************************/ 04427000 * 1554 04428000 * IF VVIDCBAD^=ZERO THEN 1554 04429000 C @08,VVIDCBAD(,VVIPTR) 1554 04430000 BE @RF01554 1554 04431000 * DO; /* DCB PRESENT @Y30LB27*/ 04432000 * IF DCBOFOPN=ON THEN 1556 04433000 L @08,DCBPTR 1556 04434000 TM DCBOFOPN+40(@08),B'00010000' 1556 04435000 BNO @RF01556 1556 04436000 * DO; /* OPEN DCB @Y30LB27*/ 04437000 * IF VVIFLG5=OFF THEN /* JOURNAL RESERVED @ZM31134*/ 04438000 TM VVIFLG5(VVIPTR),B'00000100' 1558 04439000 BNZ @RF01558 1558 04440000 * DO; /* @ZM31134*/ 04441000 * VRRSWJ=ON; /* SET ICBVIN00 RESVD @ZM31134*/ 04442000 OI VRRSWJ,B'00010000' 1560 04443000 * CALL JRNLRES; /* RESERVE THE JOURNAL @ZA05515*/ 04444000 BAL @14,JRNLRES 1561 04445000 * END; /* @ZM31134*/ 04446000 * IF INIDISAB=OFF THEN 1563 04447000 @RF01558 L @08,INITPTR 1563 04448000 TM INIDISAB(@08),B'00100000' 1563 04449000 BNZ @RF01563 1563 04450000 * DO; /* ENABLE OR IPL @ZM30746*/ 04451000 * VJLSW=ON; /* REMBER TEMP SETTING OF 1565 04452000 * INIDISABL @ZM30746*/ 04453000 OI VJLSW,B'01000000' 1565 04454000 * INIDISAB=ON; /* IND DISABLE @ZM30746*/ 04455000 OI INIDISAB(@08),B'00100000' 1566 04456000 * END; /* END JRNL TEST @ZM30746*/ 04457000 * REG1=RPLVPTR; /* SET RPLV PTR @ZM30746*/ 04458000 @RF01563 LR REG1,RPLVPTR 1568 04459000 * CALL ICBVJL00; /* LET VJL SET EOF ADDR @ZM30746*/ 04460000 L @15,@CV03333 1569 04461000 BALR @14,@15 1569 04462000 * IF VJLSW=ON THEN 1570 04463000 TM VJLSW,B'01000000' 1570 04464000 BNO @RF01570 1570 04465000 * DO; /* ENABLE OR IPL @ZM30746*/ 04466000 * VJLSW=OFF; /* REMBER TEMP SETTING OF 1572 04467000 * INIDISABL @ZM30746*/ 04468000 NI VJLSW,B'10111111' 1572 04469000 * INIDISAB=OFF; /* IND DISABLE @ZM30746*/ 04470000 L @08,INITPTR 1573 04471000 NI INIDISAB(@08),B'11011111' 1573 04472000 * END; /* END JRNL TEST @ZM30746*/ 04473000 * REG0=VVIDCBAD; /* SET DCB ADDRESS #Y30LB27*/ 04474000 @RF01570 L REG0,VVIDCBAD(,VVIPTR) 1575 04475000 * CLSSTG=CLSLST; /* SET CLOSE LIST @Y30LB27*/ 04476000 L @08,CLSLST 1576 04477000 ST @08,CLSSTG 1576 04478000 *LCLOSE3: 1577 04479000 * GEN(CLOSE ((REG0),),MF=(E,CLSSTG));/* CLOSE JOURNAL 1577 04480000 * @Y30LB27*/ 04481000 LCLOSE3 CLOSE ((REG0),),MF=(E,CLSSTG) 04482000 * IF VRRSWJ=ON THEN /* CHECK IF IDBVIN00 RESVD 1578 04483000 * @ZM31134*/ 04484000 TM VRRSWJ,B'00010000' 1578 04485000 BNO @RF01578 1578 04486000 * DO; /* @ZM31134*/ 04487000 * CALL JRNLDEQ; /* DEQUEUE JOURNAL @ZA05515*/ 04488000 BAL @14,JRNLDEQ 1580 04489000 * VVIFLG5=OFF; /* JOURNAL DEQED @ZM30746*/ 04490000 NI VVIFLG5(VVIPTR),B'11111011' 1581 04491000 * VRRSWJ=OFF; /* SET ICBVIN00 RESVD SW OFF 1582 04492000 * @ZM31134*/ 04493000 NI VRRSWJ,B'11101111' 1582 04494000 * END; /* @ZM31134*/ 04495000 * IF DCBOFOPN=ON THEN 1584 04496000 @RF01578 L @08,DCBPTR 1584 04497000 TM DCBOFOPN+40(@08),B'00010000' 1584 04498000 BNO @RF01584 1584 04499000 * DO; /* CLOSE FAILURE @Y30LB27*/ 04500000 * VINMSGID=MSGCLSEJ; /* CLOSE ERROR MESSAGE @Y30LB27*/ 04501000 MVC VINMSGID(2),@CH00167 1586 04502000 * CALL VINWTO; /* CALL ERROR ROUTINE @Y30LB27*/ 04503000 BAL @14,VINWTO 1587 04504000 * END; /* @Y30LB27*/ 04505000 * END; /* @Y30LB27 04506000 * @Y30LB27*/ 04507000 @RF01584 DS 0H 1590 04508000 */********************************************************************* 04509000 * * IF CLOSE OKAY DE-ALLOCATE IT @G24LB04 04510000 * ********************************************************************/ 04511000 * 1590 04512000 * IF RPLVRETC=ZERO THEN /* CAN DISABLE CONT @Y30LB27*/ 04513000 @RF01556 LH @08,RPLVRETC(,RPLVPTR) 1590 04514000 N @08,@CF03969 1590 04515000 LTR @08,@08 1590 04516000 BNZ @RF01590 1590 04517000 * CALL VINDALJ2; /* VS/2 @Y30LB27 04518000 * @Y30LB27*/ 04519000 BAL @14,VINDALJ2 1591 04520000 */********************************************************************* 04521000 * * DE-ALLOC OKAY FREE STORAGE @Y30LB27 04522000 * ********************************************************************/ 04523000 * 1592 04524000 * IF RPLVRETC=ZERO THEN 1592 04525000 @RF01590 LH @08,RPLVRETC(,RPLVPTR) 1592 04526000 N @08,@CF03969 1592 04527000 LTR @08,@08 1592 04528000 BNZ @RF01592 1592 04529000 * DO; /* DE-ALLOCATION OKAY @Y30LB27*/ 04530000 * REG0=MAXDCBLN; /* SET DCB LENGTH @Y30LB27*/ 04531000 LA REG0,96 1594 04532000 * REG1=VVIDCBAD; /* SET DCB ADDRESS @Y30LB27*/ 04533000 L REG1,VVIDCBAD(,VVIPTR) 1595 04534000 *LFREEM4: 1596 04535000 * GEN(FREEMAIN RC,LV=(0),A=(1),SP=241);/* FREE DCB @Y30LB27*/ 04536000 LFREEM4 FREEMAIN RC,LV=(0),A=(1),SP=241 04537000 * VVIDCBAD=ZERO; /* ZERO DCB ADDRESS @Y30LB27*/ 04538000 SLR @08,@08 1597 04539000 ST @08,VVIDCBAD(,VVIPTR) 1597 04540000 * END; /* @Y30LB27*/ 04541000 * END; /* @Y30LB27 04542000 * @Y30LB27*/ 04543000 @RF01592 DS 0H 1600 04544000 */********************************************************************* 04545000 * * IF SUCCESSFUL SO FAR AND THIS IS NOT A JOURANL DISABLE @Y30LB27 04546000 * * CLOSE, DE-ALLOCATE AND FREE INVENTORY ACB @Y30LB27 04547000 * ********************************************************************/ 04548000 * 1600 04549000 * IF RPLVRETC=ZERO&(ININIT=ON|INIABLE=ON|INIENABL=ON) THEN 1600 04550000 @RF01554 LH @08,RPLVRETC(,RPLVPTR) 1600 04551000 N @08,@CF03969 1600 04552000 LTR @08,@08 1600 04553000 BNZ @RF01600 1600 04554000 L @08,INITPTR 1600 04555000 TM ININIT(@08),B'10000000' 1600 04556000 BO @RT01600 1600 04557000 TM INIABLE(@08),B'00100000' 1600 04558000 BO @RT01600 1600 04559000 TM INIENABL(@08),B'01000000' 1600 04560000 BNO @RF01600 1600 04561000 @RT01600 DS 0H 1601 04562000 * DO; /* @ZM30746*/ 04563000 * IF VVIACBAD^=ZERO THEN /* DCB PRESENT @Y30LB27*/ 04564000 L @08,VVIACBAD(,VVIPTR) 1602 04565000 LTR @08,@08 1602 04566000 BZ @RF01602 1602 04567000 * DO; /* YES @Y30LB27 04568000 * @Y30LB27*/ 04569000 */********************************************************************* 04570000 * * CLOSE THE ACB @Y30LB27 04571000 * ********************************************************************/ 04572000 * 1604 04573000 * IF ACBOPEN=ON THEN 1604 04574000 TM ACBOPEN(@08),B'00010000' 1604 04575000 BNO @RF01604 1604 04576000 * DO; /* ACB TO CLOSE @Y30LB27*/ 04577000 * IF VVIFLG4=OFF THEN /* CHECK IF INV RESERVED @ZM31134*/ 04578000 TM VVIFLG4(VVIPTR),B'00001000' 1606 04579000 BNZ @RF01606 1606 04580000 * DO; /* @ZM31134*/ 04581000 * VRRSWI=ON; /* INDICATE ICBVIN00 RESVD 1608 04582000 * @ZM31134*/ 04583000 OI VRRSWI,B'00100000' 1608 04584000 * CALL INVRES; /* RESERVE INVENTORY @ZA05115*/ 04585000 BAL @14,INVRES 1609 04586000 * END; /* @ZM31134*/ 04587000 * REG0=VVIACBAD; /* SET ACB ADDRESS @Y30LB27*/ 04588000 @RF01606 L REG0,VVIACBAD(,VVIPTR) 1611 04589000 * CLSSTG=CLSLST; /* SET CLOSE LIST @Y30LB27*/ 04590000 L @08,CLSLST 1612 04591000 ST @08,CLSSTG 1612 04592000 *LCLOSE4: 1613 04593000 * GEN(CLOSE ((REG0),),MF=(E,CLSSTG));/* CLOSE ACB 1613 04594000 * @Y30LB27*/ 04595000 LCLOSE4 CLOSE ((REG0),),MF=(E,CLSSTG) 04596000 * IF VRRSWI=ON THEN /* ICBVIN00 RESEVD @ZM31134*/ 04597000 TM VRRSWI,B'00100000' 1614 04598000 BNO @RF01614 1614 04599000 * DO; /* @ZM31134*/ 04600000 * CALL INVDEQ; /* DEQUEUE INVENTORY @ZA05115*/ 04601000 BAL @14,INVDEQ 1616 04602000 * VRRSWI=OFF; /* SET ICBVIN00 RESEVD OFF 1617 04603000 * @ZM31134*/ 04604000 NI VRRSWI,B'11011111' 1617 04605000 * END; /* @ZM31134*/ 04606000 * IF ACBOPEN=ON THEN 1619 04607000 @RF01614 L @08,VVIACBAD(,VVIPTR) 1619 04608000 TM ACBOPEN(@08),B'00010000' 1619 04609000 BNO @RF01619 1619 04610000 * DO; /* CLOSE OKAY @Y30LB27*/ 04611000 * VINMSGID=MSGCLSEI;/* CLOSE ERROR MSG @Y30LB27*/ 04612000 MVC VINMSGID(2),@CH03410 1621 04613000 * CNVRTWK1(ONE)=''B;/* ADD ERROR @Y30LB27*/ 04614000 MVI CNVRTWK1,X'00' 1622 04615000 * CNVRTWK1(TWO)=ACBERFLG;/* CODE TO MSG @Y30LB27*/ 04616000 MVC CNVRTWK1+1(1),ACBERFLG(@08) 1623 04617000 * CALL VINCNVRT; /* TO THE MSG @Y30LB27*/ 04618000 BAL @14,VINCNVRT 1624 04619000 * CALL VINWTO; /* ISSUE ERROR MSG @Y30LB27*/ 04620000 BAL @14,VINWTO 1625 04621000 * END; /* @Y30LB27*/ 04622000 * END; /* #Y30LB27 04623000 * #Y30LB27*/ 04624000 @RF01619 DS 0H 1628 04625000 */********************************************************************* 04626000 * * CLOSE SUCCESSFUL - DE-ALLOC THE ACB @Y30LB27 04627000 * ********************************************************************/ 04628000 * 1628 04629000 * IF RPLVRETC=ZERO THEN /* CAL IN BE DE-ALLOCATED */ 04630000 @RF01604 LH @08,RPLVRETC(,RPLVPTR) 1628 04631000 N @08,@CF03969 1628 04632000 LTR @08,@08 1628 04633000 BNZ @RF01628 1628 04634000 * CALL VINDALV2; /* VS/1 @Y30LB27 04635000 * @Y30LB27*/ 04636000 BAL @14,VINDALV2 1629 04637000 */********************************************************************* 04638000 * * DE-ALLOC SUCCESSFUL FREE THE ACB STORAGE @G24LB04 04639000 * ********************************************************************/ 04640000 * 1630 04641000 * IF RPLVRETC=ZERO&VVIACBAD^=ZERO THEN 1630 04642000 @RF01628 LH @08,RPLVRETC(,RPLVPTR) 1630 04643000 N @08,@CF03969 1630 04644000 LTR @08,@08 1630 04645000 BNZ @RF01630 1630 04646000 L @08,VVIACBAD(,VVIPTR) 1630 04647000 LTR @08,@08 1630 04648000 BZ @RF01630 1630 04649000 * DO; /* @ZM30746*/ 04650000 * REG0=MAXDCBLN; /* SET ACB LENGTH #Y30LB27*/ 04651000 LA REG0,96 1632 04652000 * REG1=VVIACBAD; /* SET ACB ADDRESS #Y30LB27*/ 04653000 LR REG1,@08 1633 04654000 *LFREEM5: 1634 04655000 * GEN(FREEMAIN RC,LV=(0),A=(1),SP=241);/* FREE ACB 1634 04656000 * #Y30LB27*/ 04657000 LFREEM5 FREEMAIN RC,LV=(0),A=(1),SP=241 04658000 * VVIACBAD=ZERO; /* ZERO DCB ADDRESS #Y30LB27*/ 04659000 SLR @08,@08 1635 04660000 ST @08,VVIACBAD(,VVIPTR) 1635 04661000 * END; /* #Y30LB27*/ 04662000 * END; /* #Y30LB27*/ 04663000 @RF01630 DS 0H 1638 04664000 * END; /* #Y30LB27*/ 04665000 @RF01602 DS 0H 1639 04666000 * DISSW=OFF; /* DISABLE COMPLETE #Y30LB27 04667000 * #Y30LB27*/ 04668000 @RF01600 NI DISSW,B'11111110' 1639 04669000 */********************************************************************* 04670000 * * IF ENTERED FOR OTHER THAN DISABLE RESTORE THE RPLVRETC #Y30LB27 04671000 * ********************************************************************/ 04672000 * 1640 04673000 * IF INIDISAB=OFF THEN /* DISABLE #Y30LB27*/ 04674000 L @08,INITPTR 1640 04675000 TM INIDISAB(@08),B'00100000' 1640 04676000 BNZ @RF01640 1640 04677000 * RPLVRETC=SAVRETC; /* RESTORE RPLVRETC #Y30LB27*/ 04678000 LH @08,SAVRETC 1641 04679000 STH @08,RPLVRETC(,RPLVPTR) 1641 04680000 * RETURN; /* RETURN TO CALLER #Y30LB27*/ 04681000 @EL00016 DS 0H 1642 04682000 @EF00016 DS 0H 1642 04683000 @ER00016 L @14,@SA00016 1642 04684000 BR @14 1642 04685000 * END VINDSDS; /* #Y30LB27*/ 04686000 B @EL00016 1643 04687000 * 1644 04688000 */* ****************************************************************** 04689000 ** #Y30LB27 04690000 ** NAME = VINDALV2: SEGMENT TO DE-ALLOCATE INVENTORY @G24LB04 04691000 ** #Y30LB27 04692000 ** INPUT = NONE #Y30LB27 04693000 ** #Y30LB27 04694000 ** PROCESS = VINDALV2 IS A SUBSEGMENT OF SEGMENT VINDSDS. @Y30LB27 04695000 ** #Y30LB27 04696000 ** OUTPUT = INVENTORY IS DE-ALLOCATED FROM MSVC THE TASK #Y30LB27 04697000 ** #Y30LB27 04698000 ******************************************************************** */ 04699000 * 1644 04700000 *VINDALV2: 1644 04701000 * PROC OPTIONS(SAVE(14)); /* #Y30LB27 04702000 * #Y30LB27*/ 04703000 VINDALV2 ST @14,@SA00017 1644 04704000 */********************************************************************* 04705000 * * RECONSTRUCT DYN ALLOC PARAMETER LIST #Y30LB27 04706000 * * AND ISSUE DYNAMIC DE-ALLOCATION FOR THE JOURNAL #Y30LB27 04707000 * ********************************************************************/ 04708000 * 1645 04709000 * S99RB=S99RB&&S99RB; /* CLEAR DYN ALLOC RB #Y30LB27*/ 04710000 XC S99RB(20),S99RB 1645 04711000 * S99RBLN=TWENTY; /* SET LENGTH TO 20 #Y30LB27*/ 04712000 MVI S99RBLN,X'14' 1646 04713000 * S99VERB=S99VRBUN; /* SET VERB CODE #Y30LB27*/ 04714000 MVI S99VERB,X'02' 1647 04715000 * S99TXTPP=ADDR(TXTPTR(1)); /* INITIALIZE TEXT POINTER 1648 04716000 * #Y30LB27*/ 04717000 LA @08,TXTPTR 1648 04718000 ST @08,S99TXTPP 1648 04719000 * S99TUPLN(2)=ON; /* INDICATE END OF LIST #Y30LB27*/ 04720000 OI S99TUPLN+4(@08),B'10000000' 1649 04721000 * TXTPTR(TWO)->S99TULNG=UCATLEN+FIVE;/* SET PTR #Y30LB27*/ 04722000 L @08,TXTPTR+4 1650 04723000 LA @03,5 1650 04724000 AH @03,UCATLEN 1650 04725000 STCM @03,3,S99TULNG(@08) 1650 04726000 * TXTPTR(TWO)->S99TUPAR(UCATLEN+TWO:UCATLEN+FIVE)=CMSVI;/* #Y30LB27*/ 04727000 LH @03,UCATLEN 1651 04728000 ALR @08,@03 1651 04729000 MVC S99TUPAR+1(4,@08),CMSVI 1651 04730000 * TXTPTR(TWO)->S99TUPAR(UCATLEN+SIX:UCATLEN+NINE)=BLANKS(ONE:FOUR); 04731000 LH @08,UCATLEN 1652 04732000 L @03,TXTPTR+4 1652 04733000 ALR @03,@08 1652 04734000 MVC S99TUPAR+5(4,@03),BLANKS 1652 04735000 * /* RESET TEXT PARM #Y30LB27*/ 04736000 * TXTPTR(ONE)=ADDR(MSVCKEY1); /* POINT TO INVE PARM #Y30LB27*/ 04737000 LA @08,MSVCKEY1 1653 04738000 ST @08,TXTPTR 1653 04739000 * S99RBPTR=ADDR(S99RB); /* POINT TO SYN ALLOC REQUEST 1654 04740000 * BLOCK #Y30LB27*/ 04741000 LA @08,S99RB 1654 04742000 ST @08,S99RBPTR 1654 04743000 * REG1=ADDR(S99RBPTR); /* SET PARM REG #Y30LB27*/ 04744000 LA REG1,S99RBPTR 1655 04745000 * S99RBPND=ON; /* END OF LIST #Y30LB27*/ 04746000 OI S99RBPND,B'10000000' 1656 04747000 * REG1=ADDR(S99RBPTR); /* SET PARM REG #Y30LB27*/ 04748000 LA REG1,S99RBPTR 1657 04749000 *LSVC99B: 1658 04750000 * GEN(SVC 99); /* ISSUE DYNAMIC ALLOC SVC 1658 04751000 * #Y30LB27*/ 04752000 LSVC99B SVC 99 04753000 * IF S99ERROR^=ZERO THEN 1659 04754000 LH @08,S99ERROR 1659 04755000 N @08,@CF03969 1659 04756000 LTR @08,@08 1659 04757000 BZ @RF01659 1659 04758000 * DO; /* DYNAMIC ALLOC ERROR #Y30LB27*/ 04759000 * VINMSGID=MSGDYDEI; /* SET MSG INDEX #Y30LB27*/ 04760000 MVC VINMSGID(2),@CH03701 1661 04761000 * CNVRTWK1(ONE:TWO)=S99ERROR; /* ADD @Y30LB27 04762000 * #Y30LB27*/ 04763000 MVC CNVRTWK1(2),S99ERROR 1662 04764000 * CALL VINCNVRT; /* CODE #Y30LB27*/ 04765000 BAL @14,VINCNVRT 1663 04766000 * CALL VINWTO; /* ISSUE ERROR MSG #Y30LB27*/ 04767000 BAL @14,VINWTO 1664 04768000 * END; /* #Y30LB27*/ 04769000 * RETURN; /* RETURN TO CALLER #Y30LB27*/ 04770000 @EL00017 DS 0H 1666 04771000 @EF00017 DS 0H 1666 04772000 @ER00017 L @14,@SA00017 1666 04773000 BR @14 1666 04774000 * END VINDALV2; /* #Y30LB27*/ 04775000 B @EL00017 1667 04776000 * 1668 04777000 */* ****************************************************************** 04778000 ** #Y30LB27 04779000 ** NAME = VINDALJ2: SEGMENT TO DE-ALLOCATE JOURNAL @G24LB04 04780000 ** #Y30LB27 04781000 ** INPUT = NONE #Y30LB27 04782000 ** #Y30LB27 04783000 ** PROCESS = VINDALJ2 IS A SUBSEGMENT OF SEGMENT VINDSDS. @Y30LB27 04784000 ** #Y30LB27 04785000 ** OUTPUT = JOURANL IS DE-ALLOCATED FROM MSVC THE TASK #Y30LB27 04786000 ** #Y30LB27 04787000 ******************************************************************** */ 04788000 * 1668 04789000 *VINDALJ2: 1668 04790000 * PROC OPTIONS(SAVE(14)); /* #Y30LB27 04791000 * #Y30LB27*/ 04792000 VINDALJ2 ST @14,@SA00018 1668 04793000 */********************************************************************* 04794000 * * RECONSTRUCT DYN ALLOC PARAMETER LIST #Y30LB27 04795000 * * AND ISSUE DYNAMIC DE-ALLOCATION FOR THE JOURNAL #Y30LB27 04796000 * ********************************************************************/ 04797000 * 1669 04798000 * S99RB=S99RB&&S99RB; /* CLEAR DYN ALLOC RB #Y30LB27*/ 04799000 XC S99RB(20),S99RB 1669 04800000 * S99RBLN=TWENTY; /* SET LENGTH TO 20 #Y30LB27*/ 04801000 MVI S99RBLN,X'14' 1670 04802000 * S99VERB=S99VRBUN; /* SET VERB CODE #Y30LB27*/ 04803000 MVI S99VERB,X'02' 1671 04804000 * S99TXTPP=ADDR(TXTPTR(1)); /* INITIALIZE TEXT POINTER 1672 04805000 * #Y30LB27*/ 04806000 LA @08,TXTPTR 1672 04807000 ST @08,S99TXTPP 1672 04808000 * S99TUPLN(2)=ON; /* INDICATE END OF LIST #Y30LB27*/ 04809000 OI S99TUPLN+4(@08),B'10000000' 1673 04810000 * TXTPTR(ONE)=ADDR(JRNLKEY1); /* SET DYN ALLOC TEXT PTR TO JRNL 04811000 * #Y30LB27*/ 04812000 LA @08,JRNLKEY1 1674 04813000 ST @08,TXTPTR 1674 04814000 * TXTPTR(TWO)->S99TUPAR(UCATLEN+TWO:UCATLEN+FIVE)=CMSVC(ONE:FOUR); 04815000 LH @08,UCATLEN 1675 04816000 L @03,TXTPTR+4 1675 04817000 ALR @03,@08 1675 04818000 MVC S99TUPAR+1(4,@03),CMSVC 1675 04819000 * /* #Y30LB27*/ 04820000 * TXTPTR(TWO)->S99TUPAR(UCATLEN+SIX:UCATLEN+NINE)=CJRNL;/* #Y30LB27*/ 04821000 LH @08,UCATLEN 1676 04822000 L @03,TXTPTR+4 1676 04823000 ALR @03,@08 1676 04824000 MVC S99TUPAR+5(4,@03),CJRNL 1676 04825000 * TXTPTR(TWO)->S99TULNG=UCATLEN+NINE;/* SET NAME AND NEW LEN 1677 04826000 * #Y30LB27*/ 04827000 L @08,TXTPTR+4 1677 04828000 LA @03,9 1677 04829000 AH @03,UCATLEN 1677 04830000 STCM @03,3,S99TULNG(@08) 1677 04831000 * S99TXTPP=ADDR(TXTPTR(1)); /* INITIALIZE TEXT POINTER 1678 04832000 * #Y30LB27*/ 04833000 LA @08,TXTPTR 1678 04834000 ST @08,S99TXTPP 1678 04835000 * S99RBPTR=ADDR(S99RB); /* POINT TO SYN ALLOC REQUEST 1679 04836000 * BLOCK #Y30LB27*/ 04837000 LA @08,S99RB 1679 04838000 ST @08,S99RBPTR 1679 04839000 * REG1=ADDR(S99RBPTR); /* SET PARM REG #Y30LB27*/ 04840000 LA REG1,S99RBPTR 1680 04841000 * S99RBPND=ON; /* END OF LIST #Y30LB27*/ 04842000 OI S99RBPND,B'10000000' 1681 04843000 *LSVC99C: 1682 04844000 * GEN(SVC 99); /* ISSUE DYNAMIC ALLOC SVC 1682 04845000 * #Y30LB27*/ 04846000 LSVC99C SVC 99 04847000 * IF S99ERROR^=ZERO THEN 1683 04848000 LH @08,S99ERROR 1683 04849000 N @08,@CF03969 1683 04850000 LTR @08,@08 1683 04851000 BZ @RF01683 1683 04852000 * DO; /* DYNAMIC ALLOC ERROR #Y30LB27*/ 04853000 * VINMSGID=MSGDYDEJ; /* SET MSG INDEX #Y30LB27*/ 04854000 MVC VINMSGID(2),@CH03698 1685 04855000 * CNVRTWK1(ONE:TWO)=S99ERROR; /* ADD ERROR #Y30LB27*/ 04856000 MVC CNVRTWK1(2),S99ERROR 1686 04857000 * CALL VINCNVRT; /* CODE TO THE MSG #Y30LB27*/ 04858000 BAL @14,VINCNVRT 1687 04859000 * CALL VINWTO; /* ISSUE THE RROR MSG #Y30LB27*/ 04860000 BAL @14,VINWTO 1688 04861000 * END; /* #Y30LB27*/ 04862000 * RETURN; /* EXIT #Y30LB27*/ 04863000 @EL00018 DS 0H 1690 04864000 @EF00018 DS 0H 1690 04865000 @ER00018 L @14,@SA00018 1690 04866000 BR @14 1690 04867000 * END VINDALJ2; /* #Y30LB27*/ 04868000 B @EL00018 1691 04869000 * 1692 04870000 */* **************************************************************** 04871000 ** @Y30LB27 04872000 ** VINWTO: SEGMENT TO PROCESS DISABLE, ENABLE, IPL FAILURE @Y30LB27 04873000 ** @Y30LB27 04874000 ** INPUT: @Y30LB27 04875000 ** VINWTO CODE, INDICATING REASON FOR FAILURE @Y30LB27 04876000 ** MSVC RPL, INDICATING FUNCTION: DISABLE, ENABLE, IPL @Y30LB27 04877000 ** @Y30LB27 04878000 ** PROCESS: @Y30LB27 04879000 ** UPON ENTRY, THE FUNCTION BEING PERFORMED IS @Y30LB27 04880000 ** DETERMINED FROM THE MSVC RPL AND A MESSAGE IS PRINTED @Y30LB27 04881000 ** TO THE OPERATOR. @Y30LB27 04882000 ** @Y30LB27 04883000 ** NEXT, THE VINWTO CODE IS USED TO SELECT A 'REASON FOR 1692 04884000 ** FAILURE' MESSAGE AND THAT IS PRINTED AT THE OPERATORS 1692 04885000 ** CONSOLE. IF IPL, A REQUEST FOR OPERATOR RESPONSE ON 1692 04886000 ** WHETHER TO CONTINUE MSS WITHOUT MSVC OR TERMINATE BOTH 1692 04887000 ** IS ALSO PRINTED. @Y30LB27 04888000 ** @Y30LB27 04889000 ** FOR BOTH IPL AND ENABLE, SEGMENT VINDSDS IS CALLED TO 1692 04890000 ** CLEAN-UP ALL OPENED AND ALLOCATED DATA SETS. A RETURN CODE 1692 04891000 ** IS SET TO INDICATE THE OPERATOR'S RESPONSE, IF IPL, AND THE 1692 04892000 ** SEGMENT IS EXITED. @Y30LB27 04893000 ** @Y30LB27 04894000 ** OUTPUT: @Y30LB27 04895000 ** TERM CODE IS SET TO INDICATE: @Y30LB27 04896000 ** TERMINATE MSVC, KEEP MSS ACTIVE @Y30LB27 04897000 ** TERMINATE MSVC AND MSS @Y30LB27 04898000 ** MESSAGES ARE WRITTEN TO THE OPERATOR @Y30LB27 04899000 ** @Y30LB27 04900000 ******************************************************************* */ 04901000 * 1692 04902000 *VINWTO: 1692 04903000 * PROC OPTIONS(SAVE(14)); /* @Y30LB27 04904000 * @Y30LB27*/ 04905000 VINWTO ST @14,@SA00019 1692 04906000 */********************************************************************* 04907000 * * SET MESSAGE ID - POINT TO MSG RPL AND CALL MESSAGE MODULE@Y30LB27 04908000 * ********************************************************************/ 04909000 * 1693 04910000 * MSGID=VINMSGTB(VINMSGID); /* SET ACTUAL MSGID @Y30LB27*/ 04911000 LH @08,VINMSGID 1693 04912000 ALR @08,@08 1693 04913000 LH @08,VINMSGTB-2(@08) 1693 04914000 ST @08,MSGID 1693 04915000 * REG1=ADDR(MSGRQ); /* POINT TO MSG REQUEST @Y30LB27*/ 04916000 LA REG1,MSGRQ 1694 04917000 * CALL ICBVOP00; /* ISSUE MSG VIA ICBVOP00 1695 04918000 * @Y30LB27 04919000 * @Y30LB27*/ 04920000 L @15,@CV03334 1695 04921000 BALR @14,@15 1695 04922000 */********************************************************************* 04923000 * * IF IT IS A TERMINATING MESSAGE AND ITS IPL CHECK TO SEE @Y30LB27 04924000 * * MSVC DISABLES OR TERMINATES MSS @Y30LB27 04925000 * ********************************************************************/ 04926000 * 1696 04927000 * IF RPLVRETC^=ZERO&DISSW=OFF THEN 1696 04928000 LH @08,RPLVRETC(,RPLVPTR) 1696 04929000 N @08,@CF03969 1696 04930000 LTR @08,@08 1696 04931000 BZ @RF01696 1696 04932000 TM DISSW,B'00000001' 1696 04933000 BNZ @RF01696 1696 04934000 * DO; /* @Y30LB27*/ 04935000 * IF ININIT=ON THEN 1698 04936000 L @03,INITPTR 1698 04937000 TM ININIT(@03),B'10000000' 1698 04938000 BNO @RF01698 1698 04939000 * DO; /* NO - IPL @Y30LB27*/ 04940000 */********************************************************************* 04941000 * * LOOP UNTIL A VALID RESPONSE IS RECEIVED @Y30LB27 04942000 * ********************************************************************/ 04943000 * 1700 04944000 * RETRYSW=ON; /* IF IPL ASK FOR DISABLE OR 1700 04945000 * TERMINATE IPL #Y30LB27*/ 04946000 OI RETRYSW,B'10000000' 1700 04947000 * SAVRETC=RPLVRETC; /* SAVE RETURN CODE @Y30LB27*/ 04948000 STH @08,SAVRETC 1701 04949000 * DO WHILE(RETRYSW=ON); /* LOOP UNTIL VALID RESPONSE 1702 04950000 * @Y30LB27*/ 04951000 B @DE01702 1702 04952000 @DL01702 DS 0H 1703 04953000 * MSGRQ=''B; /* CLEAR MESSAGE REQ @Y30LB27*/ 04954000 XC MSGRQ(32),MSGRQ 1703 04955000 * MSGRPLV=RPLVPTR; /* RESET RPLV PTR @Y30LB27*/ 04956000 ST RPLVPTR,MSGRPLV 1704 04957000 * MSGID=VINMSGTB(MSGTRME);/* ISSUE ICB419D @Y30LB27*/ 04958000 LH @08,VINMSGTB+44 1705 04959000 ST @08,MSGID 1705 04960000 * MSGRLEN=LENGTH(REPLY);/* SET REPLY AREA ADDR @Y30LB27*/ 04961000 MVI MSGRLEN,X'48' 1706 04962000 * MSGREPLY=ADDR(REPLY); /* AND LENGTH @Y30LB27*/ 04963000 LA @08,REPLY 1707 04964000 STCM @08,7,MSGREPLY 1707 04965000 * REG1=ADDR(MSGRQ); /* POINT TO REQUEST @Y30LB27*/ 04966000 LA REG1,MSGRQ 1708 04967000 * CALL ICBVOP00; /* ISSUE REQUEST @Y30LB27*/ 04968000 L @15,@CV03334 1709 04969000 BALR @14,@15 1709 04970000 * MSGRQ=''B; /* CLEAR MESSAGE REQ @ZM31138*/ 04971000 XC MSGRQ(32),MSGRQ 1710 04972000 * MSGRPLV=RPLVPTR; /* RESET RPLV PTR @ZM31138*/ 04973000 ST RPLVPTR,MSGRPLV 1711 04974000 */********************************************************************* 04975000 * * FOLD RESPONSE TO UPPERCASE @Y30LB27 04976000 * ********************************************************************/ 04977000 * 1712 04978000 * REPLY(ONE:TWO)=REPLY(ONE:TWO)|BLANKS(ONE:TWO);/* FOLD 04979000 * TO UPPER CASE @Y30LB27*/ 04980000 OC REPLY(2),BLANKS 1712 04981000 * IF REPLY(ONE:TWO)=CY THEN/* REPLY Y @Y30LB27*/ 04982000 CLC REPLY(2),@CC03670 1713 04983000 BNE @RF01713 1713 04984000 * RETRYSW=OFF; /* VALID RESPONSE - DISAB@Y30LB27*/ 04985000 NI RETRYSW,B'01111111' 1714 04986000 * ELSE /* IS IT N @Y30LB27*/ 04987000 * IF REPLY(ONE:TWO)=CN THEN 1715 04988000 B @RC01713 1715 04989000 @RF01713 CLC REPLY(2),@CC03672 1715 04990000 BNE @RF01715 1715 04991000 * DO; /* ITS N @Y30LB27*/ 04992000 * RETRYSW=OFF; /* VALID RESPONSE - TERM @Y30LB27*/ 04993000 NI RETRYSW,B'01111111' 1717 04994000 * ICBV=OFF; /* TELL MSSC TO TERMINATE 1718 04995000 * @Y30LB27*/ 04996000 L @08,CVTPTR 1718 04997000 L @08,CVTEXT2(,@08) 1718 04998000 L @08,CVTICB(,@08) 1718 04999000 NI ICBV(@08),B'11011111' 1718 05000000 * END; /* @Y30LB27*/ 05001000 * ELSE /* INVALID RESPONSE @Y30LB27*/ 05002000 * DO; /* ISSUE @Y30LB27*/ 05003000 B @RC01715 1720 05004000 @RF01715 DS 0H 1721 05005000 * REG1=ADDR(MSGRQ);/* POINT TO REQUEST @ZM31138*/ 05006000 LA REG1,MSGRQ 1721 05007000 * MSGID=VINMSGTB(MSGSPEE);/* ICB423D AND RE-ISSUE 05008000 * #Y30LB27*/ 05009000 LH @08,VINMSGTB+46 1722 05010000 ST @08,MSGID 1722 05011000 * CALL ICBVOP00; /* ICB419D #Y30LB27*/ 05012000 L @15,@CV03334 1723 05013000 BALR @14,@15 1723 05014000 * MSGRQ=''B; /* CLEAR MESSAGE REQ @ZM31138*/ 05015000 XC MSGRQ(32),MSGRQ 1724 05016000 * MSGRPLV=RPLVPTR;/* RESET RPLV PTR @ZM31138*/ 05017000 ST RPLVPTR,MSGRPLV 1725 05018000 * END; /* #Y30LB27*/ 05019000 * END; /* #Y30LB27 05020000 * @Y30LB27*/ 05021000 @RC01715 DS 0H 1727 05022000 @RC01713 DS 0H 1727 05023000 @DE01702 TM RETRYSW,B'10000000' 1727 05024000 BO @DL01702 1727 05025000 */********************************************************************* 05026000 * * IF MSVC IS TO DISABLE CLOSE AND DE-ALLOCATE THE DATA @Y30LB27 05027000 * * SETS INDICATE MSVC DISABLED @Y30LB27 05028000 * ********************************************************************/ 05029000 * 1728 05030000 * IF VVIACBAD^=ZERO&ACBOPEN=ON THEN/* OPEN ACB @Y30LB27*/ 05031000 L @08,VVIACBAD(,VVIPTR) 1728 05032000 LTR @08,@08 1728 05033000 BZ @RF01728 1728 05034000 TM ACBOPEN(@08),B'00010000' 1728 05035000 BNO @RF01728 1728 05036000 * DO; /* YES @Y30LB27*/ 05037000 * DO WHILE(CPUIDPTR=ZERO);/* RECORD BUFFER OBTAINED 1730 05038000 * @Y30LB27*/ 05039000 B @DE01730 1730 05040000 @DL01730 DS 0H 1731 05041000 * REG0=MAXREC; /* GET LENGTH OF @Y30LB27 05042000 * MAXIMUM RECORD @G24LB04*/ 05043000 LA REG0,1024 1731 05044000 *LGETM7: 1732 05045000 * GEN(GETMAIN RC,LV=(0),SP=241);/* GET STORAGE FOR 1732 05046000 * ACB @Y30LB27*/ 05047000 LGETM7 GETMAIN RC,LV=(0),SP=241 05048000 * IF REG15^=ZERO THEN 1733 05049000 LTR REG15,REG15 1733 05050000 BZ @RF01733 1733 05051000 * DO; /* STORAGE OBTAIN @Y30LB27*/ 05052000 * REG1=ADDR(MSGRQ);/* POINT TO REQUEST @ZM31138*/ 05053000 LA REG1,MSGRQ 1735 05054000 * MSGID=VINMSGTB(MSGSTGE);/* SET MSG ID #Y30LB27*/ 05055000 LH @08,VINMSGTB+10 1736 05056000 ST @08,MSGID 1736 05057000 * CALL ICBVOP00;/* PRINT ERROR MESSAGE #Y30LB27*/ 05058000 L @15,@CV03334 1737 05059000 BALR @14,@15 1737 05060000 * MSGRQ=''B; /* CLEAR MESSAGE REQ @ZM31138*/ 05061000 XC MSGRQ(32),MSGRQ 1738 05062000 * MSGRPLV=RPLVPTR;/* RESET RPLV PTR @ZM31138*/ 05063000 ST RPLVPTR,MSGRPLV 1739 05064000 * RETURN; /* RETURN TO CALLER #Y30LB27*/ 05065000 @EL00019 DS 0H 1740 05066000 @EF00019 DS 0H 1740 05067000 @ER00019 L @14,@SA00019 1740 05068000 BR @14 1740 05069000 * END; /* #Y30LB27*/ 05070000 * CPUIDPTR=REG1; /* SET PTR FOR RECORD BUFFER 1742 05071000 * #Y30LB27*/ 05072000 @RF01733 ST REG1,CPUIDPTR 1742 05073000 * END; /* #Y30LB27*/ 05074000 @DE01730 L @08,CPUIDPTR 1743 05075000 LTR @08,@08 1743 05076000 BZ @DL01730 1743 05077000 * RPLVTYP=RPLVREAD; /* INDICATE READ #Y30LB27*/ 05078000 MVI RPLVTYP(RPLVPTR),X'00' 1744 05079000 * RPLVUPD=ON; /* FOR UPDATE #Y30LB27*/ 05080000 OI RPLVUPD(RPLVPTR),B'00000010' 1745 05081000 * RPLVBUF=CPUIDPTR; /* SET BUFFER ADDRESS #Y30LB27*/ 05082000 ST @08,RPLVBUF(,RPLVPTR) 1746 05083000 * RPLVKEY=CPUIDPTR; /* SET KEY ADDRESS #Y30LB27*/ 05084000 ST @08,RPLVKEY(,RPLVPTR) 1747 05085000 * RPLVRLN=LENGTH(CPUID);/* SET KEY ADDRESS #Y30LB27*/ 05086000 LA @03,151 1748 05087000 ST @03,RPLVRLN(,RPLVPTR) 1748 05088000 * RPLVBLN=LENGTH(CPUID);/* SET KEY ADDRESS #Y30LB27*/ 05089000 ST @03,RPLVBLN(,RPLVPTR) 1749 05090000 * CPUNAME=CCPUIDK; /* SET KWY ADDR #Y30LB27*/ 05091000 MVC CPUNAME(13,@08),CCPUIDK 1750 05092000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV #Y30LB27*/ 05093000 LR REG1,RPLVPTR 1751 05094000 * CALL ICBVIO00; /* GET CPUID REC #Y30LB27*/ 05095000 L @15,@CV03332 1752 05096000 BALR @14,@15 1752 05097000 * IF RPLVRETC^=ZERO THEN 1753 05098000 LH @08,RPLVRETC(,RPLVPTR) 1753 05099000 N @08,@CF03969 1753 05100000 LTR @08,@08 1753 05101000 BZ @RF01753 1753 05102000 * DO; /* VSAM I/O ERROR #Y30LB27*/ 05103000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST @Y30LB27*/ 05104000 MVI MSGLEN1,X'0C' 1755 05105000 * MSGTEXT1=RPLVKEY;/* LOCATION OF NON-GRP @YM02859*/ 05106000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1756 05107000 * CNVRTWK1=RPLRCODE;/* SET REASON CODE @Y30LB27*/ 05108000 MVI CNVRTWK1+2,X'00' 1757 05109000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1757 05110000 * CALL VINCNVRT; /* TO MSG @Y30LB27*/ 05111000 BAL @14,VINCNVRT 1758 05112000 * MSGID=VINMSGTB(MSGVSME);/* SET MSG ID @Y30LB27*/ 05113000 LH @08,VINMSGTB+26 1759 05114000 ST @08,MSGID 1759 05115000 * REG1=ADDR(MSGRQ);/* POINT TO REQUEST @ZM31138*/ 05116000 LA REG1,MSGRQ 1760 05117000 * CALL ICBVOP00; /* PRINT ERROR MESSAGE @Y30LB27*/ 05118000 L @15,@CV03334 1761 05119000 BALR @14,@15 1761 05120000 * MSGRQ=''B; /* CLEAR MESSAGE REQ @ZM31138*/ 05121000 XC MSGRQ(32),MSGRQ 1762 05122000 * MSGRPLV=RPLVPTR;/* RESET RPLV PTR @ZM31138*/ 05123000 ST RPLVPTR,MSGRPLV 1763 05124000 * END; /* @Y30LB27*/ 05125000 * IF RPLVRETC=ZERO THEN 1765 05126000 @RF01753 LH @08,RPLVRETC(,RPLVPTR) 1765 05127000 N @08,@CF03969 1765 05128000 LTR @08,@08 1765 05129000 BNZ @RF01765 1765 05130000 * DO; /* VSAM I/O ERROR @Y30LB27*/ 05131000 * CPUPURGE=CPUPURGE|VVICPUID;/* OR PURGE REQUIRED 05132000 * @Y30LB27 05133000 * @Y30LB27*/ 05134000 L @08,CPUIDPTR 1767 05135000 OC CPUPURGE(2,@08),VVICPUID(VVIPTR) 1767 05136000 */********************************************************************* 05137000 * * MODIFY RPL AND PUT THE UPDATED CPU ASSOC RECORD @Y30LB27 05138000 * ********************************************************************/ 05139000 * 1768 05140000 * RPLVTYP=RPLVPUT;/* INDICATE READ @Y30LB27*/ 05141000 MVI RPLVTYP(RPLVPTR),X'01' 1768 05142000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV @Y30LB27*/ 05143000 LR REG1,RPLVPTR 1769 05144000 * CALL ICBVIO00; /* WRITE THE RECORD @Y30LB27*/ 05145000 L @15,@CV03332 1770 05146000 BALR @14,@15 1770 05147000 * IF RPLVRETC^=ZERO THEN 1771 05148000 LH @08,RPLVRETC(,RPLVPTR) 1771 05149000 N @08,@CF03969 1771 05150000 LTR @08,@08 1771 05151000 BZ @RF01771 1771 05152000 * DO; /* VSAM I/O ERROR @Y30LB27*/ 05153000 * MSGLEN1=TWELVE;/* LEN OF MSG CONST @Y30LB27*/ 05154000 MVI MSGLEN1,X'0C' 1773 05155000 * MSGTEXT1=RPLVKEY;/* SET KEY ADDR @YM02859*/ 05156000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 1774 05157000 * CNVRTWK1=RPLRCODE;/* SET REASON CODE @Y30LB27*/ 05158000 MVI CNVRTWK1+2,X'00' 1775 05159000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1775 05160000 * CALL VINCNVRT;/* AND ADD TO MSG @Y30LB27*/ 05161000 BAL @14,VINCNVRT 1776 05162000 * MSGID=VINMSGTB(MSGVSME);/* SET MSG ID 1777 05163000 * @YM04327*/ 05164000 LH @08,VINMSGTB+26 1777 05165000 ST @08,MSGID 1777 05166000 * REG1=ADDR(MSGRQ);/* POINT TO REQUEST @ZM31138*/ 05167000 LA REG1,MSGRQ 1778 05168000 * CALL ICBVOP00;/* PRINT ERROR MESSAGE @YM04327*/ 05169000 L @15,@CV03334 1779 05170000 BALR @14,@15 1779 05171000 * MSGRQ=''B; /* CLEAR MESSAGE REQ @YM04327*/ 05172000 XC MSGRQ(32),MSGRQ 1780 05173000 * MSGRPLV=RPLVPTR;/* RESET RPLV PTR @YM04327*/ 05174000 ST RPLVPTR,MSGRPLV 1781 05175000 * END; /* #Y30LB27 05176000 * #Y30LB27*/ 05177000 */********************************************************************* 05178000 * * ISSUE ENDREC FOR DATA SET @Y30LB27 05179000 * ********************************************************************/ 05180000 * 1783 05181000 * RPLVTYP=RPLVENDR;/* INDICATE ENDREC @Y30LB27*/ 05182000 @RF01771 MVI RPLVTYP(RPLVPTR),X'04' 1783 05183000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV @Y30LB27*/ 05184000 LR REG1,RPLVPTR 1784 05185000 * CALL ICBVIO00; /* CALL ICBVIN00 FOR ENDREC 1785 05186000 * @Y30LB27*/ 05187000 L @15,@CV03332 1785 05188000 BALR @14,@15 1785 05189000 * END; /* @Y30LB27 05190000 * @Y30LB27*/ 05191000 */********************************************************************* 05192000 * * DEQ - RELEASE THE DATA SET - INVENTORY @Y30LB27 05193000 * ********************************************************************/ 05194000 * 1787 05195000 * CALL INVDEQ; /* RESERVE INVENTORY @ZA05115*/ 05196000 @RF01765 BAL @14,INVDEQ 1787 05197000 * END; /* @Y30LB27*/ 05198000 * RPLVRETC=SAVRETC; /* RESTORE RTNCODE @Y30LB27*/ 05199000 @RF01728 LH @08,SAVRETC 1789 05200000 STH @08,RPLVRETC(,RPLVPTR) 1789 05201000 * CALL VINDSDS; /* CLOSE AND DE-ALLOC THE DATA 1790 05202000 * SETS @Y30LB27*/ 05203000 BAL @14,VINDSDS 1790 05204000 * VVIFLG0=ON; /* MSVC IS DISABLED @Y30LB27*/ 05205000 * VVIFLG2=ON; /* JOURNAL IS DISABLED @Y30LB27*/ 05206000 OI VVIFLG0(VVIPTR),B'10100000' 1792 05207000 * END; /* @Y30LB27*/ 05208000 * IF INIENABL=ON THEN /* ENABLE CALL @YM04327*/ 05209000 @RF01698 L @08,INITPTR 1794 05210000 TM INIENABL(@08),B'01000000' 1794 05211000 BNO @RF01794 1794 05212000 * CALL VINDSDS; /* YES CLEAN UP @YM04327*/ 05213000 BAL @14,VINDSDS 1795 05214000 * END; /* @Y30LB27*/ 05215000 @RF01794 DS 0H 1797 05216000 * MSGRQ=''B; /* CLEAR MESSAGE REQ @Y30LB27*/ 05217000 @RF01696 XC MSGRQ(32),MSGRQ 1797 05218000 * MSGRPLV=RPLVPTR; /* RESET RPLV PTR @Y30LB27*/ 05219000 ST RPLVPTR,MSGRPLV 1798 05220000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 05221000 B @EL00019 1799 05222000 * END VINWTO; /* @Y30LB27*/ 05223000 * 1801 05224000 */* ****************************************************************** 05225000 ** @Y30LB27 05226000 ** NAME = VINCNVRT: SEGMENT TO CONVERT RETURN CODE TO @Y30LB27 05227000 ** EBCDIC FOR PRINTING @Y30LB27 05228000 ** @Y30LB27 05229000 ** INPUT = CNVRTWK1 - CONVERT WORK AREA CONTAINING REASON @Y30LB27 05230000 ** CODE CONVERTED. @Y30LB27 05231000 ** @Y30LB27 05232000 ** PROCESS = UNPACK CNVRTWK1 INTO CNVRTWK2. TAKES HEX 0-F@Y30LB27 05233000 ** AND CONVERTS IT TO XEX F0-FF. THEN TRANS THIS TO @Y30LB27 05234000 ** EBCDIC. SET MSGLEN2 = FOUR AND MSGTEXT2 = ADDRESS @Y30LB27 05235000 ** CONVRTWK2. @Y30LB27 05236000 ** @Y30LB27 05237000 ** OUTPUT = REASON CODE CONVERTED AND READY FOR PRINTING.@Y30LB27 05238000 ** @Y30LB27 05239000 ******************************************************************** */ 05240000 * 1801 05241000 *VINCNVRT: 1801 05242000 * PROC OPTIONS(NOSAVE); /* @Y30LB27*/ 05243000 VINCNVRT DS 0H 1802 05244000 * CNVRTWK1(THREE)=MASK0F; /* DUMMY SIGN FOR CONVERSION 1802 05245000 * @Y30LB27*/ 05246000 MVC CNVRTWK1+2(1),MASK0F 1802 05247000 * UNPK(CNVRTWK2,CNVRTWK1); /* UNPACK IT @Y30LB27*/ 05248000 UNPK CNVRTWK2(5),CNVRTWK1(3) 1803 05249000 * TR(CNVRTWK2,TRTAB(1)); /* TRANSLATE IT @Y30LB27*/ 05250000 TR CNVRTWK2(5),TRTAB 1804 05251000 * IF VINMSGID=MSGALCE|VINMSGID=MSGVSME|VINMSGID=MSGLOCE THEN 1805 05252000 LH @08,VINMSGID 1805 05253000 C @08,@CF00310 1805 05254000 BE @RT01805 1805 05255000 C @08,@CF00172 1805 05256000 BE @RT01805 1805 05257000 C @08,@CF02345 1805 05258000 BNE @RF01805 1805 05259000 @RT01805 DS 0H 1806 05260000 * DO; /* @Y30LB27*/ 05261000 * MSGLEN2=FOUR; /* SET THE LENGTH @Y30LB27*/ 05262000 MVI MSGLEN2,X'04' 1807 05263000 * MSGTEXT2=ADDR(CNVRTWK2); /* POINT TO CONVERT VALUE 1808 05264000 * @Y30LB27*/ 05265000 LA @08,CNVRTWK2 1808 05266000 STCM @08,7,MSGTEXT2 1808 05267000 * END; /* @Y30LB27*/ 05268000 * ELSE /* @Y30LB27*/ 05269000 * DO; /* @Y30LB27*/ 05270000 B @RC01805 1810 05271000 @RF01805 DS 0H 1811 05272000 * MSGLEN1=FOUR; /* SET THE LENGTH @Y30LB27*/ 05273000 MVI MSGLEN1,X'04' 1811 05274000 * MSGTEXT1=ADDR(CNVRTWK2); /* POINT TO CONVERT VALUE 1812 05275000 * @Y30LB27*/ 05276000 LA @08,CNVRTWK2 1812 05277000 STCM @08,7,MSGTEXT1 1812 05278000 * END; /* @Y30LB27*/ 05279000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 05280000 @EL00020 DS 0H 1814 05281000 @EF00020 DS 0H 1814 05282000 @ER00020 BR @14 1814 05283000 * END VINCNVRT; /* @Y30LB27*/ 05284000 B @EL00020 1815 05285000 * 1816 05286000 */******************************************************* @ZA05115 05287000 ** @ZA05115 05288000 ** NAME = JRNLRES @ZA05115 05289000 ** @ZA05115 05290000 ** INPUT = NONE @ZA05115 05291000 ** @ZA05115 05292000 ** PROCESS = RESERVE THE JOURNAL DATA SET @ZA05115 05293000 ** 'USERCAT.MSVCJRNL' IF IT IS NOT ALREADY @ZA05115 05294000 ** RESERVED @ZA05115 05295000 ** @ZA05115 05296000 ** OUTPUT = THE JOURNAL DATA SET IS RESERVED @ZA05115 05297000 ** @ZA05115 05298000 ********************************************************* @ZA05115*/ 05299000 * 1816 05300000 *JRNLRES: /* @ZA05115*/ 05301000 * PROC OPTIONS(SAVE(14)); /* @ZA05115*/ 05302000 JRNLRES ST @14,@SA00021 1816 05303000 * IF VVIFLG5=ON THEN /* IS JRNL RESERVED @ZA05115*/ 05304000 TM VVIFLG5(VVIPTR),B'00000100' 1817 05305000 BNO @RF01817 1817 05306000 * DO; /* YES @ZA05115*/ 05307000 * SRCODE=RPLRCODE; /* SAVE REASON CODE @ZA05115*/ 05308000 LH @03,RPLRCODE(,RPLVPTR) 1819 05309000 N @03,@CF03969 1819 05310000 STH @03,SRCODE 1819 05311000 * SVRETC=RPLVRETC; /* SAVE RETURN CODE @ZA05115*/ 05312000 LH SVRETC,RPLVRETC(,RPLVPTR) 1820 05313000 N SVRETC,@CF03969 1820 05314000 * MSGID=JRES; /* SET MSG ID @ZA05115*/ 05315000 MVC MSGID(4),@CF03366 1821 05316000 * REG1=ADDR(MSGRQ); /* POINT TO MSG AREA @ZA05115*/ 05317000 LA REG1,MSGRQ 1822 05318000 * CALL ICBVOP00; /* WRITE MSG @ZA05115*/ 05319000 L @15,@CV03334 1823 05320000 BALR @14,@15 1823 05321000 * RPLRCODE=SRCODE; /* RESTORE REASON CODE @ZA05115*/ 05322000 LH @03,SRCODE 1824 05323000 STH @03,RPLRCODE(,RPLVPTR) 1824 05324000 * RPLVRETC=SVRETC; /* RESTORE RETURN CODE @ZA05115*/ 05325000 STH SVRETC,RPLVRETC(,RPLVPTR) 1825 05326000 * RETURN; /* RETURN TO CALLER @ZA05115*/ 05327000 @EL00021 DS 0H 1826 05328000 @EF00021 DS 0H 1826 05329000 @ER00021 L @14,@SA00021 1826 05330000 BR @14 1826 05331000 * END; /* @ZA05115*/ 05332000 * REG1=ADDR(RSVJNLLT); /* POINT TO RES LIST @ZA05115*/ 05333000 @RF01817 LA REG1,RSVJNLLT 1828 05334000 * VVIFLG5=ON; /* INDICATE RESERVED @ZA05115*/ 05335000 OI VVIFLG5(VVIPTR),B'00000100' 1829 05336000 * GEN(RESERVE MF=(E,(1))); /* ISSUE RESERVE @ZA05115*/ 05337000 RESERVE MF=(E,(1)) 05338000 * END JRNLRES; /* @ZA05115*/ 05339000 B @EL00021 1831 05340000 * 1832 05341000 */******************************************************* @ZA05115 05342000 ** @ZA05115 05343000 ** NAME=JRNLDEQ @G24LB04 05344000 ** @ZA05115 05345000 ** INPUT = NONE @ZA05115 05346000 ** @G24LB04 05347000 ** PROCESS = DEQUEUE THE JOURNAL DATA SET 'USERCAT.MSVJRNL'@ZA05115 05348000 ** IF IT WAS RESERVED @ZA05115 05349000 ** @ZA05115 05350000 ** OUTPUT = THE JOURNAL DATA SET IS DEQUEUED @ZA05115 05351000 ** @ZA05115 05352000 ********************************************************* @ZA05115*/ 05353000 * 1832 05354000 *JRNLDEQ: /* @ZA05115*/ 05355000 * PROC OPTIONS(SAVE(14)); /* @ZA05115*/ 05356000 JRNLDEQ ST @14,@SA00022 1832 05357000 * IF VVIFLG5=ON THEN /* JRNL RESERVED @ZA05115*/ 05358000 TM VVIFLG5(VVIPTR),B'00000100' 1833 05359000 BNO @RF01833 1833 05360000 * DO; /* YES @ZA05115*/ 05361000 * REG1=ADDR(RSVJNLLT); /* POINT TO RES LIST @ZA05115*/ 05362000 LA REG1,RSVJNLLT 1835 05363000 * GEN(DEQ MF=(E,(1))); /* ISSUE DEQUEUE @ZA05115*/ 05364000 DEQ MF=(E,(1)) 05365000 * VVIFLG5=OFF; /* INDICATE DEQUEUED @ZA05115*/ 05366000 NI VVIFLG5(VVIPTR),B'11111011' 1837 05367000 * RETURN; /* RETURN TO CALLER @ZA05115*/ 05368000 @EL00022 DS 0H 1838 05369000 @EF00022 DS 0H 1838 05370000 @ER00022 L @14,@SA00022 1838 05371000 BR @14 1838 05372000 * END; /* @ZA05115*/ 05373000 * SRCODE=RPLRCODE; /* SAVE REASON CODE @ZA05115*/ 05374000 @RF01833 LH @03,RPLRCODE(,RPLVPTR) 1840 05375000 N @03,@CF03969 1840 05376000 STH @03,SRCODE 1840 05377000 * SVRETC=RPLVRETC; /* SAVE RETURN CODE @ZA05115*/ 05378000 LH SVRETC,RPLVRETC(,RPLVPTR) 1841 05379000 N SVRETC,@CF03969 1841 05380000 * MSGID=JDEQ; /* SET MSG ID @ZA05115*/ 05381000 MVC MSGID(4),@CF03370 1842 05382000 * REG1=ADDR(MSGRQ); /* POINT TO MSG AREA @ZA05115*/ 05383000 LA REG1,MSGRQ 1843 05384000 * CALL ICBVOP00; /* WRITE MSG @ZA05115*/ 05385000 L @15,@CV03334 1844 05386000 BALR @14,@15 1844 05387000 * RPLRCODE=SRCODE; /* RESTORE REASON CODE @ZA05115*/ 05388000 LH @03,SRCODE 1845 05389000 STH @03,RPLRCODE(,RPLVPTR) 1845 05390000 * RPLVRETC=SVRETC; /* RESTORE RETURN CODE @ZA05115*/ 05391000 STH SVRETC,RPLVRETC(,RPLVPTR) 1846 05392000 * END JRNLDEQ; /* @ZA05115*/ 05393000 B @EL00022 1847 05394000 * 1848 05395000 */******************************************************** @ZA05115 05396000 ** @ZA05115 05397000 ** NAME = INVRES @ZA05115 05398000 ** @ZA05115 05399000 ** INPUT = NONE @ZA05115 05400000 ** @ZA05115 05401000 ** PROCESS = RESERVE THE INVENTORY DATA SET 'USERCAT.MSVI' @ZA05115 05402000 ** IF IT IS NOT ALREADY RESERVED @ZA05115 05403000 ** @ZA05115 05404000 ** OUTPUT = THE INVENTORY DATA SET IS RESERVED @ZA05115 05405000 ** @ZA05115 05406000 ********************************************************** @ZA05115*/ 05407000 * 1848 05408000 *INVRES: /* @ZA05115*/ 05409000 * PROC OPTIONS(SAVE(14)); /* @ZA05115*/ 05410000 INVRES ST @14,@SA00023 1848 05411000 * IF VVIFLG4=ON THEN /* IS INV ALREADY RESERVED 1849 05412000 * @ZA05115*/ 05413000 TM VVIFLG4(VVIPTR),B'00001000' 1849 05414000 BNO @RF01849 1849 05415000 * DO; /* YES @ZA05115*/ 05416000 * SRCODE=RPLRCODE; /* SAVE REASON CODE @ZA05115*/ 05417000 LH @03,RPLRCODE(,RPLVPTR) 1851 05418000 N @03,@CF03969 1851 05419000 STH @03,SRCODE 1851 05420000 * SVRETC=RPLVRETC; /* SAVE RETURN CODE @ZA05115*/ 05421000 LH SVRETC,RPLVRETC(,RPLVPTR) 1852 05422000 N SVRETC,@CF03969 1852 05423000 * MSGID=IRES; /* SET MSG ID @ZA05115*/ 05424000 MVC MSGID(4),@CF03364 1853 05425000 * REG1=ADDR(MSGRQ); /* POINT TO MSG AREA @ZA05115*/ 05426000 LA REG1,MSGRQ 1854 05427000 * CALL ICBVOP00; /* WRITE THE MESSAGE @ZA05115*/ 05428000 L @15,@CV03334 1855 05429000 BALR @14,@15 1855 05430000 * RPLRCODE=SRCODE; /* RESTORE REASON CODE @ZA05115*/ 05431000 LH @03,SRCODE 1856 05432000 STH @03,RPLRCODE(,RPLVPTR) 1856 05433000 * RPLVRETC=SVRETC; /* RESTORE RETURN CODE @ZA05115*/ 05434000 STH SVRETC,RPLVRETC(,RPLVPTR) 1857 05435000 * RETURN; /* RETURN TO CALLER @ZA05115*/ 05436000 @EL00023 DS 0H 1858 05437000 @EF00023 DS 0H 1858 05438000 @ER00023 L @14,@SA00023 1858 05439000 BR @14 1858 05440000 * END; /* @ZA05115*/ 05441000 * REG1=ADDR(RSVINVLT); /* POINT TO RES LIST @ZA05115*/ 05442000 @RF01849 LA REG1,RSVINVLT 1860 05443000 * VVIFLG4=ON; /* INDICATE RESERVED @ZA05115*/ 05444000 OI VVIFLG4(VVIPTR),B'00001000' 1861 05445000 * GEN(RESERVE MF=(E,(1))); /* ISSUE RESERVE @ZA05115*/ 05446000 RESERVE MF=(E,(1)) 05447000 * END INVRES; /* @ZA05115*/ 05448000 B @EL00023 1863 05449000 * 1864 05450000 */***********************************************************@ZA05115 05451000 ** @ZA05115 05452000 ** NAME = INVDEQ @ZA05115 05453000 ** @ZA05115 05454000 ** INPUT = NONE @ZA05115 05455000 ** @ZA05115 05456000 ** PROCESS DEQUEUE THE INVENTORY DATA SET 'USERCAT.MSVI' @ZA05115 05457000 ** @ZA05115 05458000 ** OUTPUT = THE INVENTORY DATA SET IS DEQUEUED @ZA05115 05459000 ** @ZA05115 05460000 *************************************************************@ZA05115*/ 05461000 * 1864 05462000 *INVDEQ: /* DEQUEUE INVENTORY @ZA05115*/ 05463000 * PROC OPTIONS(SAVE(14)); /* PROCEDURE @ZA05115*/ 05464000 INVDEQ ST @14,@SA00024 1864 05465000 * IF VVIFLG4=ON THEN /* IS INV RESERVED @ZA05115*/ 05466000 TM VVIFLG4(VVIPTR),B'00001000' 1865 05467000 BNO @RF01865 1865 05468000 * DO; /* YES @ZA05115*/ 05469000 * REG1=ADDR(RSVINVLT); /* POINT TO RES LIST @ZA05115*/ 05470000 LA REG1,RSVINVLT 1867 05471000 * GEN(DEQ MF=(E,(1))); /* ISSUE DEQUEUE @ZA05115*/ 05472000 DEQ MF=(E,(1)) 05473000 * VVIFLG4=OFF; /* INDICATE DEQUEUED @ZA05115*/ 05474000 NI VVIFLG4(VVIPTR),B'11110111' 1869 05475000 * RETURN; /* RET TO CALLER @ZA05115*/ 05476000 @EL00024 DS 0H 1870 05477000 @EF00024 DS 0H 1870 05478000 @ER00024 L @14,@SA00024 1870 05479000 BR @14 1870 05480000 * END; /* @ZA05115*/ 05481000 * SRCODE=RPLRCODE; /* SAVE REASON CODE @ZA05115*/ 05482000 @RF01865 LH @03,RPLRCODE(,RPLVPTR) 1872 05483000 N @03,@CF03969 1872 05484000 STH @03,SRCODE 1872 05485000 * SVRETC=RPLVRETC; /* SAVE RETURN CODE @ZA05115*/ 05486000 LH SVRETC,RPLVRETC(,RPLVPTR) 1873 05487000 N SVRETC,@CF03969 1873 05488000 * MSGID=IDEQ; /* SET MESSAGE ID @ZA05115*/ 05489000 MVC MSGID(4),@CF03368 1874 05490000 * REG1=ADDR(MSGRQ); /* POINT TO MSG AREA @ZA05115*/ 05491000 LA REG1,MSGRQ 1875 05492000 * CALL ICBVOP00; /* WRITE MSG @ZA05115*/ 05493000 L @15,@CV03334 1876 05494000 BALR @14,@15 1876 05495000 * RPLRCODE=SRCODE; /* RESTORE REASON CODE @ZA05115*/ 05496000 LH @03,SRCODE 1877 05497000 STH @03,RPLRCODE(,RPLVPTR) 1877 05498000 * RPLVRETC=SVRETC; /* RESTORE RETURN CODE @ZA05115*/ 05499000 STH SVRETC,RPLVRETC(,RPLVPTR) 1878 05500000 * END INVDEQ; /* @ZA05115*/ 05501000 B @EL00024 1879 05502000 * 1880 05503000 */* ****************************************************************** 05504000 ** @Y30LB27 05505000 ** NAME = VINTERM: TERMINATION SEGMENT @Y30LB27 05506000 ** @Y30LB27 05507000 ** INPUT = MSVC CONTROL BLOCK STRUCTURE @Y30LB27 05508000 ** @Y30LB27 05509000 ** PROCESS = DURING ENABLE/DISABLE PROCESSING ONLY @Y30LB27 05510000 ** REASON AND RETURN CODES. DURING IPL IF ICBV = ON THE @Y30LB27 05511000 ** CONTROL BLOCK STRUCTURE IS FREED. @Y30LB27 05512000 ** @Y30LB27 05513000 ** OUTPUT = CONTROL BLOCK STRUCTURE IS FREED @Y30LB27 05514000 ** @Y30LB27 05515000 ******************************************************************** */ 05516000 * 1880 05517000 *VINTERM: 1880 05518000 * PROC OPTIONS(SAVE(14)); /* @Y30LB27 05519000 * @Y30LB27*/ 05520000 VINTERM ST @14,@SA00025 1880 05521000 */********************************************************************* 05522000 * * FREE THE RECORD BUFFER @ZM30746 05523000 * ********************************************************************/ 05524000 * 1881 05525000 * IF CPUIDPTR^=ZERO THEN /* @ZM30746*/ 05526000 L @08,CPUIDPTR 1881 05527000 LTR @08,@08 1881 05528000 BZ @RF01881 1881 05529000 * DO; /* @ZM30746*/ 05530000 * REG0=MAXREC; /* SET RECORD BUFFER PTR @ZM30746*/ 05531000 LA REG0,1024 1883 05532000 * REG1=CPUIDPTR; /* SET RECORD BUFFER PTR @ZM30746*/ 05533000 LR REG1,@08 1884 05534000 *LFREEM2: 1885 05535000 * GEN(FREEMAIN RC,LV=(0),A=(1),SP=241);/* FREEMAIN SUBPOOL 241 05536000 * @ZM30746*/ 05537000 LFREEM2 FREEMAIN RC,LV=(0),A=(1),SP=241 05538000 * CPUIDPTR=ZERO; /* @ZM30746*/ 05539000 SLR @08,@08 1886 05540000 ST @08,CPUIDPTR 1886 05541000 * END; /* @ZM30746 05542000 * #Y30LB27*/ 05543000 */********************************************************************* 05544000 ** CLEAN-UP MSVC CONTROL BLOCK STRUCTURE #Y30LB27 05545000 ** VVICB AND RPLS #Y30LB27 05546000 **********************************************************************/ 05547000 * 1888 05548000 * IF ICBV=OFF THEN /* MSS TO TERMINATE #Y30LB27*/ 05549000 @RF01881 L @08,CVTPTR 1888 05550000 L @08,CVTEXT2(,@08) 1888 05551000 L @08,CVTICB(,@08) 1888 05552000 TM ICBV(@08),B'00100000' 1888 05553000 BNZ @RF01888 1888 05554000 * DO; /* CLEAR RPLV'S #Y30LB27*/ 05555000 * RPLVPTR=VVIQRPL1; /* POINT TO 1ST RPL #Y30LB27*/ 05556000 L RPLVPTR,VVIQRPL1(,VVIPTR) 1890 05557000 * DO WHILE RPLVPTR^=ZERO; /* LOOP THRU RPLS #Y30LB27*/ 05558000 B @DE01891 1891 05559000 @DL01891 DS 0H 1892 05560000 * RPLVCOMP=ON; /* INDICATE REQ COMPLETED 1892 05561000 * #Y30LB27*/ 05562000 OI RPLVCOMP(RPLVPTR),B'00010000' 1892 05563000 * RPLRCODE=RDISABLE; /* SET REASON CODE #Y30LB27*/ 05564000 MVC RPLRCODE(2,RPLVPTR),@CH03643 1893 05565000 * RPLVRETC=FOUR; /* SET RETURN CODE #YM04315*/ 05566000 MVC RPLVRETC(2,RPLVPTR),@CH00098 1894 05567000 * RPLVPTR=RPLVQPTR; /* SET REQUEST ADDR #YM04315*/ 05568000 L RPLVPTR,RPLVQPTR(,RPLVPTR) 1895 05569000 * END; /* #Y30LB27*/ 05570000 @DE01891 LTR RPLVPTR,RPLVPTR 1896 05571000 BNZ @DL01891 1896 05572000 * RPLVPTR=VVIQRPL2; /* POINT TO 1ST TABLE #Y30LB27*/ 05573000 L RPLVPTR,VVIQRPL2(,VVIPTR) 1897 05574000 * DO WHILE RPLVPTR^=ZERO; /* LOOP THRU TABLES #Y30LB27*/ 05575000 B @DE01898 1898 05576000 @DL01898 DS 0H 1899 05577000 * RPLVCOMP=ON; /* INDICATE REQ COMPLETED 1899 05578000 * #Y30LB27*/ 05579000 OI RPLVCOMP(RPLVPTR),B'00010000' 1899 05580000 * RPLRCODE=RDISABLE; /* SET REASON CODE #Y30LB27*/ 05581000 MVC RPLRCODE(2,RPLVPTR),@CH03643 1900 05582000 * RPLVRETC=FOUR; /* SET RETURN CODE #YM04315*/ 05583000 MVC RPLVRETC(2,RPLVPTR),@CH00098 1901 05584000 * RPLVPTR=RPLVQPTR; /* SET REQUEST ADDR #YM04315*/ 05585000 L RPLVPTR,RPLVQPTR(,RPLVPTR) 1902 05586000 * END; /* #Y30LB27*/ 05587000 @DE01898 LTR RPLVPTR,RPLVPTR 1903 05588000 BNZ @DL01898 1903 05589000 * END; /* #Y30LB27*/ 05590000 * RETURN; /* RETURN TO MSI #Y30LB27*/ 05591000 @EL00025 DS 0H 1905 05592000 @EF00025 DS 0H 1905 05593000 @ER00025 L @14,@SA00025 1905 05594000 BR @14 1905 05595000 * END VINTERM; /* #Y30LB27*/ 05596000 B @EL00025 1906 05597000 * 1907 05598000 */* ************************************************************** 1907 05599000 ** #Y30LB27 05600000 ** ICBVEN00: REALLOCATE AND OPEN THE MSVC DATA SETS FOR #Y30LB27 05601000 ** FULL MSVC FUNCTION. @Y30LB27 05602000 ** @Y30LB27 05603000 ** INPUT: @Y30LB27 05604000 ** REG 1 = ADDRESS OF THE MSVC RPL @Y30LB27 05605000 ** (SEE 'ICBVEN00' INPUT IN MODULE PROLOGUE) @Y30LB27 05606000 ** ICBVVICB @Y30LB27 05607000 ** @Y30LB27 05608000 ** PROCESS: @Y30LB27 05609000 ** UPON ENTRY, THE INPUT MSVC RPL IS EXAMINED FOR INDICATION 1907 05610000 ** A 'JOURNAL ENABLE.' IF SPECIFIED AND THE JOURNAL IS ALREADY 05611000 ** ALLOCATED, THEN AN ERROR CODE IS SET AND THE SEGMENT IS 1907 05612000 ** EXITED. OTHERWISE, THE MSVC JOURNAL IS RE-ALLOCATED AND 1907 05613000 ** RE-OPENED AND A FLAG RESET IN THE ICBVVICB TO PERMIT JOURNAL 05614000 ** RECORDING. @Y30LB27 05615000 ** @Y30LB27 05616000 ** IF 'TOTAL DATA SET' ACTIVITY IS TO BE RESTORED AND A NEW 1907 05617000 ** USER CATALOG IS SPECIFIED, THE ICBVVICB IS UPDATED. THEN THE 05618000 ** ICBVVICB IS CHECKED TO ENSURE THAT MSVC IS NOT ALREADY 1907 05619000 ** ALLOCATED. IF NOT, SEGMENT VININDS IS CALLED TO ALLOCATE AND 05620000 ** OPEN THE MSVC DATA SETS. OTHERWISE AN ERROR CODE IS SET TO 1907 05621000 ** INDICATE THAT MSVC ENABLE FAILED. @Y30LB27 05622000 ** @Y30LB27 05623000 ** PRIOR TO RETURNING TO THE MSVC CONTROLLER, THE ERROR CODE 1907 05624000 ** IS CHECKED AND AN ERROR MESSAGE WRITTEN TO THE OPERATOR 1907 05625000 ** CONSOLE IF INDICATED. @Y30LB27 05626000 ** @Y30LB27 05627000 ** OUTPUT: @Y30LB27 05628000 ** . ENABLE FLAGS IN ICBVVICB RESET TO INDICATE ENABLED@Y30LB27 05629000 ** DATA SET ACTIVITY. @Y30LB27 05630000 ** . ACB CREATED FOR MSVC INVENTORY @Y30LB27 05631000 ** . DCB CREATED FOR MSVC JOURNAL @Y30LB27 05632000 ** . UCB ADDRESSES ARE ADDED TO THE TIOT ENTRIES 1907 05633000 ** AS EACH DATA SET IS DYNAMICALLY ALLOCATED. 1907 05634000 ** . A RETURN CODE TO THE MSVC CONTROLLER (TO BE USED 1907 05635000 ** TO POST THE ICBVDR00 UTILITY) 1907 05636000 ** @Y30LB27 05637000 ******************************************************************** */ 05638000 * 1907 05639000 *ICBVEN00: 1907 05640000 * PROC OPTIONS(SAVE(14)); /* @Y30LB27 05641000 * @YM04327*/ 05642000 ICBVEN00 ST @14,@SA00026 1907 05643000 */********************************************************************* 05644000 * * IS MSVC ALREADY ENABLED @ZM30746 05645000 * ********************************************************************/ 05646000 * 1908 05647000 * IF(VVIFLG0=OFF&VVIFLG2=OFF)|ICBV=OFF THEN 1908 05648000 TM VVIFLG0(VVIPTR),B'10100000' 1908 05649000 BZ @RT01908 1908 05650000 L @08,CVTPTR 1908 05651000 L @08,CVTEXT2(,@08) 1908 05652000 L @08,CVTICB(,@08) 1908 05653000 TM ICBV(@08),B'00100000' 1908 05654000 BNZ @RF01908 1908 05655000 @RT01908 DS 0H 1909 05656000 * DO; /* @ZM30746*/ 05657000 * VVIFLG3=OFF; /* TURN OFF JOURNALING @ZM30746*/ 05658000 NI VVIFLG3(VVIPTR),B'11101111' 1910 05659000 * IF VVIFLG0=OFF&VVIFLG2=OFF THEN/* ALREADY ENABLED @ZM30746*/ 05660000 TM VVIFLG0(VVIPTR),B'10100000' 1911 05661000 BNZ @RF01911 1911 05662000 * VINMSGID=MSGENAE; /* SET ERROR INDEX @ZM30746*/ 05663000 MVC VINMSGID(2),@CH00178 1912 05664000 * IF ICBV=OFF THEN /* MSS INOPERATIVE @ZM30746*/ 05665000 @RF01911 L @08,CVTPTR 1913 05666000 L @08,CVTEXT2(,@08) 1913 05667000 L @08,CVTICB(,@08) 1913 05668000 TM ICBV(@08),B'00100000' 1913 05669000 BNZ @RF01913 1913 05670000 * VINMSGID=MSGINOE; /* SET ERROR INDEX @ZM30746*/ 05671000 LH @08,MSGINOE 1914 05672000 STH @08,VINMSGID 1914 05673000 * CALL VINWTO; /* ISSUE ERROR MSG @ZM30746*/ 05674000 @RF01913 BAL @14,VINWTO 1915 05675000 * IF JRNLSW3=ON THEN /* JOURNAL MSGS @ZA17167*/ 05676000 TM JRNLSW3,B'10000000' 1916 05677000 BNO @RF01916 1916 05678000 * VVIFLG3=ON; /* TURN OFF JOURNALING @ZM30746*/ 05679000 OI VVIFLG3(VVIPTR),B'00010000' 1917 05680000 * RETURN; /* @ZM30746*/ 05681000 @EL00026 DS 0H 1918 05682000 @EF00026 DS 0H 1918 05683000 @ER00026 L @14,@SA00026 1918 05684000 BR @14 1918 05685000 * END; /* @ZM30746*/ 05686000 * VVIFLG1=OFF; /* TURN OFF INTERNAL DISABLE 1920 05687000 * @ZM31134*/ 05688000 @RF01908 NI VVIFLG1(VVIPTR),B'10111111' 1920 05689000 * IF VVIFLG0=ON&(VVIACBAD^=ZERO|VVICATAD^=ZERO) THEN 1921 05690000 TM VVIFLG0(VVIPTR),B'10000000' 1921 05691000 BNO @RF01921 1921 05692000 SLR @08,@08 1921 05693000 C @08,VVIACBAD(,VVIPTR) 1921 05694000 BNE @RT01921 1921 05695000 C @08,VVICATAD(,VVIPTR) 1921 05696000 BE @RF01921 1921 05697000 @RT01921 DS 0H 1922 05698000 * DO; /* @ZM30746*/ 05699000 * CALL VINDSDS; /* CLOSE AND DE-ALLOC INVEN 1923 05700000 * @ZM30746*/ 05701000 BAL @14,VINDSDS 1923 05702000 * VVIFLG2=ON; /* @ZM30746*/ 05703000 OI VVIFLG2(VVIPTR),B'00100000' 1924 05704000 * END; /* @ZM30746*/ 05705000 * IF VVIFLG2=ON&VVIDCBAD^=ZERO THEN 1926 05706000 @RF01921 TM VVIFLG2(VVIPTR),B'00100000' 1926 05707000 BNO @RF01926 1926 05708000 L @08,VVIDCBAD(,VVIPTR) 1926 05709000 LTR @08,@08 1926 05710000 BZ @RF01926 1926 05711000 * DO; /* @ZM30746*/ 05712000 * CALL VINDSDS; /* CLOSE AND DE-ALLOC JRNL 1928 05713000 * @ZM30746*/ 05714000 BAL @14,VINDSDS 1928 05715000 * VVIFLG0=ON; /* @ZM30746*/ 05716000 OI VVIFLG0(VVIPTR),B'10000000' 1929 05717000 * INIVERFY=OFF; /* MUST BE JOURNAL ENABLE DONT 1930 05718000 * PROMPT OPERATOR @ZM30746*/ 05719000 L @08,INITPTR 1930 05720000 NI INIVERFY(@08),B'01111111' 1930 05721000 * END; /* @ZM30746*/ 05722000 * IF VVIFLG0=ON&RPLJRCVY=OFF THEN /* #Y30LB27*/ 05723000 @RF01926 TM VVIFLG0(VVIPTR),B'10000000' 1932 05724000 BNO @RF01932 1932 05725000 TM RPLJRCVY(RPLVPTR),B'00000010' 1932 05726000 BNZ @RF01932 1932 05727000 * IF INIUCAT(ONE:EIGHT)^=BLANKS(ONE:EIGHT) THEN/* USER CAT 1933 05728000 * SPECIFIED #Y30LB27*/ 05729000 L @08,INITPTR 1933 05730000 CLC INIUCAT(8,@08),BLANKS 1933 05731000 BE @RF01933 1933 05732000 * VVIUCAT=INIUCAT; /* SET NEW USER CAT #Y30LB27 05733000 * #Y30LB27*/ 05734000 MVC VVIUCAT(8,VVIPTR),INIUCAT(@08) 1934 05735000 */********************************************************************* 05736000 * * REQUEST AND PARAMETER CHANGES FROM THE OPERATOR #Y30LB27 05737000 * ********************************************************************/ 05738000 * 1935 05739000 * IF VVIFLG0=ON&RPLJRCVY=OFF&INIVERFY=ON THEN/* #Y30LB27*/ 05740000 @RF01933 DS 0H 1935 05741000 @RF01932 TM VVIFLG0(VVIPTR),B'10000000' 1935 05742000 BNO @RF01935 1935 05743000 TM RPLJRCVY(RPLVPTR),B'00000010' 1935 05744000 BNZ @RF01935 1935 05745000 L @08,INITPTR 1935 05746000 TM INIVERFY(@08),B'10000000' 1935 05747000 BNO @RF01935 1935 05748000 * DO; /* VERIFICATION REQD #Y30LB27*/ 05749000 * RETRYSW=ON; /* FORCE MSG #Y30LB27*/ 05750000 OI RETRYSW,B'10000000' 1937 05751000 * CALL VINPARMV; /* ANY PARAMTER CHANGES #Y30LB27*/ 05752000 BAL @14,VINPARMV 1938 05753000 * END; /* #Y30LB27 05754000 * #Y30LB27*/ 05755000 * VVIFLG3=OFF; /* NO MSG UNTIL AFTER JRNL OPEN 05756000 * @ZA17167 05757000 * #YM04327*/ 05758000 @RF01935 NI VVIFLG3(VVIPTR),B'11101111' 1940 05759000 */********************************************************************* 05760000 * * TOTAL ENABLE #YM04327 05761000 * ********************************************************************/ 05762000 * 1941 05763000 * IF VVIFLG0=ON&VVIFLG2=ON&RPLVRETC=ZERO THEN/* #Y30LB27*/ 05764000 TM VVIFLG0(VVIPTR),B'10100000' 1941 05765000 BNO @RF01941 1941 05766000 LH @08,RPLVRETC(,RPLVPTR) 1941 05767000 N @08,@CF03969 1941 05768000 LTR @08,@08 1941 05769000 BNZ @RF01941 1941 05770000 * CALL VININDS; /* ALLOCATE AND OPEN DATA SETS 1942 05771000 * @Y30LB27 05772000 * @Y30LB27*/ 05773000 BAL @14,VININDS 1942 05774000 */********************************************************************* 05775000 * * JOURNAL ENABLE ALLOC & OPEN JOURNAL @Y30LB27 05776000 * ********************************************************************/ 05777000 * 1943 05778000 * IF VVIFLG0=OFF&VVIFLG2=ON&RPLVRETC=ZERO THEN 1943 05779000 @RF01941 TM VVIFLG2(VVIPTR),B'00100000' 1943 05780000 BNO @RF01943 1943 05781000 TM VVIFLG0(VVIPTR),B'10000000' 1943 05782000 BNZ @RF01943 1943 05783000 LH @08,RPLVRETC(,RPLVPTR) 1943 05784000 N @08,@CF03969 1943 05785000 LTR @08,@08 1943 05786000 BNZ @RF01943 1943 05787000 * DO; 1944 05788000 * CALL VINALJ2; /* VS/2 @YM04327*/ 05789000 BAL @14,VINALJ2 1945 05790000 * IF RPLVRETC=ZERO THEN /* @ZM30746*/ 05791000 LH @08,RPLVRETC(,RPLVPTR) 1946 05792000 N @08,@CF03969 1946 05793000 LTR @08,@08 1946 05794000 BNZ @RF01946 1946 05795000 * CALL JRNLRES; /* RESERVE THE JOURNAL @ZA05115 05796000 * #Y30LB27*/ 05797000 BAL @14,JRNLRES 1947 05798000 */********************************************************************* 05799000 * * RE-OPEN THE JOURNAL #Y30LB27 05800000 * ********************************************************************/ 05801000 * 1948 05802000 * IF RPLVRETC=ZERO THEN 1948 05803000 @RF01946 LH @08,RPLVRETC(,RPLVPTR) 1948 05804000 N @08,@CF03969 1948 05805000 LTR @08,@08 1948 05806000 BNZ @RF01948 1948 05807000 * CALL VINJOPN; /* RE-OPEN JRNL #Y30LB27*/ 05808000 BAL @14,VINJOPN 1949 05809000 * END; /* #Y30LB27 05810000 * @YM04327*/ 05811000 @RF01948 DS 0H 1951 05812000 */********************************************************************* 05813000 * * IF NULL INVENTORY WRITE CONTROL RECORDS @YM04327 05814000 * ********************************************************************/ 05815000 * 1951 05816000 * IF RPLVRETC=ZERO THEN /* @ZM30746*/ 05817000 @RF01943 LH @08,RPLVRETC(,RPLVPTR) 1951 05818000 N @08,@CF03969 1951 05819000 LTR @08,@08 1951 05820000 BNZ @RF01951 1951 05821000 * IF AMBCREAT=ON THEN /* INIT RECORDS REQD @YM04327*/ 05822000 L @08,VVIACBAD(,VVIPTR) 1952 05823000 L @08,ACBAMBL(,@08) 1952 05824000 L @08,AMBLDTA(,@08) 1952 05825000 TM AMBCREAT(@08),B'10000000' 1952 05826000 BNO @RF01952 1952 05827000 * CALL VINCRTDS; /* FIRST MSS IPL AFTER SYSGEN 1953 05828000 * @ZM31134*/ 05829000 BAL @14,VINCRTDS 1953 05830000 * ELSE 1954 05831000 * CALL UPDTRCDS; /* UPDATE THE RECORDS @ZA05115*/ 05832000 B @RC01952 1954 05833000 @RF01952 BAL @14,UPDTRCDS 1954 05834000 */********************************************************************* 05835000 * * INVOKE MODULES REQUIRING INITIALIZATION CALL AT IPL #Y30LB27 05836000 * ********************************************************************/ 05837000 * 1955 05838000 * IF RPLVRETC=ZERO THEN /* TERMINATING ERROR #Y30LB27*/ 05839000 @RC01952 DS 0H 1955 05840000 @RF01951 LH @08,RPLVRETC(,RPLVPTR) 1955 05841000 N @08,@CF03969 1955 05842000 LTR @08,@08 1955 05843000 BNZ @RF01955 1955 05844000 * DO; /* NO #Y30LB27*/ 05845000 * REG1=RPLVPTR; /* SET RPLV PTR FOR CALL #Y30LB27*/ 05846000 LR REG1,RPLVPTR 1957 05847000 * CALL ICBVJL00; /* INVOKE JOURNAL PROCESSOR 1958 05848000 * #Y30LB27*/ 05849000 L @15,@CV03333 1958 05850000 BALR @14,@15 1958 05851000 * SAVRETC=RPLVRETC; /* SAVE RETURN CODE @Y30LB27*/ 05852000 LH @08,RPLVRETC(,RPLVPTR) 1959 05853000 N @08,@CF03969 1959 05854000 STH @08,SAVRETC 1959 05855000 * SAVRCODE=RPLRCODE; /* SAVE RETURN CODE @Y30LB27 05856000 * #Y30LB27*/ 05857000 LH @08,RPLRCODE(,RPLVPTR) 1960 05858000 N @08,@CF03969 1960 05859000 STH @08,SAVRCODE 1960 05860000 */********************************************************************* 05861000 * * DEQ - RELEASE THE DATA SET - JOURNAL #Y30LB27 05862000 * ********************************************************************/ 05863000 * 1961 05864000 * CALL JRNLDEQ; /* DEQUEUE THE JOURNAL @ZA05115*/ 05865000 BAL @14,JRNLDEQ 1961 05866000 * RPLVRETC=SAVRETC; /* SAVE RETURN CODE @Y30LB27*/ 05867000 LH @08,SAVRETC 1962 05868000 STH @08,RPLVRETC(,RPLVPTR) 1962 05869000 * RPLRCODE=SAVRCODE; /* SAVE RETURN CODE @Y30LB27*/ 05870000 LH @05,SAVRCODE 1963 05871000 STH @05,RPLRCODE(,RPLVPTR) 1963 05872000 * IF RPLVRETC^=ZERO THEN 1964 05873000 LTR @08,@08 1964 05874000 BZ @RF01964 1964 05875000 * DO; /* VJL INIT OKAY #Y30LB27*/ 05876000 * VINMSGID=MSGVJLE; /* NO ISSUE ERROR MSG #Y30LB27*/ 05877000 MVC VINMSGID(2),@CH00230 1966 05878000 * CNVRTWK1(ONE:TWO)=RPLRCODE;/* CONVERT RPLVCODE #Y30LB27*/ 05879000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 1967 05880000 * CALL VINCNVRT; /* WILL BE ADDED TO MSG #Y30LB27*/ 05881000 BAL @14,VINCNVRT 1968 05882000 * CALL VINWTO; /* ISSUE ERROR MSG #Y30LB27*/ 05883000 BAL @14,VINWTO 1969 05884000 * END; /* #Y30LB27*/ 05885000 * END; /* #Y30LB27*/ 05886000 @RF01964 DS 0H 1972 05887000 * IF VVIFLG5=ON THEN /* STILL RESERVED @ZA05115*/ 05888000 @RF01955 TM VVIFLG5(VVIPTR),B'00000100' 1972 05889000 BNO @RF01972 1972 05890000 * CALL JRNLDEQ; /* DEQUEUE THE JOURNAL @ZA05115*/ 05891000 BAL @14,JRNLDEQ 1973 05892000 * IF RPLVRETC=ZERO THEN /* @ZA17167*/ 05893000 @RF01972 LH @08,RPLVRETC(,RPLVPTR) 1974 05894000 N @08,@CF03969 1974 05895000 LTR @08,@08 1974 05896000 BNZ @RF01974 1974 05897000 * VVIFLG2=OFF; /* @ZM30746*/ 05898000 NI VVIFLG2(VVIPTR),B'11011111' 1975 05899000 * IF JRNLSW3=ON THEN /* LIB MSGS JRNLED @ZA17167*/ 05900000 @RF01974 TM JRNLSW3,B'10000000' 1976 05901000 BNO @RF01976 1976 05902000 * VVIFLG3=ON; /* @ZA17167*/ 05903000 OI VVIFLG3(VVIPTR),B'00010000' 1977 05904000 */********************************************************************* 05905000 * * IF SUCCESSFUL UPDATE MOUNT STATUS #Y30LB27 05906000 * ********************************************************************/ 05907000 * 1978 05908000 * IF RPLVRETC=ZERO&VVIFLG0=ON&RPLJRCVY=OFF THEN 1978 05909000 @RF01976 LH @08,RPLVRETC(,RPLVPTR) 1978 05910000 N @08,@CF03969 1978 05911000 LTR @08,@08 1978 05912000 BNZ @RF01978 1978 05913000 TM VVIFLG0(VVIPTR),B'10000000' 1978 05914000 BNO @RF01978 1978 05915000 TM RPLJRCVY(RPLVPTR),B'00000010' 1978 05916000 BNZ @RF01978 1978 05917000 * CALL VINTBUPT; 1979 05918000 BAL @14,VINTBUPT 1979 05919000 * IF VVIFLG0=ON&VVIACBAD^=ZERO&ACBOPEN=ON THEN 1980 05920000 @RF01978 TM VVIFLG0(VVIPTR),B'10000000' 1980 05921000 BNO @RF01980 1980 05922000 L @08,VVIACBAD(,VVIPTR) 1980 05923000 LTR @08,@08 1980 05924000 BZ @RF01980 1980 05925000 TM ACBOPEN(@08),B'00010000' 1980 05926000 BNO @RF01980 1980 05927000 * DO; /* YES #Y30LB27 05928000 * #Y30LB27*/ 05929000 */********************************************************************* 05930000 * * ISSUE ENDREC FOR DATA SET #Y30LB27 05931000 * ********************************************************************/ 05932000 * 1982 05933000 * RPLVTYP=RPLVENDR; /* INDICATE ENDREC #Y30LB27*/ 05934000 MVI RPLVTYP(RPLVPTR),X'04' 1982 05935000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV #Y30LB27*/ 05936000 LR REG1,RPLVPTR 1983 05937000 * CALL ICBVIO00; /* CALL ICBVIN00 FOR ENDREC 1984 05938000 * #Y30LB27*/ 05939000 L @15,@CV03332 1984 05940000 BALR @14,@15 1984 05941000 * RPLVSAM=''B; /* CLEAR RPL @Y30LB27 05942000 * #Y30LB27*/ 05943000 XC RPLVSAM(76,RPLVPTR),RPLVSAM(RPLVPTR) 1985 05944000 */********************************************************************* 05945000 * * DEQ - RELEASE THE DATA SET #Y30LB27 05946000 * ********************************************************************/ 05947000 * 1986 05948000 * END; /* #Y30LB27*/ 05949000 * IF VVIFLG4=ON THEN /* INV RESERVED @ZA05115*/ 05950000 @RF01980 TM VVIFLG4(VVIPTR),B'00001000' 1987 05951000 BNO @RF01987 1987 05952000 * CALL INVDEQ; /* DEQUEUE THE INV @ZA05115*/ 05953000 BAL @14,INVDEQ 1988 05954000 */********************************************************************* 05955000 * * IF SUCCESSFUL INDICATE MSVC ENABLEB #Y30LB27 05956000 * ********************************************************************/ 05957000 * 1989 05958000 * /* @Y30LB27*/ 05959000 */********************************************************************* 05960000 * * ISSUE FINAL SUMMATION MESSAGE @Y30LB27 05961000 * ********************************************************************/ 05962000 * 1989 05963000 * IF RPLVRETC=ZERO THEN 1989 05964000 @RF01987 LH @08,RPLVRETC(,RPLVPTR) 1989 05965000 N @08,@CF03969 1989 05966000 LTR @08,@08 1989 05967000 BNZ @RF01989 1989 05968000 * DO; /* ENABLE OKAY @YM04327*/ 05969000 * IF VVIFLG0=ON THEN 1991 05970000 TM VVIFLG0(VVIPTR),B'10000000' 1991 05971000 BNO @RF01991 1991 05972000 * VVIFLG0=OFF; /* INDIACTE INVEN ENABLED */ 05973000 NI VVIFLG0(VVIPTR),B'01111111' 1992 05974000 * IF VVIFLG2=ON THEN 1993 05975000 @RF01991 TM VVIFLG2(VVIPTR),B'00100000' 1993 05976000 BNO @RF01993 1993 05977000 * VVIFLG2=OFF; /* INDIACTE INVEN ENABLED */ 05978000 NI VVIFLG2(VVIPTR),B'11011111' 1994 05979000 * IF RPLJRCVY=OFF THEN 1995 05980000 @RF01993 TM RPLJRCVY(RPLVPTR),B'00000010' 1995 05981000 BNZ @RF01995 1995 05982000 * DO; /* OKAY CONT @Y30LB27*/ 05983000 * VVIFLG3=OFF; /* @ZA17167*/ 05984000 NI VVIFLG3(VVIPTR),B'11101111' 1997 05985000 * VINMSGID=MSGENAM; /* ISSUE SUMMATION @Y30LB27*/ 05986000 MVC VINMSGID(2),@CH02855 1998 05987000 * CALL VINWTO; /* ISSUE MSG @Y30LB27*/ 05988000 BAL @14,VINWTO 1999 05989000 * END; /* @Y30LB27*/ 05990000 * END; /* @Y30LB27*/ 05991000 @RF01995 DS 0H 2002 05992000 */********************************************************************* 05993000 ** RESET JOURNAL FLAG AT THIS TIME EVEN IF VJL FAILED TO INIT 2002 05994000 ******************************************************************** */ 05995000 * 2002 05996000 * IF JRNLSW3=ON THEN /* MSG TO BE JOURNALED @Y30LB27*/ 05997000 @RF01989 TM JRNLSW3,B'10000000' 2002 05998000 BNO @RF02002 2002 05999000 * VVIFLG3=ON; /* @Y30LB27*/ 06000000 OI VVIFLG3(VVIPTR),B'00010000' 2003 06001000 * RETURN; /* RETURN TO MAINLINE @Y30LB27*/ 06002000 B @EL00026 2004 06003000 * END ICBVEN00; /* @Y30LB27*/ 06004000 B @EL00026 2005 06005000 * 2006 06006000 */* ***************************************************************** 06007000 ** @Y30LB27 06008000 ** ICBVDS00: DISABLE MSVC DATA SET ACTIVITY AND DEALLOCATE @ZM30746 06009000 ** & CLOSE THE MSVC DATA SETS. @Y30LB27 06010000 ** @Y30LB27 06011000 ** INPUT: @Y30LB27 06012000 ** . ADDRESS OF THE MSVC RPL @Y30LB27 06013000 ** . ICBVVICB ADDRESS @Y30LB27 06014000 ** . ACB CREATED FOR MSVC INVENTORY @Y30LB27 06015000 ** . DCB CREATED FOR MSVC JOURNAL @Y30LB27 06016000 ** . UCB ADDRESSES IN THE TIOT ENTRIES TO @G24LB04 06017000 ** INDICATE WHETHER EACH DATA SET IS ALLOCATED @G24LB04 06018000 ** @Y30LB27 06019000 ** PROCESS: @Y30LB27 06020000 ** UPON ENTRY MSVC DATA SET ACTIVITY IS DISABLED @Y30LB27 06021000 ** BY SETTING INDICATORS IN THE ICBVVICB. @Y30LB27 06022000 ** @Y30LB27 06023000 ** NEXT, SEGMENT VINDSDS IS CALLED TO DEALLOCATE AND CLOSE THE 2006 06024000 ** MSVC DATA SETS. THIS SEGMENT RETURNS A CODE TO INDICATE 2006 06025000 ** WHETHER IT WAS SUCCESSFUL OR NOT. @Y30LB27 06026000 ** @Y30LB27 06027000 ** PRIOR TO RETURNING TO THE MSVC CONTROLLER, A MESSAGE @Y30LB27 06028000 ** IS WRITTEN TO THE OPERATOR IF DISABLE ACTIVITY @Y30LB27 06029000 ** IS UNSUCCESSFUL @Y30LB27 06030000 ** @Y30LB27 06031000 ** NOTE: IT MIGHT BE IMPORTANT TO NOTE THAT THE MSVC DATA SETS 2006 06032000 ** MUST BE DEALLOCATED, AS WELL AS CLOSED, TO ALLOW THE 2006 06033000 ** INSTALLATION TO RE-CATALOG HIS DATA SETS IN ANOTHER VSAM 2006 06034000 ** USER CATALOG DURING THE RECOVERY PERIOD. IN ADDITION THE AMS 06035000 ** UTILITIES REQUIRE EXCLUSIVE USE OF A VOLUME. 2006 06036000 ** DISABLE TIME. @Y30LB27 06037000 ** @Y30LB27 06038000 ** OUTPUT: @Y30LB27 06039000 ** UPON SUCCESSFUL DISABLEMENT OF MSVC DATA SET ACTIVITY - 2006 06040000 ** . DISABLE FLAGS IN ICBVVICB SET. @Y30LB27 06041000 ** . ACB ADDR FOR MSVC INVENTORY ZEROED IN ICBVVICB @Y30LB27 06042000 ** . DCB ADDR FOR MSVC JOURNAL ZEROED IN ICBVVICB @Y30LB27 06043000 ** . UCB ADDRESSES IN THE TIOT ENTRIES ARE ZEROED. 2006 06044000 ** @Y30LB27 06045000 ** A MESSAGE TO THE OPERATOR IS WRITTEN TO INDICATE MSVC 2006 06046000 ** STATUS. @Y30LB27 06047000 ** @Y30LB27 06048000 ******************************************************************* */ 06049000 * 2006 06050000 *ICBVDS00: 2006 06051000 * PROC OPTIONS(SAVE(14)); /* @Y30LB27*/ 06052000 ICBVDS00 ST @14,@SA00027 2006 06053000 * VVIFLG3=OFF; /* NO MSG UNTIL AFTER JRNL OPEN 06054000 * @ZA17167*/ 06055000 * VVIFLG1=OFF; /* TURN OFF INTERNAL DISABLE 2008 06056000 * @ZM31134*/ 06057000 * 2008 06058000 NI VVIFLG3(VVIPTR),B'10101111' 2008 06059000 * /*****************************************************************/ 06060000 * /* */ 06061000 * /* SET APPROPRIATE DISABLE FLAGS @ZA09527*/ 06062000 * /* */ 06063000 * /*****************************************************************/ 06064000 * 2009 06065000 * IF INIABLE=ON THEN 2009 06066000 L @08,INITPTR 2009 06067000 TM INIABLE(@08),B'00100000' 2009 06068000 BNO @RF02009 2009 06069000 * VVIFLG0=ON; /* JOURNAL DISABLE @ZA09527*/ 06070000 OI VVIFLG0(VVIPTR),B'10000000' 2010 06071000 * IF INIJRNL=ON THEN 2011 06072000 @RF02009 L @08,INITPTR 2011 06073000 TM INIJRNL(@08),B'01000000' 2011 06074000 BNO @RF02011 2011 06075000 * VVIFLG2=ON; /* INVENTORY DISBLE @ZA09527*/ 06076000 OI VVIFLG2(VVIPTR),B'00100000' 2012 06077000 */********************************************************************* 06078000 * * GET MAX RECORD BUFFER IF NOT ALREADY OBTAINED @Y30LB27 06079000 * ********************************************************************/ 06080000 * 2013 06081000 * IF INIABLE=ON&VVIACBAD^=ZERO&ACBOPEN=ON THEN/* OPEN ACB @ZM30746*/ 06082000 @RF02011 L @08,INITPTR 2013 06083000 TM INIABLE(@08),B'00100000' 2013 06084000 BNO @RF02013 2013 06085000 L @08,VVIACBAD(,VVIPTR) 2013 06086000 LTR @08,@08 2013 06087000 BZ @RF02013 2013 06088000 TM ACBOPEN(@08),B'00010000' 2013 06089000 BNO @RF02013 2013 06090000 * DO; /* YES @Y30LB27*/ 06091000 * DO WHILE(CPUIDPTR=ZERO); /* RECORD BUFFER OBTAINED 2015 06092000 * @Y30LB27*/ 06093000 B @DE02015 2015 06094000 @DL02015 DS 0H 2016 06095000 * REG0=MAXREC; /* GET LENGTH OF @Y30LB27 06096000 * MAXIMUM RECORD @G24LB04*/ 06097000 LA REG0,1024 2016 06098000 *LGETM8: 2017 06099000 * GEN(GETMAIN RC,LV=(0),SP=241);/* GET STORAGE FOR ACB 2017 06100000 * @Y30LB27*/ 06101000 LGETM8 GETMAIN RC,LV=(0),SP=241 06102000 * IF REG15^=ZERO THEN 2018 06103000 LTR REG15,REG15 2018 06104000 BZ @RF02018 2018 06105000 * DO; /* STORAGE OBTAIN @Y30LB27*/ 06106000 * VINMSGID=MSGSTGE; /* SET MSG ID @Y30LB27*/ 06107000 MVC VINMSGID(2),@CH00250 2020 06108000 * CALL VINWTO; /* PRINT ERROR MESSAGE @Y30LB27*/ 06109000 BAL @14,VINWTO 2021 06110000 * RETURN; /* RETURN TO CALLER @Y30LB27*/ 06111000 @EL00027 DS 0H 2022 06112000 @EF00027 DS 0H 2022 06113000 @ER00027 L @14,@SA00027 2022 06114000 BR @14 2022 06115000 * END; /* @Y30LB27*/ 06116000 * CPUIDPTR=REG1; /* SET PTR FOR RECORD BUFFER 2024 06117000 * @Y30LB27*/ 06118000 @RF02018 ST REG1,CPUIDPTR 2024 06119000 * END; /* @Y30LB27 06120000 * @Y30LB27*/ 06121000 @DE02015 L @08,CPUIDPTR 2025 06122000 LTR @08,@08 2025 06123000 BZ @DL02015 2025 06124000 */********************************************************************* 06125000 * * ISSUE RESERVE FOR INVENTORY @Y30LB27 06126000 * ********************************************************************/ 06127000 * 2026 06128000 * CALL INVRES; /* RESERVE THE INVENTORY @ZA05115*/ 06129000 BAL @14,INVRES 2026 06130000 * VRRSW=ON; /* DEQUEUE REQUIRED @ZA05115 06131000 * #Y30LB27*/ 06132000 OI VRRSW,B'10000000' 2027 06133000 */********************************************************************* 06134000 * * GET CPU ASSOCIATION RECORD #Y30LB27 06135000 * ********************************************************************/ 06136000 * 2028 06137000 * IF RPLVRETC=ZERO THEN /* @ZM30746*/ 06138000 LH @08,RPLVRETC(,RPLVPTR) 2028 06139000 N @08,@CF03969 2028 06140000 LTR @08,@08 2028 06141000 BNZ @RF02028 2028 06142000 * DO; /* @ZM30746*/ 06143000 * RPLVTYP=RPLVREAD; /* INDICATE READ #Y30LB27*/ 06144000 MVI RPLVTYP(RPLVPTR),X'00' 2030 06145000 * RPLVUPD=ON; /* FOR UPDATE #Y30LB27*/ 06146000 OI RPLVUPD(RPLVPTR),B'00000010' 2031 06147000 * RPLVBUF=CPUIDPTR; /* SET BUFFER ADDRESS #Y30LB27*/ 06148000 L @08,CPUIDPTR 2032 06149000 ST @08,RPLVBUF(,RPLVPTR) 2032 06150000 * RPLVKEY=CPUIDPTR; /* SET KEY ADDRESS #Y30LB27*/ 06151000 ST @08,RPLVKEY(,RPLVPTR) 2033 06152000 * RPLVRLN=LENGTH(CPUID); /* SET KEY ADDRESS #Y30LB27*/ 06153000 LA @05,151 2034 06154000 ST @05,RPLVRLN(,RPLVPTR) 2034 06155000 * RPLVBLN=LENGTH(CPUID); /* SET KEY ADDRESS #Y30LB27*/ 06156000 ST @05,RPLVBLN(,RPLVPTR) 2035 06157000 * CPUNAME=CCPUIDK; /* SET KWY ADDR #Y30LB27*/ 06158000 MVC CPUNAME(13,@08),CCPUIDK 2036 06159000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV #Y30LB27*/ 06160000 LR REG1,RPLVPTR 2037 06161000 * CALL ICBVIO00; /* GET CPUID REC #Y30LB27*/ 06162000 L @15,@CV03332 2038 06163000 BALR @14,@15 2038 06164000 * IF RPLVRETC^=ZERO THEN 2039 06165000 LH @08,RPLVRETC(,RPLVPTR) 2039 06166000 N @08,@CF03969 2039 06167000 LTR @08,@08 2039 06168000 BZ @RF02039 2039 06169000 * DO; /* VSAM I/O ERROR #Y30LB27*/ 06170000 * VINMSGID=MSGVSME; /* INDICATE VSAM ERROR #Y30LB27*/ 06171000 MVC VINMSGID(2),@CH00172 2041 06172000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST #Y30LB27*/ 06173000 MVI MSGLEN1,X'0C' 2042 06174000 * MSGTEXT1=RPLVKEY; /* LOCATION OF NON-GRP #YM02859*/ 06175000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 2043 06176000 * CNVRTWK1=RPLRCODE; /* SET REASON CODE #Y30LB27*/ 06177000 MVI CNVRTWK1+2,X'00' 2044 06178000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 2044 06179000 * CALL VINCNVRT; /* TO MSG #Y30LB27*/ 06180000 BAL @14,VINCNVRT 2045 06181000 * CALL VINWTO; /* ISSUE MESSAGE #Y30LB27*/ 06182000 BAL @14,VINWTO 2046 06183000 * END; /* #Y30LB27*/ 06184000 * IF RPLVRETC=ZERO THEN 2048 06185000 @RF02039 LH @08,RPLVRETC(,RPLVPTR) 2048 06186000 N @08,@CF03969 2048 06187000 LTR @08,@08 2048 06188000 BNZ @RF02048 2048 06189000 * DO; /* VSAM I/O ERROR #Y30LB27*/ 06190000 * IF RPLJRCVY=OFF THEN/* OKAY CONT #Y30LB27*/ 06191000 TM RPLJRCVY(RPLVPTR),B'00000010' 2050 06192000 BNZ @RF02050 2050 06193000 * CPUPURGE=CPUPURGE|VVICPUID;/* OR PURGE REQUIRED 2051 06194000 * #Y30LB27*/ 06195000 L @08,CPUIDPTR 2051 06196000 OC CPUPURGE(2,@08),VVICPUID(VVIPTR) 2051 06197000 * ELSE /* NOT RECOVERY #Y30LB27*/ 06198000 * CPUPURGE=MASKFFFF;/* OR PURGE REQUIRED #Y30LB27 06199000 * #Y30LB27*/ 06200000 B @RC02050 2052 06201000 @RF02050 L @08,CPUIDPTR 2052 06202000 MVC CPUPURGE(2,@08),MASKFFFF 2052 06203000 */********************************************************************* 06204000 * * MODIFY RPL AND PUT THE UPDATED CPU ASSOC RECORD #Y30LB27 06205000 * ********************************************************************/ 06206000 * 2053 06207000 * RPLVTYP=RPLVPUT; /* INDICATE READ #Y30LB27*/ 06208000 @RC02050 MVI RPLVTYP(RPLVPTR),X'01' 2053 06209000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV #Y30LB27*/ 06210000 LR REG1,RPLVPTR 2054 06211000 * CALL ICBVIO00; /* WRITE THE RECORD #Y30LB27*/ 06212000 L @15,@CV03332 2055 06213000 BALR @14,@15 2055 06214000 * IF RPLVRETC^=ZERO THEN 2056 06215000 LH @08,RPLVRETC(,RPLVPTR) 2056 06216000 N @08,@CF03969 2056 06217000 LTR @08,@08 2056 06218000 BZ @RF02056 2056 06219000 * DO; /* VSAM I/O ERROR #Y30LB27*/ 06220000 * VINMSGID=MSGVSME;/* INDICATE VSAM ERROR #Y30LB27*/ 06221000 MVC VINMSGID(2),@CH00172 2058 06222000 * MSGLEN1=TWELVE; /* LEN OF MSG CONST #Y30LB27*/ 06223000 MVI MSGLEN1,X'0C' 2059 06224000 * MSGTEXT1=RPLVKEY;/* SET KEY ADDR #YM02859*/ 06225000 MVC MSGTEXT1(3),RPLVKEY+1(RPLVPTR) 2060 06226000 * CNVRTWK1=RPLRCODE;/* SET REASON CODE #Y30LB27*/ 06227000 MVI CNVRTWK1+2,X'00' 2061 06228000 MVC CNVRTWK1(2),RPLRCODE(RPLVPTR) 2061 06229000 * CALL VINCNVRT; /* AND ADD TO MSG #Y30LB27*/ 06230000 BAL @14,VINCNVRT 2062 06231000 * CALL VINWTO; /* ISSUE MESSAGE @Y30LB27*/ 06232000 BAL @14,VINWTO 2063 06233000 * END; /* #Y30LB27 06234000 * #Y30LB27*/ 06235000 */********************************************************************* 06236000 * * ISSUE ENDREC FOR DATA SET #Y30LB27 06237000 * ********************************************************************/ 06238000 * 2065 06239000 * RPLVTYP=RPLVENDR; /* INDICATE ENDREC #Y30LB27*/ 06240000 @RF02056 MVI RPLVTYP(RPLVPTR),X'04' 2065 06241000 * REG1=RPLVPTR; /* SET REG1 TO MSVC RPLV #Y30LB27*/ 06242000 LR REG1,RPLVPTR 2066 06243000 * CALL ICBVIO00; /* CALL ICBVIN00 FOR ENDREC 2067 06244000 * #Y30LB27*/ 06245000 L @15,@CV03332 2067 06246000 BALR @14,@15 2067 06247000 * RPLVSAM=''B; /* CLEAR VSAM RPL #Y30LB27*/ 06248000 XC RPLVSAM(76,RPLVPTR),RPLVSAM(RPLVPTR) 2068 06249000 * END; /* @ZM30746*/ 06250000 * END; /* @ZM30746 06251000 * #Y30LB27*/ 06252000 @RF02048 DS 0H 2071 06253000 */********************************************************************* 06254000 * * DEQ - RELEASE THE DATA SET - INVENTORY #Y30LB27 06255000 * ********************************************************************/ 06256000 * 2071 06257000 * IF VRRSW=ON THEN 2071 06258000 @RF02028 TM VRRSW,B'10000000' 2071 06259000 BNO @RF02071 2071 06260000 * DO; /* DEQUEUE REQUIRED @ZA05115*/ 06261000 * CALL INVDEQ; /* DEQUEUE THE INV @ZA05115*/ 06262000 BAL @14,INVDEQ 2073 06263000 * END; /* @ZA05155*/ 06264000 * END; /* @ZA05115 06265000 * #Y30LB27*/ 06266000 @RF02071 DS 0H 2076 06267000 */********************************************************************* 06268000 * * CLOSE AND DE-ALLOC THE DATA SET #Y30LB27 06269000 * * DE-ALLOCATE WILL FREE THE BUFFER #Y30LB27 06270000 * ********************************************************************/ 06271000 * 2076 06272000 * CALL VINDSDS; /* CALL CLOSE & DE-ALLOC SEGMENT 06273000 * #Y30LB27 06274000 * #Y30LB27*/ 06275000 @RF02013 BAL @14,VINDSDS 2076 06276000 * IF RPLVRETC=ZERO THEN 2077 06277000 LH @08,RPLVRETC(,RPLVPTR) 2077 06278000 N @08,@CF03969 2077 06279000 LTR @08,@08 2077 06280000 BNZ @RF02077 2077 06281000 * DO; /* SUCESSFUL #Y30LB27 06282000 * @Y30LB27*/ 06283000 */********************************************************************* 06284000 * * ISSUE FINAL SUMMATION MESSAGE @Y30LB27 06285000 * ********************************************************************/ 06286000 * 2079 06287000 * IF RPLJRCVY=OFF THEN 2079 06288000 TM RPLJRCVY(RPLVPTR),B'00000010' 2079 06289000 BNZ @RF02079 2079 06290000 * DO; /* OKAY CONT @Y30LB27*/ 06291000 * VINMSGID=MSGDISM; /* INDICATE DISABLE @Y30LB27*/ 06292000 MVC VINMSGID(2),@CH00088 2081 06293000 * CALL VINWTO; /* ISSUE THE ERROR MSG @Y30LB27*/ 06294000 BAL @14,VINWTO 2082 06295000 * END; /* @Y30LB27*/ 06296000 * END; /* @Y30LB27*/ 06297000 @RF02079 DS 0H 2085 06298000 * IF JRNLSW3=ON THEN /* MSG TO BE JOURNALED @ZA17167*/ 06299000 @RF02077 TM JRNLSW3,B'10000000' 2085 06300000 BNO @RF02085 2085 06301000 * VVIFLG3=ON; /* NO MSG UNTIL AFTER JRNL OPEN 06302000 * @Y30LB27*/ 06303000 OI VVIFLG3(VVIPTR),B'00010000' 2086 06304000 * RETURN; /* RETURN TO MAINLINE @Y30LB27*/ 06305000 B @EL00027 2087 06306000 * END ICBVDS00; /* @Y30LB27*/ 06307000 B @EL00027 2088 06308000 *VINPATCH: 2089 06309000 * PROC OPTIONS(NOSAVE); /* @Y30LB27*/ 06310000 VINPATCH DS 0H 2090 06311000 * GEN; 2090 06312000 * /* PATCH AREA @Y30LB27*/ 06313000 DS 0F ALIGN DCS @Y30LB27 06314000 VINPACHA NOP * CALC BASE/DISP @Y30LB27 06315000 DC 20F'0' PATCH AREA @Y30LB27 06316000 VINPACHB NOP * CALC BASE/DISP @Y30LB27 06317000 DC 20F'0' PATCH AREA @Y30LB27 06318000 VINPACHC NOP * CALC BASE/DISP @Y30LB27 06319000 DC 20F'0' PATCH AREA @Y30LB27 06320000 VINPACHD NOP * CALC BASE/DISP @Y30LB27 06321000 DC 20F'0' PATCH AREA @Y30LB27 06322000 * END VINPATCH; /* @Y30LB27*/ 06323000 @EL00028 DS 0H 2091 06324000 @EF00028 DS 0H 2091 06325000 @ER00028 BR @14 2091 06326000 * END ICBVIN00 /* END ICBVIN00 PROC @Y30LB27*/ 06327000 * 2092 06328000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 06329000 */*%INCLUDE SYSLIB (IEZSSC ) */ 06330000 */*%INCLUDE SYSLIB (IEZVVICB) */ 06331000 */*%INCLUDE SYSLIB (IEZRPLV ) */ 06332000 */*%INCLUDE SYSLIB (IEZINIT ) */ 06333000 */*%INCLUDE SYSLIB (IEZGROUP) */ 06334000 */*%INCLUDE SYSLIB (IEZGVSNE) */ 06335000 */*%INCLUDE SYSLIB (IEZNGVR ) */ 06336000 */*%INCLUDE SYSLIB (IEZCPUID) */ 06337000 */*%INCLUDE SYSLIB (IEZBASEV) */ 06338000 */*%INCLUDE SYSLIB (ICBVOLTB) */ 06339000 */*%INCLUDE SYSLIB (IEFZB4D0) */ 06340000 */*%INCLUDE SYSLIB (IEFZB4D2) */ 06341000 */*%INCLUDE SYSLIB (IEEZB801) */ 06342000 */*%INCLUDE SYSLIB (IFGACB ) */ 06343000 */*%INCLUDE SYSLIB (IDAAMBL ) */ 06344000 */*%INCLUDE SYSLIB (IDAAMB ) */ 06345000 */*%INCLUDE SYSLIB (IFGRPL ) */ 06346000 */*%INCLUDE SYSLIB (IHADCBDF) */ 06347000 */*%INCLUDE SYSLIB (IHADCB ) */ 06348000 */*%INCLUDE SYSLIB (CVT ) */ 06349000 */*%INCLUDE SYSLIB (IKJTCB ) */ 06350000 */*%INCLUDE SYSLIB (IEFTIOT1) */ 06351000 */*%INCLUDE SYSLIB (IEZJSCB ) */ 06352000 */*%INCLUDE SYSLIB (IEFJSSIB) */ 06353000 */*%INCLUDE SYSLIB (IEFJSSOB) */ 06354000 */*%INCLUDE SYSLIB (IEFJESCT) */ 06355000 */*%INCLUDE SYSLIB (IEFJFCBN) */ 06356000 */*%INCLUDE SYSLIB (IEFUCBOB) */ 06357000 */*%INCLUDE SYSLIB (IEZMSGRQ) */ 06358000 * 2092 06359000 * ; 2092 06360000 @DATA DS 0H 06361000 @CH00082 DC H'5' 06362000 @CH00250 DC H'6' 06363000 @CH00034 DC H'10' 06364000 @CH00033 DC H'11' 06365000 @CH00165 DC H'15' 06366000 @CH03698 DC H'17' 06367000 @CH03410 DC H'18' 06368000 @CH03701 DC H'19' 06369000 @CH00088 DC H'20' 06370000 @CH00178 DC H'21' 06371000 @CH02855 DC H'22' 06372000 @CH00707 DC H'24' 06373000 @CH00272 DC H'28' 06374000 @CH03715 DC H'29' 06375000 @CH02569 DC H'35' 06376000 @CH03936 DC H'36' 06377000 @CH00414 DC H'60' 06378000 @CH03940 DC H'132' 06379000 @CH03643 DC H'532' 06380000 @SM03973 MVC SCANCHAR(0,SCANPTR),VVIUCAT(VVIPTR) 06381000 @SM03975 MVC VVIUCAT(0,VVIPTR),0(@05) 06382000 @SM03977 MVC VVIVTRK-1(0,@08),0(@04) 06383000 @SM03980 MVC S99TUPAR(0,@08),VVIUCAT(VVIPTR) 06384000 DS 0F 06385000 @SA00001 DS 18F 06386000 @SA00002 DS 1F 06387000 @SA00005 DS 1F 06388000 @SA00006 DS 1F 06389000 @SA00007 DS 1F 06390000 @SA00008 DS 1F 06391000 @SA00009 DS 1F 06392000 @SA00010 DS 1F 06393000 @SA00012 DS 1F 06394000 @SA00013 DS 1F 06395000 @SA00014 DS 1F 06396000 @SA00015 DS 1F 06397000 @SA00016 DS 1F 06398000 @SA00017 DS 1F 06399000 @SA00018 DS 1F 06400000 @SA00019 DS 1F 06401000 @SA00003 DS 1F 06402000 @SA00026 DS 1F 06403000 @SA00027 DS 1F 06404000 @SA00011 DS 1F 06405000 @SA00022 DS 1F 06406000 @SA00024 DS 1F 06407000 @SA00025 DS 1F 06408000 @SA00023 DS 1F 06409000 @SA00021 DS 1F 06410000 @TF00001 DS F 06411000 DS 0F 06412000 @CF00055 DC F'1' 06413000 @CH00055 EQU @CF00055+2 06414000 @CF00066 DC F'2' 06415000 @CH00066 EQU @CF00066+2 06416000 @CF00118 DC F'3' 06417000 @CH00118 EQU @CF00118+2 06418000 @CF00098 DC F'4' 06419000 @CH00098 EQU @CF00098+2 06420000 @CF00310 DC F'7' 06421000 @CH00310 EQU @CF00310+2 06422000 @CF00039 DC F'8' 06423000 @CH00039 EQU @CF00039+2 06424000 @CF00035 DC F'9' 06425000 @CH00035 EQU @CF00035+2 06426000 @CF00230 DC F'13' 06427000 @CH00230 EQU @CF00230+2 06428000 @CF00172 DC F'14' 06429000 @CH00172 EQU @CF00172+2 06430000 @CF00167 DC F'16' 06431000 @CH00167 EQU @CF00167+2 06432000 @CF02345 DC F'25' 06433000 @CH02345 EQU @CF02345+2 06434000 @CF00237 DC F'32' 06435000 @CH00237 EQU @CF00237+2 06436000 @CF03635 DC F'71' 06437000 @CF03592 DC F'401' 06438000 @CF03364 DC F'427' 06439000 @CF03366 DC F'428' 06440000 @CF03368 DC F'430' 06441000 @CF03370 DC F'431' 06442000 @CF03640 DC F'1024' 06443000 @CF03942 DC F'8000' 06444000 @CF03944 DC F'8084' 06445000 @CF03966 DC F'-56' 06446000 @CF03969 DC XL4'0000FFFF' 06447000 @CV03330 DC V(ICBVPR00) 06448000 @CV03331 DC V(ICBVSP00) 06449000 @CV03332 DC V(ICBVIO00) 06450000 @CV03333 DC V(ICBVJL00) 06451000 @CV03334 DC V(ICBVOP00) 06452000 DS 0D 06453000 INITPTR DS A 06454000 GROUPPTR DS A 06455000 S99RBPTR DS AL4 06456000 ORG S99RBPTR 06457000 S99RBPND DS BL1 06458000 ORG S99RBPTR+4 06459000 DCBPTR DS A 06460000 TIOTPTR DC A(0) 06461000 JFCBPTR DC AL4(JFCB) 06462000 INVUCBAD DS F 06463000 JNLUCBAD DS F 06464000 COUNTUCB DS F 06465000 TEMPBIN DS F 06466000 INILEN DC AL2(20) 06467000 J DS H 06468000 UCATLEN DS H 06469000 NUMCOL DS H 06470000 TMPCOL DS H 06471000 STRTCOL DS H 06472000 STRTINDX DS H 06473000 SRCODE DS H 06474000 NORECFND DC XL2'0208' 06475000 SAVRETC DS H 06476000 SAVRCODE DS H 06477000 VINMSGID DS H 06478000 MSGGRPE DC H'30' 06479000 MSGINOE DC H'31' 06480000 JRNLSW DC XL1'0' 06481000 ORG JRNLSW 06482000 JRNLSW3 DS BL1 06483000 @NM00108 EQU JRNLSW+0 06484000 ORG JRNLSW+1 06485000 POOL DC AL1(241) 06486000 DS 0D 06487000 @TS00001 DS CL8 06488000 @CC03588 DC C'SYSGROUP' 06489000 @CC03662 DC C'000' 06490000 @CC03664 DC C'068' 06491000 @CC03660 EQU @CC03662 06492000 @CC03666 DC C'U ' 06493000 @CC03670 DC C'Y ' 06494000 @CC03672 DC C'N ' 06495000 @CB03677 DC X'FFFFFFFC' 06496000 @CB03596 DC X'00F0' 06497000 DS CL2 06498000 S99RB DS CL20 06499000 ORG S99RB 06500000 S99RBLN DS CL1 06501000 S99VERB DS CL1 06502000 S99FLAG1 DS CL2 06503000 ORG S99FLAG1 06504000 S99FLG11 DS CL1 06505000 ORG S99FLG11 06506000 S99ONCNV DS BL1 06507000 S99NOCNV EQU S99FLG11+0 06508000 S99NOMNT EQU S99FLG11+0 06509000 S99JBSYS EQU S99FLG11+0 06510000 ORG S99FLAG1+1 06511000 S99FLG12 DS CL1 06512000 ORG S99RB+4 06513000 S99RSC DS CL4 06514000 ORG S99RSC 06515000 S99ERROR DS CL2 06516000 S99INFO DS CL2 06517000 ORG S99RB+8 06518000 S99TXTPP DS AL4 06519000 S99RSV01 DS FL4 06520000 S99FLAG2 DS CL4 06521000 ORG S99FLAG2 06522000 S99FLG21 DS CL1 06523000 ORG S99FLG21 06524000 S99WTVOL DS BL1 06525000 S99WTDSN EQU S99FLG21+0 06526000 S99NORES EQU S99FLG21+0 06527000 S99WTUNT EQU S99FLG21+0 06528000 S99OFFLN EQU S99FLG21+0 06529000 S99TIONQ EQU S99FLG21+0 06530000 S99CATLG EQU S99FLG21+0 06531000 S99MOUNT EQU S99FLG21+0 06532000 ORG S99FLAG2+1 06533000 S99FLG22 DS CL1 06534000 ORG S99FLG22 06535000 S99UDEVT DS BL1 06536000 S99PCINT EQU S99FLG22+0 06537000 ORG S99FLAG2+2 06538000 S99FLG23 DS CL1 06539000 S99FLG24 DS CL1 06540000 ORG S99RB+20 06541000 MSGRQ DS CL32 06542000 ORG MSGRQ 06543000 MSGID DS FL4 06544000 MSGRPLV DS AL4 06545000 MSGRLEN DS BL1 06546000 MSGREPLY DS AL3 06547000 MSGLEN1 DS BL1 06548000 MSGTEXT1 DS AL3 06549000 MSGLEN2 DS BL1 06550000 MSGTEXT2 DS AL3 06551000 MSGLEN3 DS BL1 06552000 MSGTEXT3 DS AL3 06553000 MSGLEN4 DS BL1 06554000 MSGTEXT4 DS AL3 06555000 MSGLEN5 DS BL1 06556000 MSGTEXT5 DS AL3 06557000 ORG MSGRQ+32 06558000 TXTMSVC DS CL49 06559000 ORG TXTMSVC 06560000 MSVCKEY1 DC X'0001' 06561000 MSVCNUM1 DC XL2'0001' 06562000 MSVCLNG1 DC H'4' 06563000 MSVCPAR1 DC CL4'MSVC' 06564000 MSVCKEY2 DC X'0002' 06565000 MSVCNUM2 DC XL2'0001' 06566000 MSVCLNG2 DS FL2 06567000 MSVCPAR2 DC CL18' ' 06568000 MSVCKEY3 DC X'0004' 06569000 MSVCNUM3 DC XL2'0001' 06570000 MSVCLNG3 DC XL2'0001' 06571000 MSVCPAR3 DC X'08' 06572000 @NM00105 DS CL1 06573000 MSVCKEY4 DC X'0005' 06574000 MSVCNUM4 DC XL2'0001' 06575000 MSVCLNG4 DC XL2'0001' 06576000 MSVCPAR4 DC X'08' 06577000 ORG TXTMSVC+49 06578000 DS CL1 06579000 TXTJRNL DS CL14 06580000 ORG TXTJRNL 06581000 JRNLKEY1 DC X'0001' 06582000 JRNLNUM1 DC XL2'0001' 06583000 JRNLLNG1 DC H'8' 06584000 JRNLPAR1 DC CL8'MSVCJRNL' 06585000 ORG TXTJRNL+14 06586000 SWITCH DS BL2 06587000 ORG SWITCH 06588000 RETRYSW DS BL1 06589000 GVSEXSW EQU SWITCH+0 06590000 SCANSW EQU SWITCH+0 06591000 PURGSW EQU SWITCH+0 06592000 @NM00106 EQU SWITCH+0 06593000 MSGSW EQU SWITCH+0 06594000 PARENSW EQU SWITCH+0 06595000 DISSW EQU SWITCH+0 06596000 VRRSW DS BL1 06597000 VJLSW EQU SWITCH+1 06598000 VRRSWI EQU SWITCH+1 06599000 VRRSWJ EQU SWITCH+1 06600000 TRKSW EQU SWITCH+1 06601000 @NM00107 EQU SWITCH+1 06602000 ORG SWITCH+2 06603000 TESTBYTE DS BL1 06604000 ORG TESTBYTE 06605000 TESTB0 DS BL1 06606000 TESTB1 EQU TESTBYTE+0 06607000 TESTB2 EQU TESTBYTE+0 06608000 TESTB3 EQU TESTBYTE+0 06609000 @NM00109 EQU TESTBYTE+0 06610000 ORG TESTBYTE+1 06611000 DS CL1 06612000 JFCBELST DS CL4 06613000 ORG JFCBELST 06614000 JFCBCODE DC X'87' 06615000 JFCBEXIT DC AL3(JFCB) 06616000 ORG JFCBELST+4 06617000 CATWKA DS CL588 06618000 ORG CATWKA 06619000 QMIOP DS CL24 06620000 ORG QMIOP 06621000 @NM00110 DS CL12 06622000 QMIDSKAD DS CL4 06623000 ORG CATWKA+24 06624000 CATSAVRG DS CL88 06625000 JFCB DS CL176 06626000 @NM00111 DS CL300 06627000 ORG CATWKA+588 06628000 SWAEAREA DC XL20'0' 06629000 UCBDELIM DC X'FFFFFFFF' 06630000 IDMASK DS CL2 06631000 MASK0F DC X'0F' 06632000 MASKF0 DC X'F0' 06633000 MASKFA DC X'FA' 06634000 DS CL1 06635000 MASK8000 DC X'8000' 06636000 MASK00F6 DC X'00F6' 06637000 MASKFFFF DC X'FFFF' 06638000 MASKF0F1 DC X'F0F1' 06639000 DS CL2 06640000 MASKFFF8 DC X'FFFFFFF8' 06641000 MASK00FF DC X'000000FF' 06642000 MASK001F DC X'0000001F' 06643000 LOCERR DC X'1708' 06644000 WORK1 DS CL2 06645000 MSGBUF DS CL60 06646000 CINVENTO DC CL9'INVENTORY' 06647000 CJOURNAL DC CL7'JOURNAL' 06648000 CMSFMSG DC CL7'MSFMSG=' 06649000 CSSCSAMP DC CL9'MSSCSAMP=' 06650000 CTRKVOLS DC CL8'TRKVOLS=' 06651000 CUCAT DC CL8'MSVCCAT=' 06652000 CIEESB60 DC CL8'IEESB601' 06653000 CSSIB DC CL4'SSIB' 06654000 CSSOB DC CL4'SSOB' 06655000 CMSTR DC CL8'MSTR' 06656000 CMSVC DC CL8'MSVC' 06657000 CMSVI DC CL4'MSVI' 06658000 CJRNL DC CL4'JRNL' 06659000 MSVI DC CL4'MSvi' 06660000 MSVIJRNL DC CL8'MSVIJRNL' 06661000 MSVCJRNL DC CL8'MSVCJRNL' 06662000 @NM00112 DS CL16 06663000 ORG @NM00112 06664000 MSTR DC CL4'MSTR' 06665000 @NM00113 DC CL4' ' 06666000 SUBTASK DC CL8'SUBTASK' 06667000 ORG @NM00112+16 06668000 SYSZMSVI DC CL8'SYSZMSVI' 06669000 CSYSGRPK DS CL13 06670000 ORG CSYSGRPK 06671000 CSYSGRP DC CL12'G SYSGROUP ' 06672000 CB00 DC X'00' 06673000 ORG CSYSGRPK+13 06674000 CNGRPK DC CL13'N HEADER' 06675000 CCPUIDK DC CL13'C CPU ID' 06676000 CBASNAMK DS CL13 06677000 ORG CBASNAMK 06678000 @NM00114 DC CL12'V' 06679000 @NM00115 DC X'00' 06680000 ORG CBASNAMK+13 06681000 CGRONAMK DS CL13 06682000 ORG CGRONAMK 06683000 @NM00116 DC CL12'G' 06684000 @NM00117 DC X'00' 06685000 ORG CGRONAMK+13 06686000 BLANKS DC CL72' ' 06687000 DASD DC X'20' 06688000 VIRT DC X'08' 06689000 RBAERR DC X'74' 06690000 PURGOPCD DC X'14' 06691000 ASSCOPCD DC X'2C' 06692000 LSPAREA DS CL30 06693000 ORG LSPAREA 06694000 @NM00118 DS CL6 06695000 LSPFRESP DS CL4 06696000 @NM00119 DS CL1 06697000 LSPFRETR DS CL4 06698000 @NM00120 DS CL1 06699000 LSPFREXT DS CL4 06700000 @NM00121 DS CL1 06701000 LSPLEXT DS CL4 06702000 @NM00122 DS CL1 06703000 LSPLGTRK DS CL4 06704000 ORG LSPAREA+30 06705000 TEMPPACK DS CL4 06706000 TEMPCHAR DS CL2 06707000 REPLY DS CL72 06708000 CNVRTWK1 DS CL3 06709000 CNVRTWK2 DS CL5 06710000 DS CL2 06711000 ESTAESTG DS CL16 06712000 OPNSTG DS CL4 06713000 CLSSTG DS CL4 06714000 RJFCBSTG DS CL4 06715000 BINZERO DC X'000000000000' 06716000 DS CL2 06717000 TXTPTR DC AL4(MSVCKEY1) 06718000 DC AL4(MSVCKEY2) 06719000 DC AL4(MSVCKEY3) 06720000 DC AL4(MSVCKEY4) 06721000 VINMSGTB DC H'433' 06722000 DC H'422' 06723000 DC H'420' 06724000 DC H'456' 06725000 DC H'423' 06726000 DC H'409' 06727000 DC H'441' 06728000 DC H'442' 06729000 DC H'444' 06730000 DC H'443' 06731000 DC H'446' 06732000 DC H'0' 06733000 DC H'448' 06734000 DC H'449' 06735000 DC H'417' 06736000 DC H'453' 06737000 DC H'451' 06738000 DC H'452' 06739000 DC H'450' 06740000 DC H'455' 06741000 DC H'454' 06742000 DC H'418' 06743000 DC H'419' 06744000 DC H'457' 06745000 DC H'471' 06746000 DC H'468' 06747000 DC H'469' 06748000 DC H'470' 06749000 DC H'402' 06750000 DC H'403' 06751000 DC H'474' 06752000 DC H'434' 06753000 ICBVIN00 CSECT 06754000 * /* @Y30LB27*/ 06755000 TRTAB EQU *-X'F0' UNUSED @Y30LB27 06756000 DC C'0123456789ABCDEF' TRANSLATION BYTES @Y30LB27 06757000 ICBVIN00 CSECT 06758000 * /*@ZA09527*/ 06759000 ESTAELST ESTAE MF=L @Y30LB27 06760000 OPNLST OPEN (,(OUTPUT)),MF=L @Y30LB27 06761000 CLSLST OPEN (,),MF=L @Y30LB27 06762000 DCBLST DCB DSORG=PS,MACRF=E,DDNAME=MSVCJRNL,DEVD=DA,RECFM=FS 06763000 ACBLST ACB BUFND=2,BUFNI=1,STRNO=1,DDNAME=MSVC,MACRF=(KEY,DIR,CNV, *06764000 SEQ,IN,OUT) @Y30LB27 06765000 RJFCBLST RDJFCB (),MF=L @Y30LB27 06766000 VINTMH TM WORK1,X'00' TARGET OF EXECUTE INST @Y30LB27 06767000 VINTML TM WORK1+1,X'00' TARGET OF EXECUTE INST @Y30LB27 06768000 RSVINVLT RESERVE (SYSZMSVI,MSVI,E,4,SYSTEMS),RET=HAVE, @ZM31134*06769000 UCB=INVUCBAD,MF=L @ZM31134 06770000 RSVJNLLT RESERVE (SYSZMSVI,MSVIJRNL,E,8,SYSTEMS),RET=HAVE, @ZM31134*06771000 UCB=JNLUCBAD,MF=L @ZM31134 06772000 ICBVIN00 CSECT 06773000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 06774000 @01 EQU 01 06775000 @02 EQU 02 06776000 @03 EQU 03 06777000 @04 EQU 04 06778000 @05 EQU 05 06779000 @06 EQU 06 06780000 @07 EQU 07 06781000 @08 EQU 08 06782000 @09 EQU 09 06783000 @10 EQU 10 06784000 @11 EQU 11 06785000 @12 EQU 12 06786000 @13 EQU 13 06787000 @14 EQU 14 06788000 @15 EQU 15 06789000 FIXED8 EQU @08 06790000 SVRETC EQU @08 06791000 RPLVSAVE EQU @02 06792000 INDX EQU @02 06793000 SAVEI EQU @02 06794000 I EQU @08 06795000 UCBLOKUP EQU @08 06796000 SCANPTR EQU @02 06797000 PAIRPTR EQU @08 06798000 RPLVPTR EQU @06 06799000 VVIPTR EQU @07 06800000 REG0 EQU @00 06801000 REG1 EQU @01 06802000 REG2 EQU @02 06803000 REG12 EQU @12 06804000 REG13 EQU @13 06805000 REG14 EQU @14 06806000 REG15 EQU @15 06807000 PAIRR1 EQU @01 06808000 REG10 EQU @10 06809000 REG11 EQU @11 06810000 REG3 EQU @03 06811000 CVTPTR EQU 16 06812000 ICB2SSCB EQU 0 06813000 ICBOPT EQU ICB2SSCB+48 06814000 ICBFLG EQU ICB2SSCB+52 06815000 ICBFG1 EQU ICBFLG 06816000 ICBV EQU ICBFG1 06817000 ICBVVIC EQU ICB2SSCB+72 06818000 ICBVVICB EQU ICB2SSCB+76 06819000 ICBCPUID EQU ICB2SSCB+112 06820000 ICBSAMP EQU ICB2SSCB+118 06821000 ICBVSCRA EQU ICB2SSCB+120 06822000 ICBVOLST EQU ICB2SSCB+124 06823000 ICBTRACE EQU ICB2SSCB+148 06824000 VVICB EQU 0 06825000 VVIUCAT EQU VVICB+4 06826000 VVICPUID EQU VVICB+12 06827000 VVIALCON EQU VVICB+14 06828000 VVIFLGA EQU VVICB+15 06829000 VVIFLG0 EQU VVIFLGA 06830000 VVIFLG1 EQU VVIFLGA 06831000 VVIFLG2 EQU VVIFLGA 06832000 VVIFLG3 EQU VVIFLGA 06833000 VVIFLG4 EQU VVIFLGA 06834000 VVIFLG5 EQU VVIFLGA 06835000 VVIACBAD EQU VVICB+16 06836000 VVIDCBAD EQU VVICB+20 06837000 VVICATAD EQU VVICB+24 06838000 VVIVQMP EQU VVICB+32 06839000 VVIVTRK EQU VVICB+37 06840000 VVIQRPL1 EQU VVICB+40 06841000 VVIQRPL2 EQU VVICB+44 06842000 VVIUCB EQU VVICB+60 06843000 VVIIUCB EQU VVICB+76 06844000 VVIJUCB EQU VVICB+80 06845000 VVIVSCRA EQU VVICB+92 06846000 VVISSOBA EQU VVICB+96 06847000 VVIDVMEL EQU VVICB+104 06848000 RPLV EQU 0 06849000 RPLVQPTR EQU RPLV 06850000 RPLTCBPR EQU RPLV+8 06851000 RPLVVICB EQU RPLV+12 06852000 RPLFLAGA EQU RPLV+28 06853000 RPLFTIME EQU RPLFLAGA 06854000 RPLVCOMP EQU RPLFLAGA 06855000 RPLVVIN EQU RPLFLAGA 06856000 RPLJRCVY EQU RPLFLAGA 06857000 RPLVTLEN EQU RPLV+30 06858000 RPLRCODE EQU RPLV+32 06859000 RPLVRETC EQU RPLV+34 06860000 RPLVDATE EQU RPLV+38 06861000 RPLVSAM EQU RPLV+56 06862000 RPLVTYP EQU RPLVSAM+2 06863000 RPLVBUF EQU RPLVSAM+32 06864000 RPLVKEY EQU RPLVSAM+36 06865000 RPLVOPT EQU RPLVSAM+40 06866000 RPLVLOC EQU RPLVOPT 06867000 RPLVDIR EQU RPLVOPT 06868000 RPLVNEXT EQU RPLVOPT 06869000 RPLVKGE EQU RPLVOPT 06870000 RPLVUPD EQU RPLVOPT+1 06871000 RPLVRLN EQU RPLVSAM+48 06872000 RPLVBLN EQU RPLVSAM+52 06873000 RPLVUTIL EQU RPLV+132 06874000 INITVVI EQU 0 06875000 INITOPCD EQU INITVVI+4 06876000 INIFLAGA EQU INITVVI+5 06877000 ININIT EQU INIFLAGA 06878000 INIENABL EQU INIFLAGA 06879000 INIDISAB EQU INIFLAGA 06880000 INIFLAGB EQU INITVVI+6 06881000 INIVERFY EQU INIFLAGB 06882000 INIJRNL EQU INIFLAGB 06883000 INIABLE EQU INIFLAGB 06884000 INIRESTR EQU INIFLAGB 06885000 INIVCODE EQU INITVVI+7 06886000 INIUCAT EQU INITVVI+8 06887000 LSTPAIR EQU 0 06888000 PURGLL EQU LSTPAIR 06889000 PURGOP EQU LSTPAIR+4 06890000 PURGFLG EQU LSTPAIR+6 06891000 PURGHOST EQU LSTPAIR+8 06892000 GROUP EQU 0 06893000 GRONAME EQU GROUP 06894000 GROVVGRP EQU GRONAME+3 06895000 GROID EQU GRONAME+11 06896000 GROBLANK EQU GROID 06897000 GROFLAGA EQU GROUP+13 06898000 GROTYPE EQU GROFLAGA 06899000 GROGVR EQU GROTYPE 06900000 GROFSN EQU GROUP+17 06901000 GROLSN EQU GROUP+23 06902000 GROPSPD EQU GROUP+36 06903000 GROSSPD EQU GROUP+38 06904000 GROERRTS EQU GROUP+56 06905000 GRODESCR EQU GROUP+64 06906000 GROOWNER EQU GROUP+96 06907000 GROADDR EQU GROUP+106 06908000 GVSNE EQU 0 06909000 GVSHDR EQU GVSNE 06910000 GVSNAME EQU GVSHDR 06911000 GVSVVGRP EQU GVSNAME+3 06912000 GVSID EQU GVSNAME+11 06913000 GVSFLAGA EQU GVSHDR+13 06914000 GVSTYPE EQU GVSFLAGA 06915000 GVSEX EQU GVSFLAGA+2 06916000 GVSESIND EQU GVSHDR+18 06917000 GVSSLOTS EQU GVSNE+28 06918000 GVSVOLID EQU GVSSLOTS 06919000 GVSVOLFL EQU GVSSLOTS+6 06920000 GVSCPUBM EQU GVSVOLFL 06921000 GVSRCFSI EQU GVSVOLFL+2 06922000 GVSMTNSH EQU GVSVOLFL+2 06923000 GVSFRESP EQU GVSSLOTS+10 06924000 GVSLEXT EQU GVSSLOTS+12 06925000 GVSMTDSP EQU GVSSLOTS+18 06926000 NGVR EQU 0 06927000 NGVRTYPE EQU NGVR+13 06928000 NGVHDR EQU NGVRTYPE 06929000 NGVFVOL EQU NGVR+17 06930000 NGVLVOL EQU NGVR+23 06931000 CPUID EQU 0 06932000 CPUNAME EQU CPUID 06933000 CPUINEXT EQU CPUID+14 06934000 CPUDNEXT EQU CPUID+16 06935000 CPUTYPE EQU CPUID+18 06936000 CPUASSOC EQU CPUTYPE 06937000 CPUMAP EQU CPUID+20 06938000 CPUIDREC EQU CPUMAP 06939000 CPUMASK EQU CPUMAP+6 06940000 CPUPURGE EQU CPUID+148 06941000 BASEV EQU 0 06942000 BASNAME EQU BASEV 06943000 BASSERNO EQU BASNAME+5 06944000 BASID EQU BASNAME+11 06945000 BASFLAGA EQU BASEV+14 06946000 BASTYPE EQU BASFLAGA 06947000 BASDLSF EQU BASFLAGA+2 06948000 BASGRPV EQU BASFLAGA+2 06949000 BASGENUS EQU BASFLAGA+2 06950000 BASINAC EQU BASFLAGA+2 06951000 BASCPUID EQU BASEV+18 06952000 BASRCVYF EQU BASEV+20 06953000 BASSATIA EQU BASRCVYF 06954000 BASMISCF EQU BASRCVYF+2 06955000 BASLIB1 EQU BASEV+36 06956000 BASLID1 EQU BASLIB1 06957000 BASLIB2 EQU BASEV+49 06958000 BASLID2 EQU BASLIB2 06959000 BASKLCPY EQU BASEV+76 06960000 BASCOPID EQU BASKLCPY+11 06961000 BASDLMTD EQU BASEV+92 06962000 BASGROUP EQU BASEV+180 06963000 ICBVLIST EQU 0 06964000 ICBVLCNT EQU ICBVLIST 06965000 ICBVLENT EQU ICBVLIST+4 06966000 S99TUPL EQU 0 06967000 S99TUPTR EQU S99TUPL 06968000 S99TUPLN EQU S99TUPTR 06969000 S99TUP EQU 0 06970000 S99TUNIT EQU 0 06971000 S99TUENT EQU S99TUNIT+4 06972000 S99TULNG EQU S99TUENT 06973000 S99TUPAR EQU S99TUENT+2 06974000 S99TUFLD EQU 0 06975000 SWAE EQU 0 06976000 SWOPTION EQU SWAE 06977000 SWCREATE EQU SWOPTION 06978000 SWJOBNAM EQU SWAE+4 06979000 SWSTEPNM EQU SWAE+8 06980000 SWTIOTPT EQU SWAE+12 06981000 SWJSCBPT EQU SWAE+16 06982000 SWAEPTR EQU 0 06983000 IFGACB EQU 0 06984000 ACBCOMN EQU IFGACB 06985000 ACBLENG EQU ACBCOMN+2 06986000 ACBLENG2 EQU ACBLENG 06987000 ACBAMBL EQU ACBCOMN+4 06988000 ACBJWA EQU ACBAMBL 06989000 ACBMACRF EQU ACBCOMN+12 06990000 ACBMACR1 EQU ACBMACRF 06991000 ACBADR EQU ACBMACR1 06992000 ACBCNV EQU ACBMACR1 06993000 ACBMACR2 EQU ACBMACRF+1 06994000 ACBBUFPL EQU ACBCOMN+20 06995000 ACBMACR3 EQU ACBBUFPL 06996000 ACBRECFM EQU ACBCOMN+24 06997000 ACBCCTYP EQU ACBCOMN+25 06998000 ACBOPT EQU ACBCOMN+26 06999000 ACBDSORG EQU ACBOPT 07000000 ACBCROPS EQU ACBDSORG 07001000 ACBEXLST EQU ACBCOMN+36 07002000 ACBDDNM EQU ACBCOMN+40 07003000 ACBAMETH EQU ACBDDNM+3 07004000 ACBOFLGS EQU ACBCOMN+48 07005000 ACBOPEN EQU ACBOFLGS 07006000 ACBEXFG EQU ACBOFLGS 07007000 ACBIOSFG EQU ACBOFLGS 07008000 ACBERFLG EQU ACBCOMN+49 07009000 ACBINFLG EQU ACBCOMN+50 07010000 ACBCAT EQU ACBINFLG 07011000 ACBVVIC EQU ACBINFLG 07012000 ACBUJFCB EQU ACBCOMN+52 07013000 ACBBLKSZ EQU ACBCOMN+60 07014000 ACBUAPTR EQU ACBCOMN+64 07015000 IDAAMBL EQU 0 07016000 AMBLEOV EQU IDAAMBL+12 07017000 AMBLEFLG EQU AMBLEOV 07018000 AMBLDDNM EQU IDAAMBL+16 07019000 AMBLIDF EQU AMBLDDNM 07020000 AMBLQ EQU AMBLIDF+7 07021000 AMBLVC EQU IDAAMBL+28 07022000 AMBLTYPE EQU IDAAMBL+30 07023000 AMBLSHAR EQU IDAAMBL+33 07024000 AMBLFLG1 EQU IDAAMBL+35 07025000 AMBLFLG2 EQU IDAAMBL+36 07026000 AMBLDTA EQU IDAAMBL+52 07027000 AMBLIX EQU IDAAMBL+56 07028000 IDAAMB EQU 0 07029000 AMBDSB EQU IDAAMB+20 07030000 AMBEOVR EQU IDAAMB+24 07031000 AMBFLG0 EQU AMBEOVR 07032000 AMBFLG1 EQU IDAAMB+25 07033000 AMBCREAT EQU AMBFLG1 07034000 AMBDSORG EQU IDAAMB+26 07035000 AMBIOBAD EQU IDAAMB+28 07036000 AMBINFL EQU IDAAMB+42 07037000 AMBDEBPT EQU IDAAMB+44 07038000 AMBOFLGS EQU IDAAMB+48 07039000 AMBFLG2 EQU IDAAMB+49 07040000 AMBEOVPT EQU IDAAMB+56 07041000 AMBCSWD1 EQU IDAAMB+84 07042000 AMBAFLG EQU AMBCSWD1 07043000 IFGRPL EQU 0 07044000 RPLCOMN EQU IFGRPL 07045000 RPLIDWD EQU RPLCOMN 07046000 RPLLEN EQU RPLIDWD+3 07047000 RPLECB EQU RPLCOMN+8 07048000 RPLFDBWD EQU RPLCOMN+12 07049000 RPLFDBK EQU RPLFDBWD+1 07050000 RPLRTNCD EQU RPLFDBK 07051000 RPLCNDCD EQU RPLFDBK+1 07052000 RPLCMPON EQU RPLCNDCD 07053000 RPLFDB2 EQU RPLCMPON 07054000 RPLERRCD EQU RPLCNDCD+1 07055000 RPLFDB3 EQU RPLERRCD 07056000 RPLKEYLE EQU RPLCOMN+16 07057000 RPLDACB EQU RPLCOMN+24 07058000 RPLARG EQU RPLCOMN+36 07059000 RPLOPTCD EQU RPLCOMN+40 07060000 RPLOPT1 EQU RPLOPTCD 07061000 RPLKGE EQU RPLOPT1 07062000 RPLECBSW EQU RPLOPT1 07063000 RPLOPT2 EQU RPLOPTCD+1 07064000 RPLKEY EQU RPLOPT2 07065000 RPLADR EQU RPLOPT2 07066000 RPLCNV EQU RPLOPT2 07067000 RPLUPD EQU RPLOPT2 07068000 RPLOPT3 EQU RPLOPTCD+2 07069000 RPLNXTRP EQU RPLCOMN+44 07070000 RPLOPTC2 EQU RPLCOMN+56 07071000 RPLOPT5 EQU RPLOPTC2 07072000 RPLWRTYP EQU RPLOPT5 07073000 RPLOPT6 EQU RPLOPTC2+1 07074000 RPLUNTYP EQU RPLOPT6 07075000 RPLOPT7 EQU RPLOPTC2+2 07076000 RPLCNOPT EQU RPLOPT7 07077000 RPLOPT8 EQU RPLOPTC2+3 07078000 RPLRBAR EQU RPLCOMN+60 07079000 RPLAIXID EQU RPLRBAR+2 07080000 RPLEXTDS EQU RPLCOMN+68 07081000 RPLEXTD1 EQU RPLEXTDS 07082000 RPLNEXIT EQU RPLEXTD1 07083000 IHADCB EQU 0 07084000 IHADCS00 EQU 0 07085000 DCBFDAD EQU IHADCS00+5 07086000 IHADCS01 EQU 0 07087000 DCBDVTBL EQU IHADCS01 07088000 IHADCS24 EQU 0 07089000 DCBOFLGS EQU IHADCS24+8 07090000 DCBOFLWR EQU DCBOFLGS 07091000 DCBOFOPN EQU DCBOFLGS 07092000 DCBIFLG EQU IHADCS24+9 07093000 DCBIBPCT EQU DCBIFLG 07094000 DCBMACR EQU IHADCS24+10 07095000 DCBMACR1 EQU DCBMACR 07096000 DCBMRFE EQU DCBMACR1 07097000 DCBMRGET EQU DCBMRFE 07098000 DCBMRAPG EQU DCBMACR1 07099000 DCBMRRD EQU DCBMRAPG 07100000 DCBMRCI EQU DCBMACR1 07101000 DCBMRMVG EQU DCBMRCI 07102000 DCBMRLCG EQU DCBMACR1 07103000 DCBMRABC EQU DCBMACR1 07104000 DCBMRPT1 EQU DCBMRABC 07105000 DCBMRSBG EQU DCBMRPT1 07106000 DCBMRCRL EQU DCBMACR1 07107000 DCBMRCHK EQU DCBMRCRL 07108000 DCBMRRDX EQU DCBMRCHK 07109000 DCBMRDMG EQU DCBMACR1 07110000 DCBMACR2 EQU DCBMACR+1 07111000 DCBMRPUT EQU DCBMACR2 07112000 DCBMRWRT EQU DCBMACR2 07113000 DCBMRMVP EQU DCBMACR2 07114000 DCBMR5WD EQU DCBMACR2 07115000 DCBMRLDM EQU DCBMR5WD 07116000 DCBMRLCP EQU DCBMRLDM 07117000 DCBMR4WD EQU DCBMACR2 07118000 DCBMRPT2 EQU DCBMR4WD 07119000 DCBMRTMD EQU DCBMRPT2 07120000 DCBMR3WD EQU DCBMACR2 07121000 DCBMRCTL EQU DCBMR3WD 07122000 DCBMRSTK EQU DCBMRCTL 07123000 DCBMR1WD EQU DCBMACR2 07124000 DCBMRSWA EQU DCBMR1WD 07125000 DCBMRDMD EQU DCBMRSWA 07126000 IHADCS25 EQU 0 07127000 DCBMACRF EQU IHADCS25+2 07128000 DCBMACF1 EQU DCBMACRF 07129000 DCBMFFE EQU DCBMACF1 07130000 DCBMFGET EQU DCBMFFE 07131000 DCBMFAPG EQU DCBMACF1 07132000 DCBMFRD EQU DCBMFAPG 07133000 DCBMFCI EQU DCBMACF1 07134000 DCBMFMVG EQU DCBMFCI 07135000 DCBMFLCG EQU DCBMACF1 07136000 DCBMFABC EQU DCBMACF1 07137000 DCBMFPT1 EQU DCBMFABC 07138000 DCBMFSBG EQU DCBMFPT1 07139000 DCBMFCRL EQU DCBMACF1 07140000 DCBMFCHK EQU DCBMFCRL 07141000 DCBMFDMG EQU DCBMACF1 07142000 DCBMACF2 EQU DCBMACRF+1 07143000 DCBMFPUT EQU DCBMACF2 07144000 DCBMFWRT EQU DCBMACF2 07145000 DCBMFMVP EQU DCBMACF2 07146000 DCBMF5WD EQU DCBMACF2 07147000 DCBMFLDM EQU DCBMF5WD 07148000 DCBMFLCP EQU DCBMFLDM 07149000 DCBMF4WD EQU DCBMACF2 07150000 DCBMFPT2 EQU DCBMF4WD 07151000 DCBMFTMD EQU DCBMFPT2 07152000 DCBMF3WD EQU DCBMACF2 07153000 DCBMFCTL EQU DCBMF3WD 07154000 DCBMFSTK EQU DCBMFCTL 07155000 DCBMF1WD EQU DCBMACF2 07156000 DCBMFSWA EQU DCBMF1WD 07157000 DCBMFDMD EQU DCBMFSWA 07158000 DCBDEBAD EQU IHADCS25+4 07159000 DCBIFLGS EQU DCBDEBAD 07160000 DCBIFPCT EQU DCBIFLGS 07161000 IHADCS28 EQU 0 07162000 DCBOPTCD EQU IHADCS28 07163000 DCBOPTZ EQU DCBOPTCD 07164000 IHADCS44 EQU 0 07165000 CVTMAP EQU 0 07166000 CVTTCBP EQU CVTMAP 07167000 CVTILK2 EQU CVTMAP+40 07168000 CVTDATE EQU CVTMAP+56 07169000 CVTDAR EQU CVTMAP+72 07170000 CVTFLGS1 EQU CVTDAR 07171000 CVTDCB EQU CVTMAP+116 07172000 CVTIOQET EQU CVTMAP+120 07173000 CVTIERLC EQU CVTMAP+144 07174000 CVTHEAD EQU CVTMAP+160 07175000 CVTSV76C EQU CVTHEAD 07176000 CVTOPTA EQU CVTMAP+182 07177000 CVTOPTB EQU CVTMAP+183 07178000 CVTGTF EQU CVTMAP+236 07179000 CVTGTFST EQU CVTGTF 07180000 CVTGTFS EQU CVTGTFST 07181000 CVTSTATE EQU CVTGTFST 07182000 CVTTMODE EQU CVTGTFST 07183000 CVTFORM EQU CVTGTFST 07184000 CVTAQAVT EQU CVTMAP+240 07185000 CVTTCMFG EQU CVTAQAVT 07186000 CVTVOLM2 EQU CVTMAP+244 07187000 CVTTATA EQU CVTVOLM2 07188000 CVTTSKS EQU CVTTATA 07189000 CVTVOLF2 EQU CVTTSKS 07190000 CVTTAT EQU CVTTATA+1 07191000 CVTATER EQU CVTMAP+248 07192000 CVTEXT1 EQU CVTMAP+252 07193000 CVTPURG EQU CVTMAP+260 07194000 CVTQMSG EQU CVTMAP+268 07195000 CVTDMSR EQU CVTMAP+272 07196000 CVTRSV37 EQU CVTDMSR 07197000 CVTDMSRF EQU CVTRSV37 07198000 CVTJESCT EQU CVTMAP+296 07199000 CVTERPV EQU CVTMAP+316 07200000 CVTINTLA EQU CVTMAP+320 07201000 CVTAPF EQU CVTMAP+324 07202000 CVTEXT2 EQU CVTMAP+328 07203000 CVTHJES EQU CVTMAP+332 07204000 CVTPGSIA EQU CVTMAP+348 07205000 CVTA1F1 EQU CVTMAP+356 07206000 CVTSYSK EQU CVTMAP+357 07207000 CVTVOLM1 EQU CVTMAP+380 07208000 CVTVOLF1 EQU CVTVOLM1 07209000 CVTATMCT EQU CVTMAP+388 07210000 CVTXTNT1 EQU 0 07211000 CVTXTNT2 EQU 0 07212000 CVTDSSV EQU CVTXTNT2 07213000 CVTFLGBT EQU CVTXTNT2+5 07214000 CVTQID EQU CVTXTNT2+24 07215000 CVTICB EQU CVTXTNT2+48 07216000 CVTRV400 EQU CVTXTNT2+52 07217000 CVTRV409 EQU CVTXTNT2+53 07218000 CVTATCVT EQU CVTXTNT2+64 07219000 CVTRV429 EQU CVTXTNT2+84 07220000 CVTRV438 EQU CVTXTNT2+85 07221000 CVTRV457 EQU CVTXTNT2+112 07222000 CVTRV466 EQU CVTXTNT2+113 07223000 CVTFIX EQU 0 07224000 CVTRELNO EQU CVTFIX+252 07225000 TCBFIX EQU 0 07226000 TCBFRS EQU TCBFIX 07227000 TCB EQU 0 07228000 TCBPIE EQU TCB+4 07229000 TCBPMASK EQU TCBPIE 07230000 TCBTIO EQU TCB+12 07231000 TCBCMP EQU TCB+16 07232000 TCBCMPF EQU TCBCMP 07233000 TCBCPP EQU TCBCMPF 07234000 TCBSTCC EQU TCBCMPF 07235000 TCBCDBL EQU TCBCMPF 07236000 TCBCWTO EQU TCBCMPF 07237000 TCBCIND EQU TCBCMPF 07238000 TCBCMSG EQU TCBCMPF 07239000 TCBTRN EQU TCB+20 07240000 TCBABF EQU TCBTRN 07241000 TCBMSS EQU TCB+24 07242000 TCBPKF EQU TCB+28 07243000 TCBFLGS EQU TCB+29 07244000 TCBFLGS1 EQU TCBFLGS 07245000 TCBFLGS2 EQU TCBFLGS+1 07246000 TCBFLGS3 EQU TCBFLGS+2 07247000 TCBFLGS4 EQU TCBFLGS+3 07248000 TCBFLGS5 EQU TCBFLGS+4 07249000 TCBABWF EQU TCBFLGS5 07250000 TCBJPQ EQU TCB+44 07251000 TCBPURGE EQU TCBJPQ 07252000 TCBGRS EQU TCB+48 07253000 TCBFSA EQU TCB+112 07254000 TCBTME EQU TCB+120 07255000 TCBJSTCB EQU TCB+124 07256000 TCBTSFLG EQU TCB+148 07257000 TCBTSTSK EQU TCBTSFLG 07258000 TCBSTAB EQU TCB+160 07259000 TCBNSTAE EQU TCBSTAB 07260000 TCBTCT EQU TCB+164 07261000 TCBTCTGF EQU TCBTCT 07262000 TCBSCNDY EQU TCB+172 07263000 TCBNDSP EQU TCBSCNDY 07264000 TCBNDSP1 EQU TCBNDSP+1 07265000 TCBNDSP2 EQU TCBNDSP+2 07266000 TCBNDSP3 EQU TCBNDSP+3 07267000 TCBJSCB EQU TCB+180 07268000 TCBRECDE EQU TCBJSCB 07269000 TCBEXT1 EQU TCB+196 07270000 TCBBITS EQU TCB+200 07271000 TCBNDSP4 EQU TCBBITS 07272000 TCBNDSP5 EQU TCBBITS+1 07273000 TCBFLGS6 EQU TCBBITS+2 07274000 TCBFLGS7 EQU TCBBITS+3 07275000 TCBDAR EQU TCB+204 07276000 TCBDARC EQU TCBDAR 07277000 TCBEXT2 EQU TCB+208 07278000 TCBFOE EQU TCB+244 07279000 TCBESTAE EQU TCB+264 07280000 TCBESTRM EQU TCBESTAE+1 07281000 TCBFBYT1 EQU TCB+276 07282000 TCBFBYT2 EQU TCB+277 07283000 TCBRV124 EQU TCB+278 07284000 TCBRV133 EQU TCB+279 07285000 TCBXTNT2 EQU 0 07286000 TCBGTF EQU TCBXTNT2 07287000 TCBTFLG EQU TCBGTF 07288000 TCBRV146 EQU TCBXTNT2+28 07289000 TCBRV155 EQU TCBXTNT2+29 07290000 TCBRV164 EQU TCBXTNT2+30 07291000 TCBRV173 EQU TCBXTNT2+31 07292000 TIOT1 EQU 0 07293000 IEZJSCB EQU 0 07294000 JSCBSEC1 EQU IEZJSCB+188 07295000 JSCHPCE EQU JSCBSEC1+4 07296000 JSCBDCB EQU JSCBSEC1+36 07297000 JSCBOPTS EQU JSCBSEC1+48 07298000 JSCBSWT1 EQU JSCBSEC1+55 07299000 JSCBWTP EQU JSCBSEC1+64 07300000 JSCBWTFG EQU JSCBWTP 07301000 JSCBEND1 EQU IEZJSCB+260 07302000 SSIB EQU 0 07303000 SSIBID EQU SSIB 07304000 SSIBLEN EQU SSIB+4 07305000 SSIBFLG1 EQU SSIB+6 07306000 SSIBSSNM EQU SSIB+8 07307000 SSIBJBID EQU SSIB+12 07308000 SSIBPTR EQU 0 07309000 SSOB EQU 0 07310000 SSOBID EQU SSOB 07311000 SSOBLEN EQU SSOB+4 07312000 SSOBFUNC EQU SSOB+6 07313000 SSOBSSIB EQU SSOB+8 07314000 SSOBINDV EQU SSOB+16 07315000 SSMO EQU 0 07316000 SSMOLEN EQU SSMO 07317000 SSMOFLG1 EQU SSMO+2 07318000 SSMORUSE EQU SSMOFLG1 07319000 JESCT EQU 0 07320000 JESWAA EQU JESCT+8 07321000 JESSSREQ EQU JESCT+20 07322000 JESPJESN EQU JESCT+28 07323000 JESALLOC EQU JESCT+32 07324000 JESUNALC EQU JESCT+36 07325000 JESCATL EQU JESCT+40 07326000 INFMJFCB EQU 0 07327000 JFCBDSNM EQU INFMJFCB 07328000 JFCBELNM EQU INFMJFCB+44 07329000 JFCBTSDM EQU INFMJFCB+52 07330000 JFCFCBID EQU INFMJFCB+56 07331000 JFCBFRID EQU JFCFCBID 07332000 JFCBLTYP EQU INFMJFCB+66 07333000 JFCBOTTR EQU INFMJFCB+67 07334000 JFCBUFOF EQU JFCBOTTR 07335000 JFCBFLSQ EQU JFCBOTTR+1 07336000 JFCFUNC EQU JFCBFLSQ 07337000 JFCBMASK EQU INFMJFCB+72 07338000 JFCBFLG1 EQU JFCBMASK+5 07339000 JFCOPEN EQU JFCBFLG1 07340000 JFCBFLG2 EQU JFCBMASK+6 07341000 JFCDEFER EQU JFCBFLG2 07342000 JFCBIND1 EQU INFMJFCB+86 07343000 JFCBIND2 EQU INFMJFCB+87 07344000 JFCAMPTR EQU INFMJFCB+88 07345000 JFCBUFRQ EQU JFCAMPTR 07346000 JFCBUFNO EQU JFCBUFRQ 07347000 JFCBGNCP EQU JFCAMPTR+1 07348000 JFCBHIAR EQU JFCBGNCP 07349000 JFCBFALN EQU JFCBHIAR 07350000 JFCBFTEK EQU JFCBFALN 07351000 JFCBBFTA EQU JFCBFTEK 07352000 JFCEROPT EQU INFMJFCB+92 07353000 JFCTRTCH EQU INFMJFCB+93 07354000 UCB EQU 0 07355000 UCBPTR EQU 0 07356000 UCBOB EQU 0 07357000 UCBJBNR EQU UCBOB 07358000 UCBFL5 EQU UCBOB+1 07359000 UCBAF EQU UCBFL5 07360000 UCBSTAT EQU UCBOB+3 07361000 UCBRESV EQU UCBSTAT 07362000 UCBPRES EQU UCBSTAT 07363000 UCBCHAN EQU UCBOB+4 07364000 UCBSFLS EQU UCBOB+6 07365000 UCBFLA EQU UCBSFLS 07366000 UCBFL1 EQU UCBFLA 07367000 UCBBSY EQU UCBFL1 07368000 UCBNRY EQU UCBFL1 07369000 UCBPST EQU UCBFL1 07370000 UCBCUB EQU UCBFL1 07371000 UCBFLB EQU UCBSFLS+1 07372000 UCBCHM EQU UCBOB+8 07373000 UCBCHM1 EQU UCBCHM 07374000 UCBPTH0 EQU UCBCHM1 07375000 UCBPTH1 EQU UCBCHM1 07376000 UCBWGT EQU UCBOB+12 07377000 UCBTYP EQU UCBOB+16 07378000 UCBTBYT1 EQU UCBTYP 07379000 UCB1FEA5 EQU UCBTBYT1 07380000 UCB1FEA6 EQU UCBTBYT1 07381000 UCBTBYT2 EQU UCBTYP+1 07382000 UCB2OPT2 EQU UCBTBYT2 07383000 UCBDUDN1 EQU UCB2OPT2 07384000 UCBRR EQU UCBDUDN1 07385000 UCB2OPT3 EQU UCBTBYT2 07386000 UCBDUDN2 EQU UCB2OPT3 07387000 UCB2OPT4 EQU UCBTBYT2 07388000 UCBRWTAU EQU UCB2OPT4 07389000 UCBRVDEV EQU UCBRWTAU 07390000 UCB2OPT6 EQU UCBTBYT2 07391000 UCB2OPT7 EQU UCBTBYT2 07392000 UCBTBYT3 EQU UCBTYP+2 07393000 UCBDVCLS EQU UCBTBYT3 07394000 UCB3DACC EQU UCBDVCLS 07395000 UCBTBYT4 EQU UCBTYP+3 07396000 UCBEXTPT EQU UCBOB+20 07397000 UCBFLC EQU UCBEXTPT 07398000 UCBDEV EQU UCBOB+24 07399000 UCBCMEXT EQU 0 07400000 UCBATI EQU UCBCMEXT+3 07401000 @NM00098 EQU UCBATI 07402000 UCBFLP1 EQU UCBCMEXT+5 07403000 UCBMT EQU 0 07404000 UCBOCR EQU 0 07405000 UCB3540X EQU 0 07406000 UCBDKBYT EQU UCB3540X+6 07407000 UCB3800X EQU 0 07408000 UCBOPTNS EQU UCB3800X 07409000 UCBACTIV EQU UCB3800X+3 07410000 UCBMDRBF EQU UCB3800X+36 07411000 UCBUCS EQU 0 07412000 UCBUCSOP EQU UCBUCS+4 07413000 UCBFCBOP EQU UCBUCS+5 07414000 @NM00099 EQU 0 07415000 AMDNEXT EQU @NM00099+58 07416000 SCANP31 EQU 0 07417000 SCAN31 EQU 0 07418000 TCBWORDS EQU 0 07419000 TCBPTR EQU TCBWORDS+4 07420000 SAVAREA EQU 0 07421000 AMVJES3S EQU 0 07422000 AMVSSOB EQU AMVJES3S 07423000 AMVSSBX EQU AMVJES3S+20 07424000 AMVSSIB EQU AMVJES3S+48 07425000 SCANCHAR EQU 0 07426000 IEFAB4F5 EQU 0 07427000 IEFBB410 EQU 0 07428000 IEFW21SD EQU 0 07429000 SSREQ EQU 0 07430000 SWAMGR EQU 0 07431000 UCBBGN EQU 0 07432000 GVSNEPTR EQU GROUPPTR 07433000 NGVRPTR EQU GROUPPTR 07434000 CPUIDPTR EQU GROUPPTR 07435000 BASEVPTR EQU GROUPPTR 07436000 S99TUFP EQU S99TUENT 07437000 CVTS01 EQU CVTPGSIA 07438000 CVTLPDIA EQU CVTS01+12 07439000 CVTDIRST EQU CVTLPDIA 07440000 CVTSLIDA EQU CVTS01+24 07441000 CVTCTLFG EQU CVTS01+50 07442000 CVTRV210 EQU CVTS01+424 07443000 CVTRV219 EQU CVTS01+425 07444000 CVTRV228 EQU CVTS01+426 07445000 CVTRV237 EQU CVTS01+427 07446000 CVTMFRTR EQU CVTS01+452 07447000 CVTRV262 EQU CVTS01+468 07448000 CVTRV271 EQU CVTS01+469 07449000 CVTRV280 EQU CVTS01+470 07450000 CVTRV289 EQU CVTS01+471 07451000 CVTGSDA EQU CVTS01+600 07452000 TIOENTRY EQU TIOT1+24 07453000 TIOELNGH EQU TIOENTRY 07454000 TIOESTTA EQU TIOENTRY+1 07455000 TIOERLOC EQU TIOENTRY+2 07456000 TIOELINK EQU TIOERLOC+1 07457000 TIOESYOT EQU TIOELINK 07458000 TIOEDDNM EQU TIOENTRY+4 07459000 TIOESTTC EQU TIOENTRY+15 07460000 TIOESTTB EQU TIOENTRY+16 07461000 TIOEFSRT EQU TIOENTRY+17 07462000 POOLSTAR EQU TIOENTRY+20 07463000 TIOEDEVE EQU TIOESTTB 07464000 TIOSTTB EQU TIOEDEVE 07465000 JSCBSEC2 EQU JSCBEND1 07466000 JSCBSEC3 EQU JSCBEND1 07467000 JSCBJCT EQU JSCBSEC3 07468000 JSCBJCTA EQU JSCBJCT+1 07469000 JSCBASID EQU JSCBSEC3+8 07470000 JSCBFBYT EQU JSCBSEC3+10 07471000 JSCBJNL EQU JSCBSEC3+28 07472000 JSCBJJSB EQU JSCBJNL 07473000 JSCBSUB EQU JSCBSEC3+40 07474000 JSCBSSIB EQU JSCBSEC3+56 07475000 JSCSCT EQU JSCBSEC3+68 07476000 JSCRSV45 EQU JSCBSEC3+112 07477000 JSCRSV46 EQU JSCRSV45 07478000 JSCRSV47 EQU JSCRSV45+2 07479000 JFCKEYLE EQU JFCTRTCH 07480000 JFCCODE EQU JFCKEYLE 07481000 JFCSTACK EQU JFCTRTCH 07482000 JFCMODE EQU JFCSTACK 07483000 JFCSPPRT EQU JFCTRTCH 07484000 JFCBABFS EQU JFCSPPRT+2 07485000 JFCLIMCT EQU JFCBABFS 07486000 JFCDSORG EQU JFCSPPRT+5 07487000 JFCDSRG1 EQU JFCDSORG 07488000 JFCDSRG2 EQU JFCDSORG+1 07489000 JFCRECFM EQU JFCSPPRT+7 07490000 JFCRCFM EQU JFCRECFM 07491000 JFCOPTCD EQU JFCSPPRT+8 07492000 JFCWVCSP EQU JFCOPTCD 07493000 JFCWVCIS EQU JFCWVCSP 07494000 JFCWVCBD EQU JFCWVCIS 07495000 JFCALLOW EQU JFCOPTCD 07496000 JFCRSV17 EQU JFCALLOW 07497000 JFCOVER EQU JFCRSV17 07498000 JFCPCIBT EQU JFCOPTCD 07499000 JFCMAST EQU JFCPCIBT 07500000 JFCEXT EQU JFCMAST 07501000 JFCBCKPT EQU JFCOPTCD 07502000 JFCIND EQU JFCBCKPT 07503000 JFCRSV18 EQU JFCOPTCD 07504000 JFCCYL EQU JFCRSV18 07505000 JFCACT EQU JFCCYL 07506000 JFCREDUC EQU JFCOPTCD 07507000 JFCRSV19 EQU JFCREDUC 07508000 JFCRSV20 EQU JFCRSV19 07509000 JFCRSV21 EQU JFCOPTCD 07510000 JFCDEL EQU JFCRSV21 07511000 JFCOPTJ EQU JFCOPTCD 07512000 JFCREORG EQU JFCOPTJ 07513000 JFCBLKSI EQU JFCSPPRT+9 07514000 JFCBUFSI EQU JFCBLKSI 07515000 JFCAMSYN EQU JFCSPPRT+11 07516000 JFCNCP EQU JFCAMSYN+2 07517000 JFCNTM EQU JFCAMSYN+3 07518000 JFCBFSEQ EQU JFCNTM 07519000 JFCPCI EQU JFCBFSEQ 07520000 JFCRESRV EQU JFCAMSYN+4 07521000 JFCUCSEG EQU JFCRESRV 07522000 JFCUCSOP EQU JFCUCSEG+4 07523000 JFCOUTLI EQU JFCUCSEG+5 07524000 JFCTHRSH EQU JFCOUTLI 07525000 JFCCPRI EQU JFCTHRSH 07526000 JFCBVOLS EQU JFCUCSEG+10 07527000 JFCBS001 EQU JFCBVOLS 07528000 JFCBPQTY EQU JFCBS001+34 07529000 JFCBCTRI EQU JFCBS001+37 07530000 JFCBSQTY EQU JFCBS001+38 07531000 JFCFLGS1 EQU JFCBS001+41 07532000 JFCBSPNM EQU JFCBS001+45 07533000 JFCBFLG3 EQU JFCBSPNM 07534000 UCBOBS01 EQU UCBDEV 07535000 UCBVOLI EQU UCBOBS01+4 07536000 UCBSTAB EQU UCBOBS01+10 07537000 UCBBSVL EQU UCBSTAB 07538000 UCBPRSRS EQU UCBSTAB 07539000 UCBBPRV EQU UCBSTAB 07540000 UCBBPUB EQU UCBSTAB 07541000 UCBBSTR EQU UCBSTAB 07542000 UCBDMCT EQU UCBOBS01+11 07543000 UCBFL4 EQU UCBOBS01+13 07544000 UCBOBS02 EQU UCBDEV 07545000 UCBTFL1 EQU UCBOBS02+19 07546000 UCBXTN EQU UCBOBS02+20 07547000 UCBVOPT EQU UCBXTN 07548000 UCBOBS03 EQU UCBDEV 07549000 UCBXTADR EQU UCBOBS03 07550000 UCBOBS04 EQU UCBDEV 07551000 UCBBTA EQU UCBOBS04+12 07552000 UCBOBS06 EQU UCBDEV 07553000 UCBAOF EQU UCBOBS06 07554000 UCBAOF1 EQU UCBAOF 07555000 UCBAOF2 EQU UCBAOF+1 07556000 @NM00097 EQU UCBOBS06+3 07557000 UCBIRB EQU UCBOBS06+4 07558000 UCBGRAF EQU UCBIRB 07559000 UCBLDNCA EQU UCBOBS06+8 07560000 UCBRDYQ EQU UCBLDNCA 07561000 UCBIRLN EQU UCBRDYQ 07562000 UCBLDNCB EQU UCBRDYQ+1 07563000 UCBCTLNK EQU UCBOBS06+12 07564000 UCBOBS07 EQU UCBDEV 07565000 UCBOBS08 EQU UCBDEV 07566000 UCBCTCAD EQU UCBOBS08 07567000 UCBCTCF1 EQU UCBOBS08+4 07568000 UCBOBS09 EQU UCBDEV 07569000 DCBELST EQU IHADCB+23 07570000 AGO .@UNREFD START UNREFERENCED COMPONENTS 07571000 DCBEXLST EQU DCBELST+1 07572000 @NM00101 EQU DCBELST 07573000 UCBRV066 EQU UCBOBS09+4 07574000 UCBIOSBA EQU UCBOBS09 07575000 UCBRV042 EQU UCBOBS08+5 07576000 UCBRV082 EQU UCBCTCF1 07577000 UCBRV081 EQU UCBCTCF1 07578000 UCBRV080 EQU UCBCTCF1 07579000 UCBRV079 EQU UCBCTCF1 07580000 UCBRV078 EQU UCBCTCF1 07581000 UCBRV077 EQU UCBCTCF1 07582000 UCBRV076 EQU UCBCTCF1 07583000 UCBCTC80 EQU UCBCTCF1 07584000 UCBCTCAL EQU UCBCTCAD 07585000 UCBICNCB EQU UCBOBS07+4 07586000 UCBRV040 EQU UCBOBS07 07587000 UCBCTLNA EQU UCBCTLNK+1 07588000 UCBRLN EQU UCBCTLNK 07589000 UCBRDYQA EQU UCBLDNCB 07590000 UCBINRLN EQU UCBIRLN 07591000 UCBIRBA EQU UCBIRB+1 07592000 UCBRV039 EQU UCBGRAF 07593000 UCBDWNR EQU UCBGRAF 07594000 UCBRPND EQU UCBGRAF 07595000 UCBUPM EQU UCBGRAF 07596000 UCBBTAM EQU UCBGRAF 07597000 UCBDRNO EQU UCBGRAF 07598000 UCBDRO EQU UCBGRAF 07599000 UCBOIP EQU UCBGRAF 07600000 UCBATRCD EQU @NM00097 07601000 UCBSKPFG EQU @NM00097 07602000 UCBRIPND EQU @NM00097 07603000 UCBRTIAC EQU @NM00097 07604000 UCBRSV79 EQU @NM00097 07605000 UCBRSV78 EQU @NM00097 07606000 UCBRSV77 EQU @NM00097 07607000 UCBOLTEP EQU @NM00097 07608000 UCBATNCT EQU UCBOBS06+2 07609000 UCBRSV76 EQU UCBAOF2 07610000 UCBRSV75 EQU UCBAOF2 07611000 UCBRSV74 EQU UCBAOF2 07612000 UCBRSV73 EQU UCBAOF2 07613000 UCBRSV72 EQU UCBAOF2 07614000 UCBRSV71 EQU UCBAOF2 07615000 UCBRSV70 EQU UCBAOF2 07616000 UCBRSV69 EQU UCBAOF2 07617000 UCBRSV68 EQU UCBAOF1 07618000 UCBRSV67 EQU UCBAOF1 07619000 UCBRSV66 EQU UCBAOF1 07620000 UCBRSV65 EQU UCBAOF1 07621000 UCBRSV64 EQU UCBAOF1 07622000 UCBOFNL EQU UCBAOF1 07623000 UCBOFSP EQU UCBAOF1 07624000 UCBOFMCR EQU UCBAOF1 07625000 UCBBTB EQU UCBBTA+1 07626000 UCBDI EQU UCBBTA 07627000 UCBSNS EQU UCBOBS04+8 07628000 UCBTEB EQU UCBOBS04+4 07629000 UCBGCB EQU UCBOBS04+3 07630000 UCBOPEN EQU UCBOBS04+2 07631000 UCBSTART EQU UCBOBS04 07632000 UCBXTNB EQU UCBXTN+1 07633000 UCBRSV22 EQU UCBVOPT 07634000 UCBRSV21 EQU UCBVOPT 07635000 UCBRSV20 EQU UCBVOPT 07636000 UCBESVE EQU UCBVOPT 07637000 UCBERPC EQU UCBVOPT 07638000 UCBESVC EQU UCBVOPT 07639000 UCBEVA EQU UCBVOPT 07640000 UCBESV EQU UCBVOPT 07641000 UCBRV009 EQU UCBTFL1 07642000 UCBRV008 EQU UCBTFL1 07643000 UCBRV007 EQU UCBTFL1 07644000 UCBRV006 EQU UCBTFL1 07645000 UCBRV005 EQU UCBTFL1 07646000 UCBDQDSP EQU UCBTFL1 07647000 UCBNSLTP EQU UCBTFL1 07648000 UCBNLTP EQU UCBTFL1 07649000 UCBRES1B EQU UCBOBS02+18 07650000 UCBFSER EQU UCBOBS02+12 07651000 @NM00096 EQU UCBOBS02+4 07652000 UCBFSEQ EQU UCBOBS02+2 07653000 UCBFSCT EQU UCBOBS02 07654000 UCBNEXP EQU UCBOBS01+20 07655000 UCBBASE EQU UCBOBS01+16 07656000 UCBRES1A EQU UCBOBS01+15 07657000 UCBUSER EQU UCBOBS01+14 07658000 UCBFL47 EQU UCBFL4 07659000 UCBFL46 EQU UCBFL4 07660000 UCBFL45 EQU UCBFL4 07661000 UCBRV065 EQU UCBFL4 07662000 UCBDSS EQU UCBFL4 07663000 UCBRESVP EQU UCBFL4 07664000 UCBWDAV EQU UCBFL4 07665000 UCBDAVV EQU UCBFL4 07666000 UCBSQC EQU UCBOBS01+12 07667000 UCBDATP EQU UCBOBS01+12 07668000 UCBDMC EQU UCBDMCT 07669000 UCBMOUNT EQU UCBDMCT 07670000 UCBBNUL EQU UCBSTAB 07671000 UCBSHAR EQU UCBSTAB 07672000 UCBBALB EQU UCBPRSRS 07673000 UCBPGFL EQU UCBSTAB 07674000 UCBDVSHR EQU UCBBSVL 07675000 UCBVTOC EQU UCBOBS01 07676000 JFCBEND EQU JFCBS001+58 07677000 JFCBSPTN EQU JFCBS001+57 07678000 JFCBVLCT EQU JFCBS001+56 07679000 JFCBDRLH EQU JFCBS001+53 07680000 JFCBSBNM EQU JFCBS001+50 07681000 JFCBABST EQU JFCBS001+48 07682000 JFCBRV08 EQU JFCBSPNM+1 07683000 JFCBRV07 EQU JFCBFLG3 07684000 JFCBRV06 EQU JFCBFLG3 07685000 JFCBRV05 EQU JFCBFLG3 07686000 JFCBRV04 EQU JFCBFLG3 07687000 JFCBRV03 EQU JFCBFLG3 07688000 JFCBRV02 EQU JFCBFLG3 07689000 JFCBRV01 EQU JFCBFLG3 07690000 JFCDQDSP EQU JFCBFLG3 07691000 JFCBDQTY EQU JFCBS001+42 07692000 JFCBUAFF EQU JFCFLGS1 07693000 JFCRSV45 EQU JFCFLGS1 07694000 JFCVRDS EQU JFCFLGS1 07695000 JFCBCEOV EQU JFCFLGS1 07696000 JFCRSV42 EQU JFCFLGS1 07697000 JFCBADSP EQU JFCFLGS1 07698000 JFCTOPEN EQU JFCFLGS1 07699000 JFCBDLET EQU JFCFLGS1 07700000 JFCRQID EQU JFCBSQTY 07701000 JFCROUND EQU JFCBCTRI 07702000 JFCALX EQU JFCBCTRI 07703000 JFCMIXG EQU JFCBCTRI 07704000 JFCONTIG EQU JFCBCTRI 07705000 JFCRSV29 EQU JFCBCTRI 07706000 JFCBMSGP EQU JFCBCTRI 07707000 JFCBSPAC EQU JFCBCTRI 07708000 JFCRUNIT EQU JFCBPQTY 07709000 JFCBEXAD EQU JFCBS001+31 07710000 JFCBEXTL EQU JFCBS001+30 07711000 JFCMSVGP EQU JFCBS001+22 07712000 @NM00094 EQU JFCBS001 07713000 JFCAVOLS EQU JFCBVOLS 07714000 JFCBNVOL EQU JFCUCSEG+9 07715000 JFCBNTCS EQU JFCUCSEG+8 07716000 JFCSOWA EQU JFCOUTLI+1 07717000 JFCSEND EQU JFCCPRI 07718000 JFCEQUAL EQU JFCCPRI 07719000 JFCRECV EQU JFCCPRI 07720000 JFCRSV34 EQU JFCCPRI 07721000 JFCRSV33 EQU JFCCPRI 07722000 JFCRSV55 EQU JFCCPRI 07723000 JFCRSV54 EQU JFCCPRI 07724000 JFCRSV53 EQU JFCCPRI 07725000 JFCRSV27 EQU JFCUCSOP 07726000 JFCRSV26 EQU JFCUCSOP 07727000 JFCFCBVR EQU JFCUCSOP 07728000 JFCFCBAL EQU JFCUCSOP 07729000 JFCVER EQU JFCUCSOP 07730000 JFCRSV25 EQU JFCUCSOP 07731000 JFCFOLD EQU JFCUCSOP 07732000 JFCBEXTP EQU JFCUCSOP 07733000 JFCUCSID EQU JFCUCSEG 07734000 JFCINTVL EQU JFCSPPRT+19 07735000 JFCDBUFN EQU JFCRESRV+3 07736000 JFCCYLOF EQU JFCRESRV+2 07737000 JFCRKP EQU JFCRESRV 07738000 JFCPCIR2 EQU JFCPCI 07739000 JFCPCIR1 EQU JFCPCI 07740000 JFCPCIN2 EQU JFCPCI 07741000 JFCPCIN1 EQU JFCPCI 07742000 JFCPCIA2 EQU JFCPCI 07743000 JFCPCIA1 EQU JFCPCI 07744000 JFCPCIX2 EQU JFCPCI 07745000 JFCPCIX1 EQU JFCPCI 07746000 JFCBUFMX EQU JFCNCP 07747000 JFCLRECL EQU JFCAMSYN 07748000 JFCBAXBF EQU JFCBUFSI 07749000 JFCREL EQU JFCREORG 07750000 JFCRSV22 EQU JFCDEL 07751000 JFCSRCHD EQU JFCRSV20 07752000 JFCOPTQ EQU JFCACT 07753000 JFCFEED EQU JFCIND 07754000 JFCCBWU EQU JFCEXT 07755000 JFCWUMSG EQU JFCOVER 07756000 JFCSDNAM EQU JFCWVCBD 07757000 @NM00093 EQU JFCRECFM 07758000 JFCCHAR EQU JFCRECFM 07759000 JFCRFS EQU JFCRECFM 07760000 JFCRFB EQU JFCRECFM 07761000 JFCRFO EQU JFCRCFM 07762000 JFCFMREC EQU JFCRCFM 07763000 JFCRSV16 EQU JFCDSRG2 07764000 JFCRSV15 EQU JFCDSRG2 07765000 JFCORGTR EQU JFCDSRG2 07766000 JFCORGAM EQU JFCDSRG2 07767000 JFCRSV13 EQU JFCDSRG2 07768000 JFCORGTQ EQU JFCDSRG2 07769000 JFCORGTX EQU JFCDSRG2 07770000 JFCORGGS EQU JFCDSRG2 07771000 JFCORGU EQU JFCDSRG1 07772000 JFCORGPO EQU JFCDSRG1 07773000 JFCORGMQ EQU JFCDSRG1 07774000 JFCORGCQ EQU JFCDSRG1 07775000 JFCORGCX EQU JFCDSRG1 07776000 JFCORGDA EQU JFCDSRG1 07777000 JFCORGPS EQU JFCDSRG1 07778000 JFCORGIS EQU JFCDSRG1 07779000 JFCTRKBL EQU JFCLIMCT+1 07780000 @NM00092 EQU JFCLIMCT 07781000 JFCDEN EQU JFCSPPRT+1 07782000 JFCPRTSP EQU JFCSPPRT 07783000 JFCONE EQU JFCMODE 07784000 JFCTWO EQU JFCMODE 07785000 JFCRSV07 EQU JFCMODE 07786000 JFCRSV06 EQU JFCMODE 07787000 JFCMODER EQU JFCMODE 07788000 JFCMODEO EQU JFCMODE 07789000 JFCEBCD EQU JFCMODE 07790000 JFCBIN EQU JFCMODE 07791000 JFCRSV32 EQU JFCCODE 07792000 JFCTTY EQU JFCCODE 07793000 JFCASCII EQU JFCCODE 07794000 JFCNCR EQU JFCCODE 07795000 JFCBUR EQU JFCCODE 07796000 JFCFRI EQU JFCCODE 07797000 JFCBCD EQU JFCCODE 07798000 JFCNOCON EQU JFCCODE 07799000 JSCBEND3 EQU JSCBSEC3+120 07800000 JSCRSV52 EQU JSCBSEC3+116 07801000 JSCRSV51 EQU JSCRSV47+1 07802000 JSCRSV50 EQU JSCRSV47 07803000 JSCRSV49 EQU JSCRSV46+1 07804000 JSCRSV48 EQU JSCRSV46 07805000 JSCRSV44 EQU JSCBSEC3+108 07806000 JSCRSV43 EQU JSCBSEC3+104 07807000 JSCRSV42 EQU JSCBSEC3+100 07808000 JSCBASWA EQU JSCBSEC3+96 07809000 JSCBUFPT EQU JSCBSEC3+92 07810000 JSCBACT EQU JSCBSEC3+88 07811000 JSCBSWSP EQU JSCBSEC3+87 07812000 JSCRSV33 EQU JSCBSEC3+86 07813000 JSCDDNUM EQU JSCBSEC3+84 07814000 JSCRSV53 EQU JSCBSEC3+82 07815000 JSCDDNNO EQU JSCBSEC3+80 07816000 JSCBVATA EQU JSCBSEC3+76 07817000 JSCTMCOR EQU JSCBSEC3+72 07818000 JSCSCTP EQU JSCSCT+1 07819000 JSCRSV55 EQU JSCSCT 07820000 JSCRSV54 EQU JSCBSEC3+64 07821000 JSCDSABQ EQU JSCBSEC3+60 07822000 JSCBFRBA EQU JSCBSEC3+48 07823000 JSCRSV28 EQU JSCBSEC3+46 07824000 JSCBSONO EQU JSCBSEC3+44 07825000 JSCBSUBA EQU JSCBSUB+1 07826000 JSCRSV31 EQU JSCBSUB 07827000 JSCBSMLR EQU JSCBSEC3+36 07828000 JSCBJNLR EQU JSCBSEC3+32 07829000 JSCBJNLA EQU JSCBJNL+1 07830000 JSCBJSBT EQU JSCBJJSB 07831000 JSCBJSBX EQU JSCBJJSB 07832000 JSCBJSBA EQU JSCBJJSB 07833000 JSCBJSBI EQU JSCBJJSB 07834000 @NM00087 EQU JSCBJJSB 07835000 JSCBJNLE EQU JSCBJJSB 07836000 JSCBJNLF EQU JSCBJJSB 07837000 JSCBJNLN EQU JSCBJJSB 07838000 @NM00086 EQU JSCBSEC3+24 07839000 JSCBJRBA EQU JSCBSEC3+16 07840000 JSCBIECB EQU JSCBSEC3+12 07841000 JSCBRV08 EQU JSCBSEC3+11 07842000 JSCBRV07 EQU JSCBFBYT 07843000 JSCBRV06 EQU JSCBFBYT 07844000 JSCBRV05 EQU JSCBFBYT 07845000 JSCBRV04 EQU JSCBFBYT 07846000 JSCBRV03 EQU JSCBFBYT 07847000 JSCBRV02 EQU JSCBFBYT 07848000 JSCBADSP EQU JSCBFBYT 07849000 JSCBRV01 EQU JSCBFBYT 07850000 JSCBTJID EQU JSCBASID 07851000 JSCBPSCB EQU JSCBSEC3+4 07852000 JSCJCTP EQU JSCBJCTA 07853000 JSCRSV24 EQU JSCBJCT 07854000 JSCBEND2 EQU JSCBSEC2 07855000 TIOUCBP EQU TIOEDEVE+1 07856000 TIOVERF EQU TIOSTTB 07857000 TIOUNLD EQU TIOSTTB 07858000 TIOMNTD EQU TIOSTTB 07859000 TIOSETU EQU TIOSTTB 07860000 TIOVLSR EQU TIOSTTB 07861000 TIOPVIO EQU TIOSTTB 07862000 TIOREQD EQU TIOSTTB 07863000 TIOUSED EQU TIOSTTB 07864000 TIOTFEND EQU POOLSTAR+16 07865000 TIOPSLOT EQU POOLSTAR+13 07866000 TIOPSTTB EQU POOLSTAR+12 07867000 TIOPPOOL EQU POOLSTAR+4 07868000 TIOPNSRT EQU POOLSTAR+3 07869000 @NM00083 EQU POOLSTAR+2 07870000 TIOPNSLT EQU POOLSTAR+1 07871000 @NM00082 EQU POOLSTAR 07872000 TIOSVERF EQU TIOESTTB 07873000 TIOSUNLD EQU TIOESTTB 07874000 TIOSMNTD EQU TIOESTTB 07875000 TIOSSETU EQU TIOESTTB 07876000 TIOSVLSR EQU TIOESTTB 07877000 TIOSPVIO EQU TIOESTTB 07878000 TIOSREQD EQU TIOESTTB 07879000 TIOSUSED EQU TIOESTTB 07880000 TIOSBALS EQU TIOESTTC 07881000 TIOSBALP EQU TIOESTTC 07882000 TIOSVOLS EQU TIOESTTC 07883000 TIOSVOLP EQU TIOESTTC 07884000 TIOSAFFS EQU TIOESTTC 07885000 TIOSAFFP EQU TIOESTTC 07886000 TIOSDEFR EQU TIOESTTC 07887000 TIOSDKCR EQU TIOESTTC 07888000 TIOEJFCB EQU TIOENTRY+12 07889000 TIOTREM EQU TIOELINK 07890000 TIOESSDS EQU TIOESYOT 07891000 TIOESYIN EQU TIOELINK 07892000 TIOEQNAM EQU TIOELINK 07893000 TIOEDYNM EQU TIOELINK 07894000 TIOTTERM EQU TIOELINK 07895000 TIOTRV01 EQU TIOELINK 07896000 TIOSYOUT EQU TIOELINK 07897000 TIOEWTCT EQU TIOERLOC 07898000 TIOSDSP2 EQU TIOESTTA 07899000 TIOSDSP1 EQU TIOESTTA 07900000 TIOSLABL EQU TIOESTTA 07901000 TIOSDADS EQU TIOESTTA 07902000 TIOSJBLB EQU TIOESTTA 07903000 TIOSPLTS EQU TIOESTTA 07904000 TIOSPLTP EQU TIOESTTA 07905000 TIOSLTYP EQU TIOESTTA 07906000 CVTRV628 EQU CVTS01+728 07907000 CVTRV627 EQU CVTS01+724 07908000 CVTRV626 EQU CVTS01+720 07909000 CVTRV625 EQU CVTS01+716 07910000 CVTRV624 EQU CVTS01+712 07911000 CVTRV623 EQU CVTS01+708 07912000 CVTRV622 EQU CVTS01+704 07913000 CVTRV621 EQU CVTS01+700 07914000 CVTIHASU EQU CVTS01+696 07915000 CVTRV619 EQU CVTS01+692 07916000 CVTRV618 EQU CVTS01+688 07917000 CVTRV617 EQU CVTS01+684 07918000 CVTRV616 EQU CVTS01+680 07919000 CVTRV615 EQU CVTS01+676 07920000 CVTRV614 EQU CVTS01+672 07921000 CVTRV613 EQU CVTS01+668 07922000 CVTTCASP EQU CVTS01+664 07923000 CVT0PT03 EQU CVTS01+660 07924000 CVT0PT0E EQU CVTS01+656 07925000 CVTRV609 EQU CVTS01+652 07926000 CVTCGK EQU CVTS01+648 07927000 CVTRAC EQU CVTS01+644 07928000 CVTRV606 EQU CVTS01+640 07929000 CVTRV605 EQU CVTS01+636 07930000 CVTRV604 EQU CVTS01+632 07931000 CVTEFF02 EQU CVTS01+628 07932000 CVTCBBR EQU CVTS01+624 07933000 CVTSSCR EQU CVTS01+620 07934000 CVTEVENT EQU CVTS01+616 07935000 CVTCRCA EQU CVTS01+612 07936000 CVTTPIO EQU CVTS01+608 07937000 CVTADV EQU CVTS01+604 07938000 CVTGSDAB EQU CVTGSDA 07939000 CVTQV3 EQU CVTS01+596 07940000 CVTQV2 EQU CVTS01+592 07941000 CVTQV1 EQU CVTS01+588 07942000 CVTRPT EQU CVTS01+584 07943000 CVTSSRB EQU CVTS01+580 07944000 CVTCSDRL EQU CVTS01+576 07945000 CVTEXP1 EQU CVTS01+572 07946000 CVTRMPMT EQU CVTS01+568 07947000 CVTRMPTT EQU CVTS01+564 07948000 CVTVPSA EQU CVTS01+560 07949000 CVTVSTOP EQU CVTS01+556 07950000 CVTGTFR8 EQU CVTS01+552 07951000 CVTQUIT EQU CVTS01+548 07952000 CVTVACR EQU CVTS01+544 07953000 CVTWTCB EQU CVTS01+540 07954000 CVTSTPRS EQU CVTS01+536 07955000 CVT0PT02 EQU CVTS01+532 07956000 CVTDARCM EQU CVTS01+528 07957000 CVTIRECM EQU CVTS01+524 07958000 CVTJRECM EQU CVTS01+520 07959000 CVTVEMS0 EQU CVTS01+516 07960000 CVTSPFRR EQU CVTS01+512 07961000 CVTRLSTG EQU CVTS01+508 07962000 CVT0TC0A EQU CVTS01+504 07963000 CVTGMBR EQU CVTS01+500 07964000 CVTLFRM EQU CVTS01+496 07965000 CVTRMBR EQU CVTS01+492 07966000 CVTVIOP EQU CVTS01+488 07967000 CVTRV307 EQU CVTS01+486 07968000 CVTRV306 EQU CVTS01+484 07969000 CVTRV305 EQU CVTS01+482 07970000 CVTRV304 EQU CVTS01+480 07971000 CVTRV303 EQU CVTS01+478 07972000 CVTRV302 EQU CVTS01+476 07973000 CVTTRCA EQU CVTS01+472 07974000 CVTRV297 EQU CVTRV289 07975000 CVTRV296 EQU CVTRV289 07976000 CVTRV295 EQU CVTRV289 07977000 CVTRV294 EQU CVTRV289 07978000 CVTRV293 EQU CVTRV289 07979000 CVTRV292 EQU CVTRV289 07980000 CVTRV291 EQU CVTRV289 07981000 CVTRV290 EQU CVTRV289 07982000 CVTRV288 EQU CVTRV280 07983000 CVTRV287 EQU CVTRV280 07984000 CVTRV286 EQU CVTRV280 07985000 CVTRV285 EQU CVTRV280 07986000 CVTRV284 EQU CVTRV280 07987000 CVTRV283 EQU CVTRV280 07988000 CVTRV282 EQU CVTRV280 07989000 CVTRV281 EQU CVTRV280 07990000 CVTRV279 EQU CVTRV271 07991000 CVTRV278 EQU CVTRV271 07992000 CVTRV277 EQU CVTRV271 07993000 CVTRV276 EQU CVTRV271 07994000 CVTRV275 EQU CVTRV271 07995000 CVTRV274 EQU CVTRV271 07996000 CVTRV273 EQU CVTRV271 07997000 CVTRV272 EQU CVTRV271 07998000 CVTRV270 EQU CVTRV262 07999000 CVTRV269 EQU CVTRV262 08000000 CVTRV268 EQU CVTRV262 08001000 CVTRV267 EQU CVTRV262 08002000 CVTRV266 EQU CVTRV262 08003000 CVTRV265 EQU CVTRV262 08004000 CVTRV264 EQU CVTRV262 08005000 CVTRV263 EQU CVTRV262 08006000 CVTVFP EQU CVTS01+464 08007000 CVTVSI EQU CVTS01+460 08008000 CVTVPSIB EQU CVTS01+456 08009000 CVTMFACT EQU CVTMFRTR 08010000 CVTMFCTL EQU CVTS01+448 08011000 CVTPVBP EQU CVTS01+444 08012000 CVTPWI EQU CVTS01+440 08013000 CVTRV254 EQU CVTS01+438 08014000 CVTRV253 EQU CVTS01+436 08015000 CVTRV252 EQU CVTS01+434 08016000 CVTRV251 EQU CVTS01+433 08017000 CVTRV250 EQU CVTS01+432 08018000 CVTRV249 EQU CVTS01+431 08019000 CVTRV248 EQU CVTS01+430 08020000 CVTRV247 EQU CVTS01+429 08021000 CVTRV246 EQU CVTS01+428 08022000 CVTRV245 EQU CVTRV237 08023000 CVTRV244 EQU CVTRV237 08024000 CVTRV243 EQU CVTRV237 08025000 CVTRV242 EQU CVTRV237 08026000 CVTRV241 EQU CVTRV237 08027000 CVTRV240 EQU CVTRV237 08028000 CVTRV239 EQU CVTRV237 08029000 CVTRV238 EQU CVTRV237 08030000 CVTRV236 EQU CVTRV228 08031000 CVTRV235 EQU CVTRV228 08032000 CVTRV234 EQU CVTRV228 08033000 CVTRV233 EQU CVTRV228 08034000 CVTRV232 EQU CVTRV228 08035000 CVTRV231 EQU CVTRV228 08036000 CVTRV230 EQU CVTRV228 08037000 CVTRV229 EQU CVTRV228 08038000 CVTRV227 EQU CVTRV219 08039000 CVTRV226 EQU CVTRV219 08040000 CVTRV225 EQU CVTRV219 08041000 CVTRV224 EQU CVTRV219 08042000 CVTRV223 EQU CVTRV219 08043000 CVTRV222 EQU CVTRV219 08044000 CVTRV221 EQU CVTRV219 08045000 CVTRV220 EQU CVTRV219 08046000 CVTRV218 EQU CVTRV210 08047000 CVTRV217 EQU CVTRV210 08048000 CVTRV216 EQU CVTRV210 08049000 CVTRV215 EQU CVTRV210 08050000 CVTRV214 EQU CVTRV210 08051000 CVTRV213 EQU CVTRV210 08052000 CVTRV212 EQU CVTRV210 08053000 CVTRV211 EQU CVTRV210 08054000 CVTLCCAT EQU CVTS01+420 08055000 CVTPCCAT EQU CVTS01+416 08056000 CVTIPCRP EQU CVTS01+412 08057000 CVTIPCRI EQU CVTS01+408 08058000 CVTIPCDS EQU CVTS01+404 08059000 CVTAIDVT EQU CVTS01+400 08060000 CVTSSAP EQU CVTS01+396 08061000 CVTEHCIR EQU CVTS01+392 08062000 CVTEHDEF EQU CVTS01+388 08063000 CVTDAIR EQU CVTS01+384 08064000 CVTPERFM EQU CVTS01+380 08065000 CVT044R2 EQU CVTS01+376 08066000 CVTFETCH EQU CVTS01+372 08067000 CVTRSTWD EQU CVTS01+368 08068000 CVTSPOST EQU CVTS01+364 08069000 CVTIOBP EQU CVTS01+360 08070000 CVTASMVT EQU CVTS01+356 08071000 CVTRECRQ EQU CVTS01+352 08072000 CVTWSAC EQU CVTS01+348 08073000 CVTRV149 EQU CVTS01+344 08074000 CVTWSAL EQU CVTS01+340 08075000 CVTSPSA EQU CVTS01+336 08076000 CVTGLMN EQU CVTS01+332 08077000 CVTVEAC0 EQU CVTS01+328 08078000 CVT062R1 EQU CVTS01+324 08079000 CVTRPOST EQU CVTS01+320 08080000 CVTDQIQE EQU CVTS01+316 08081000 CVTCSD EQU CVTS01+312 08082000 CVTLKRMA EQU CVTS01+308 08083000 CVTRSPIE EQU CVTS01+304 08084000 CVTRENQ EQU CVTS01+300 08085000 CVTLQCB EQU CVTS01+296 08086000 CVTFQCB EQU CVTS01+292 08087000 CVTQCS01 EQU CVTS01+288 08088000 CVTAPFT EQU CVTS01+284 08089000 CVTPARRL EQU CVTS01+280 08090000 CVTVWAIT EQU CVTS01+276 08091000 CVTGSPL EQU CVTS01+272 08092000 CVTLSMQ EQU CVTS01+268 08093000 CVTGSMQ EQU CVTS01+264 08094000 CVTEXPRO EQU CVTS01+260 08095000 CVTOPCTP EQU CVTS01+256 08096000 CVTSIC EQU CVTS01+252 08097000 CVTTPIOS EQU CVTS01+248 08098000 CVTRTMS EQU CVTS01+244 08099000 CVTSDBF EQU CVTS01+240 08100000 CVTSCBP EQU CVTS01+236 08101000 CVTSDMP EQU CVTS01+232 08102000 CVTSV60 EQU CVTS01+228 08103000 CVTRTMCT EQU CVTS01+224 08104000 CVTASCBL EQU CVTS01+220 08105000 CVTASCBH EQU CVTS01+216 08106000 CVTGDA EQU CVTS01+212 08107000 CVTASVT EQU CVTS01+208 08108000 CVTVVMDI EQU CVTS01+204 08109000 CVTAQTOP EQU CVTS01+200 08110000 CVTIOSCS EQU CVTS01+196 08111000 CVTSDRM EQU CVTS01+192 08112000 CVTOPTE EQU CVTS01+188 08113000 CVTSTXU EQU CVTS01+184 08114000 CVTQUIS EQU CVTS01+180 08115000 CVTPARS EQU CVTS01+176 08116000 CVTS1EE EQU CVTS01+172 08117000 CVTFRAS EQU CVTS01+168 08118000 CVTQSAS EQU CVTS01+164 08119000 CVTCRAS EQU CVTS01+160 08120000 CVTCRMN EQU CVTS01+156 08121000 CVTDELCP EQU CVTS01+152 08122000 CVTFRECL EQU CVTS01+148 08123000 CVTGETCL EQU CVTS01+144 08124000 CVTBLDCP EQU CVTS01+140 08125000 CVTAUTHL EQU CVTS01+136 08126000 CVTSCAN EQU CVTS01+132 08127000 CVTRV144 EQU CVTS01+130 08128000 CVTMAXMP EQU CVTS01+128 08129000 CVTSTCK EQU CVTS01+124 08130000 CVTRV139 EQU CVTS01+123 08131000 CVTDSSAC EQU CVTS01+122 08132000 CVTRV513 EQU CVTS01+121 08133000 CVTIOSPL EQU CVTS01+120 08134000 CVTPTGT EQU CVTS01+116 08135000 CVTCSPIE EQU CVTS01+112 08136000 CVTSMFEX EQU CVTS01+108 08137000 CVTOLT0A EQU CVTS01+104 08138000 CVTSRBRT EQU CVTS01+100 08139000 CVTPUTL EQU CVTS01+96 08140000 CVTASCRL EQU CVTS01+92 08141000 CVTASCRF EQU CVTS01+88 08142000 CVTRV326 EQU CVTS01+84 08143000 CVTRV325 EQU CVTS01+80 08144000 CVTRV324 EQU CVTS01+76 08145000 CVT0VL01 EQU CVTS01+72 08146000 CVTSHRVM EQU CVTS01+68 08147000 CVTRV332 EQU CVTS01+64 08148000 CVTTAS EQU CVTS01+60 08149000 CVTRSCN EQU CVTS01+56 08150000 CVTTRAC2 EQU CVTS01+54 08151000 CVTTRACE EQU CVTS01+52 08152000 CVTAPG EQU CVTS01+51 08153000 CVTSDTRC EQU CVTCTLFG 08154000 CVTGTRCE EQU CVTCTLFG 08155000 CVTNOMP EQU CVTCTLFG 08156000 CVTRSV79 EQU CVTCTLFG 08157000 CVTDSTAT EQU CVTCTLFG 08158000 CVTRSV78 EQU CVTCTLFG 08159000 CVTRV333 EQU CVTCTLFG 08160000 CVTRV323 EQU CVTCTLFG 08161000 CVTSPVLK EQU CVTS01+49 08162000 CVTRSV77 EQU CVTS01+48 08163000 CVTRV331 EQU CVTS01+44 08164000 CVTRV330 EQU CVTS01+40 08165000 CVTRV329 EQU CVTS01+36 08166000 CVTRV328 EQU CVTS01+32 08167000 CVTRV322 EQU CVTS01+28 08168000 CVTSLID EQU CVTSLIDA+1 08169000 CVTSYLK EQU CVTSLIDA 08170000 CVTRV321 EQU CVTS01+20 08171000 CVTRV320 EQU CVTS01+16 08172000 CVTLPDIR EQU CVTLPDIA+1 08173000 CVTRSV69 EQU CVTDIRST 08174000 CVTRSV68 EQU CVTDIRST 08175000 CVTRSV67 EQU CVTDIRST 08176000 CVTRSV66 EQU CVTDIRST 08177000 CVTRSV65 EQU CVTDIRST 08178000 CVTRSV64 EQU CVTDIRST 08179000 CVTRSV63 EQU CVTDIRST 08180000 CVTDICOM EQU CVTDIRST 08181000 CVTPVTP EQU CVTS01+8 08182000 CVTLPDSR EQU CVTS01+4 08183000 CVTGETL EQU CVTS01 08184000 SAVREG0 EQU SAVAREA+20 08185000 SAVREG15 EQU SAVAREA+16 08186000 SAVREG14 EQU SAVAREA+12 08187000 @NM00104 EQU SAVAREA+8 08188000 SAVPTR EQU SAVAREA+4 08189000 @NM00103 EQU SAVAREA 08190000 @NM00102 EQU TCBWORDS 08191000 @NM00100 EQU @NM00099 08192000 UCBERADR EQU UCBUCS+12 08193000 UCBFCBID EQU UCBUCS+8 08194000 UCBERCNT EQU UCBUCS+7 08195000 UCBRSV51 EQU UCBUCS+6 08196000 UCBFCBPE EQU UCBFCBOP 08197000 UCBRSV49 EQU UCBFCBOP 08198000 UCBRSV48 EQU UCBFCBOP 08199000 UCBRSV47 EQU UCBFCBOP 08200000 UCBRSV46 EQU UCBFCBOP 08201000 UCBRSV45 EQU UCBFCBOP 08202000 UCBRSV44 EQU UCBFCBOP 08203000 UCBFCBO1 EQU UCBFCBOP 08204000 UCBUCSPE EQU UCBUCSOP 08205000 UCBRSV43 EQU UCBUCSOP 08206000 UCBRSV42 EQU UCBUCSOP 08207000 UCBRSV41 EQU UCBUCSOP 08208000 UCBRSV40 EQU UCBUCSOP 08209000 UCBRSV39 EQU UCBUCSOP 08210000 UCBUCSO2 EQU UCBUCSOP 08211000 UCBUCSO1 EQU UCBUCSOP 08212000 UCBUCSID EQU UCBUCS 08213000 UCBMDRBA EQU UCBMDRBF+1 08214000 UCBRV075 EQU UCBMDRBF 08215000 UCBRV074 EQU UCB3800X+32 08216000 UCBIMAGE EQU UCB3800X+28 08217000 UCBFCBNM EQU UCB3800X+24 08218000 UCBCHAR4 EQU UCB3800X+20 08219000 UCBCHAR3 EQU UCB3800X+16 08220000 UCBCHAR2 EQU UCB3800X+12 08221000 UCBCHAR1 EQU UCB3800X+8 08222000 UCBCGMID EQU UCB3800X+4 08223000 UCBBRSTA EQU UCBACTIV 08224000 UCBRV063 EQU UCBACTIV 08225000 UCBRV062 EQU UCBACTIV 08226000 UCBRV061 EQU UCBACTIV 08227000 UCBRV060 EQU UCBACTIV 08228000 UCBRV059 EQU UCBACTIV 08229000 UCBRV058 EQU UCBACTIV 08230000 UCBRV057 EQU UCBACTIV 08231000 UCBRV050 EQU UCB3800X+2 08232000 UCBCGMNO EQU UCB3800X+1 08233000 UCBRV083 EQU UCBOPTNS 08234000 UCBBRSTR EQU UCBOPTNS 08235000 UCBRV056 EQU UCBOPTNS 08236000 UCBRV055 EQU UCBOPTNS 08237000 UCBRV054 EQU UCBOPTNS 08238000 UCBRV053 EQU UCBOPTNS 08239000 UCBRV052 EQU UCBOPTNS 08240000 UCBRV051 EQU UCBOPTNS 08241000 UCBRV073 EQU UCB3540X+7 08242000 UCBRV072 EQU UCBDKBYT 08243000 UCBRV071 EQU UCBDKBYT 08244000 UCBRV070 EQU UCBDKBYT 08245000 UCBRV069 EQU UCBDKBYT 08246000 UCBRV068 EQU UCBDKBYT 08247000 UCBRV067 EQU UCBDKBYT 08248000 UCBVLVER EQU UCBDKBYT 08249000 UCBDKAMX EQU UCBDKBYT 08250000 UCBVLSER EQU UCB3540X 08251000 UCBRDATA EQU UCBOCR+4 08252000 UCBFRID EQU UCBOCR 08253000 UCBCLN EQU UCBMT+14 08254000 UCBERG EQU UCBMT+12 08255000 UCBMS EQU UCBMT+11 08256000 UCBNB EQU UCBMT+10 08257000 UCBPW EQU UCBMT+9 08258000 UCBPR EQU UCBMT+8 08259000 UCBSIO EQU UCBMT+6 08260000 UCBTW EQU UCBMT+5 08261000 UCBTR EQU UCBMT+4 08262000 UCBTWT EQU UCBMT+3 08263000 UCBTRT EQU UCBMT+2 08264000 UCBCTD EQU UCBMT 08265000 UCBWTOID EQU UCBCMEXT+17 08266000 UCBRV043 EQU UCBCMEXT+16 08267000 UCBASID EQU UCBCMEXT+14 08268000 UCBMFCNT EQU UCBCMEXT+12 08269000 UCBPMSK EQU UCBCMEXT+10 08270000 UCBCCWOF EQU UCBCMEXT+8 08271000 UCBRV041 EQU UCBCMEXT+6 08272000 UCBRV036 EQU UCBFLP1 08273000 UCBRV035 EQU UCBFLP1 08274000 UCBERLOG EQU UCBFLP1 08275000 UCBRV033 EQU UCBFLP1 08276000 UCBINHIO EQU UCBFLP1 08277000 UCBNSWAP EQU UCBFLP1 08278000 UCBSHRUP EQU UCBFLP1 08279000 UCBNSRCH EQU UCBFLP1 08280000 UCBSNSCT EQU UCBCMEXT+4 08281000 UCBHPDV EQU @NM00098 08282000 UCBHALI EQU @NM00098 08283000 UCBRSV09 EQU @NM00098 08284000 UCBRSV08 EQU @NM00098 08285000 UCBRSV07 EQU @NM00098 08286000 UCBRSV06 EQU @NM00098 08287000 UCBRSV05 EQU @NM00098 08288000 UCBRSV04 EQU @NM00098 08289000 UCBDTI EQU UCBCMEXT+2 08290000 UCBSTI EQU UCBCMEXT+1 08291000 UCBETI EQU UCBCMEXT 08292000 UCBEXTP EQU UCBEXTPT+1 08293000 UCBDDRSW EQU UCBFLC 08294000 UCBTICBT EQU UCBFLC 08295000 UCBIVRR EQU UCBFLC 08296000 UCBIVRS EQU UCBFLC 08297000 UCBITF EQU UCBFLC 08298000 UCBUDE EQU UCBFLC 08299000 UCBWAA EQU UCBFLC 08300000 UCBATTP EQU UCBFLC 08301000 UCBUNTYP EQU UCBTBYT4 08302000 UCBRSV11 EQU UCBDVCLS 08303000 UCBRSV10 EQU UCBDVCLS 08304000 UCB3CHAR EQU UCBDVCLS 08305000 UCB3UREC EQU UCBDVCLS 08306000 UCB3DISP EQU UCBDVCLS 08307000 UCB3COMM EQU UCBDVCLS 08308000 UCB3TAPE EQU UCBDVCLS 08309000 UCBDVPWR EQU UCB2OPT7 08310000 UCBVLPWR EQU UCB2OPT6 08311000 UCB2OPT5 EQU UCBTBYT2 08312000 UCBRPS EQU UCBDUDN2 08313000 UCB2OPT1 EQU UCBTBYT2 08314000 UCB2OPT0 EQU UCBTBYT2 08315000 UCB1FEA7 EQU UCBTBYT1 08316000 UCBD6250 EQU UCB1FEA6 08317000 UCBD1600 EQU UCB1FEA5 08318000 UCB1FEA4 EQU UCBTBYT1 08319000 UCB1FEA3 EQU UCBTBYT1 08320000 UCB1FEA2 EQU UCBTBYT1 08321000 UCB1FEA1 EQU UCBTBYT1 08322000 UCB1FEA0 EQU UCBTBYT1 08323000 UCBNAME EQU UCBOB+13 08324000 UCBRV029 EQU UCBWGT 08325000 UCBVHRSN EQU UCBWGT 08326000 UCBVORSN EQU UCBWGT 08327000 UCBMTPXP EQU UCBWGT 08328000 UCBREW EQU UCBWGT 08329000 UCBPUB EQU UCBWGT 08330000 UCBOUT EQU UCBWGT 08331000 UCBIN EQU UCBWGT 08332000 UCBCPU EQU UCBOB+11 08333000 UCBLCI EQU UCBOB+10 08334000 UCBCNT EQU UCBOB+9 08335000 UCBRV017 EQU UCBCHM1 08336000 UCBRV016 EQU UCBCHM1 08337000 UCBRV015 EQU UCBCHM1 08338000 UCBRV014 EQU UCBCHM1 08339000 UCBSPB EQU UCBPTH1 08340000 UCBPPB EQU UCBPTH1 08341000 UCBSPA EQU UCBPTH0 08342000 UCBPPA EQU UCBPTH0 08343000 UCBSIGP EQU UCBFLB 08344000 UCBVALPH EQU UCBFLB 08345000 UCBCRHSN EQU UCBFLB 08346000 UCBCRHRV EQU UCBFLB 08347000 UCBRESVH EQU UCBFLB 08348000 UCBSPST EQU UCBFLB 08349000 UCBASNS EQU UCBFLB 08350000 UCBIORST EQU UCBFLB 08351000 UCBQISCE EQU UCBFL1 08352000 UCBACTV EQU UCBFL1 08353000 UCBSAP EQU UCBFL1 08354000 UCBNOTRC EQU UCBCUB 08355000 UCBPSNS EQU UCBFL1 08356000 UCBUSING EQU UCBPST 08357000 UCBNOTRD EQU UCBNRY 08358000 UCBBUSYD EQU UCBBSY 08359000 UCBUA EQU UCBCHAN+1 08360000 UCBCHA EQU UCBCHAN 08361000 UCBDADI EQU UCBSTAT 08362000 UCBSYSR EQU UCBSTAT 08363000 UCBALOC EQU UCBSTAT 08364000 UCBUNLD EQU UCBSTAT 08365000 UCBCHGS EQU UCBSTAT 08366000 UCBONLI EQU UCBSTAT 08367000 UCBID EQU UCBOB+2 08368000 UCBALTPH EQU UCBFL5 08369000 UCBALTCU EQU UCBFL5 08370000 UCBNALOC EQU UCBFL5 08371000 UCBENVRD EQU UCBFL5 08372000 UCBVSDR EQU UCBFL5 08373000 UCBSASK EQU UCBFL5 08374000 UCBAMV EQU UCBAF 08375000 UCBDCC EQU UCBFL5 08376000 UCBMONT EQU UCBJBNR 08377000 UCBRV011 EQU UCBJBNR 08378000 UCBMMSGP EQU UCBJBNR 08379000 UCBOLDSM EQU UCBJBNR 08380000 UCBRV003 EQU UCBJBNR 08381000 UCBDUC EQU UCBJBNR 08382000 UCBJES3 EQU UCBJBNR 08383000 UCBVRDEV EQU UCBJBNR 08384000 UCBCMSEG EQU UCBOB 08385000 UCBPFXND EQU UCB+512 08386000 UCBIOQ EQU UCB+508 08387000 UCBLOCK EQU UCB+504 08388000 UCBPXST EQU UCB+504 08389000 @NM00095 EQU UCB 08390000 JFCRSV05 EQU JFCEROPT 08391000 JFCRSV04 EQU JFCEROPT 08392000 JFCRSV03 EQU JFCEROPT 08393000 JFCRSV02 EQU JFCEROPT 08394000 JFCTOPT EQU JFCEROPT 08395000 JFCABN EQU JFCEROPT 08396000 JFCSKP EQU JFCEROPT 08397000 JFCACC EQU JFCEROPT 08398000 JFCBUFL EQU JFCAMPTR+2 08399000 JFCFWORD EQU JFCBFTEK 08400000 JFCDWORD EQU JFCBFTEK 08401000 JFCHIER1 EQU JFCBFTEK 08402000 JFCDYN EQU JFCBFTEK 08403000 JFCEXC EQU JFCBFTEK 08404000 JFCBBFTR EQU JFCBBFTA 08405000 JFCSIM EQU JFCBBFTA 08406000 JFCHIER EQU JFCBFTEK 08407000 JFCBFOUT EQU JFCBUFNO 08408000 JFCBUFIN EQU JFCBUFNO 08409000 JFCTEMP EQU JFCBIND2 08410000 JFCREQ EQU JFCBIND2 08411000 JFCENT EQU JFCBIND2 08412000 JFCSHARE EQU JFCBIND2 08413000 JFCSECUR EQU JFCBIND2 08414000 JFCDISP EQU JFCBIND2 08415000 JFCPDS EQU JFCBIND1 08416000 JFCGDG EQU JFCBIND1 08417000 JFCADDED EQU JFCBIND1 08418000 JFCLOC EQU JFCBIND1 08419000 JFCRLSE EQU JFCBIND1 08420000 JFCBXPDT EQU INFMJFCB+83 08421000 JFCBCRDT EQU INFMJFCB+80 08422000 JFCBOPS2 EQU JFCBMASK+7 08423000 JFCRCTLG EQU JFCBFLG2 08424000 JFCBBUFF EQU JFCBFLG2 08425000 JFCTRACE EQU JFCBFLG2 08426000 JFCSDRPS EQU JFCBFLG2 08427000 JFCMODNW EQU JFCBFLG2 08428000 JFCNRPS EQU JFCDEFER 08429000 JFCOUTOP EQU JFCBFLG2 08430000 JFCINOP EQU JFCBFLG2 08431000 JFCBPWBP EQU JFCOPEN 08432000 @NM00091 EQU JFCOPEN 08433000 JFCDUAL EQU JFCBFLG1 08434000 JFCSLDES EQU JFCBFLG1 08435000 JFCSLCRE EQU JFCBFLG1 08436000 JFCSTAND EQU JFCBFLG1 08437000 JFCBOPS1 EQU JFCBMASK 08438000 JFCBVLSQ EQU INFMJFCB+70 08439000 JFCRSV31 EQU JFCFUNC 08440000 JFCFNCBT EQU JFCFUNC 08441000 JFCFNCBX EQU JFCFUNC 08442000 JFCFNCBD EQU JFCFUNC 08443000 JFCFNCBW EQU JFCFUNC 08444000 JFCFNCBP EQU JFCFUNC 08445000 JFCFNCBR EQU JFCFUNC 08446000 JFCFNCBI EQU JFCFUNC 08447000 JFCBFOFL EQU JFCBUFOF 08448000 JFCNL EQU JFCBLTYP 08449000 JFCSL EQU JFCBLTYP 08450000 JFCNSL EQU JFCBLTYP 08451000 JFCSUL EQU JFCBLTYP 08452000 JFCBLP EQU JFCBLTYP 08453000 JFCBLTM EQU JFCBLTYP 08454000 JFCBAL EQU JFCBLTYP 08455000 JFCRSV38 EQU JFCBLTYP 08456000 JFCVINDX EQU INFMJFCB+64 08457000 JFCNLREC EQU INFMJFCB+62 08458000 JFCBADBF EQU INFMJFCB+60 08459000 JFCAMSTR EQU JFCBFRID+2 08460000 JFCAMCRO EQU JFCBFRID 08461000 JFCBDSCB EQU INFMJFCB+53 08462000 JFCPAT EQU JFCBTSDM 08463000 JFCNDCB EQU JFCBTSDM 08464000 JFCNDSCB EQU JFCBTSDM 08465000 JFCNWRIT EQU JFCBTSDM 08466000 JFCTTR EQU JFCBTSDM 08467000 JFCSDS EQU JFCBTSDM 08468000 JFCVSL EQU JFCBTSDM 08469000 JFCCAT EQU JFCBTSDM 08470000 JFCIPLTX EQU JFCBELNM 08471000 JFCBQNAM EQU JFCBDSNM 08472000 JESSSCT EQU JESCT+24 08473000 JESRESQM EQU JESCT+16 08474000 JESQMGR EQU JESCT+12 08475000 JESUNITS EQU JESCT+4 08476000 @NM00090 EQU JESCT 08477000 SSMOPRPN EQU SSMO+24 08478000 SSMOPDDN EQU SSMO+20 08479000 SSMOPVOL EQU SSMO+16 08480000 SSMOPUAD EQU SSMO+12 08481000 SSMOPSTN EQU SSMO+8 08482000 SSMOPNAM EQU SSMO+4 08483000 SSMORSV0 EQU SSMO+3 08484000 @NM00089 EQU SSMOFLG1 08485000 SSMOMNTD EQU SSMOFLG1 08486000 SSMOSCR EQU SSMOFLG1 08487000 SSMOFINL EQU SSMOFLG1 08488000 SSMOOPEN EQU SSMOFLG1 08489000 SSOBRETN EQU SSOB+12 08490000 SSIBSUSE EQU SSIB+32 08491000 SSIBRSV1 EQU SSIB+28 08492000 SSIBDEST EQU SSIB+20 08493000 SSIBRESV EQU SSIB+7 08494000 @NM00088 EQU SSIBFLG1 08495000 SSIBPJES EQU SSIBFLG1 08496000 JSCBCSCB EQU JSCBSEC1+68 08497000 JSCBPMG EQU JSCBWTP+2 08498000 JSCBWTSP EQU JSCBWTP+1 08499000 JSCRSV23 EQU JSCBWTFG 08500000 JSCRSV22 EQU JSCBWTFG 08501000 JSCRSV21 EQU JSCBWTFG 08502000 JSCRSV20 EQU JSCBWTFG 08503000 JSCRSV19 EQU JSCBWTFG 08504000 JSCRSV18 EQU JSCBWTFG 08505000 JSCBRET EQU JSCBWTFG 08506000 JSCBIOFG EQU JSCBWTFG 08507000 @NM00085 EQU JSCBSEC1+60 08508000 JSCBQMPI EQU JSCBSEC1+56 08509000 JSCBPMSG EQU JSCBSWT1 08510000 JSCRSV16 EQU JSCBSWT1 08511000 JSCRSV15 EQU JSCBSWT1 08512000 JSCRSV14 EQU JSCBSWT1 08513000 JSCRSV13 EQU JSCBSWT1 08514000 JSCRSV12 EQU JSCBSWT1 08515000 JSCRSV11 EQU JSCBSWT1 08516000 JSCBPASS EQU JSCBSWT1 08517000 JSCBTTTR EQU JSCBSEC1+52 08518000 JSCRSV10 EQU JSCBSEC1+49 08519000 JSCBAUTH EQU JSCBOPTS 08520000 JSCSIOTS EQU JSCBOPTS 08521000 JSCRSV08 EQU JSCBOPTS 08522000 JSCRSV07 EQU JSCBOPTS 08523000 JSCRSV06 EQU JSCBOPTS 08524000 JSCBLONG EQU JSCBOPTS 08525000 JSCRSV05 EQU JSCBOPTS 08526000 JSCRSV04 EQU JSCBOPTS 08527000 JSCBSECB EQU JSCBSEC1+44 08528000 JSCRSV03 EQU JSCBSEC1+41 08529000 JSCBSTEP EQU JSCBSEC1+40 08530000 JSCBDCBA EQU JSCBDCB+1 08531000 JSCRSV02 EQU JSCBDCB 08532000 JSCBID EQU JSCBSEC1+32 08533000 JSCBDBTB EQU JSCBSEC1+28 08534000 JSCBIJSC EQU JSCBSEC1+24 08535000 JSCBTCBP EQU JSCBSEC1+20 08536000 JSCBPCC EQU JSCBSEC1+16 08537000 JSCBTCP EQU JSCBSEC1+12 08538000 JSCBSHR EQU JSCBSEC1+8 08539000 JSCHPCEA EQU JSCHPCE+1 08540000 JSCRSV32 EQU JSCHPCE 08541000 JSCRSV01 EQU JSCBSEC1 08542000 @NM00084 EQU IEZJSCB 08543000 TIOCSTEP EQU TIOT1+8 08544000 TIOCNJOB EQU TIOT1 08545000 @NM00081 EQU TCBXTNT2+32 08546000 TCBRV181 EQU TCBRV173 08547000 TCBRV180 EQU TCBRV173 08548000 TCBRV179 EQU TCBRV173 08549000 TCBRV178 EQU TCBRV173 08550000 TCBRV177 EQU TCBRV173 08551000 TCBRV176 EQU TCBRV173 08552000 TCBRV175 EQU TCBRV173 08553000 TCBRV174 EQU TCBRV173 08554000 TCBRV172 EQU TCBRV164 08555000 TCBRV171 EQU TCBRV164 08556000 TCBRV170 EQU TCBRV164 08557000 TCBRV169 EQU TCBRV164 08558000 TCBRV168 EQU TCBRV164 08559000 TCBRV167 EQU TCBRV164 08560000 TCBRV166 EQU TCBRV164 08561000 TCBRV165 EQU TCBRV164 08562000 TCBRV163 EQU TCBRV155 08563000 TCBRV162 EQU TCBRV155 08564000 TCBRV161 EQU TCBRV155 08565000 TCBRV160 EQU TCBRV155 08566000 TCBRV159 EQU TCBRV155 08567000 TCBRV158 EQU TCBRV155 08568000 TCBRV157 EQU TCBRV155 08569000 TCBRV156 EQU TCBRV155 08570000 TCBRV154 EQU TCBRV146 08571000 TCBRV153 EQU TCBRV146 08572000 TCBRV152 EQU TCBRV146 08573000 TCBRV151 EQU TCBRV146 08574000 TCBRV150 EQU TCBRV146 08575000 TCBRV149 EQU TCBRV146 08576000 TCBRV148 EQU TCBRV146 08577000 TCBRV147 EQU TCBRV146 08578000 TCBRV145 EQU TCBXTNT2+26 08579000 TCBRV144 EQU TCBXTNT2+24 08580000 TCBRV143 EQU TCBXTNT2+20 08581000 TCBRV142 EQU TCBXTNT2+16 08582000 TCBRSV49 EQU TCBXTNT2+12 08583000 TCBEVENT EQU TCBXTNT2+8 08584000 TCBRCMP EQU TCBXTNT2+5 08585000 TCBRSVAB EQU TCBXTNT2+4 08586000 TCBGTFA EQU TCBGTF+1 08587000 TCBRSV47 EQU TCBTFLG 08588000 TCBRSV46 EQU TCBTFLG 08589000 TCBRSV45 EQU TCBTFLG 08590000 TCBRSV44 EQU TCBTFLG 08591000 TCBRSV43 EQU TCBTFLG 08592000 TCBDSPIT EQU TCBTFLG 08593000 TCBERRTN EQU TCBTFLG 08594000 TCBASYNC EQU TCBTFLG 08595000 @NM00080 EQU TCB+296 08596000 TCBSVCA2 EQU TCB+292 08597000 TCBSWASA EQU TCB+288 08598000 TCBDBTB EQU TCB+284 08599000 TCBRPT EQU TCB+280 08600000 TCBRV141 EQU TCBRV133 08601000 TCBRV140 EQU TCBRV133 08602000 TCBRV139 EQU TCBRV133 08603000 TCBRV138 EQU TCBRV133 08604000 TCBRV137 EQU TCBRV133 08605000 TCBRV136 EQU TCBRV133 08606000 TCBRV135 EQU TCBRV133 08607000 TCBRV134 EQU TCBRV133 08608000 TCBRV132 EQU TCBRV124 08609000 TCBRV131 EQU TCBRV124 08610000 TCBRV130 EQU TCBRV124 08611000 TCBRV129 EQU TCBRV124 08612000 TCBRV128 EQU TCBRV124 08613000 TCBRV127 EQU TCBRV124 08614000 TCBRV126 EQU TCBRV124 08615000 TCBRV125 EQU TCBRV124 08616000 TCBRV123 EQU TCBFBYT2 08617000 TCBRV122 EQU TCBFBYT2 08618000 TCBECBNV EQU TCBFBYT2 08619000 TCBSSSYN EQU TCBFBYT2 08620000 TCBFPRAP EQU TCBFBYT2 08621000 TCBFDW EQU TCBFBYT2 08622000 TCBFMW EQU TCBFBYT2 08623000 TCBCNCB EQU TCBFBYT2 08624000 TCBLLH EQU TCBFBYT1 08625000 TCBRV113 EQU TCBFBYT1 08626000 TCBEOT EQU TCBFBYT1 08627000 TCBRTM2 EQU TCBFBYT1 08628000 TCBPGNLY EQU TCBFBYT1 08629000 TCBNDIOS EQU TCBFBYT1 08630000 TCBACTIV EQU TCBFBYT1 08631000 TCBEOTFM EQU TCBFBYT1 08632000 TCBAFFN EQU TCB+274 08633000 TCBCCPVI EQU TCB+272 08634000 TCBUKYSP EQU TCB+268 08635000 TCBMODE EQU TCBESTAE+3 08636000 TCBERTYP EQU TCBESTAE+2 08637000 TCBRV314 EQU TCBESTRM 08638000 TCBRV313 EQU TCBESTRM 08639000 TCBRV312 EQU TCBESTRM 08640000 TCBRV311 EQU TCBESTRM 08641000 TCBRV310 EQU TCBESTRM 08642000 TCBRV309 EQU TCBESTRM 08643000 TCBRV308 EQU TCBESTRM 08644000 TCBETERM EQU TCBESTRM 08645000 TCBSCBKY EQU TCBESTAE 08646000 TCBRTM12 EQU TCB+260 08647000 TCBTCBID EQU TCB+256 08648000 TCBRSV96 EQU TCB+252 08649000 TCBSWA EQU TCB+248 08650000 TCBFOEA EQU TCBFOE+1 08651000 TCBRSV42 EQU TCBFOE 08652000 TCBRV306 EQU TCB+240 08653000 TCBRSV41 EQU TCB+239 08654000 TCBTID EQU TCB+238 08655000 TCBRSVAA EQU TCB+237 08656000 TCBABCUR EQU TCB+236 08657000 TCBTMSAV EQU TCB+232 08658000 TCBIOTIM EQU TCB+228 08659000 TCBRTWA EQU TCB+224 08660000 TCBBACK EQU TCB+220 08661000 TCBTIRB EQU TCB+216 08662000 TCBAECB EQU TCB+212 08663000 TCBEXT2A EQU TCBEXT2+1 08664000 TCBRSV39 EQU TCBEXT2 08665000 TCBSTMCT EQU TCB+207 08666000 TCBSYSCT EQU TCB+206 08667000 TCBRSV37 EQU TCB+205 08668000 TCBEXSVC EQU TCBDAR 08669000 TCBDARMS EQU TCBDAR 08670000 TCBDARWT EQU TCBDAR 08671000 TCBDARO EQU TCBDAR 08672000 TCBDARMC EQU TCBDARC 08673000 TCBDARD EQU TCBDAR 08674000 TCBDARS EQU TCBDAR 08675000 TCBDARP EQU TCBDAR 08676000 TCBGTOFM EQU TCBFLGS7 08677000 TCBADMP EQU TCBFLGS7 08678000 TCBRSTSK EQU TCBFLGS7 08679000 TCBSVCS EQU TCBFLGS7 08680000 TCBSTACK EQU TCBFLGS7 08681000 TCBRSV34 EQU TCBFLGS7 08682000 TCBRSV33 EQU TCBFLGS7 08683000 TCBGPECB EQU TCBFLGS7 08684000 TCBNTJS EQU TCBFLGS6 08685000 TCBAPG EQU TCBFLGS6 08686000 TCBMIGR EQU TCBFLGS6 08687000 TCBRV303 EQU TCBFLGS6 08688000 TCBSPVLK EQU TCBFLGS6 08689000 TCBCPU EQU TCBFLGS6 08690000 TCBPIE17 EQU TCBFLGS6 08691000 TCBRV EQU TCBFLGS6 08692000 TCBRSV79 EQU TCBNDSP5 08693000 TCBRSV78 EQU TCBNDSP5 08694000 TCBRSV77 EQU TCBNDSP5 08695000 TCBRSV76 EQU TCBNDSP5 08696000 TCBRSV75 EQU TCBNDSP5 08697000 TCBRSV74 EQU TCBNDSP5 08698000 TCBRSV95 EQU TCBNDSP5 08699000 TCBRSV94 EQU TCBNDSP5 08700000 TCBRSV93 EQU TCBNDSP4 08701000 TCBRSV92 EQU TCBNDSP4 08702000 TCBRSV91 EQU TCBNDSP4 08703000 TCBRSV90 EQU TCBNDSP4 08704000 TCBRSV89 EQU TCBNDSP4 08705000 TCBRSV88 EQU TCBNDSP4 08706000 TCBRSV87 EQU TCBNDSP4 08707000 TCBRSV86 EQU TCBNDSP4 08708000 TCBEXT1A EQU TCBEXT1+1 08709000 TCBRSV32 EQU TCBEXT1 08710000 TCBEXCPD EQU TCB+192 08711000 TCBIOBRC EQU TCB+188 08712000 TCBDDWTC EQU TCB+186 08713000 TCBDDEXC EQU TCB+184 08714000 TCBJSCBB EQU TCBJSCB+1 08715000 @NM00079 EQU TCBRECDE 08716000 TCBREC EQU TCBRECDE 08717000 TCBMDIDS EQU TCB+176 08718000 TCBNDINT EQU TCBNDSP3 08719000 TCBRSV27 EQU TCBNDSP3 08720000 TCBRSV26 EQU TCBNDSP3 08721000 TCBRSV25 EQU TCBNDSP3 08722000 TCBRSV24 EQU TCBNDSP3 08723000 TCBSRBND EQU TCBNDSP3 08724000 TCBRV302 EQU TCBNDSP3 08725000 TCBLJSND EQU TCBNDSP3 08726000 TCBABE EQU TCBNDSP2 08727000 TCBDSS EQU TCBNDSP2 08728000 TCBOWAIT EQU TCBNDSP2 08729000 TCBIWAIT EQU TCBNDSP2 08730000 TCBNDTS EQU TCBNDSP2 08731000 TCBNDSVC EQU TCBNDSP2 08732000 TCBSTPP EQU TCBNDSP2 08733000 TCBABD EQU TCBNDSP2 08734000 TCBRSV22 EQU TCBNDSP1 08735000 TCBPIEND EQU TCBNDSP1 08736000 TCBTPSP EQU TCBNDSP1 08737000 TCBDDRND EQU TCBNDSP1 08738000 TCBRSPND EQU TCBNDSP1 08739000 TCBRSTND EQU TCBNDSP1 08740000 TCBDARPN EQU TCBNDSP1 08741000 TCBDARTN EQU TCBNDSP1 08742000 TCBNDSP0 EQU TCBNDSP 08743000 TCBUSER EQU TCB+168 08744000 TCBTCTB EQU TCBTCT+1 08745000 TCBRSV9C EQU TCBTCTGF 08746000 TCBRSV9B EQU TCBTCTGF 08747000 TCBRSV9A EQU TCBTCTGF 08748000 TCBRSV99 EQU TCBTCTGF 08749000 TCBRSV98 EQU TCBTCTGF 08750000 TCBRSV97 EQU TCBTCTGF 08751000 TCBRSV20 EQU TCBTCTGF 08752000 TCBSMFGF EQU TCBTCTGF 08753000 TCBSTABB EQU TCBSTAB+1 08754000 TCBSTCUR EQU TCBNSTAE 08755000 TCBRV301 EQU TCBNSTAE 08756000 TCBSYNCH EQU TCBNSTAE 08757000 TCBHALT EQU TCBNSTAE 08758000 TCBPPSUP EQU TCBNSTAE 08759000 TCB33E EQU TCBNSTAE 08760000 TCBQUIES EQU TCBNSTAE 08761000 TCBSTABE EQU TCBNSTAE 08762000 TCBAQE EQU TCB+156 08763000 TCBPQE EQU TCB+152 08764000 TCBTSDP EQU TCB+151 08765000 TCBTSLP EQU TCB+150 08766000 TCBSTPCT EQU TCB+149 08767000 TCBCPUBN EQU TCBTSFLG 08768000 TCBDYDSP EQU TCBTSFLG 08769000 TCBRSV18 EQU TCBTSFLG 08770000 TCBRSV17 EQU TCBTSFLG 08771000 TCBTIOTG EQU TCBTSFLG 08772000 TCBATT EQU TCBTSFLG 08773000 TCBSTPPR EQU TCBTSFLG 08774000 TCBRV300 EQU TCBTSTSK 08775000 TCBECB EQU TCB+144 08776000 TCBIQE EQU TCB+140 08777000 TCBLTC EQU TCB+136 08778000 TCBOTC EQU TCB+132 08779000 TCBNTC EQU TCB+128 08780000 TCBJSTCA EQU TCBJSTCB+1 08781000 TCBRSV16 EQU TCBJSTCB 08782000 TCBTQET EQU TCBTME 08783000 TCBTCB EQU TCB+116 08784000 TCBFSAB EQU TCBFSA+1 08785000 TCBQEL EQU TCBFSA 08786000 TCBGRS15 EQU TCBGRS+60 08787000 TCBGRS14 EQU TCBGRS+56 08788000 TCBGRS13 EQU TCBGRS+52 08789000 TCBGRS12 EQU TCBGRS+48 08790000 TCBGRS11 EQU TCBGRS+44 08791000 TCBGRS10 EQU TCBGRS+40 08792000 TCBGRS9 EQU TCBGRS+36 08793000 TCBGRS8 EQU TCBGRS+32 08794000 TCBGRS7 EQU TCBGRS+28 08795000 TCBGRS6 EQU TCBGRS+24 08796000 TCBGRS5 EQU TCBGRS+20 08797000 TCBGRS4 EQU TCBGRS+16 08798000 TCBGRS3 EQU TCBGRS+12 08799000 TCBGRS2 EQU TCBGRS+8 08800000 TCBGRS1 EQU TCBGRS+4 08801000 TCBGRS0 EQU TCBGRS 08802000 TCBJPQB EQU TCBJPQ+1 08803000 TCBRSV15 EQU TCBPURGE 08804000 TCBRSV14 EQU TCBPURGE 08805000 TCBRSV13 EQU TCBPURGE 08806000 TCBRSV12 EQU TCBPURGE 08807000 TCBRSV11 EQU TCBPURGE 08808000 TCBRSV10 EQU TCBPURGE 08809000 TCBRSV09 EQU TCBPURGE 08810000 TCBJPQF EQU TCBPURGE 08811000 TCBJLB EQU TCB+40 08812000 TCBLLS EQU TCB+36 08813000 TCBDSP EQU TCB+35 08814000 TCBLMP EQU TCB+34 08815000 TCBPNDSP EQU TCBFLGS5 08816000 TCBFCD1 EQU TCBFLGS5 08817000 TCBSTP EQU TCBFLGS5 08818000 TCBSYS EQU TCBFLGS5 08819000 TCBANDSP EQU TCBFLGS5 08820000 TCBPAGE EQU TCBFLGS5 08821000 TCBUXNDF EQU TCBABWF 08822000 TCBFC EQU TCBFLGS5 08823000 TCBONDSP EQU TCBFLGS4 08824000 TCBMPCND EQU TCBFLGS4 08825000 TCBMPCVQ EQU TCBFLGS4 08826000 TCBUXNDV EQU TCBFLGS4 08827000 TCBHNDSP EQU TCBFLGS4 08828000 TCBRQENA EQU TCBFLGS4 08829000 TCBSER EQU TCBFLGS4 08830000 TCBNDUMP EQU TCBFLGS4 08831000 TCBDWSTA EQU TCBFLGS3 08832000 TCBRSV08 EQU TCBFLGS3 08833000 TCBRSV07 EQU TCBFLGS3 08834000 TCBRSV06 EQU TCBFLGS3 08835000 TCBABGM EQU TCBFLGS3 08836000 TCBABTRM EQU TCBFLGS3 08837000 TCBADINP EQU TCBFLGS3 08838000 TCBFSM EQU TCBFLGS3 08839000 TCBFTS EQU TCBFLGS2 08840000 TCBFETXR EQU TCBFLGS2 08841000 TCBFDSOP EQU TCBFLGS2 08842000 TCBFJMC EQU TCBFLGS2 08843000 TCBFSMC EQU TCBFLGS2 08844000 TCBFABOP EQU TCBFLGS2 08845000 TCBFSTI EQU TCBFLGS2 08846000 TCBFOINP EQU TCBFLGS2 08847000 TCBFX EQU TCBFLGS1 08848000 TCBFS EQU TCBFLGS1 08849000 TCBFT EQU TCBFLGS1 08850000 TCBPDUMP EQU TCBFLGS1 08851000 TCBNONPR EQU TCBFLGS1 08852000 TCBFERA EQU TCBFLGS1 08853000 TCBFE EQU TCBFLGS1 08854000 TCBFA EQU TCBFLGS1 08855000 TCBZERO EQU TCBPKF 08856000 TCBFLAG EQU TCBPKF 08857000 TCBMSSB EQU TCBMSS+1 08858000 TCBRSV03 EQU TCBMSS 08859000 TCBTRNB EQU TCBTRN+1 08860000 TCBRSV02 EQU TCBABF 08861000 TCBOLTEP EQU TCBABF 08862000 TCBTCP EQU TCBABF 08863000 TCBTCPP EQU TCBABF 08864000 TCBRSV01 EQU TCBABF 08865000 TCBGRPH EQU TCBABF 08866000 TCBNOCHK EQU TCBABF 08867000 TCBMOD91 EQU TCBABF 08868000 TCBCMPC EQU TCBCMP+1 08869000 TCBRV318 EQU TCBCMSG 08870000 TCBRV317 EQU TCBCIND 08871000 TCBRV316 EQU TCBCWTO 08872000 TCBCASID EQU TCBCDBL 08873000 TCBNOCC EQU TCBSTCC 08874000 TCBDMPO EQU TCBCPP 08875000 TCBCSTEP EQU TCBCMPF 08876000 TCBCREQ EQU TCBCMPF 08877000 TCBDEB EQU TCB+8 08878000 TCBPIEA EQU TCBPIE+1 08879000 TCBPM EQU TCBPMASK 08880000 @NM00078 EQU TCBPMASK 08881000 TCBRBP EQU TCB 08882000 TCBFRS6 EQU TCBFRS+24 08883000 TCBFRS4 EQU TCBFRS+16 08884000 TCBFRS2 EQU TCBFRS+8 08885000 TCBFRS0 EQU TCBFRS 08886000 CVTLEVL EQU CVTRELNO+2 08887000 CVTNUMB EQU CVTRELNO 08888000 CVTMDL EQU CVTFIX+250 08889000 @NM00077 EQU CVTFIX+248 08890000 @NM00076 EQU CVTFIX 08891000 CVTRV482 EQU CVTXTNT2+128 08892000 CVTRV481 EQU CVTXTNT2+124 08893000 CVTRV480 EQU CVTXTNT2+120 08894000 CVTRV479 EQU CVTXTNT2+118 08895000 CVTRV478 EQU CVTXTNT2+117 08896000 CVTRV477 EQU CVTXTNT2+116 08897000 CVTRV476 EQU CVTXTNT2+115 08898000 CVTRV475 EQU CVTXTNT2+114 08899000 CVTRV474 EQU CVTRV466 08900000 CVTRV473 EQU CVTRV466 08901000 CVTRV472 EQU CVTRV466 08902000 CVTRV471 EQU CVTRV466 08903000 CVTRV470 EQU CVTRV466 08904000 CVTRV469 EQU CVTRV466 08905000 CVTRV468 EQU CVTRV466 08906000 CVTRV467 EQU CVTRV466 08907000 CVTRV465 EQU CVTRV457 08908000 CVTRV464 EQU CVTRV457 08909000 CVTRV463 EQU CVTRV457 08910000 CVTRV462 EQU CVTRV457 08911000 CVTRV461 EQU CVTRV457 08912000 CVTRV460 EQU CVTRV457 08913000 CVTRV459 EQU CVTRV457 08914000 CVTRV458 EQU CVTRV457 08915000 CVTRV456 EQU CVTXTNT2+108 08916000 CVTRV455 EQU CVTXTNT2+104 08917000 CVTRV454 EQU CVTXTNT2+100 08918000 CVTRV453 EQU CVTXTNT2+96 08919000 CVTRV452 EQU CVTXTNT2+94 08920000 CVTRV451 EQU CVTXTNT2+92 08921000 CVTRV450 EQU CVTXTNT2+90 08922000 CVTRV449 EQU CVTXTNT2+88 08923000 CVTRV448 EQU CVTXTNT2+87 08924000 CVTRV447 EQU CVTXTNT2+86 08925000 CVTRV446 EQU CVTRV438 08926000 CVTRV445 EQU CVTRV438 08927000 CVTRV444 EQU CVTRV438 08928000 CVTRV443 EQU CVTRV438 08929000 CVTRV442 EQU CVTRV438 08930000 CVTRV441 EQU CVTRV438 08931000 CVTRV440 EQU CVTRV438 08932000 CVTRV439 EQU CVTRV438 08933000 CVTRV437 EQU CVTRV429 08934000 CVTRV436 EQU CVTRV429 08935000 CVTRV435 EQU CVTRV429 08936000 CVTRV434 EQU CVTRV429 08937000 CVTRV433 EQU CVTRV429 08938000 CVTRV432 EQU CVTRV429 08939000 CVTRV431 EQU CVTRV429 08940000 CVTRV430 EQU CVTRV429 08941000 CVTRV428 EQU CVTXTNT2+80 08942000 CVTRV427 EQU CVTXTNT2+76 08943000 CVTRV426 EQU CVTXTNT2+72 08944000 CVTRV425 EQU CVTXTNT2+68 08945000 CVTATACT EQU CVTATCVT 08946000 CVTRV423 EQU CVTXTNT2+62 08947000 CVTRV422 EQU CVTXTNT2+60 08948000 CVTRV421 EQU CVTXTNT2+58 08949000 CVTRV420 EQU CVTXTNT2+56 08950000 CVTRV419 EQU CVTXTNT2+55 08951000 CVTRV418 EQU CVTXTNT2+54 08952000 CVTRV417 EQU CVTRV409 08953000 CVTRV416 EQU CVTRV409 08954000 CVTRV415 EQU CVTRV409 08955000 CVTRV414 EQU CVTRV409 08956000 CVTRV413 EQU CVTRV409 08957000 CVTRV412 EQU CVTRV409 08958000 CVTRV411 EQU CVTRV409 08959000 CVTRV410 EQU CVTRV409 08960000 CVTRV408 EQU CVTRV400 08961000 CVTRV407 EQU CVTRV400 08962000 CVTRV406 EQU CVTRV400 08963000 CVTRV405 EQU CVTRV400 08964000 CVTRV404 EQU CVTRV400 08965000 CVTRV403 EQU CVTRV400 08966000 CVTRV402 EQU CVTRV400 08967000 CVTRV401 EQU CVTRV400 08968000 CVTSKTA EQU CVTXTNT2+44 08969000 CVTRSV99 EQU CVTXTNT2+40 08970000 CVTRSV98 EQU CVTXTNT2+36 08971000 CVTRSV97 EQU CVTXTNT2+34 08972000 CVTRSV96 EQU CVTXTNT2+32 08973000 CVTOLTEP EQU CVTXTNT2+28 08974000 CVTQIDA EQU CVTQID+1 08975000 CVTRSV95 EQU CVTQID 08976000 CVTRSV94 EQU CVTXTNT2+20 08977000 CVTRSV93 EQU CVTXTNT2+16 08978000 CVTRSV92 EQU CVTXTNT2+12 08979000 CVTDEBVR EQU CVTXTNT2+8 08980000 CVTRSV91 EQU CVTXTNT2+6 08981000 CVTRSV9H EQU CVTFLGBT 08982000 CVTRSV9G EQU CVTFLGBT 08983000 CVTRSV9F EQU CVTFLGBT 08984000 CVTRSV9E EQU CVTFLGBT 08985000 CVTRSV9D EQU CVTFLGBT 08986000 CVTRSV9C EQU CVTFLGBT 08987000 CVTVME EQU CVTFLGBT 08988000 CVTNPE EQU CVTFLGBT 08989000 CVTNUCLS EQU CVTXTNT2+4 08990000 CVTDSSVA EQU CVTDSSV+1 08991000 CVTRSV89 EQU CVTDSSV 08992000 CVTRSV88 EQU CVTXTNT1+8 08993000 CVTRSV87 EQU CVTXTNT1+4 08994000 CVTFACHN EQU CVTXTNT1 08995000 CVTRV488 EQU CVTMAP+412 08996000 CVTRV487 EQU CVTMAP+408 08997000 CVTRV486 EQU CVTMAP+404 08998000 CVTRV485 EQU CVTMAP+400 08999000 CVTACTAP EQU CVTMAP+396 09000000 CVTAUTH EQU CVTMAP+392 09001000 CVTATMCA EQU CVTATMCT+1 09002000 CVTATMST EQU CVTATMCT 09003000 CVTRSV61 EQU CVTMAP+384 09004000 CVTVOLT1 EQU CVTVOLM1+1 09005000 CVTVOLI1 EQU CVTVOLF1 09006000 CVTSTOA EQU CVTMAP+376 09007000 CVTRSV58 EQU CVTMAP+374 09008000 CVTRSV57 EQU CVTMAP+372 09009000 CVTDDCE EQU CVTMAP+368 09010000 CVTPNWFR EQU CVTMAP+364 09011000 CVTSMF EQU CVTMAP+360 09012000 CVTSULK EQU CVTMAP+358 09013000 CVTSLKO EQU CVTSYSK 09014000 CVTSLKP EQU CVTSYSK 09015000 CVTSLKQ EQU CVTSYSK 09016000 CVTSLKR EQU CVTSYSK 09017000 CVTRSV56 EQU CVTSYSK 09018000 CVTRSV55 EQU CVTSYSK 09019000 CVTRSV54 EQU CVTSYSK 09020000 CVTRSV53 EQU CVTSYSK 09021000 CVTRSV52 EQU CVTA1F1 09022000 CVTRSV51 EQU CVTA1F1 09023000 CVTRSV50 EQU CVTA1F1 09024000 CVTRSV49 EQU CVTA1F1 09025000 CVTRSV48 EQU CVTA1F1 09026000 CVTRSV47 EQU CVTA1F1 09027000 CVTSRSW EQU CVTA1F1 09028000 CVTPFSW EQU CVTA1F1 09029000 CVTPCVT EQU CVTMAP+352 09030000 CVTRSV46 EQU CVTMAP+344 09031000 CVTRSV45 EQU CVTMAP+340 09032000 CVTRSV44 EQU CVTMAP+338 09033000 CVTRSV43 EQU CVTMAP+336 09034000 CVTHJESA EQU CVTHJES+1 09035000 CVTRSV42 EQU CVTHJES 09036000 CVTEXT2A EQU CVTEXT2+1 09037000 CVTRSV41 EQU CVTEXT2 09038000 CVTAPFA EQU CVTAPF+1 09039000 CVTRSV40 EQU CVTAPF 09040000 CVTRV518 EQU CVTINTLA 09041000 CVTRV517 EQU CVTERPV 09042000 CVTEORM EQU CVTMAP+312 09043000 CVTMCHPR EQU CVTMAP+308 09044000 CVTTZ EQU CVTMAP+304 09045000 CVTJEPS EQU CVTMAP+300 09046000 CVTMODE EQU CVTMAP+292 09047000 CVTPTRV EQU CVTMAP+288 09048000 CVTREAL EQU CVTMAP+284 09049000 CVTRSV39 EQU CVTMAP+280 09050000 CVTRSV38 EQU CVTMAP+276 09051000 CVTDMSRA EQU CVTDMSR+1 09052000 CVTRV634 EQU CVTDMSRF 09053000 CVTRV633 EQU CVTDMSRF 09054000 CVTRV632 EQU CVTDMSRF 09055000 CVTRV631 EQU CVTDMSRF 09056000 CVTRV630 EQU CVTDMSRF 09057000 CVTRV629 EQU CVTDMSRF 09058000 CVTUDUMP EQU CVTDMSRF 09059000 CVTSDUMP EQU CVTDMSRF 09060000 CVTQMSGA EQU CVTQMSG+1 09061000 CVTRSV36 EQU CVTQMSG 09062000 CVTAMFF EQU CVTMAP+264 09063000 CVTPURGA EQU CVTPURG+1 09064000 CVTRSV35 EQU CVTPURG 09065000 CVTCBSP EQU CVTMAP+256 09066000 CVTATERA EQU CVTATER+1 09067000 CVTSYST EQU CVTATER 09068000 CVTVOLT2 EQU CVTTAT 09069000 CVTVOLI2 EQU CVTVOLF2 09070000 CVTAQAVB EQU CVTAQAVT+1 09071000 CVTRSV34 EQU CVTTCMFG 09072000 CVTRSV33 EQU CVTTCMFG 09073000 CVTRSV32 EQU CVTTCMFG 09074000 CVTRSV31 EQU CVTTCMFG 09075000 CVTRSV30 EQU CVTTCMFG 09076000 CVTRSV29 EQU CVTTCMFG 09077000 CVTRSV28 EQU CVTTCMFG 09078000 CVTTCRDY EQU CVTTCMFG 09079000 CVTGTFA EQU CVTGTF+1 09080000 CVTRSV27 EQU CVTGTFST 09081000 CVTRNIO EQU CVTGTFST 09082000 CVTUSR EQU CVTGTFST 09083000 CVTRV318 EQU CVTFORM 09084000 CVTRV317 EQU CVTTMODE 09085000 CVTRV316 EQU CVTSTATE 09086000 CVTRV315 EQU CVTGTFS 09087000 CVTGTFAV EQU CVTGTFS 09088000 CVT0SCR1 EQU CVTMAP+232 09089000 CVTRV515 EQU CVTMAP+228 09090000 CVTRMS EQU CVTMAP+224 09091000 CVTPATCH EQU CVTMAP+220 09092000 CVTTSCE EQU CVTMAP+216 09093000 CVTLNKSC EQU CVTMAP+214 09094000 CVTQABST EQU CVTMAP+212 09095000 CVTMDLDS EQU CVTMAP+208 09096000 CVTUSER EQU CVTMAP+204 09097000 CVTABEND EQU CVTMAP+200 09098000 CVTSMCA EQU CVTMAP+196 09099000 CVTRSV18 EQU CVTMAP+192 09100000 CVTQLPAQ EQU CVTMAP+188 09101000 CVTQCDSR EQU CVTMAP+184 09102000 CVTRSV17 EQU CVTOPTB 09103000 CVTRSV16 EQU CVTOPTB 09104000 CVTFP EQU CVTOPTB 09105000 CVTAPTHR EQU CVTOPTB 09106000 CVTNLOG EQU CVTOPTB 09107000 CVTTOD EQU CVTOPTB 09108000 CVTCTIMS EQU CVTOPTB 09109000 CVTPROT EQU CVTOPTB 09110000 CVTXPFP EQU CVTOPTA 09111000 CVTASCII EQU CVTOPTA 09112000 CVTRSV13 EQU CVTOPTA 09113000 CVTRSV12 EQU CVTOPTA 09114000 CVTNIP EQU CVTOPTA 09115000 CVTDDR EQU CVTOPTA 09116000 CVTAPR EQU CVTOPTA 09117000 CVTCCH EQU CVTOPTA 09118000 CVTSNCTR EQU CVTMAP+180 09119000 CVTQMWR EQU CVTMAP+176 09120000 CVTQOCR EQU CVTMAP+172 09121000 CVT1EF00 EQU CVTMAP+168 09122000 CVTMZ00 EQU CVTMAP+164 09123000 CVTSV76Q EQU CVTSV76C 09124000 CVTRSV11 EQU CVTMAP+156 09125000 CVT0PT01 EQU CVTMAP+152 09126000 CVTMSER EQU CVTMAP+148 09127000 CVTRV516 EQU CVTIERLC 09128000 CVTILCH EQU CVTMAP+140 09129000 CVT0DS EQU CVTMAP+136 09130000 CVTFBOSV EQU CVTMAP+132 09131000 CVTNUCB EQU CVTMAP+128 09132000 CVTIXAVL EQU CVTMAP+124 09133000 CVTSV76M EQU CVTIOQET 09134000 CVTDCBA EQU CVTMAP+117 09135000 CVTMVS2 EQU CVTDCB 09136000 CVT6DAT EQU CVTDCB 09137000 CVT4MPS EQU CVTDCB 09138000 CVTRSV09 EQU CVTDCB 09139000 CVT4MS1 EQU CVTDCB 09140000 CVT2SPS EQU CVTDCB 09141000 CVT1SSS EQU CVTDCB 09142000 CVTRSV08 EQU CVTDCB 09143000 CVTSTB EQU CVTMAP+112 09144000 CVTQTD00 EQU CVTMAP+108 09145000 CVTQTE00 EQU CVTMAP+104 09146000 CVTCUCB EQU CVTMAP+100 09147000 CVTSJQ EQU CVTMAP+96 09148000 CVTPBLDL EQU CVTMAP+92 09149000 CVTTPC EQU CVTMAP+88 09150000 CVTSVDCB EQU CVTMAP+84 09151000 CVTBRET EQU CVTMAP+82 09152000 CVTEXIT EQU CVTMAP+80 09153000 CVT0FN00 EQU CVTMAP+76 09154000 CVTDARA EQU CVTDAR+1 09155000 CVTRSV07 EQU CVTFLGS1 09156000 CVTRSV06 EQU CVTFLGS1 09157000 CVTRSV05 EQU CVTFLGS1 09158000 CVTRSV04 EQU CVTFLGS1 09159000 CVTRSV03 EQU CVTFLGS1 09160000 CVTRSV02 EQU CVTFLGS1 09161000 CVTRSV01 EQU CVTFLGS1 09162000 CVTDMPLK EQU CVTFLGS1 09163000 CVTXITP EQU CVTMAP+68 09164000 CVTZDTAB EQU CVTMAP+64 09165000 CVTMSLT EQU CVTMAP+60 09166000 CVTBTERM EQU CVTMAP+52 09167000 CVTSYSAD EQU CVTMAP+48 09168000 CVTXTLER EQU CVTMAP+44 09169000 CVTILK1 EQU CVTMAP+36 09170000 CVTPRLTV EQU CVTMAP+32 09171000 CVTPCNVT EQU CVTMAP+28 09172000 CVT0VL00 EQU CVTMAP+24 09173000 CVTXAPG EQU CVTMAP+20 09174000 CVTBUF EQU CVTMAP+16 09175000 CVTJOB EQU CVTMAP+12 09176000 CVTLINK EQU CVTMAP+8 09177000 CVT0EF00 EQU CVTMAP+4 09178000 CVT EQU CVTMAP 09179000 @NM00075 EQU IHADCS44+10 09180000 DCBXENDA EQU IHADCS44+8 09181000 DCBCENDA EQU IHADCS44+6 09182000 DCBSIOA EQU IHADCS44+4 09183000 DCBPCIA EQU IHADCS44+2 09184000 DCBEOEA EQU IHADCS44 09185000 @NM00074 EQU IHADCS28+1 09186000 @NM00073 EQU DCBOPTCD 09187000 DCBSRCHD EQU DCBOPTZ 09188000 @NM00072 EQU DCBOPTCD 09189000 DCBDEBA EQU DCBDEBAD+1 09190000 @NM00071 EQU DCBIFLGS 09191000 DCBIFIOE EQU DCBIFLGS 09192000 DCBCH12 EQU DCBIFPCT 09193000 DCBCH9 EQU DCBIFPCT 09194000 DCBIFEC EQU DCBIFLGS 09195000 DCBMFSTI EQU DCBMFDMD 09196000 DCBMFAWR EQU DCBMFSTK 09197000 DCBMFUIP EQU DCBMFTMD 09198000 DCBMFIDW EQU DCBMFLCP 09199000 DCBMFWRK EQU DCBMFMVP 09200000 DCBMFRDQ EQU DCBMFWRT 09201000 DCBMFGTQ EQU DCBMFPUT 09202000 DCBMFSTL EQU DCBMACF2 09203000 DCBMFCK EQU DCBMFDMG 09204000 DCBMFRDX EQU DCBMFCHK 09205000 DCBMFDBF EQU DCBMFSBG 09206000 DCBMFRDI EQU DCBMFLCG 09207000 DCBMFRDK EQU DCBMFMVG 09208000 DCBMFWRQ EQU DCBMFRD 09209000 DCBMFPTQ EQU DCBMFGET 09210000 DCBMFECP EQU DCBMACF1 09211000 DCBTIOT EQU IHADCS25 09212000 DCBMRSTI EQU DCBMRDMD 09213000 DCBMRAWR EQU DCBMRSTK 09214000 DCBMRUIP EQU DCBMRTMD 09215000 DCBMRIDW EQU DCBMRLCP 09216000 DCBMRWRK EQU DCBMRMVP 09217000 DCBMRRDQ EQU DCBMRWRT 09218000 DCBMRGTQ EQU DCBMRPUT 09219000 DCBMRSTL EQU DCBMACR2 09220000 DCBMRCK EQU DCBMRDMG 09221000 DCBPGFXA EQU DCBMRRDX 09222000 DCBMRDBF EQU DCBMRSBG 09223000 DCBMRRDI EQU DCBMRLCG 09224000 DCBMRRDK EQU DCBMRMVG 09225000 DCBMRWRQ EQU DCBMRRD 09226000 DCBMRPTQ EQU DCBMRGET 09227000 DCBMRECP EQU DCBMACR1 09228000 @NM00070 EQU DCBIFLG 09229000 DCBIBIOE EQU DCBIFLG 09230000 DCBICH12 EQU DCBIBPCT 09231000 DCBICH9 EQU DCBIBPCT 09232000 DCBIBEC EQU DCBIFLG 09233000 DCBOFIOF EQU DCBOFLGS 09234000 DCBOFUEX EQU DCBOFLGS 09235000 DCBOFTM EQU DCBOFLGS 09236000 DCBOFPPC EQU DCBOFLGS 09237000 DCBOFEOV EQU DCBOFLGS 09238000 DCBOFLRB EQU DCBOFLGS 09239000 DCBOFIOD EQU DCBOFLWR 09240000 DCBDDNAM EQU IHADCS24 09241000 DCBTRBAL EQU IHADCS01+6 09242000 @NM00069 EQU IHADCS01+5 09243000 @NM00068 EQU IHADCS01+4 09244000 DCBDVTBA EQU DCBDVTBL+1 09245000 @NM00067 EQU DCBDVTBL 09246000 DCBKEYCN EQU IHADCS00+4 09247000 DCBRELAD EQU IHADCS00 09248000 @NM00066 EQU IHADCB 09249000 RPLERMSA EQU RPLCOMN+72 09250000 RPLEMLEN EQU RPLCOMN+70 09251000 RPLACTIV EQU RPLCOMN+69 09252000 RPLBRANC EQU RPLEXTD1 09253000 RPLNIB EQU RPLEXTD1 09254000 @NM00065 EQU RPLEXTD1 09255000 RPLEXIT EQU RPLEXTD1 09256000 RPLEXSCH EQU RPLEXTD1 09257000 RPLDDDD EQU RPLRBAR+4 09258000 @NM00064 EQU RPLRBAR+3 09259000 @NM00063 EQU RPLAIXID 09260000 RPLAXPKP EQU RPLAIXID 09261000 RPLAIXPC EQU RPLRBAR 09262000 RPLRSV88 EQU RPLOPT8 09263000 RPLUNCON EQU RPLOPT8 09264000 RPLACTV EQU RPLOPT8 09265000 RPLSESS EQU RPLOPT8 09266000 RPLPEND EQU RPLOPT8 09267000 RPLODPRM EQU RPLOPT8 09268000 RPLODACP EQU RPLOPT8 09269000 RPLODACQ EQU RPLOPT8 09270000 RPLRSV78 EQU RPLOPT7 09271000 RPLRSV77 EQU RPLOPT7 09272000 RPLRLSOP EQU RPLOPT7 09273000 RPLTPOST EQU RPLOPT7 09274000 RPLQOPT EQU RPLOPT7 09275000 RPLCNIMM EQU RPLCNOPT 09276000 RPLCNANY EQU RPLCNOPT 09277000 RPLCNALL EQU RPLCNOPT 09278000 RPLRSV68 EQU RPLOPT6 09279000 RPLRSV67 EQU RPLOPT6 09280000 RPLLOCK EQU RPLOPT6 09281000 RPLNCOND EQU RPLOPT6 09282000 RPLCOND EQU RPLOPT6 09283000 RPLEOT EQU RPLUNTYP 09284000 RPLEOM EQU RPLUNTYP 09285000 RPLEOB EQU RPLUNTYP 09286000 RPLWROPT EQU RPLOPT5 09287000 RPLNODE EQU RPLOPT5 09288000 RPLERACE EQU RPLWRTYP 09289000 RPLEAU EQU RPLWRTYP 09290000 RPLNERAS EQU RPLWRTYP 09291000 RPLPSOPT EQU RPLOPT5 09292000 RPLSSNIN EQU RPLOPT5 09293000 RPLDLGIN EQU RPLOPT5 09294000 RPLBUFL EQU RPLCOMN+52 09295000 RPLRLEN EQU RPLCOMN+48 09296000 RPLCHAIN EQU RPLNXTRP 09297000 RPLOPT4 EQU RPLOPTCD+3 09298000 RPLALIGN EQU RPLOPT3 09299000 RPLFMT EQU RPLOPT3 09300000 RPLFLD EQU RPLOPT3 09301000 RPLVFY EQU RPLOPT3 09302000 RPLBLK EQU RPLOPT3 09303000 RPLSFORM EQU RPLOPT3 09304000 RPLEODS EQU RPLOPT3 09305000 RPLNSP EQU RPLOPT2 09306000 @NM00062 EQU RPLOPT2 09307000 RPLLRD EQU RPLOPT2 09308000 RPLBWD EQU RPLOPT2 09309000 RPLADD EQU RPLADR 09310000 RPLECBIN EQU RPLECBSW 09311000 RPLGEN EQU RPLOPT1 09312000 RPLASY EQU RPLOPT1 09313000 RPLSKP EQU RPLOPT1 09314000 RPLSEQ EQU RPLOPT1 09315000 RPLDIR EQU RPLOPT1 09316000 RPLLOC EQU RPLOPT1 09317000 RPLDAF EQU RPLARG+2 09318000 RPLSAF EQU RPLARG 09319000 RPLAREA EQU RPLCOMN+32 09320000 RPLTCBPT EQU RPLCOMN+28 09321000 RPLCCHAR EQU RPLCOMN+20 09322000 RPLSTRID EQU RPLCOMN+18 09323000 RPLKEYL EQU RPLKEYLE 09324000 RPLRDSOH EQU RPLFDB3 09325000 RPLRLG EQU RPLFDB3 09326000 RPLLGFRC EQU RPLFDB3 09327000 RPLREOT EQU RPLFDB3 09328000 RPLREOM EQU RPLFDB3 09329000 RPLREOB EQU RPLFDB3 09330000 RPLSV32 EQU RPLFDB3 09331000 RPLUINPT EQU RPLFDB3 09332000 RPLSTSAV EQU RPLFDB2 09333000 RPLCUERR EQU RPLFDB2 09334000 RPLDLGFL EQU RPLFDB2 09335000 RPLIOERR EQU RPLFDB2 09336000 RPLDVUNS EQU RPLFDB2 09337000 RPLATND EQU RPLFDB2 09338000 RPLRVID EQU RPLFDB2 09339000 RPLERLK EQU RPLFDB2 09340000 RPLERREG EQU RPLRTNCD 09341000 RPLSTAT EQU RPLFDBWD 09342000 RPLPOST EQU RPLECB 09343000 RPLWAIT EQU RPLECB 09344000 RPLPLHPT EQU RPLCOMN+4 09345000 RPLLEN2 EQU RPLLEN 09346000 RPLREQ EQU RPLIDWD+2 09347000 RPLSTYP EQU RPLIDWD+1 09348000 RPLID EQU RPLIDWD 09349000 AMBVIOT EQU IDAAMB+116 09350000 AMBSZCP EQU IDAAMB+114 09351000 AMBSZFW EQU IDAAMB+112 09352000 AMBSZWR EQU IDAAMB+110 09353000 AMBSZRD EQU IDAAMB+108 09354000 AMBEXEX EQU IDAAMB+100 09355000 AMBWSHD EQU IDAAMB+96 09356000 AMBCPA EQU IDAAMB+92 09357000 AMBBM2SH EQU IDAAMB+88 09358000 AMBRDCNT EQU AMBCSWD1+2 09359000 @NM00061 EQU AMBCSWD1+1 09360000 @NM00060 EQU AMBAFLG 09361000 AMBCFX EQU AMBAFLG 09362000 AMBSIS EQU AMBAFLG 09363000 AMBDFR EQU AMBAFLG 09364000 AMBICI EQU AMBAFLG 09365000 AMBGSR EQU AMBAFLG 09366000 AMBLSR EQU AMBAFLG 09367000 @NM00059 EQU AMBAFLG 09368000 AMBUPLH EQU IDAAMB+80 09369000 AMBPAMBL EQU IDAAMB+76 09370000 AMBPIXP EQU IDAAMB+72 09371000 @NM00058 EQU IDAAMB+68 09372000 AMBIWA EQU IDAAMB+64 09373000 AMBWKA EQU IDAAMB+60 09374000 AMBAMBXN EQU AMBEOVPT 09375000 AMBEDB EQU IDAAMB+52 09376000 AMBRPT EQU IDAAMB+50 09377000 AMBPUG EQU AMBFLG2 09378000 AMBBUSY EQU AMBOFLGS 09379000 AMBEXFG EQU AMBOFLGS 09380000 @NM00057 EQU AMBOFLGS 09381000 AMBOPEN EQU AMBOFLGS 09382000 @NM00056 EQU AMBOFLGS 09383000 AMBDEBAD EQU AMBDEBPT+1 09384000 AMBIFLGS EQU AMBDEBPT 09385000 AMBAMETH EQU IDAAMB+43 09386000 AMBUPX EQU AMBINFL 09387000 AMBUCRA EQU AMBINFL 09388000 AMBSCRA EQU AMBINFL 09389000 AMBCAT EQU AMBINFL 09390000 @NM00055 EQU AMBINFL 09391000 @NM00054 EQU AMBINFL 09392000 AMBTIOT EQU IDAAMB+40 09393000 @NM00053 EQU IDAAMB+38 09394000 AMBDDSN EQU IDAAMB+35 09395000 AMBCDSN EQU IDAAMB+32 09396000 AMBIOMB EQU AMBIOBAD 09397000 @NM00052 EQU AMBDSORG+1 09398000 AMBDORGA EQU AMBDSORG+1 09399000 @NM00051 EQU AMBDSORG 09400000 AMBINBUF EQU AMBFLG1 09401000 AMBJRN EQU AMBFLG1 09402000 AMBUBF EQU AMBFLG1 09403000 AMBSPEED EQU AMBFLG1 09404000 AMBPCAT EQU AMBFLG1 09405000 AMBMCAT EQU AMBFLG1 09406000 AMBTYPE EQU AMBFLG1 09407000 @NM00050 EQU AMBFLG0 09408000 AMBPSDS EQU AMBFLG0 09409000 AMBCACB EQU IDAAMB+16 09410000 AMBPH EQU IDAAMB+12 09411000 AMBBUFC EQU IDAAMB+8 09412000 AMBLINK EQU IDAAMB+4 09413000 AMBLEN EQU IDAAMB+2 09414000 AMBRSC EQU IDAAMB+1 09415000 AMBID EQU IDAAMB 09416000 AMBLCMB EQU IDAAMBL+64 09417000 AMBLBIB EQU IDAAMBL+60 09418000 AMBLMIDS EQU IDAAMBL+42 09419000 AMBLNIDS EQU IDAAMBL+41 09420000 @NM00049 EQU IDAAMBL+40 09421000 AMBLNUM EQU IDAAMBL+38 09422000 AMBLNST EQU IDAAMBL+37 09423000 @NM00048 EQU AMBLFLG2 09424000 AMBLSTAG EQU AMBLFLG2 09425000 @NM00047 EQU AMBLFLG2 09426000 AMBLDUMY EQU AMBLFLG1 09427000 AMBLCAT EQU AMBLFLG1 09428000 AMBLUCRA EQU AMBLFLG1 09429000 AMBLSCRA EQU AMBLFLG1 09430000 AMBLVVIC EQU AMBLFLG1 09431000 AMBLUPD EQU AMBLFLG1 09432000 AMBLCINV EQU AMBLFLG1 09433000 AMBLFULL EQU AMBLFLG1 09434000 AMBLLEN EQU IDAAMBL+34 09435000 @NM00046 EQU AMBLSHAR 09436000 AMBLWRIT EQU AMBLSHAR 09437000 AMBLCATO EQU AMBLSHAR 09438000 AMBLPRIM EQU AMBLSHAR 09439000 AMBLID EQU IDAAMBL+32 09440000 @NM00045 EQU IDAAMBL+31 09441000 @NM00044 EQU AMBLTYPE 09442000 AMBLFIX EQU AMBLTYPE 09443000 AMBLBASE EQU AMBLTYPE 09444000 AMBLAIX EQU AMBLTYPE 09445000 AMBLUPGR EQU AMBLTYPE 09446000 AMBLPATH EQU AMBLTYPE 09447000 AMBLENO EQU AMBLVC+1 09448000 AMBLVRT EQU AMBLVC 09449000 AMBLXPT EQU IDAAMBL+24 09450000 AMBLDFR EQU AMBLQ 09451000 AMBLESDS EQU AMBLQ 09452000 AMBLKSDS EQU AMBLQ 09453000 AMBLUBF EQU AMBLQ 09454000 AMBLFSTP EQU AMBLQ 09455000 AMBLLSR EQU AMBLQ 09456000 AMBLGSR EQU AMBLQ 09457000 AMBLDDC EQU AMBLQ 09458000 AMBLDCI EQU AMBLIDF+4 09459000 AMBLCACB EQU AMBLIDF 09460000 @NM00043 EQU AMBLEOV+2 09461000 AMBLCOMP EQU AMBLEOV+1 09462000 AMBLESET EQU AMBLEFLG 09463000 AMBLWAIT EQU AMBLEFLG 09464000 AMBLACB EQU IDAAMBL+8 09465000 AMBLSCHN EQU IDAAMBL+4 09466000 AMBLPCHN EQU IDAAMBL 09467000 ACBAPID EQU ACBCOMN+72 09468000 ACBCBMWA EQU ACBCOMN+68 09469000 ACBLRECL EQU ACBCOMN+62 09470000 ACBMSGLN EQU ACBBLKSZ 09471000 ACBBUFSP EQU ACBCOMN+56 09472000 @NM00042 EQU ACBUJFCB+1 09473000 ACBOPTN EQU ACBUJFCB 09474000 ACBUCRA EQU ACBINFLG 09475000 ACBSCRA EQU ACBINFLG 09476000 ACBIJRQE EQU ACBINFLG 09477000 ACBJEPS EQU ACBINFLG 09478000 @NM00041 EQU ACBINFLG 09479000 ACBBUSY EQU ACBIOSFG 09480000 ACBLOCK EQU ACBEXFG 09481000 @NM00040 EQU ACBOFLGS 09482000 ACBDSERR EQU ACBOFLGS 09483000 ACBEOV EQU ACBOFLGS 09484000 @NM00039 EQU ACBOFLGS 09485000 ACBDEB EQU ACBDDNM+5 09486000 ACBERFL EQU ACBDDNM+4 09487000 ACBAM EQU ACBAMETH 09488000 ACBINFL EQU ACBDDNM+2 09489000 ACBTIOT EQU ACBDDNM 09490000 ACBUEL EQU ACBEXLST 09491000 ACBPASSW EQU ACBCOMN+32 09492000 ACBMSGAR EQU ACBCOMN+28 09493000 @NM00038 EQU ACBDSORG+1 09494000 ACBDORGA EQU ACBDSORG+1 09495000 @NM00037 EQU ACBDSORG 09496000 ACBCRNRE EQU ACBCROPS 09497000 ACBCRNCK EQU ACBCROPS 09498000 ACBASA EQU ACBCCTYP 09499000 @NM00036 EQU ACBCCTYP 09500000 ACBRECAF EQU ACBRECFM 09501000 ACBJBUF EQU ACBBUFPL+2 09502000 ACBMACR4 EQU ACBBUFPL+1 09503000 @NM00035 EQU ACBMACR3 09504000 ACBNCFX EQU ACBMACR3 09505000 ACBSIS EQU ACBMACR3 09506000 ACBDFR EQU ACBMACR3 09507000 ACBICI EQU ACBMACR3 09508000 ACBGSR EQU ACBMACR3 09509000 ACBLSR EQU ACBMACR3 09510000 @NM00034 EQU ACBMACR3 09511000 ACBBUFNI EQU ACBCOMN+18 09512000 ACBBUFND EQU ACBCOMN+16 09513000 ACBSTRNO EQU ACBCOMN+15 09514000 ACBBSTNO EQU ACBCOMN+14 09515000 ACBAIX EQU ACBMACR2 09516000 ACBDSN EQU ACBMACR2 09517000 ACBRST EQU ACBMACR2 09518000 ACBLOGON EQU ACBMACR2 09519000 ACBSKP EQU ACBMACR2 09520000 @NM00033 EQU ACBMACR2 09521000 ACBUBF EQU ACBMACR1 09522000 ACBOUT EQU ACBMACR1 09523000 ACBIN EQU ACBMACR1 09524000 ACBDIR EQU ACBMACR1 09525000 ACBSEQ EQU ACBMACR1 09526000 ACBBLK EQU ACBCNV 09527000 ACBADD EQU ACBADR 09528000 ACBKEY EQU ACBMACR1 09529000 ACBINRTN EQU ACBCOMN+8 09530000 ACBIBCT EQU ACBJWA 09531000 ACBLEN2 EQU ACBLENG2 09532000 ACBSTYP EQU ACBCOMN+1 09533000 ACBID EQU ACBCOMN 09534000 @NM00032 EQU SWAE+1 09535000 @NM00031 EQU SWOPTION 09536000 SWRSJSCB EQU SWOPTION 09537000 SWRSTIOT EQU SWOPTION 09538000 SWDELETE EQU SWOPTION 09539000 S99TUPRM EQU S99TUFLD+2 09540000 S99TULEN EQU S99TUFLD 09541000 S99TUNUM EQU S99TUNIT+2 09542000 S99TUKEY EQU S99TUNIT 09543000 S99TUPND EQU S99TUP 09544000 ICBVLCYL EQU ICBVLENT+6 09545000 ICBVLVID EQU ICBVLENT 09546000 @NM00030 EQU BASEV+192 09547000 BASXPDT2 EQU BASEV+188 09548000 BASRECOV EQU BASEV+174 09549000 BASDEST EQU BASEV+144 09550000 BASOWNER EQU BASEV+134 09551000 BASDESCR EQU BASEV+104 09552000 BASDTREM EQU BASEV+100 09553000 BASEXPDT EQU BASEV+96 09554000 BASRES6 EQU BASEV+89 09555000 BASCOPNO EQU BASCOPID+1 09556000 BASCOPBK EQU BASCOPID 09557000 BASCOPSN EQU BASKLCPY+5 09558000 BASCOPV EQU BASKLCPY 09559000 BASFREXT EQU BASEV+72 09560000 BASLEXT EQU BASEV+70 09561000 BASFRESP EQU BASEV+68 09562000 @NM00029 EQU BASEV+65 09563000 BASBKLMT EQU BASEV+64 09564000 BASNBKUP EQU BASEV+63 09565000 BASNCOPY EQU BASEV+62 09566000 BASNEXTV EQU BASEV+56 09567000 BASPREV EQU BASEV+50 09568000 BAS2BIT2 EQU BASLID2 09569000 BAS2BIT1 EQU BASLID2 09570000 BASRES5 EQU BASLIB2 09571000 BASCSN2 EQU BASEV+37 09572000 BAS1BIT2 EQU BASLID1 09573000 BAS1BIT1 EQU BASLID1 09574000 BASRES4 EQU BASLIB1 09575000 BASCSN1 EQU BASEV+24 09576000 BASRES3 EQU BASMISCF 09577000 BASHOLD EQU BASMISCF 09578000 BASRES8 EQU BASSATIA 09579000 BASVSMIS EQU BASSATIA 09580000 BASIVCPY EQU BASSATIA 09581000 BASIVCRE EQU BASSATIA 09582000 @NM00028 EQU BASFLAGA+3 09583000 BASLAST EQU BASFLAGA+3 09584000 BASFIRST EQU BASFLAGA+3 09585000 BASREASS EQU BASFLAGA+3 09586000 BASRONLY EQU BASFLAGA+3 09587000 BASDAERA EQU BASFLAGA+3 09588000 BASEXCL EQU BASFLAGA+2 09589000 BASBIND EQU BASFLAGA+2 09590000 BASRSTD EQU BASFLAGA+2 09591000 BASNOCPY EQU BASFLAGA+2 09592000 BASRES2 EQU BASTYPE 09593000 BASBASVR EQU BASTYPE 09594000 BASRES1 EQU BASTYPE 09595000 BASRES7 EQU BASEV+13 09596000 BASZERO EQU BASID+1 09597000 BASBLANK EQU BASID 09598000 BASEVKEY EQU BASNAME 09599000 @NM00027 EQU CPUID+150 09600000 @NM00026 EQU CPUMAP+5 09601000 CPURES2 EQU CPUTYPE 09602000 CPURES1 EQU CPUTYPE 09603000 @NM00025 EQU CPUID+13 09604000 @NM00024 EQU NGVR+32 09605000 NGVNOVOL EQU NGVR+30 09606000 @NM00023 EQU NGVR+29 09607000 @NM00022 EQU NGVR+15 09608000 NGVRES2 EQU NGVRTYPE+1 09609000 NGVRES1 EQU NGVRTYPE 09610000 NGVNAME EQU NGVR 09611000 GVSEXPDT EQU GVSSLOTS+14 09612000 @NM00021 EQU GVSVOLFL+2 09613000 @NM00020 EQU GVSHDR+20 09614000 @NM00019 EQU GVSHDR+17 09615000 @NM00018 EQU GVSFLAGA+2 09616000 @NM00017 EQU GVSTYPE 09617000 GVSGVSEX EQU GVSTYPE 09618000 @NM00016 EQU GVSTYPE 09619000 GVSNO EQU GVSID+1 09620000 GVSRES1 EQU GVSID 09621000 GVSG EQU GVSNAME 09622000 @NM00015 EQU GROUP+136 09623000 GRORESSP EQU GROUP+95 09624000 GROCONUS EQU GROUP+94 09625000 GROERRTM EQU GROERRTS+4 09626000 GROERRDT EQU GROERRTS 09627000 GRORETPD EQU GROUP+52 09628000 GROFREXT EQU GROUP+48 09629000 GROFRESP EQU GROUP+44 09630000 GROSTRSH EQU GROUP+40 09631000 GRONINAC EQU GROUP+34 09632000 GRONRSTD EQU GROUP+32 09633000 GRONGEN EQU GROUP+30 09634000 GROPCENT EQU GROUP+29 09635000 @NM00014 EQU GROFLAGA+2 09636000 GROMSG1 EQU GROFLAGA+2 09637000 GRORETN EQU GROFLAGA+2 09638000 GRORLSE EQU GROFLAGA+2 09639000 GRORONLY EQU GROFLAGA+2 09640000 GRODAERA EQU GROFLAGA+2 09641000 GROEXCL EQU GROFLAGA+2 09642000 GROBIND EQU GROFLAGA+2 09643000 GRORES1 EQU GROTYPE 09644000 GROZERO EQU GROID+1 09645000 GROG EQU GRONAME 09646000 @NM00013 EQU PURGFLG 09647000 PURGMPP EQU PURGFLG 09648000 @NM00012 EQU LSTPAIR+5 09649000 @NM00011 EQU INITVVI+16 09650000 @NM00010 EQU INIFLAGB 09651000 @NM00009 EQU INIFLAGA 09652000 INILNGTH EQU INITVVI 09653000 @NM00008 EQU RPLVSAM+44 09654000 @NM00007 EQU RPLVOPT 09655000 @NM00006 EQU RPLVOPT 09656000 @NM00005 EQU RPLVSAM+28 09657000 RPLVACB EQU RPLVSAM+24 09658000 @NM00004 EQU RPLVSAM+3 09659000 @NM00003 EQU RPLVSAM 09660000 @NM00002 EQU RPLV+42 09661000 RPLRMSCC EQU RPLV+36 09662000 RPLVRES1 EQU RPLFLAGA+1 09663000 RPLVJRNL EQU RPLFLAGA 09664000 RPLVVOP EQU RPLFLAGA 09665000 RPLVPROG EQU RPLFLAGA 09666000 RPLVPOST EQU RPLFLAGA 09667000 RPLVRSV3 EQU RPLV+24 09668000 RPLVRSV2 EQU RPLV+20 09669000 RPLVRSV1 EQU RPLV+16 09670000 RPLASCBP EQU RPLTCBPR 09671000 RPLVECB EQU RPLV+4 09672000 VVIUNUSD EQU VVICB+116 09673000 VVINUSDC EQU VVICB+112 09674000 VVITPFCH EQU VVICB+108 09675000 VVIVBSTF EQU VVICB+100 09676000 VVISTPTB EQU VVICB+88 09677000 VVIDVMTA EQU VVICB+84 09678000 VVIRES6 EQU VVICB+72 09679000 VVIRES5 EQU VVICB+68 09680000 VVIRES4 EQU VVICB+64 09681000 VVIVJL EQU VVICB+56 09682000 VVIVRR EQU VVICB+52 09683000 VVIQLSPL EQU VVICB+48 09684000 VVIOPCD EQU VVICB+36 09685000 VVIECB1 EQU VVICB+28 09686000 VVIFLG7 EQU VVIFLGA 09687000 VVIFLG6 EQU VVIFLGA 09688000 VVICID EQU VVICB 09689000 ICBLORD EQU ICBTRACE+256 09690000 ICBOTRC EQU ICBTRACE 09691000 ICBRESV EQU ICB2SSCB+128 09692000 ICBRESVD EQU ICB2SSCB+117 09693000 ICBFAB EQU ICB2SSCB+108 09694000 ICBMSSC EQU ICB2SSCB+104 09695000 ICBRSVP EQU ICB2SSCB+100 09696000 ICBAEAP EQU ICB2SSCB+96 09697000 ICBSIOBP EQU ICB2SSCB+92 09698000 ICBIATNA EQU ICB2SSCB+88 09699000 ICBIPRGA EQU ICB2SSCB+84 09700000 ICBSRBP EQU ICB2SSCB+80 09701000 ICBSIOP EQU ICB2SSCB+68 09702000 ICBMEP EQU ICB2SSCB+64 09703000 ICBIORCI EQU ICB2SSCB+60 09704000 ICB2ACTP EQU ICB2SSCB+56 09705000 ICBFG3 EQU ICBFLG+2 09706000 ICBFG2 EQU ICBFLG+1 09707000 @NM00001 EQU ICBFG1 09708000 ICBMSCA EQU ICBFG1 09709000 ICBMSCMP EQU ICBFG1 09710000 ICBS EQU ICBFG1 09711000 ICBB EQU ICBFG1 09712000 ICBR EQU ICBFG1 09713000 ICBI EQU ICBFG1 09714000 ICBNVT EQU ICBOPT 09715000 ICBVN02P EQU ICB2SSCB+44 09716000 ICBTCB EQU ICB2SSCB+40 09717000 ICBQHEAD EQU ICB2SSCB+36 09718000 ICBAUCB EQU ICB2SSCB+32 09719000 ICBPUCB EQU ICB2SSCB+28 09720000 ICBCOMQ EQU ICB2SSCB+24 09721000 ICBIOR EQU ICB2SSCB+20 09722000 ICBCOM EQU ICB2SSCB+16 09723000 ICBACTV EQU ICB2SSCB+12 09724000 ICBECB EQU ICB2SSCB+8 09725000 ICBSSNAM EQU ICB2SSCB 09726000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 09727000 @RF00462 EQU @EL00002 09728000 @RF00470 EQU @EL00002 09729000 @RC00683 EQU @RC00681 09730000 @RF00719 EQU @RC00561 09731000 @RC00733 EQU @EL00003 09732000 @RF00756 EQU @EL00005 09733000 @RF00829 EQU @EL00006 09734000 @RF00876 EQU @EL00007 09735000 @RC00926 EQU @EL00008 09736000 @RT01434 EQU @EL00015 09737000 @RC01444 EQU @EL00015 09738000 @RC01470 EQU @EL00015 09739000 @RF01640 EQU @EL00016 09740000 @RF01659 EQU @EL00017 09741000 @RF01683 EQU @EL00018 09742000 @RC01805 EQU @EL00020 09743000 @RF01888 EQU @EL00025 09744000 @RF01916 EQU @EL00026 09745000 @RF02002 EQU @EL00026 09746000 @RF02085 EQU @EL00027 09747000 @RF00695 EQU @RC00683 09748000 @RF00928 EQU @RC00926 09749000 @ENDDATA EQU * 09750000 END ICBVIN00,(C'PLS1906',0701,77353) 09751000