TITLE 'ISDAAPR1 - ALTERNATE PATH RETRY REPORT FORMATER *00001000 ' 00002000 ISDAAPR1 CSECT , 0001 00003000 @MAINENT DS 0H 0001 00004000 USING *,@15 0001 00005000 B @PROLOG 0001 00006000 DC AL1(16) 0001 00007000 DC C'ISDAAPR1 78.044' 0001 00008000 DROP @15 00009000 @PROLOG STM @14,@12,12(@13) 0001 00010000 BALR @11,0 0001 00011000 @PSTART LA @12,4095(,@11) 0001 00012000 USING @PSTART,@11 0001 00013000 USING @PSTART+4095,@12 0001 00014000 L @00,@SIZDATD 0001 00015000 ISDAGSPC R,LV=(0) 00016000 LR @10,@01 0001 00017000 USING @DATD,@10 0001 00018000 ST @13,@SA00001+4 0001 00019000 LM @00,@01,20(@13) 0001 00020000 ST @10,8(,@13) 0001 00021000 LR @13,@10 0001 00022000 MVC @PC00001(4),0(@01) 0001 00023000 * 0044 00024000 * /*****************************************************************/ 00025000 * /* */ 00026000 * /* INITIALIZE WORK AREAS AND CALL REPORT GENERATORS */ 00027000 * /* */ 00028000 * /*****************************************************************/ 00029000 * 0044 00030000 * CVTPTR=WORKPTR; /* SET LOCAL PTR TO ISDACVT 0044 00031000 * @ZD00192*/ 00032000 L @06,@PC00001 0044 00033000 L CVTPTR,WORKPTR(,@06) 0044 00034000 * APRWKPTR=APR00PTR; /* SET LOCAL PTR TO WORK AREA 0045 00035000 * @ZD00192*/ 00036000 L APRWKPTR,APR00PTR(,CVTPTR) 0045 00037000 * RETCODE=0; /* ZERO RETURN CODE @ZD00192*/ 00038000 SLR RETCODE,RETCODE 0046 00039000 * STARTPNT=0; /* INIT POINTER TO ACCPOINT 0047 00040000 * @ZD00192*/ 00041000 SLR @15,@15 0047 00042000 ST @15,STARTPNT(,APRWKPTR) 0047 00043000 * LPARMPTR=PARMPTR; /* SET LOCAL PTR TO ISDAPRMS 0048 00044000 * @ZD00192*/ 00045000 MVC LPARMPTR(4),PARMPTR(CVTPTR) 0048 00046000 * IF TOTALENT>0 THEN /* ANY DATA SAVED @ZD00192*/ 00047000 C @15,TOTALENT(,APRWKPTR) 0049 00048000 BNL @RF00049 0049 00049000 * DO; /* YES, PRODUCE REPORT @ZD00192*/ 00050000 * CALL GETPOINT; /* GET ACCPOINT TABLE @ZD00192*/ 00051000 BAL @14,GETPOINT 0051 00052000 * IF RETCODE=0 THEN /* ACCPOINT GOTTEN @ZD00192*/ 00053000 LTR RETCODE,RETCODE 0052 00054000 BNZ @RF00052 0052 00055000 * DO; /* YES, CONTINUE @ZD00192*/ 00056000 * IF APRFLAGS(1)='1'B THEN/* IS A SORT REQUIRED @ZD00192*/ 00057000 TM APRFLAGS(APRWKPTR),B'10000000' 0054 00058000 BNO @RF00054 0054 00059000 * CALL SORTENT; /* SORT ACCPOINT BY DATE,TIME 0055 00060000 * @ZD00192*/ 00061000 BAL @14,SORTENT 0055 00062000 * ELSE; /* NO, INPUT IN CORRECT ORDER 0056 00063000 * @ZD00192*/ 00064000 @RF00054 DS 0H 0057 00065000 */* CALL TRACEENT DUMP ACCUMULATOR @ZD00192*/ 00066000 * 0057 00067000 * IF CAPRSUU(8)='1'B THEN /* APR REQUESTED @ZD00192*/ 00068000 L @06,LPARMPTR 0057 00069000 TM CAPRSUU(@06),B'00000001' 0057 00070000 BNO @RF00057 0057 00071000 * DO; /* PRODUCE DETAIL PRINTOUT 0058 00072000 * @ZD00192*/ 00073000 * CALL DODETAIL; /* PRODUCE DETAIL REPORT @ZD00192*/ 00074000 BAL @14,DODETAIL 0059 00075000 * CALL SUMENT; /* SUMMARIZE THE ENTRIES @ZD00192*/ 00076000 BAL @14,SUMENT 0060 00077000 * CALL SORTENT; /* SORT NEW ACCPOINT @ZD00192*/ 00078000 BAL @14,SORTENT 0061 00079000 * END; /* END DETAIL REPORT CODE@ZD00192*/ 00080000 * ELSE; /* SUU ONLY, DO SUMMARY @ZD00192*/ 00081000 @RF00057 DS 0H 0064 00082000 * IF CAPRSUU(7)='1'B THEN /* SUU REQUESTED @ZD00192*/ 00083000 L @06,LPARMPTR 0064 00084000 TM CAPRSUU(@06),B'00000010' 0064 00085000 BNO @RF00064 0064 00086000 * IF TOTALENT>0 THEN /* ANY DATA TO PRINT @ZM31022*/ 00087000 ICM @06,15,TOTALENT(APRWKPTR) 0065 00088000 BNP @RF00065 0065 00089000 * CALL DOSUMRPT; /* YES, PRINT SUMMARY @ZD00192*/ 00090000 BAL @14,DOSUMRPT 0066 00091000 * ELSE /* NO DATA FOR SUU @ZM31022*/ 00092000 * RETCODE=16; /* SET SUU NOT PRINTED @ZM31022*/ 00093000 B @RC00065 0067 00094000 @RF00065 LA RETCODE,16 0067 00095000 * ELSE; /* SUU NOT REQUESTED @ZD00192*/ 00096000 @RF00064 DS 0H 0069 00097000 * END; /* END REPORT @ZD00192*/ 00098000 * ELSE; /* NO REPORT, BAD RETURN FROM 0070 00099000 * GETPOINT @ZD00192*/ 00100000 @RF00052 DS 0H 0071 00101000 * IF RETCODE<4 THEN /* LOCAL RETCODE SET AS FLAG 0071 00102000 * @ZD00192*/ 00103000 @RC00052 CH RETCODE,@CH00106 0071 00104000 BNL @RF00071 0071 00105000 * RETCODE=0; /* YES, RESET TO ZERO @ZD00192*/ 00106000 SLR RETCODE,RETCODE 0072 00107000 * ELSE; /* NO, MUST BE VALID ERROR RETURN 00108000 * @ZD00192*/ 00109000 @RF00071 DS 0H 0074 00110000 * END; /* END REPORT @ZD00192*/ 00111000 * ELSE /* NO DATA SAVED BY ISDAAPR0 0075 00112000 * @ZD00192*/ 00113000 * RETCODE=8; /* SET NO REPORT RETURN CODE 0075 00114000 * @ZD00192*/ 00115000 B @RC00049 0075 00116000 @RF00049 LA RETCODE,8 0075 00117000 * CALL FREECORE; /* FREE ALL CORE @ZD00192*/ 00118000 @RC00049 BAL @14,FREECORE 0076 00119000 * RETURN CODE(RETCODE); /* RETURN TO ISDASDA0 @ZD00192*/ 00120000 L @13,4(,@13) 0077 00121000 L @00,@SIZDATD 0077 00122000 LR @01,@10 0077 00123000 ISDAFSPC R,LV=(0),A=(1) 00124000 LR @15,@07 0077 00125000 L @14,12(,@13) 0077 00126000 LM @00,@12,20(@13) 0077 00127000 BR @14 0077 00128000 * 0078 00129000 * /*****************************************************************/ 00130000 * /* */ 00131000 * /* GETPOINT - GET AND INITIALIZE ACCPOINT - TABLE OF POINTERS TO */ 00132000 * /* ACCUMULATOR ENTRIES */ 00133000 * /* */ 00134000 * /*****************************************************************/ 00135000 * 0078 00136000 *GETPOINT: 0078 00137000 * PROC OPTIONS(SAVE(14)); /* GETPOINT PROC @ZD00192*/ 00138000 @EL00001 L @13,4(,@13) 0078 00139000 @EF00001 L @00,@SIZDATD 0078 00140000 LR @01,@10 0078 00141000 ISDAFSPC R,LV=(0),A=(1) 00142000 @ER00001 LM @14,@12,12(@13) 0078 00143000 BR @14 0078 00144000 GETPOINT ST @14,@SA00002 0078 00145000 * POINTLEN=TOTALENT*4; /* COMPUTE LENGTH, 4 BYTES PER 0079 00146000 * ENTRY @ZD00192*/ 00147000 L @06,TOTALENT(,APRWKPTR) 0079 00148000 SLA @06,2 0079 00149000 STH @06,POINTLEN(,APRWKPTR) 0079 00150000 * CORELEN=POINTLEN; /* MOVE LENGTH @ZD00192*/ 00151000 STCM @06,7,CORELEN(CVTPTR) 0080 00152000 * SPNO=APRSPNO; /* MOVE SUBPOOL NUMBER @ZD00192*/ 00153000 MVC SPNO(1,CVTPTR),APRSPNO 0081 00154000 * RFY 0082 00155000 * R1 RSTD; /* @ZD00192*/ 00156000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZD00192*/ 00157000 LA R1,WORKCALL(,CVTPTR) 0083 00158000 * CALL ISDAGET1; /* GET CORE @ZD00192*/ 00159000 L @15,@CV00391 0084 00160000 BALR @14,@15 0084 00161000 * RFY 0085 00162000 * R15 RSTD; /* @ZD00192*/ 00163000 * RETCODE=R15; /* SAVE RETURN CODE @ZD00192*/ 00164000 LR RETCODE,R15 0086 00165000 * RFY 0087 00166000 * (R1, 0087 00167000 * R15) UNRSTD; /* @ZD00192*/ 00168000 * IF RETCODE=0 THEN /* GOT CORE OK @ZD00192*/ 00169000 LTR RETCODE,RETCODE 0088 00170000 BNZ @RF00088 0088 00171000 * DO; /* YES, BUILD ACCPOINT @ZD00192*/ 00172000 * STARTPNT=COREADDR; /* SAVE ADDRESS @ZD00192*/ 00173000 MVC STARTPNT(4,APRWKPTR),COREADDR(CVTPTR) 0090 00174000 * ENTRYPTR=ACCUMPTR; /* POINT TO START OF DATA@ZD00192*/ 00175000 L ENTRYPTR,ACCUMPTR(,APRWKPTR) 0091 00176000 * DO PINDEX=1 TO TOTALENT WHILE(RETCODE=0);/* LOOP @ZD00192*/ 00177000 LA @06,1 0092 00178000 B @DE00092 0092 00179000 @DL00092 SLR @05,@05 0092 00180000 CR RETCODE,@05 0092 00181000 BNE @DC00092 0092 00182000 * IF ENTRYPTR^=0 THEN /* ADDR NOT ZERO @ZD00192*/ 00183000 CR ENTRYPTR,@05 0093 00184000 BE @RF00093 0093 00185000 * DO; /* ADD ADDR TO ACCPOINT @ZD00192*/ 00186000 * ACCPOINT(PINDEX)=ENTRYPTR;/* MOVE ADDRESS @ZD00192*/ 00187000 SLA @06,2 0095 00188000 L @05,STARTPNT(,APRWKPTR) 0095 00189000 AL @05,@CF00875 0095 00190000 ST ENTRYPTR,ACCPOINT(@06,@05) 0095 00191000 * ENTRYPTR=NEXTENT; /* POINT TO NEXT ENTRY @ZD00192*/ 00192000 L ENTRYPTR,NEXTENT(,ENTRYPTR) 0096 00193000 * END; /* END BUILD @ZD00192*/ 00194000 * ELSE /* BAD ENTRY @ZD00192*/ 00195000 * RETCODE=20; /* SET ERROR RETURN CODE @ZD00192*/ 00196000 B @RC00093 0098 00197000 @RF00093 LA RETCODE,20 0098 00198000 * END; /* END LOOP THROUGH ACCUMULATORS 00199000 * @ZD00192*/ 00200000 @RC00093 LA @06,1 0099 00201000 AL @06,PINDEX 0099 00202000 @DE00092 ST @06,PINDEX 0099 00203000 C @06,TOTALENT(,APRWKPTR) 0099 00204000 BNH @DL00092 0099 00205000 @DC00092 DS 0H 0100 00206000 * IF ENTRYPTR^=0&RETCODE=0 THEN/* LAST ENTRY POINTS TO ZERO 0100 00207000 * @ZD00192*/ 00208000 SLR @06,@06 0100 00209000 CR ENTRYPTR,@06 0100 00210000 BE @RF00100 0100 00211000 CR RETCODE,@06 0100 00212000 BNE @RF00100 0100 00213000 * RETCODE=20; /* NO, SET ERROR RETURN CODE 0101 00214000 * @ZD00192*/ 00215000 LA RETCODE,20 0101 00216000 * ELSE; /* YES, ACCUMULATOR CHAIN IS OK 00217000 * @ZD00192*/ 00218000 @RF00100 DS 0H 0103 00219000 * END; /* END INITIALIZE ACCPOINT 0103 00220000 * @ZD00192*/ 00221000 * ELSE; /* BAD RETURN FROM ISDAGET1 0104 00222000 * @ZD00192*/ 00223000 @RF00088 DS 0H 0105 00224000 * END GETPOINT; /* END GETPOINT PROC @ZD00192*/ 00225000 @EL00002 DS 0H 0105 00226000 @EF00002 DS 0H 0105 00227000 @ER00002 L @14,@SA00002 0105 00228000 BR @14 0105 00229000 * 0106 00230000 * /*****************************************************************/ 00231000 * /* */ 00232000 * /* SORTENT - PROC TO SORT THE TABLE OF ENTRY POINTERS BY DATE AND*/ 00233000 * /* TIME */ 00234000 * /* */ 00235000 * /*****************************************************************/ 00236000 * 0106 00237000 *SORTENT: 0106 00238000 * PROC OPTIONS(SAVE(14)); /* SORT PROC @ZD00192*/ 00239000 SORTENT ST @14,12(,@13) 0106 00240000 * SORTCNT=''B; /* ZERO SORT COUNT @ZD00192*/ 00241000 SLR @06,@06 0107 00242000 ST @06,SORTCNT(,APRWKPTR) 0107 00243000 * DO I=1 TO TOTALENT-1; /* MAIN LOOP @ZD00192*/ 00244000 LA I,1 0108 00245000 B @DE00108 0108 00246000 @DL00108 DS 0H 0109 00247000 * DO J=I+1 TO TOTALENT; /* INNER LOOP @ZD00192*/ 00248000 LA J,1 0109 00249000 ALR J,I 0109 00250000 B @DE00109 0109 00251000 @DL00109 DS 0H 0110 00252000 * SORTCNT=SORTCNT+1; /* ADD 1 TO LOOP COUNT @ZD00192*/ 00253000 LA @15,1 0110 00254000 AL @15,SORTCNT(,APRWKPTR) 0110 00255000 ST @15,SORTCNT(,APRWKPTR) 0110 00256000 * ENTRYPTR=ACCPOINT(I); /* SET BASE PTR @ZD00192*/ 00257000 LR @15,I 0111 00258000 SLA @15,2 0111 00259000 L @14,STARTPNT(,APRWKPTR) 0111 00260000 LA @01,0(@15,@14) 0111 00261000 AL @01,@CF00875 0111 00262000 L @09,ACCPOINT(,@01) 0111 00263000 LR ENTRYPTR,@09 0111 00264000 * SAVEDYTS=ENTDAYTS; /* MOVE DATE,TIME, SEQ NO@ZM31121*/ 00265000 MVC SAVEDYTS(9,APRWKPTR),ENTDAYTS(ENTRYPTR) 0112 00266000 * ENTRYPTR=ACCPOINT(J); /* SET NEW BASE @ZD00192*/ 00267000 LR @08,J 0113 00268000 SLA @08,2 0113 00269000 LA @01,0(@08,@14) 0113 00270000 AL @01,@CF00875 0113 00271000 L ENTRYPTR,ACCPOINT(,@01) 0113 00272000 * IF SAVEDYTS>ENTDAYTS THEN /* OLD DATE,TIME > NEW @ZM31121*/ 00273000 CLC SAVEDYTS(9,APRWKPTR),ENTDAYTS(ENTRYPTR) 0114 00274000 BNH @RF00114 0114 00275000 * DO; /* YES, SWAP THE TWO ENTRY 0115 00276000 * POINTERS @ZD00192*/ 00277000 * ACCPOINT(J)=ACCPOINT(I);/* MOVE I TO J @ZD00192*/ 00278000 AL @08,@CF00875 0116 00279000 ST @09,ACCPOINT(@08,@14) 0116 00280000 * ACCPOINT(I)=ENTRYPTR; /* MOVE OLD J TO I @ZD00192*/ 00281000 AL @14,@CF00875 0117 00282000 ST ENTRYPTR,ACCPOINT(@15,@14) 0117 00283000 * END; /* END POINTER SWAP @ZD00192*/ 00284000 * ELSE 0119 00285000 * ; /* NO SWAP, DATE,TIME NOT > 0119 00286000 * @ZD00192*/ 00287000 @RF00114 DS 0H 0120 00288000 * END; /* END INNER LOOP @ZD00192*/ 00289000 AH J,@CH00083 0120 00290000 @DE00109 C J,TOTALENT(,APRWKPTR) 0120 00291000 BNH @DL00109 0120 00292000 * END; /* END MAIN LOOP @ZD00192*/ 00293000 AH I,@CH00083 0121 00294000 @DE00108 L @06,TOTALENT(,APRWKPTR) 0121 00295000 BCTR @06,0 0121 00296000 CR I,@06 0121 00297000 BNH @DL00108 0121 00298000 * END SORTENT; /* END SORT PROC @ZD00192*/ 00299000 @EL00003 DS 0H 0122 00300000 @EF00003 DS 0H 0122 00301000 @ER00003 L @14,12(,@13) 0122 00302000 BR @14 0122 00303000 * 0123 00304000 * /*****************************************************************/ 00305000 * /* */ 00306000 * /* DODETAIL - PROC TO PRODUCE DETAIL REPORT OF FAILURES */ 00307000 * /* */ 00308000 * /*****************************************************************/ 00309000 * 0123 00310000 *DODETAIL: 0123 00311000 * PROC OPTIONS(SAVE(14)); /* PRINT DETAIL PROC @ZD00192*/ 00312000 * 0123 00313000 DODETAIL ST @14,@SA00004 0123 00314000 * /*****************************************************************/ 00315000 * /* */ 00316000 * /* CALL PHEADER TO PRINT TITLE, HEADER LINES 1 AND 2 */ 00317000 * /* */ 00318000 * /*****************************************************************/ 00319000 * 0124 00320000 * CALL PHEADER; /* CALL PHEADER PROC @ZD00192*/ 00321000 BAL @14,PHEADER 0124 00322000 * DO PINDEX=1 TO TOTALENT; /* LOOP THROUGH ACCPOINT @ZD00192*/ 00323000 LA @06,1 0125 00324000 B @DE00125 0125 00325000 @DL00125 DS 0H 0126 00326000 * ENTRYPTR=ACCPOINT(PINDEX); /* GET ADDR OF ENTRY @ZD00192*/ 00327000 SLA @06,2 0126 00328000 L @01,STARTPNT(,APRWKPTR) 0126 00329000 AL @01,@CF00875 0126 00330000 L ENTRYPTR,ACCPOINT(@06,@01) 0126 00331000 * IF ETYPCODE^=T42 THEN /* NOT IN APR RECORD @ZM31121*/ 00332000 * 0127 00333000 CLI ETYPCODE(ENTRYPTR),X'42' 0127 00334000 BE @RF00127 0127 00335000 * /*************************************************************/ 00336000 * /* */ 00337000 * /* PRINT ONE LINE FOR ALL RECORDS NOT IN APR */ 00338000 * /* */ 00339000 * /*************************************************************/ 00340000 * 0128 00341000 * DO; /* YES, NOT APR @ZD00192*/ 00342000 * IF LINECNT>56 THEN /* AT END OF PAGE @ZD00192*/ 00343000 L @06,LINECNT(,APRWKPTR) 0129 00344000 CH @06,@CH00626 0129 00345000 BNH @RF00129 0129 00346000 * CALL PHEADER; /* YES, START NEW PAGE @ZD00192*/ 00347000 BAL @14,PHEADER 0130 00348000 * ELSE 0131 00349000 * ; /* NO, OK @ZD00192*/ 00350000 @RF00129 DS 0H 0132 00351000 * IF ANSI=LSKIP1 THEN /* ONE SKIP @ZM31121*/ 00352000 CLI ANSI(CVTPTR),C' ' 0132 00353000 BNE @RF00132 0132 00354000 * LINECNT=LINECNT+1; /* YES, ADD 1 TO COUNT @ZM31121*/ 00355000 LA @06,1 0133 00356000 AL @06,LINECNT(,APRWKPTR) 0133 00357000 ST @06,LINECNT(,APRWKPTR) 0133 00358000 * ELSE /* NO, HAVE 2 SKIP @ZM31121*/ 00359000 * LINECNT=LINECNT+2; /* ADD 2 TO LINECNT @ZD00192*/ 00360000 B @RC00132 0134 00361000 @RF00132 LA @06,2 0134 00362000 AL @06,LINECNT(,APRWKPTR) 0134 00363000 ST @06,LINECNT(,APRWKPTR) 0134 00364000 * LINE=''; /* BLANK OUTPUT LINE @ZD00192*/ 00365000 @RC00132 MVI LINE(CVTPTR),C' ' 0135 00366000 MVC LINE+1(131,CVTPTR),LINE(CVTPTR) 0135 00367000 * APRTEMPS=''B; /* ZERO TEMP AREA @ZD00192*/ 00368000 XC APRTEMPS(32,APRWKPTR),APRTEMPS(APRWKPTR) 0136 00369000 * SAVEDAYT=ENTDAYT; /* MOVE DATE,TIME @ZD00192*/ 00370000 MVC SAVEDAYT(8,APRWKPTR),ENTDAYT(ENTRYPTR) 0137 00371000 * CALL MOVEDAYT; /* BUILD DATE,TIME SECTION 0138 00372000 * @ZD00192*/ 00373000 BAL @14,MOVEDAYT 0138 00374000 * BAR2=DASH; /* MOVE DASH @ZD00192*/ 00375000 MVI BAR2(CVTPTR),C'-' 0139 00376000 * BAR3=DASH; /* MOVE DASH @ZD00192*/ 00377000 MVI BAR3(CVTPTR),C'-' 0140 00378000 * IF EFLAG1='1'B THEN /* ACTION 1 @ZM31121*/ 00379000 * 0141 00380000 TM EFLAG1(ENTRYPTR),B'10000000' 0141 00381000 BNO @RF00141 0141 00382000 * /*********************************************************/ 00383000 * /* */ 00384000 * /* ACTION 1 - START APR SEQUENCE */ 00385000 * /* */ 00386000 * /*********************************************************/ 00387000 * 0142 00388000 * CALL BACTION1; /* YES, BUILD ACTION 1 @ZM31121*/ 00389000 BAL @14,BACTION1 0142 00390000 * ELSE 0143 00391000 * IF EFLAG2='1'B THEN /* ACTION 2 @ZM31121*/ 00392000 * 0143 00393000 B @RC00141 0143 00394000 @RF00141 TM EFLAG2(ENTRYPTR),B'01000000' 0143 00395000 BNO @RF00143 0143 00396000 * /*******************************************************/ 00397000 * /* */ 00398000 * /* ACTION 2 - END APR WITH OR WITHOUT MEDIA FAILURE */ 00399000 * /* */ 00400000 * /*******************************************************/ 00401000 * 0144 00402000 * CALL BACTION2; /* YES, BUILD ACTION 2 @ZM31121*/ 00403000 BAL @14,BACTION2 0144 00404000 * ELSE 0145 00405000 * IF EFLAG3='1'B THEN /* ACTION 3 @ZD00192*/ 00406000 * 0145 00407000 B @RC00143 0145 00408000 @RF00143 TM EFLAG3(ENTRYPTR),B'00100000' 0145 00409000 BNO @RF00145 0145 00410000 * /*****************************************************/ 00411000 * /* */ 00412000 * /* ACTION 3 - UNIT UNUSABLE (APR) OR ACTION 8 - */ 00413000 * /* CYLINDER STAGED WITH ERROR (APR) OR CODE 06 SUU */ 00414000 * /* */ 00415000 * /*****************************************************/ 00416000 * 0146 00417000 * IF ETYPCODE=T00|ETYPCODE=TF6 THEN/* APR SUU OR 06 SUU 00418000 * @ZA28897*/ 00419000 CLI ETYPCODE(ENTRYPTR),X'00' 0146 00420000 BE @RT00146 0146 00421000 CLI ETYPCODE(ENTRYPTR),X'F6' 0146 00422000 BNE @RF00146 0146 00423000 @RT00146 DS 0H 0147 00424000 * CALL BACTION3; /* YES, BUILD ACTION 3 @ZM31121*/ 00425000 BAL @14,BACTION3 0147 00426000 * ELSE /* NO, MUST BE ACTION 8 @ZM31121*/ 00427000 * CALL BACTION8; /* BUILD ACTION 8 MSG @ZM31121*/ 00428000 B @RC00146 0148 00429000 @RF00146 BAL @14,BACTION8 0148 00430000 * ELSE /* CHECK NEXT ACTION @ZD00192*/ 00431000 * IF EFLAG4='1'B THEN /* ACTION 4 @ZD00192*/ 00432000 * 0149 00433000 B @RC00145 0149 00434000 @RF00145 TM EFLAG4(ENTRYPTR),B'00010000' 0149 00435000 BNO @RF00149 0149 00436000 * /***************************************************/ 00437000 * /* */ 00438000 * /* ACTION 4 - PERMANENT ERROR */ 00439000 * /* */ 00440000 * /***************************************************/ 00441000 * 0150 00442000 * CALL BACTION4; /* YES, BUILD ACTION 4 MESSAGE 0150 00443000 * @ZD00192*/ 00444000 BAL @14,BACTION4 0150 00445000 * ELSE /* CHECK NEXT ACTION @ZD00192*/ 00446000 * IF EFLAG5='1'B THEN/* ACTION 5 @ZD00192*/ 00447000 * 0151 00448000 B @RC00149 0151 00449000 @RF00149 TM EFLAG5(ENTRYPTR),B'00001000' 0151 00450000 BNO @RF00151 0151 00451000 * /*************************************************/ 00452000 * /* */ 00453000 * /* ACTION 5 - CS RECONFIGURED */ 00454000 * /* */ 00455000 * /*************************************************/ 00456000 * 0152 00457000 * CALL BACTION5; /* YES, BUILD ACTION 5 MESSAGE 0152 00458000 * @ZD00192*/ 00459000 BAL @14,BACTION5 0152 00460000 * ELSE /* CHECK NEXT ACTION @ZD00192*/ 00461000 * IF EFLAG6='1'B THEN/* ACTION 6 @ZD00192*/ 00462000 * 0153 00463000 B @RC00151 0153 00464000 @RF00151 TM EFLAG6(ENTRYPTR),B'00000100' 0153 00465000 BNO @RF00153 0153 00466000 * /***********************************************/ 00467000 * /* */ 00468000 * /* ACTION 6 - MISPLACED CARTRIDGE */ 00469000 * /* */ 00470000 * /***********************************************/ 00471000 * 0154 00472000 * CALL BACTION6;/* YES, BUILD ACTION 6 MESSAGE 0154 00473000 * @ZD00192*/ 00474000 BAL @14,BACTION6 0154 00475000 * ELSE /* CHECK NEXT ACTION @ZD00192*/ 00476000 * IF EFLAG7='1'B THEN/* ACTION 7 @ZD00192*/ 00477000 * 0155 00478000 B @RC00153 0155 00479000 @RF00153 TM EFLAG7(ENTRYPTR),B'00000010' 0155 00480000 BNO @RF00155 0155 00481000 * /*********************************************/ 00482000 * /* */ 00483000 * /* ACTION 7 - SWITCH TO ALT MSC */ 00484000 * /* */ 00485000 * /*********************************************/ 00486000 * 0156 00487000 * CALL BACTION7;/* YES, BUILD ACTION 7 MESSAGE 00488000 * @ZD00192*/ 00489000 BAL @14,BACTION7 0156 00490000 * ELSE /* BAD EFLAG @ZD00192*/ 00491000 * RETCODE=20; /* SET ERROR RETURN CODE @ZD00192*/ 00492000 * 0157 00493000 B @RC00155 0157 00494000 @RF00155 LA RETCODE,20 0157 00495000 * /***********************************************************/ 00496000 * /* */ 00497000 * /* OUTPUT LINE */ 00498000 * /* */ 00499000 * /***********************************************************/ 00500000 * 0158 00501000 * RFY 0158 00502000 * R1 RSTD; /* @ZD00192*/ 00503000 @RC00155 DS 0H 0158 00504000 @RC00153 DS 0H 0158 00505000 @RC00151 DS 0H 0158 00506000 @RC00149 DS 0H 0158 00507000 @RC00145 DS 0H 0158 00508000 @RC00143 DS 0H 0158 00509000 @RC00141 DS 0H 0159 00510000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZD00192*/ 00511000 LA R1,WORKCALL(,CVTPTR) 0159 00512000 * CALL ISDAPRT0; /* PRINT THE LINE @ZD00192*/ 00513000 L @15,@CV00389 0160 00514000 BALR @14,@15 0160 00515000 * RFY 0161 00516000 * R1 UNRSTD; /* @ZD00192*/ 00517000 * IF APRFLAGS(2)='1'B THEN /* IN APR SEQUENCE @ZM31121*/ 00518000 TM APRFLAGS(APRWKPTR),B'01000000' 0162 00519000 BNO @RF00162 0162 00520000 * ANSI=LSKIP1; /* YES, SET 1 LINE SKIP @ZM31121*/ 00521000 MVI ANSI(CVTPTR),C' ' 0163 00522000 * ELSE 0164 00523000 * ANSI=LSKIP2; /* NO, SET 2 LINE SKIP @ZD00192*/ 00524000 B @RC00162 0164 00525000 @RF00162 MVI ANSI(CVTPTR),C'0' 0164 00526000 * END; /* END NOT IN APR SECTION@ZD00192*/ 00527000 * ELSE 0166 00528000 * ; /* APR RECORDS @ZD00192*/ 00529000 @RF00127 DS 0H 0167 00530000 * END; /* END LOOP THROUGH ACCUMULATORS 00531000 * @ZD00192*/ 00532000 @RC00127 LA @06,1 0167 00533000 AL @06,PINDEX 0167 00534000 @DE00125 ST @06,PINDEX 0167 00535000 C @06,TOTALENT(,APRWKPTR) 0167 00536000 BNH @DL00125 0167 00537000 * 0168 00538000 * /*****************************************************************/ 00539000 * /* */ 00540000 * /* PRINT APRMSG10 AND APRMSG20 IF MAXIMUM NUMBER OF APR SEQUENCES*/ 00541000 * /* OR LOST CARTRIDGES WAS REACHED */ 00542000 * /* */ 00543000 * /*****************************************************************/ 00544000 * 0168 00545000 * IF APRFLAGS(3)='1'B THEN /* MAX APR COUNT @ZM30984*/ 00546000 TM APRFLAGS(APRWKPTR),B'00100000' 0168 00547000 BNO @RF00168 0168 00548000 * DO; /* YES, PRINT APRMSG10 @ZM30984*/ 00549000 * LINE=APRMSG10; /* MOVE MSG10 @ZM30984*/ 00550000 MVI LINE+73(CVTPTR),C' ' 0170 00551000 MVC LINE+74(58,CVTPTR),LINE+73(CVTPTR) 0170 00552000 MVC LINE(73,CVTPTR),APRMSG10 0170 00553000 * ANSI=LSKIP3; /* SET 2 LINE SKIP @ZM30984*/ 00554000 MVI ANSI(CVTPTR),C'-' 0171 00555000 * IF T07COUNT>T41COUNT THEN /* END APR IS BIGGEST @ZM30984*/ 00556000 LH @06,T07COUNT(,APRWKPTR) 0172 00557000 CH @06,T41COUNT(,APRWKPTR) 0172 00558000 BNH @RF00172 0172 00559000 * J=T07COUNT; /* YES @ZM30984*/ 00560000 LH @15,T07COUNT(,APRWKPTR) 0173 00561000 LR J,@15 0173 00562000 * ELSE 0174 00563000 * J=T41COUNT; /* NO, USE START APR CNT @ZM30984*/ 00564000 B @RC00172 0174 00565000 @RF00172 LH J,T41COUNT(,APRWKPTR) 0174 00566000 * CVD(J,TEMP8); /* CONVERT TO DECIMAL @ZM30984*/ 00567000 @RC00172 CVD J,TEMP8(,APRWKPTR) 0175 00568000 * TOTCOUNT=EDPAT02; /* MOVE EDIT PATTERN @ZM30984*/ 00569000 MVC TOTCOUNT(6,CVTPTR),EDPAT02 0176 00570000 * ED(TOTCOUNT,TEMP68); /* EDIT THE COUNT @ZM30984*/ 00571000 ED TOTCOUNT(6,CVTPTR),TEMP68(APRWKPTR) 0177 00572000 * RFY 0178 00573000 * R1 RSTD; /* @ZM30984*/ 00574000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZM30984*/ 00575000 LA R1,WORKCALL(,CVTPTR) 0179 00576000 * CALL ISDAPRT0; /* PRINT APRMSG @ZM30984*/ 00577000 L @15,@CV00389 0180 00578000 BALR @14,@15 0180 00579000 * RFY 0181 00580000 * R1 UNRSTD; /* @ZM30984*/ 00581000 * END; /* END TOO MANY APR @ZM30984*/ 00582000 * ELSE 0183 00583000 * ; /* MAX APR NOT REACHED @ZM30984*/ 00584000 @RF00168 DS 0H 0184 00585000 * IF APRFLAGS(4)='1'B THEN /* MAX LOST CART COUNT @ZM30984*/ 00586000 TM APRFLAGS(APRWKPTR),B'00010000' 0184 00587000 BNO @RF00184 0184 00588000 * DO; /* YES, PRINT APRMSG02 @ZM30984*/ 00589000 * LINE=APRMSG20; /* MOVE MSG20 @ZM30984*/ 00590000 MVI LINE+87(CVTPTR),C' ' 0186 00591000 MVC LINE+88(44,CVTPTR),LINE+87(CVTPTR) 0186 00592000 MVC LINE(87,CVTPTR),APRMSG20 0186 00593000 * ANSI=LSKIP3; /* SET 2 LINE SKIP @ZM30984*/ 00594000 MVI ANSI(CVTPTR),C'-' 0187 00595000 * J=T09COUNT; /* GET COUNT @ZM30984*/ 00596000 LH J,T09COUNT(,APRWKPTR) 0188 00597000 * CVD(J,TEMP8); /* CONVERT TO DECIMAL @ZM30984*/ 00598000 CVD J,TEMP8(,APRWKPTR) 0189 00599000 * TOTCOUNT=EDPAT02; /* MOVE EDIT PATTERN @ZM30984*/ 00600000 MVC TOTCOUNT(6,CVTPTR),EDPAT02 0190 00601000 * ED(TOTCOUNT,TEMP68); /* EDIT THE COUNT @ZM30984*/ 00602000 ED TOTCOUNT(6,CVTPTR),TEMP68(APRWKPTR) 0191 00603000 * RFY 0192 00604000 * R1 RSTD; /* @ZM30984*/ 00605000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZM30984*/ 00606000 LA R1,WORKCALL(,CVTPTR) 0193 00607000 * CALL ISDAPRT0; /* PRINT APRMSG @ZM30984*/ 00608000 L @15,@CV00389 0194 00609000 BALR @14,@15 0194 00610000 * RFY 0195 00611000 * R1 UNRSTD; /* @ZM30984*/ 00612000 * END; /* END TOO MANY T09 @ZM30984*/ 00613000 * ELSE 0197 00614000 * ; /* MAX T09 NOT REACHED @ZM30984*/ 00615000 @RF00184 DS 0H 0198 00616000 * END DODETAIL; /* END DETAIL PRINT PROC @ZD00192*/ 00617000 @EL00004 DS 0H 0198 00618000 @EF00004 DS 0H 0198 00619000 @ER00004 L @14,@SA00004 0198 00620000 BR @14 0198 00621000 * 0199 00622000 * /*****************************************************************/ 00623000 * /* */ 00624000 * /* PHEADER - PROC TO PRINT TITLE, HEADER LINES 1 AND 2 */ 00625000 * /* */ 00626000 * /*****************************************************************/ 00627000 * 0199 00628000 *PHEADER: 0199 00629000 * PROC OPTIONS(SAVE(14)); /* PRINT TITLE PROC @ZD00192*/ 00630000 PHEADER ST @14,@SA00005 0199 00631000 * ANSI=PSKIP; /* SET PAGE SKIP @ZD00192*/ 00632000 MVI ANSI(CVTPTR),C'1' 0200 00633000 * LINE=APRTITLE; /* MOVE TITLE @ZD00192*/ 00634000 MVI LINE+65(CVTPTR),C' ' 0201 00635000 MVC LINE+66(66,CVTPTR),LINE+65(CVTPTR) 0201 00636000 MVC LINE(65,CVTPTR),APRTITLE 0201 00637000 * RFY 0202 00638000 * R1 RSTD; /* @ZD00192*/ 00639000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZD00192*/ 00640000 LA R1,WORKCALL(,CVTPTR) 0203 00641000 * CALL ISDAPRT0; /* PRINT TITLE @ZD00192*/ 00642000 L @15,@CV00389 0204 00643000 BALR @14,@15 0204 00644000 * LINE=''; /* BLANK LINE @ZD00192*/ 00645000 MVI LINE(CVTPTR),C' ' 0205 00646000 MVC LINE+1(131,CVTPTR),LINE(CVTPTR) 0205 00647000 * MSG01=APRMSG01; /* MOVE DATE @ZD00192*/ 00648000 MVC MSG01(4,CVTPTR),APRMSG01 0206 00649000 * MSG02=APRMSG02; /* MOVE TIME @ZD00192*/ 00650000 MVC MSG02(4,CVTPTR),APRMSG02 0207 00651000 * MSG03=APRMSG03; /* MOVE ACTION @ZD00192*/ 00652000 MVC MSG03(6,CVTPTR),APRMSG03 0208 00653000 * MSG04=APRMSG04; /* MOVE RESULT @ZD00192*/ 00654000 MVC MSG04(6,CVTPTR),APRMSG04 0209 00655000 * ANSI=LSKIP3; /* SET 3 LINE SKIP @ZD00192*/ 00656000 MVI ANSI(CVTPTR),C'-' 0210 00657000 * CALL ISDAPRT0; /* PRINT LINE 1 @ZD00192*/ 00658000 L @15,@CV00389 0211 00659000 BALR @14,@15 0211 00660000 * LINE(1)=DASH; /* MOVE DASH @ZD00192*/ 00661000 MVI LINE(CVTPTR),C'-' 0212 00662000 * MVC(LINE(2:116),LINE(1:115)); /* PROPAGATE DASH @ZA00668*/ 00663000 MVC LINE+1(115,CVTPTR),LINE(CVTPTR) 0213 00664000 * BAR1=BAR; /* BAR1 @ZD00192*/ 00665000 MVI BAR1(CVTPTR),C'|' 0214 00666000 * BAR2=BAR; /* BAR2 @ZD00192*/ 00667000 MVI BAR2(CVTPTR),C'|' 0215 00668000 * BAR3=BAR; /* BAR3 @ZD00192*/ 00669000 MVI BAR3(CVTPTR),C'|' 0216 00670000 * ANSI=LSKIP1; /* 1 LINE SKIP @ZD00192*/ 00671000 MVI ANSI(CVTPTR),C' ' 0217 00672000 * CALL ISDAPRT0; /* PRINT LINE 2 @ZD00192*/ 00673000 L @15,@CV00389 0218 00674000 BALR @14,@15 0218 00675000 * RFY 0219 00676000 * R1 UNRSTD; /* RELEASE REG 1 @ZD00192*/ 00677000 * LINECNT=5; /* INIT LINE COUNT @ZD00192*/ 00678000 MVC LINECNT(4,APRWKPTR),@CF00187 0220 00679000 * END PHEADER; /* END PHEADER PROC @ZD00192*/ 00680000 @EL00005 DS 0H 0221 00681000 @EF00005 DS 0H 0221 00682000 @ER00005 L @14,@SA00005 0221 00683000 BR @14 0221 00684000 * 0222 00685000 * /*****************************************************************/ 00686000 * /* */ 00687000 * /* BACTION1 - PROC TO PRINT ACTION 1 - START APR SEQUENCE */ 00688000 * /* */ 00689000 * /*****************************************************************/ 00690000 * 0222 00691000 *BACTION1: 0222 00692000 * PROC OPTIONS(SAVE(14)); /* SAVE SSIDS PROC @ZD00192*/ 00693000 BACTION1 ST @14,@SA00006 0222 00694000 * APRTEMPS=''B; /* ZERO TEMPS @ZD00192*/ 00695000 XC APRTEMPS(32,APRWKPTR),APRTEMPS(APRWKPTR) 0223 00696000 * TEMP2=ENTSSID; /* MOVE SSID @ZD00192*/ 00697000 MVC TEMP2(2,APRWKPTR),ENTSSID(ENTRYPTR) 0224 00698000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 00699000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0225 00700000 * TEMP1417=TEMP4; /* MOVE SSID @ZD00192*/ 00701000 MVC TEMP1417(4,APRWKPTR),TEMP4(APRWKPTR) 0226 00702000 * CALL EBCDICCV; /* CONVERT TO EBCDIC @ZD00192*/ 00703000 BAL @14,EBCDICCV 0227 00704000 * SAVESAPR=TEMP1417; /* SAVE SSID @ZD00192*/ 00705000 MVC SAVESAPR(4,APRWKPTR),TEMP1417(APRWKPTR) 0228 00706000 * APRFLAGS(2)='1'B; /* TURN APR FLAG ON @ZD00192*/ 00707000 OI APRFLAGS(APRWKPTR),B'01000000' 0229 00708000 * T08COUNT=''B; /* ZERO MSG CODE 08 COUNT@ZM31121*/ 00709000 SLR @06,@06 0230 00710000 STH @06,T08COUNT(,APRWKPTR) 0230 00711000 * STARTAPR=ENTRYPTR; /* SAVE START POINTER @ZD00192*/ 00712000 ST ENTRYPTR,STARTAPR(,APRWKPTR) 0231 00713000 * APRSSIDF=''; /* BLANK SSIDS @ZD00192*/ 00714000 MVI APRSSIDF(APRWKPTR),C' ' 0232 00715000 MVC APRSSIDF+1(15,APRWKPTR),APRSSIDF(APRWKPTR) 0232 00716000 * APRSSIDS(1)=SAVESAPR; /* SAVE FIRST SSID @ZD00192*/ 00717000 MVC APRSSIDS(4,APRWKPTR),SAVESAPR(APRWKPTR) 0233 00718000 * DO J=PINDEX+1 TO TOTALENT; /* FIND END OF APR @ZM31121*/ 00719000 LA J,1 0234 00720000 AL J,PINDEX 0234 00721000 B @DE00234 0234 00722000 @DL00234 DS 0H 0235 00723000 * ENTRYPTR=ACCPOINT(J); /* GET DATA POINTER @ZM31121*/ 00724000 LR @15,J 0235 00725000 SLA @15,2 0235 00726000 L @01,STARTPNT(,APRWKPTR) 0235 00727000 AL @01,@CF00875 0235 00728000 L ENTRYPTR,ACCPOINT(@15,@01) 0235 00729000 * TEMP2=ENTSSID; /* MOVE SSID @ZM31121*/ 00730000 MVC TEMP2(2,APRWKPTR),ENTSSID(ENTRYPTR) 0236 00731000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZM31121*/ 00732000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0237 00733000 * TEMP1417=TEMP4; /* MOVE SSID @ZM31121*/ 00734000 MVC TEMP1417(4,APRWKPTR),TEMP4(APRWKPTR) 0238 00735000 * CALL EBCDICCV; /* CONVERT TO EBCDIC @ZM31121*/ 00736000 BAL @14,EBCDICCV 0239 00737000 * SAVESAPR=TEMP1417; /* SAVE SSID @ZM31121*/ 00738000 MVC SAVESAPR(4,APRWKPTR),TEMP1417(APRWKPTR) 0240 00739000 * K=0; /* RESET K TO ZERO @ZM31121*/ 00740000 SLR @05,@05 0241 00741000 ST @05,K 0241 00742000 * IF EFLAG2='1'B|ETYPCODE=T41 THEN/* END OR START @ZM31121*/ 00743000 TM EFLAG2(ENTRYPTR),B'01000000' 0242 00744000 BO @RT00242 0242 00745000 CLI ETYPCODE(ENTRYPTR),X'41' 0242 00746000 BNE @RF00242 0242 00747000 @RT00242 DS 0H 0243 00748000 * J=TOTALENT; /* GET OUT OF LOOP @ZM31121*/ 00749000 L J,TOTALENT(,APRWKPTR) 0243 00750000 * ELSE 0244 00751000 * IF ETYPCODE=T42 THEN /* RECORD IN APR @ZM31121*/ 00752000 * 0244 00753000 B @RC00242 0244 00754000 @RF00242 CLI ETYPCODE(ENTRYPTR),X'42' 0244 00755000 BNE @RF00244 0244 00756000 * /***********************************************************/ 00757000 * /* */ 00758000 * /* IN AN APR SEQUENCE - SAVE SSID */ 00759000 * /* */ 00760000 * /***********************************************************/ 00761000 * 0245 00762000 * DO I=2 TO 4 WHILE(K=0); /* LOOP THROUGH SSIDS @ZD00192*/ 00763000 LA I,2 0245 00764000 @DL00245 ICM @15,15,K 0245 00765000 BNZ @DC00245 0245 00766000 * IF APRSSIDS(I)=BLANK THEN/* SSID BLANK @ZD00192*/ 00767000 LR @15,I 0246 00768000 SLA @15,2 0246 00769000 ST @15,@TF00001 0246 00770000 ALR @15,APRWKPTR 0246 00771000 CLC APRSSIDS-4(4,@15),@CC00365 0246 00772000 BNE @RF00246 0246 00773000 * DO; /* YES, STORE SSID @ZD00192*/ 00774000 * K=1; /* SET GET OUT OF LOOP @ZD00192*/ 00775000 MVC K(4),@CF00083 0248 00776000 * APRSSIDS(I)=SAVESAPR;/* SAVE SSID @ZD00192*/ 00777000 LR @01,APRWKPTR 0249 00778000 AL @01,@TF00001 0249 00779000 MVC APRSSIDS-4(4,@01),SAVESAPR(APRWKPTR) 0249 00780000 * END; /* END STORE SSID @ZD00192*/ 00781000 * ELSE 0251 00782000 * ; /* SSID NOT BLANK @ZD00192*/ 00783000 @RF00246 DS 0H 0252 00784000 * END; /* END SSID LOOP @ZD00192*/ 00785000 AL I,@CF00083 0252 00786000 CH I,@CH00106 0252 00787000 BNH @DL00245 0252 00788000 @DC00245 DS 0H 0253 00789000 * ELSE /* NO, CHECK IF T00 @ZM31121*/ 00790000 * IF ETYPCODE=T00 THEN /* APR SUU RECORD @ZM31121*/ 00791000 * 0253 00792000 B @RC00244 0253 00793000 @RF00244 CLI ETYPCODE(ENTRYPTR),X'00' 0253 00794000 BNE @RF00253 0253 00795000 * /*********************************************************/ 00796000 * /* */ 00797000 * /* FLAG SAVED SSID IN APR SEQUENCE AS UNUSABLE */ 00798000 * /* */ 00799000 * /*********************************************************/ 00800000 * 0254 00801000 * DO I=1 TO 4 WHILE(K=0); /* YES, LOOP THRU SSIDS @ZD00192*/ 00802000 LA I,1 0254 00803000 @DL00254 ICM @15,15,K 0254 00804000 BNZ @DC00254 0254 00805000 * IF APRSSIDS(I)=BLANK THEN/* SSID NOT IN LIST @ZD00192*/ 00806000 LR @15,I 0255 00807000 SLA @15,2 0255 00808000 ST @15,@TF00001 0255 00809000 ALR @15,APRWKPTR 0255 00810000 CLC APRSSIDS-4(4,@15),@CC00365 0255 00811000 BNE @RF00255 0255 00812000 * APRSSIDS(I)=SAVESAPR;/* YES, ADD IT @ZM31121*/ 00813000 LR @01,APRWKPTR 0256 00814000 AL @01,@TF00001 0256 00815000 MVC APRSSIDS-4(4,@01),SAVESAPR(APRWKPTR) 0256 00816000 * ELSE 0257 00817000 * ; /* SSID IN LIST NOT BLANK@ZD00192*/ 00818000 @RF00255 DS 0H 0258 00819000 * IF APRSSIDS(I)=SAVESAPR THEN/* FOUND THIS SSID @ZM31121*/ 00820000 LR @15,I 0258 00821000 SLA @15,2 0258 00822000 ST @15,@TF00001 0258 00823000 ALR @15,APRWKPTR 0258 00824000 CLC APRSSIDS-4(4,@15),SAVESAPR(APRWKPTR) 0258 00825000 BNE @RF00258 0258 00826000 * DO; /* FLAG SSID AND GET OUT @ZD00192*/ 00827000 * APRSSIDS(I,1)='FF'X;/* FLAG IT UNUSABLE @ZD00192*/ 00828000 LR @01,APRWKPTR 0260 00829000 AL @01,@TF00001 0260 00830000 MVI APRSSIDS-4(@01),X'FF' 0260 00831000 * K=1; /* SET K TO EXIT LOOP @ZD00192*/ 00832000 MVC K(4),@CF00083 0261 00833000 * END; /* END FLAG SSIDS LOOP @ZD00192*/ 00834000 * ELSE 0263 00835000 * ; /* NO MATCH @ZD00192*/ 00836000 @RF00258 DS 0H 0264 00837000 * END; /* END LOOP @ZD00192*/ 00838000 AL I,@CF00083 0264 00839000 CH I,@CH00106 0264 00840000 BNH @DL00254 0264 00841000 @DC00254 DS 0H 0265 00842000 * ELSE 0265 00843000 * ; /* NO, RECORD NOT APR @ZM31121*/ 00844000 @RF00253 DS 0H 0266 00845000 * END; /* END LOOP THROUGH DATA @ZM31121*/ 00846000 @RC00244 DS 0H 0266 00847000 @RC00242 AL J,@CF00083 0266 00848000 @DE00234 C J,TOTALENT(,APRWKPTR) 0266 00849000 BNH @DL00234 0266 00850000 * IF EFLAG2='0'B THEN /* NO END TO APR @ZM31121*/ 00851000 TM EFLAG2(ENTRYPTR),B'01000000' 0267 00852000 BNZ @RF00267 0267 00853000 * CALL BACTION2; /* PRINT 1 AND GET 2 @ZM31121*/ 00854000 BAL @14,BACTION2 0268 00855000 * ELSE /* NORMAL END TO APR @ZM31121*/ 00856000 * CALL BUILDA1; /* BUILD ACTION 1 MESSAGE 0269 00857000 * @ZM31121*/ 00858000 B @RC00267 0269 00859000 @RF00267 BAL @14,BUILDA1 0269 00860000 * ENTRYPTR=STARTAPR; /* RESTORE POINTER TO DATA 0270 00861000 * @ZM31121*/ 00862000 @RC00267 L ENTRYPTR,STARTAPR(,APRWKPTR) 0270 00863000 * END BACTION1; /* END SAVE SSIDS PROC @ZD00192*/ 00864000 @EL00006 DS 0H 0271 00865000 @EF00006 DS 0H 0271 00866000 @ER00006 L @14,@SA00006 0271 00867000 BR @14 0271 00868000 * 0272 00869000 * /*****************************************************************/ 00870000 * /* */ 00871000 * /* BACTION2 - PROC TO BUILD ACTION 1 AND ACTION 2 MESSAGES FOR */ 00872000 * /* ALTERNATE PATH RETRY SEQUENCES */ 00873000 * /* */ 00874000 * /*****************************************************************/ 00875000 * 0272 00876000 *BACTION2: 0272 00877000 * PROC OPTIONS(SAVE(14)); /* PROC TO BUILD ACTIONS 1 AND 2 00878000 * @ZD00192*/ 00879000 BACTION2 ST @14,@SA00007 0272 00880000 * IF APRFLAGS(2)='0'B|EFLAG2='0'B THEN /* INCOMPLETE APR @ZM31121*/ 00881000 TM APRFLAGS(APRWKPTR),B'01000000' 0273 00882000 BZ @RT00273 0273 00883000 TM EFLAG2(ENTRYPTR),B'01000000' 0273 00884000 BNZ @RF00273 0273 00885000 @RT00273 DS 0H 0274 00886000 * DO; /* YES, APR WITH NO START@ZM31121*/ 00887000 * 0274 00888000 * /*************************************************************/ 00889000 * /* */ 00890000 * /* END APR WITH NO START APR OR NO END APR */ 00891000 * /* */ 00892000 * /*************************************************************/ 00893000 * 0275 00894000 * IF LINECNT>56 THEN /* AT END OF PAGE @ZM31121*/ 00895000 L @06,LINECNT(,APRWKPTR) 0275 00896000 CH @06,@CH00626 0275 00897000 BNH @RF00275 0275 00898000 * DO; /* YES, 3 LINES TOO MUCH @ZM31121*/ 00899000 * CALL PHEADER; /* START NEW PAGE @ZD00192*/ 00900000 BAL @14,PHEADER 0277 00901000 * LINECNT=LINECNT+3; /* ADD 3 TO LINE COUNT @ZM31121*/ 00902000 LA @06,3 0278 00903000 AL @06,LINECNT(,APRWKPTR) 0278 00904000 ST @06,LINECNT(,APRWKPTR) 0278 00905000 * END; /* END SKIP PAGE @ZM31121*/ 00906000 * ELSE /* NO, BUT ADD 3RD LINE @ZD00192*/ 00907000 * LINECNT=LINECNT+1; /* ADD 1 TO LINECNT @ZM31121*/ 00908000 B @RC00275 0280 00909000 @RF00275 LA @06,1 0280 00910000 AL @06,LINECNT(,APRWKPTR) 0280 00911000 ST @06,LINECNT(,APRWKPTR) 0280 00912000 * LINE=''; /* BLANK LINE @ZD00192*/ 00913000 @RC00275 MVI LINE(CVTPTR),C' ' 0281 00914000 MVC LINE+1(131,CVTPTR),LINE(CVTPTR) 0281 00915000 * APRTEMPS=''B; /* ZERO TEMPS @ZD00192*/ 00916000 XC APRTEMPS(32,APRWKPTR),APRTEMPS(APRWKPTR) 0282 00917000 * BAR2=DASH; /* MOVE BAR2 @ZD00192*/ 00918000 MVI BAR2(CVTPTR),C'-' 0283 00919000 * BAR3=DASH; /* MOVE BAR3 @ZD00192*/ 00920000 MVI BAR3(CVTPTR),C'-' 0284 00921000 * CALL BUILDA1; /* BUILD ACTION 1 MESSAGE@ZD00192*/ 00922000 * 0285 00923000 BAL @14,BUILDA1 0285 00924000 * /*************************************************************/ 00925000 * /* */ 00926000 * /* OUTPUT ACTION 1 - NO APR BEG OR NO ENDINNING */ 00927000 * /* */ 00928000 * /*************************************************************/ 00929000 * 0286 00930000 * RFY 0286 00931000 * R1 RSTD; /* @ZD00192*/ 00932000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZD00192*/ 00933000 LA R1,WORKCALL(,CVTPTR) 0287 00934000 * CALL ISDAPRT0; /* PRINT ACTION 1 @ZD00192*/ 00935000 L @15,@CV00389 0288 00936000 BALR @14,@15 0288 00937000 * ANSI=LSKIP1; /* SET 1 LINE SKIP @ZD00192*/ 00938000 MVI ANSI(CVTPTR),C' ' 0289 00939000 * LINE=''; /* BLANK LINE @ZD00192*/ 00940000 MVI LINE(CVTPTR),C' ' 0290 00941000 MVC LINE+1(131,CVTPTR),LINE(CVTPTR) 0290 00942000 * APRTEMPS=''B; /* ZERO TEMPS @ZD00192*/ 00943000 XC APRTEMPS(32,APRWKPTR),APRTEMPS(APRWKPTR) 0291 00944000 * BAR2=DASH; /* MOVE BAR2 @ZD00192*/ 00945000 MVI BAR2(CVTPTR),C'-' 0292 00946000 * BAR3=DASH; /* MOVE BAR3 @ZD00192*/ 00947000 MVI BAR3(CVTPTR),C'-' 0293 00948000 * IF EFLAG2='1'B THEN /* HAVE END APR @ZM31121*/ 00949000 TM EFLAG2(ENTRYPTR),B'01000000' 0294 00950000 BNO @RF00294 0294 00951000 * DO; /* YES, GET DATE/TIME @ZM31121*/ 00952000 * SAVEDAYT=ENTDAYT; /* MOVE DATE,TIME @ZD00192*/ 00953000 MVC SAVEDAYT(8,APRWKPTR),ENTDAYT(ENTRYPTR) 0296 00954000 * CALL MOVEDAYT; /* BUILD DATE,TIME @ZD00192*/ 00955000 BAL @14,MOVEDAYT 0297 00956000 * END; /* END GET TIME @ZM31121*/ 00957000 * ELSE; /* NO END @ZM31121*/ 00958000 @RF00294 DS 0H 0300 00959000 * END; /* END APR WITH NO START @ZM31121*/ 00960000 * ELSE 0301 00961000 * ; /* NORMAL APR SEQUENCE @ZM31121*/ 00962000 @RF00273 DS 0H 0302 00963000 * 0302 00964000 * /*****************************************************************/ 00965000 * /* */ 00966000 * /* BUILD ACTION 2 - END APR MESSAGE */ 00967000 * /* */ 00968000 * /*****************************************************************/ 00969000 * 0302 00970000 * IF EFLAG2='1'B THEN /* NORMAL END APR @ZM31121*/ 00971000 TM EFLAG2(ENTRYPTR),B'01000000' 0302 00972000 BNO @RF00302 0302 00973000 * DO; /* YES, GET MESSAGE @ZM31121*/ 00974000 * ACTION=ACTION2; /* MOVE ACTION MESSAGE @ZD00192*/ 00975000 MVC ACTION(19,CVTPTR),ACTION2 0304 00976000 * IF ETYPCODE=T07 THEN /* CODE 07 = SUCCESSFUL RETRY 0305 00977000 * @ZD00192*/ 00978000 CLI ETYPCODE(ENTRYPTR),X'07' 0305 00979000 BNE @RF00305 0305 00980000 * CALL BUILDT07; /* YES, BUILD SUCC RETRY RESULT 00981000 * @ZD00192*/ 00982000 BAL @14,BUILDT07 0306 00983000 * ELSE /* NO, MUST BE MEDIA FAILURE CODE 00984000 * F7 @ZD00192*/ 00985000 * CALL BUILDTF7; /* BUILD MEDIA FAILURE RESULT 0307 00986000 * @ZD00192*/ 00987000 B @RC00305 0307 00988000 @RF00305 BAL @14,BUILDTF7 0307 00989000 * END; /* END BUILD @ZM31121*/ 00990000 * ELSE /* NO END TO APR @ZM31121*/ 00991000 * DO; /* GET ERROR MESSAGE @ZM31121*/ 00992000 B @RC00302 0309 00993000 @RF00302 DS 0H 0310 00994000 * ACTION=ACTION2E; /* MOVE MESSAGE @ZM31121*/ 00995000 MVC ACTION(19,CVTPTR),ACTION2E 0310 00996000 * CALL BUILDT07; /* BUILD MESSAGE @ZM31121*/ 00997000 BAL @14,BUILDT07 0311 00998000 * END; /* END ERROR BUILD @ZM31121*/ 00999000 * APRFLAGS(2)='0'B; /* RESET APR FLAG OFF @ZD00192*/ 01000000 @RC00302 NI APRFLAGS(APRWKPTR),B'10111111' 0313 01001000 * T08COUNT=''B; /* ZERO MSG CODE 08 COUNT@ZM31121*/ 01002000 SLR @06,@06 0314 01003000 STH @06,T08COUNT(,APRWKPTR) 0314 01004000 * END BACTION2; /* END ACTION 2 PROC @ZD00192*/ 01005000 @EL00007 DS 0H 0315 01006000 @EF00007 DS 0H 0315 01007000 @ER00007 L @14,@SA00007 0315 01008000 BR @14 0315 01009000 * 0316 01010000 * /*****************************************************************/ 01011000 * /* */ 01012000 * /* BUILDA1 - PROC TO BUILD ACTION 1 MESSAGE - START APR */ 01013000 * /* */ 01014000 * /*****************************************************************/ 01015000 * 0316 01016000 *BUILDA1: 0316 01017000 * PROC OPTIONS(SAVE(14)); /* BUILD ACTION 1 PROC @ZD00192*/ 01018000 BUILDA1 ST @14,@SA00008 0316 01019000 * RM71=ACT1M1; /* MOVE RESULT @ZM31121*/ 01020000 MVC RM71(71,CVTPTR),ACT1M1 0317 01021000 * IF APRFLAGS(2)='1'B THEN /* HAVE BEGINNING OF APR SEQUENCE 01022000 * @ZD00192*/ 01023000 * 0318 01024000 TM APRFLAGS(APRWKPTR),B'01000000' 0318 01025000 BNO @RF00318 0318 01026000 * /***************************************************************/ 01027000 * /* */ 01028000 * /* END APR WITH RECORDED BEGINNING */ 01029000 * /* */ 01030000 * /***************************************************************/ 01031000 * 0319 01032000 * DO; /* YES, HAVE START OF APR@ZD00192*/ 01033000 * ACTION=ACTION1; /* MOVE ACTION 1 MESSAGE @ZM31121*/ 01034000 MVC ACTION(19,CVTPTR),ACTION1 0320 01035000 * CURRPTR=ENTRYPTR; /* SAVE CURRENT PTR @ZD00192*/ 01036000 ST ENTRYPTR,CURRPTR(,APRWKPTR) 0321 01037000 * ENTRYPTR=STARTAPR; /* SET PTR TO START OF APR 0322 01038000 * @ZD00192*/ 01039000 L ENTRYPTR,STARTAPR(,APRWKPTR) 0322 01040000 * SAVEDAYT=ENTDAYT; /* MOVE DATE,TIME @ZD00192*/ 01041000 MVC SAVEDAYT(8,APRWKPTR),ENTDAYT(ENTRYPTR) 0323 01042000 * CALL MOVEDAYT; /* BUILD DATE,TIME @ZD00192*/ 01043000 BAL @14,MOVEDAYT 0324 01044000 * TEMP1=EBYTE5; /* MOVE PATH BYTE @ZD00192*/ 01045000 MVC TEMP1(1,APRWKPTR),EBYTE5(ENTRYPTR) 0325 01046000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 01047000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0326 01048000 * TEMP1415=TEMP2; /* SAVE PATH @ZD00192*/ 01049000 MVC TEMP1415(2,APRWKPTR),TEMP2(APRWKPTR) 0327 01050000 * CALL EBCDICCV; /* CONVERT TO EBCDIC @ZD00192*/ 01051000 BAL @14,EBCDICCV 0328 01052000 * PATHA1M1=TEMP1415; /* MOVE PATH @ZD00192*/ 01053000 MVC PATHA1M1(2,CVTPTR),TEMP1415(APRWKPTR) 0329 01054000 * ENTRYPTR=CURRPTR; /* RESTORE CURRENT INDEX @ZD00192*/ 01055000 L ENTRYPTR,CURRPTR(,APRWKPTR) 0330 01056000 * J=2; /* SET OUTPUT POINTER @ZD00192*/ 01057000 LA J,2 0331 01058000 * DO I=1 TO 4; /* LOOP THROUGH SSIDS @ZD00192*/ 01059000 LA I,1 0332 01060000 @DL00332 DS 0H 0333 01061000 * SSIDA1M1(J:J+2)=APRSSIDS(I,2:4);/* MOVE SSID @ZD00192*/ 01062000 LR @15,CVTPTR 0333 01063000 ALR @15,J 0333 01064000 LR @14,I 0333 01065000 SLA @14,2 0333 01066000 ALR @14,APRWKPTR 0333 01067000 MVC SSIDA1M1-1(3,@15),APRSSIDS-3(@14) 0333 01068000 * J=J+4; /* INC OUTPUT INDEX @ZD00192*/ 01069000 AH J,@CH00106 0334 01070000 * END; /* END SSID LOOP @ZD00192*/ 01071000 AL I,@CF00083 0335 01072000 CH I,@CH00106 0335 01073000 BNH @DL00332 0335 01074000 * END; /* END NORMAL APR SEQUENCE 0336 01075000 * @ZD00192*/ 01076000 * ELSE /* NO BEGINNING OF APR @ZD00192*/ 01077000 * 0337 01078000 * /***************************************************************/ 01079000 * /* */ 01080000 * /* END APR WITH NO BEGINNING */ 01081000 * /* */ 01082000 * /***************************************************************/ 01083000 * 0337 01084000 * ACTION=ACTION1E; /* MOVE ERROR MESSAGE @ZD00192*/ 01085000 * 0337 01086000 B @RC00318 0337 01087000 @RF00318 MVC ACTION(19,CVTPTR),ACTION1E 0337 01088000 * /*****************************************************************/ 01089000 * /* */ 01090000 * /* MOVE VOLID AND CSN IF AVAILABLE @ZD00192*/ 01091000 * /* */ 01092000 * /*****************************************************************/ 01093000 * 0338 01094000 * IF EFLAG2='1'B THEN /* HAVE APR WITH NORMAL END 0338 01095000 * @ZD00192*/ 01096000 @RC00318 TM EFLAG2(ENTRYPTR),B'01000000' 0338 01097000 BNO @RF00338 0338 01098000 * DO; /* YES, MOVE MEDIA INFO @ZD00192*/ 01099000 * IF ENTCSN(1)>=HEXA THEN /* CSN NOT 00 @ZD00192*/ 01100000 CLI ENTCSN(ENTRYPTR),X'C1' 0340 01101000 BL @RF00340 0340 01102000 * CSNA1M1=ENTCSN; /* MOVE CSN @ZD00192*/ 01103000 MVC CSNA1M1(12,CVTPTR),ENTCSN(ENTRYPTR) 0341 01104000 * ELSE 0342 01105000 * ; /* CSN ZERO, DO NOT MOVE @ZD00192*/ 01106000 @RF00340 DS 0H 0343 01107000 * IF ENTVOLID(1)>=HEXA THEN /* VOLID NOT 00 @ZD00192*/ 01108000 CLI ENTVOLID(ENTRYPTR),X'C1' 0343 01109000 BL @RF00343 0343 01110000 * DO; /* YES, MOVE VOLID+SEQ @ZA00668*/ 01111000 * VOLA1M1=ENTVOLID; /* MOVE VOLID @ZD00192*/ 01112000 MVC VOLA1M1(6,CVTPTR),ENTVOLID(ENTRYPTR) 0345 01113000 * IF EBYTE10^='00'X THEN /* HAVE SEQUENCE NUMBER @ZA00668*/ 01114000 CLI EBYTE10(ENTRYPTR),X'00' 0346 01115000 BE @RF00346 0346 01116000 * DO; /* YES, PRINT IT @ZA00668*/ 01117000 * SEQFA1M1=ACT1M2; /* MOVE OVERLAY @ZA00668*/ 01118000 MVC SEQFA1M1(3,CVTPTR),ACT1M2 0348 01119000 * SEQNA1M1=EBYTE10|'F0'X; /* MAKE PRINTABLE @ZA00668*/ 01120000 MVC SEQNA1M1(1,CVTPTR),EBYTE10(ENTRYPTR) 0349 01121000 OI SEQNA1M1(CVTPTR),X'F0' 0349 01122000 * END; /* END MOVE SEQ NUMBER @ZA00668*/ 01123000 * ELSE; /* SEQUENCE NUMBER = 00 @ZA00668*/ 01124000 @RF00346 DS 0H 0352 01125000 * END; /* END MOVE VOLID+SEQ @ZA00668*/ 01126000 * ELSE 0353 01127000 * ; /* VOLID ZERO, DO NOT MOVE 0353 01128000 * @ZD00192*/ 01129000 @RF00343 DS 0H 0354 01130000 * END; /* END MOVE MEDIA DATA @ZD00192*/ 01131000 * ELSE 0355 01132000 * ; /* NO MEDIA INFO, APR WITH NO END 01133000 * @ZD00192*/ 01134000 @RF00338 DS 0H 0356 01135000 * END BUILDA1; /* END BUILD ACTION 1 MESSAGE 0356 01136000 * @ZD00192*/ 01137000 @EL00008 DS 0H 0356 01138000 @EF00008 DS 0H 0356 01139000 @ER00008 L @14,@SA00008 0356 01140000 BR @14 0356 01141000 * 0357 01142000 * /*****************************************************************/ 01143000 * /* */ 01144000 * /* BUILDT07 - PROC TO BUILD ACTION 2 MESSAGE FOR SUCCESSFUL RETRY*/ 01145000 * /* */ 01146000 * /*****************************************************************/ 01147000 * 0357 01148000 *BUILDT07: 0357 01149000 * PROC OPTIONS(SAVE(14)); /* SUCCESSFUL RETRY PROC @ZD00192*/ 01150000 BUILDT07 ST @14,@SA00009 0357 01151000 * RM42=ACT2M1T; /* MOVE RIGHT PART @ZM31022*/ 01152000 MVC RM42(42,CVTPTR),ACT2M1T 0358 01153000 * IF EFLAG2='1'B THEN /* APR WITH NORMAL END @ZD00192*/ 01154000 TM EFLAG2(ENTRYPTR),B'01000000' 0359 01155000 BNO @RF00359 0359 01156000 * DO; /* YES, GET LAST PATH @ZM31022*/ 01157000 * IF EBYTE3(7)='1'B THEN /* UNSUCCESSFUL RETRY BIT ON 0361 01158000 * @ZD00192*/ 01159000 TM EBYTE3(ENTRYPTR),B'00000010' 0361 01160000 BNO @RF00361 0361 01161000 * RM18=ACT2M1U; /* YES, MOVE UNSUCCESSFUL@ZD00192*/ 01162000 MVC RM18(18,CVTPTR),ACT2M1U 0362 01163000 * ELSE /* SUCCESSFUL RETRY BIT ON 0363 01164000 * @ZD00192*/ 01165000 * RM18=ACT2M1; /* YES, MOVE SUCCESSFUL MESSAGE 01166000 * @ZD00192*/ 01167000 B @RC00361 0363 01168000 @RF00361 MVC RM18(18,CVTPTR),ACT2M1 0363 01169000 * TEMP1=EBYTE13; /* GET LAST PATH @ZA17149*/ 01170000 @RC00361 MVC TEMP1(1,APRWKPTR),EBYTE13(ENTRYPTR) 0364 01171000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZM31022*/ 01172000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0365 01173000 * TEMP1415=TEMP2; /* MOVE PATH @ZA17149*/ 01174000 MVC TEMP1415(2,APRWKPTR),TEMP2(APRWKPTR) 0366 01175000 * CALL EBCDICCV; /* CONVERT TO EBCDIC @ZM31022*/ 01176000 BAL @14,EBCDICCV 0367 01177000 * PATHA2M1=TEMP1415; /* MOVE LAST PATH @ZA17149*/ 01178000 MVC PATHA2M1(2,CVTPTR),TEMP1415(APRWKPTR) 0368 01179000 * END; /* END APR NORMAL END @ZM31022*/ 01180000 * ELSE /* APR WITH NO END @ZD00192*/ 01181000 * RM18=ACT2M1E; /* MOVE NO RESULT MESSAGE@ZD00192*/ 01182000 B @RC00359 0370 01183000 @RF00359 MVC RM18(18,CVTPTR),ACT2M1E 0370 01184000 * J=2; /* SET OUTPUT INDEX @ZD00192*/ 01185000 @RC00359 LA J,2 0371 01186000 * IF APRFLAGS(2)='1'B THEN /* HAVE BEGINNING @ZD00192*/ 01187000 TM APRFLAGS(APRWKPTR),B'01000000' 0372 01188000 BNO @RF00372 0372 01189000 * DO I=1 TO 4; /* YES, LOOP THROUGH SSIDS 0373 01190000 * @ZD00192*/ 01191000 LA I,1 0373 01192000 @DL00373 DS 0H 0374 01193000 * IF APRSSIDS(I,1)='FF'X THEN /* SSID MARKED UNUSABLE @ZD00192*/ 01194000 LR @04,I 0374 01195000 SLA @04,2 0374 01196000 ST @04,@TF00001 0374 01197000 ALR @04,APRWKPTR 0374 01198000 CLI APRSSIDS-4(@04),X'FF' 0374 01199000 BNE @RF00374 0374 01200000 * DO; /* YES, MOVE IT @ZD00192*/ 01201000 * SSIDA2M1(J:J+2)=APRSSIDS(I,2:4);/* MOVE SSID @ZD00192*/ 01202000 LR @04,CVTPTR 0376 01203000 ALR @04,J 0376 01204000 LR @15,APRWKPTR 0376 01205000 AL @15,@TF00001 0376 01206000 MVC SSIDA2M1-1(3,@04),APRSSIDS-3(@15) 0376 01207000 * J=J+4; /* INC OUTPUT INDEX @ZD00192*/ 01208000 AH J,@CH00106 0377 01209000 * END; /* END MOVE SSID @ZD00192*/ 01210000 * ELSE 0379 01211000 * ; /* NOT MARKED UNUSABLE @ZD00192*/ 01212000 @RF00374 DS 0H 0380 01213000 * END; /* END LOOP THROUGH SSIDS@ZD00192*/ 01214000 AL I,@CF00083 0380 01215000 CH I,@CH00106 0380 01216000 BNH @DL00373 0380 01217000 * ELSE 0381 01218000 * ; /* NO BEGINNING @ZD00192*/ 01219000 @RF00372 DS 0H 0382 01220000 * IF J=2 THEN /* ANY SSIDS MOVED @ZD00192*/ 01221000 CH J,@CH00102 0382 01222000 BNE @RF00382 0382 01223000 * SSIDA2M1=ACT2M2; /* NO, MOVE NONE MESSAGE @ZD00192*/ 01224000 MVC SSIDA2M1(16,CVTPTR),ACT2M2 0383 01225000 * ELSE 0384 01226000 * ; /* YES, SSIDS MOVED @ZD00192*/ 01227000 @RF00382 DS 0H 0385 01228000 * END BUILDT07; /* END SUCCESSFUL RETRY PROC 0385 01229000 * @ZD00192*/ 01230000 @EL00009 DS 0H 0385 01231000 @EF00009 DS 0H 0385 01232000 @ER00009 L @14,@SA00009 0385 01233000 BR @14 0385 01234000 * 0386 01235000 * /*****************************************************************/ 01236000 * /* */ 01237000 * /* BUILDTF7 - PROC TO BUILD ACTION 2 MESSAGE FOR MEDIA FAILURE */ 01238000 * /* */ 01239000 * /*****************************************************************/ 01240000 * 0386 01241000 *BUILDTF7: 0386 01242000 * PROC OPTIONS(SAVE(14)); /* MEDIA FAILURE PROC @ZD00192*/ 01243000 BUILDTF7 ST @14,@SA00010 0386 01244000 * RM28=ACT2M3; /* MOVE RESULT LEFT PART @ZD00192*/ 01245000 MVC RM28(28,CVTPTR),ACT2M3 0387 01246000 * RFLAG=RFLAG2; /* MOVE MEDIA FAILURE FLAG 0388 01247000 * @ZD00192*/ 01248000 MVC RFLAG(13,CVTPTR),RFLAG2 0388 01249000 * TEMP4=EBYT1215; /* MOVE TERM CODE AND LZYX 0389 01250000 * @ZD00192*/ 01251000 MVC TEMP4(4,APRWKPTR),EBYT1215(ENTRYPTR) 0389 01252000 * UNPK(TEMP9,TEMP5); /* UNPACK @ZD00192*/ 01253000 UNPK TEMP9(9,APRWKPTR),TEMP5(5,APRWKPTR) 0390 01254000 * TEMP1417=TEMP9(5:8); /* SAVE LZYX @ZD00192*/ 01255000 MVC TEMP1417(4,APRWKPTR),TEMP9+4(APRWKPTR) 0391 01256000 * TEMP1113=TEMP3; /* SAVE TERM CODE @ZD00192*/ 01257000 MVC TEMP1113(3,APRWKPTR),TEMP3(APRWKPTR) 0392 01258000 * TEMP2=EBYT2829; /* CYL STAGED IN ERROR @ZD00192*/ 01259000 MVC TEMP2(2,APRWKPTR),EBYT2829(ENTRYPTR) 0393 01260000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 01261000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0394 01262000 * TEMP710=TEMP4; /* SAVE CYL STAGED IN ERROR 0395 01263000 * @ZD00192*/ 01264000 MVC TEMP710(4,APRWKPTR),TEMP4(APRWKPTR) 0395 01265000 * CALL EBCDICCV; /* CONVERT TO EBCDIC @ZD00192*/ 01266000 BAL @14,EBCDICCV 0396 01267000 * LZYXA2M3=TEMP1417; /* MOVE LZYX @ZD00192*/ 01268000 MVC LZYXA2M3(4,CVTPTR),TEMP1417(APRWKPTR) 0397 01269000 * IF EBYTE12='01'X THEN /* TERM CODE 01 @ZD00192*/ 01270000 CLI EBYTE12(ENTRYPTR),X'01' 0398 01271000 BNE @RF00398 0398 01272000 * IF T08COUNT=0 THEN /* ANY MSG 08 LOGGED @ZM31121*/ 01273000 ICM @06,3,T08COUNT(APRWKPTR) 0399 01274000 BNZ @RF00399 0399 01275000 * RM33=ACT2M4; /* NO, MOVE MEDIA MSG @ZM31121*/ 01276000 MVC RM33(33,CVTPTR),ACT2M4 0400 01277000 * ELSE /* YES, HAD STAGE WITH @ZM31121*/ 01278000 * DO; /* ERROR @ZM31121*/ 01279000 B @RC00399 0401 01280000 @RF00399 DS 0H 0402 01281000 * RM33=ACT2M8; /* MOVE MESSAGE @ZM31121*/ 01282000 MVC RM33(33,CVTPTR),ACT2M8 0402 01283000 * J=T08COUNT; /* MOVE 08 COUNT @ZM31121*/ 01284000 LH J,T08COUNT(,APRWKPTR) 0403 01285000 * CVD(J,TEMP8); /* CONVERT TO DECIMAL @ZM31121*/ 01286000 CVD J,TEMP8(,APRWKPTR) 0404 01287000 * NO08A2M3=EDPAT03; /* MOVE EDIT PATTERN @ZM31121*/ 01288000 MVC NO08A2M3(4,CVTPTR),EDPAT03 0405 01289000 * ED(NO08A2M3,TEMP78); /* EDIT COUNT @ZM31121*/ 01290000 ED NO08A2M3(4,CVTPTR),TEMP78(APRWKPTR) 0406 01291000 * END; /* END STAGE WITH ERROR @ZM31121*/ 01292000 * ELSE 0408 01293000 * IF EBYTE12='02'X THEN /* TERM CODE 02 @ZD00192*/ 01294000 B @RC00398 0408 01295000 @RF00398 CLI EBYTE12(ENTRYPTR),X'02' 0408 01296000 BNE @RF00408 0408 01297000 * RM33=ACT2M5; /* MOVE STRIPES AVAILABLE = 0 0409 01298000 * @ZD00192*/ 01299000 MVC RM33(33,CVTPTR),ACT2M5 0409 01300000 * ELSE 0410 01301000 * IF EBYTE12='03'X THEN /* TERM CODE 03 @ZD00192*/ 01302000 B @RC00408 0410 01303000 @RF00408 CLI EBYTE12(ENTRYPTR),X'03' 0410 01304000 BNE @RF00410 0410 01305000 * RM33=ACT2M6; /* MOVE LOAD FAILURE @ZD00192*/ 01306000 MVC RM33(33,CVTPTR),ACT2M6 0411 01307000 * ELSE /* NOT TERM CODE 01,02, OR 03 0412 01308000 * @ZA00668*/ 01309000 * DO; /* UNKNOWN TERM CODE @ZD00192*/ 01310000 B @RC00410 0412 01311000 @RF00410 DS 0H 0413 01312000 * RM33=ACT2M7; /* MOVE UNKNOWN TERM CODE@ZD00192*/ 01313000 MVC RM33(33,CVTPTR),ACT2M7 0413 01314000 * TCA2M7=TEMP1113(1:2); /* MOVE TERM CODE @ZD00192*/ 01315000 MVC TCA2M7(2,CVTPTR),TEMP1113(APRWKPTR) 0414 01316000 * END; /* END UNKNOWN CODE @ZD00192*/ 01317000 * END BUILDTF7; /* END MEDIA FAILURE PROC@ZD00192*/ 01318000 @EL00010 DS 0H 0416 01319000 @EF00010 DS 0H 0416 01320000 @ER00010 L @14,@SA00010 0416 01321000 BR @14 0416 01322000 * 0417 01323000 * /*****************************************************************/ 01324000 * /* */ 01325000 * /* BACTION3 - PROC TO BUILD ACTION 3 - UNIT UNUSABLE (APR,ERP) */ 01326000 * /* */ 01327000 * /*****************************************************************/ 01328000 * 0417 01329000 *BACTION3: 0417 01330000 * PROC OPTIONS(SAVE(14)); /* BUILD ACTION 3 @ZD00192*/ 01331000 BACTION3 ST @14,@SA00011 0417 01332000 * ACTION=ACTION3; /* MOVE ACTION @ZD00192*/ 01333000 MVC ACTION(19,CVTPTR),ACTION3 0418 01334000 * RFLAG=RFLAG1; /* MOVE UNIT UNUSABLE @ZD00192*/ 01335000 MVC RFLAG(13,CVTPTR),RFLAG1 0419 01336000 * IF ETYPCODE=TF6 THEN /* 06 WITH SUU @ZA28897*/ 01337000 CLI ETYPCODE(ENTRYPTR),X'F6' 0420 01338000 BNE @RF00420 0420 01339000 * DO; /* YES, MOVE M3 @ZA28897*/ 01340000 * RM66=ACT3M3; /* MOVE RESULT MESSAGE @ZA28897*/ 01341000 MVC RM66(66,CVTPTR),ACT3M3 0422 01342000 * ERPA3M3='ERP'; /* CHANGE ACTION MESSAGE @ZA28897*/ 01343000 MVC ERPA3M3(3,CVTPTR),@CC00827 0423 01344000 * END; /* END CODE 06 WITH SUU @ZA28897*/ 01345000 * ELSE /* 00 WITH SUU @ZA28897*/ 01346000 * RM58=ACT3M1; /* MOVE RESULT MESSAGE @ZA28897*/ 01347000 B @RC00420 0425 01348000 @RF00420 MVC RM58(58,CVTPTR),ACT3M1 0425 01349000 * TEMP2=ENTSSID; /* MOVE SSID @ZD00192*/ 01350000 @RC00420 MVC TEMP2(2,APRWKPTR),ENTSSID(ENTRYPTR) 0426 01351000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 01352000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0427 01353000 * TEMP1113=TEMP5(2:4); /* SAVE 3 CHAR SSID @ZD00192*/ 01354000 MVC TEMP1113(3,APRWKPTR),TEMP5+1(APRWKPTR) 0428 01355000 * IF ETYPCODE=TF6 THEN /* 06 WITH SUU @ZA28897*/ 01356000 CLI ETYPCODE(ENTRYPTR),X'F6' 0429 01357000 BNE @RF00429 0429 01358000 * TEMP1=EBYTE5; /* MOVE TERM CODE @ZA28897*/ 01359000 MVC TEMP1(1,APRWKPTR),EBYTE5(ENTRYPTR) 0430 01360000 * ELSE /* 00 WITH SUU @ZA28897*/ 01361000 * TEMP1=EBYTE4; /* MOVE BYTE 10 @ZA28897*/ 01362000 B @RC00429 0431 01363000 @RF00429 MVC TEMP1(1,APRWKPTR),EBYTE4(ENTRYPTR) 0431 01364000 * UNPK(TEMP3,TEMP2); /* UNPACK @ZD00192*/ 01365000 @RC00429 UNPK TEMP3(3,APRWKPTR),TEMP2(2,APRWKPTR) 0432 01366000 * TEMP1415=TEMP2; /* SAVE BYTE 10 @ZD00192*/ 01367000 MVC TEMP1415(2,APRWKPTR),TEMP2(APRWKPTR) 0433 01368000 * TEMP4=EBYTE03; /* MOVE BYTES 0-3 @ZD00192*/ 01369000 MVC TEMP4(4,APRWKPTR),EBYTE03(ENTRYPTR) 0434 01370000 * UNPK(TEMP20(1:9),TEMP5); /* UNPK INTO 8 BYTES @ZD00192*/ 01371000 UNPK TEMP20(9,APRWKPTR),TEMP5(5,APRWKPTR) 0435 01372000 * CALL EBCDICCV; /* CONVERT TO EBCDIC @ZD00192*/ 01373000 BAL @14,EBCDICCV 0436 01374000 * IF ETYPCODE=TF6 THEN /* 06 WITH SUU @ZA28897*/ 01375000 CLI ETYPCODE(ENTRYPTR),X'F6' 0437 01376000 BNE @RF00437 0437 01377000 * TERMA3M3=TEMP1415; /* MOVE TERM CODE @ZA28897*/ 01378000 MVC TERMA3M3(2,CVTPTR),TEMP1415(APRWKPTR) 0438 01379000 * ELSE; /* 00 WITH SUU @ZA28897*/ 01380000 @RF00437 DS 0H 0440 01381000 * B03A3M1=TEMP20(1:8); /* MOVE BYTES 0-3 @ZA28897*/ 01382000 MVC B03A3M1(8,CVTPTR),TEMP20(APRWKPTR) 0440 01383000 * IF ENTSSID(6)='1'B THEN /* DRC SSID @ZD00192*/ 01384000 TM ENTSSID(ENTRYPTR),B'00000100' 0441 01385000 BNO @RF00441 0441 01386000 * DO; /* YES, DRC-DRD PATH @ZD00192*/ 01387000 * RM13=ACT3M2; /* MOVE MESSAGE 2 @ZD00192*/ 01388000 MVC RM13(13,CVTPTR),ACT3M2 0443 01389000 * SSIDA3M2=TEMP1113; /* MOVE DRC SSID @ZD00192*/ 01390000 MVC SSIDA3M2(3,CVTPTR),TEMP1113(APRWKPTR) 0444 01391000 * BY10A3M2=TEMP1415; /* MOVE DRD SSID @ZD00192*/ 01392000 MVC BY10A3M2(2,CVTPTR),TEMP1415(APRWKPTR) 0445 01393000 * END; /* END DRC-DRD PATH @ZD00192*/ 01394000 * ELSE /* NOT DRC-DRD PATH @ZD00192*/ 01395000 * DO; /* MESSAGE 1 @ZD00192*/ 01396000 B @RC00441 0447 01397000 @RF00441 DS 0H 0448 01398000 * SSID34M1=TEMP1113; /* MOVE SSID @ZD00192*/ 01399000 MVC SSID34M1(3,CVTPTR),TEMP1113(APRWKPTR) 0448 01400000 * CALL DEVTMOVE; /* GET DEVICE ID @ZD00192*/ 01401000 BAL @14,DEVTMOVE 0449 01402000 * DEV34M1=TEMP4; /* MOVE DEVICE ID @ZD00192*/ 01403000 MVC DEV34M1(4,CVTPTR),TEMP4(APRWKPTR) 0450 01404000 * END; /* END SA OR DRD SSID @ZD00192*/ 01405000 * END BACTION3; /* END BUILD ACTION 3 @ZD00192*/ 01406000 @EL00011 DS 0H 0452 01407000 @EF00011 DS 0H 0452 01408000 @ER00011 L @14,@SA00011 0452 01409000 BR @14 0452 01410000 * 0453 01411000 * /*****************************************************************/ 01412000 * /* */ 01413000 * /* BACTION4 - PROC TO BUILD ACTION 4 - PERMANENT ERROR */ 01414000 * /* */ 01415000 * /*****************************************************************/ 01416000 * 0453 01417000 *BACTION4: 0453 01418000 * PROC OPTIONS(SAVE(14)); /* BUILD ACTION 4 @ZD00192*/ 01419000 BACTION4 ST @14,@SA00012 0453 01420000 * ACTION=ACTION4; /* MOVE ACTION @ZD00192*/ 01421000 MVC ACTION(19,CVTPTR),ACTION4 0454 01422000 * RFLAG=RFLAG1; /* MOVE UNIT UNUSABLE @ZD00192*/ 01423000 MVC RFLAG(13,CVTPTR),RFLAG1 0455 01424000 * IF ETYPCODE=T20 THEN /* PERM ERROR ON MSC @ZD00192*/ 01425000 * 0456 01426000 CLI ETYPCODE(ENTRYPTR),X'20' 0456 01427000 BNE @RF00456 0456 01428000 * /***************************************************************/ 01429000 * /* */ 01430000 * /* FORMAT 1 AND 2 PERM ERRORS ON MSC */ 01431000 * /* */ 01432000 * /***************************************************************/ 01433000 * 0457 01434000 * DO; /* BUILD MSC UNUSABLE MESSAGE 0457 01435000 * @ZD00192*/ 01436000 * RM61=ACT4M2; /* MOVE RESULT MESSAGE 2 @ZD00192*/ 01437000 MVC RM61(61,CVTPTR),ACT4M2 0458 01438000 * TEMP5=ENTCPUID; /* MOVE CPUID @ZD00192*/ 01439000 MVC TEMP5(5,APRWKPTR),ENTCPUID(ENTRYPTR) 0459 01440000 * UNPK(TEMP20(1:13),TEMP7); /* UNPACK AND SAVE @ZD00192*/ 01441000 UNPK TEMP20(13,APRWKPTR),TEMP7(7,APRWKPTR) 0460 01442000 * TEMP2=ENTSSID; /* MOVE RUA @ZD00192*/ 01443000 MVC TEMP2(2,APRWKPTR),ENTSSID(ENTRYPTR) 0461 01444000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 01445000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0462 01446000 * TEMP1113=TEMP5(2:4); /* SAVE RUA @ZD00192*/ 01447000 MVC TEMP1113(3,APRWKPTR),TEMP5+1(APRWKPTR) 0463 01448000 * TEMP1=EBYTE9; /* MOVE FSC BYTE 1 @ZD00192*/ 01449000 MVC TEMP1(1,APRWKPTR),EBYTE9(ENTRYPTR) 0464 01450000 * TEMP2(2)=EBYTE10; /* MOVE FSC BYTE 2 @ZD00192*/ 01451000 MVC TEMP2+1(1,APRWKPTR),EBYTE10(ENTRYPTR) 0465 01452000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 01453000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0466 01454000 * TEMP1417=TEMP4; /* SAVE FSC @ZD00192*/ 01455000 MVC TEMP1417(4,APRWKPTR),TEMP4(APRWKPTR) 0467 01456000 * CALL EBCDICCV; /* CONVERT TO EBCDIC @ZD00192*/ 01457000 BAL @14,EBCDICCV 0468 01458000 * RUAA4M2=TEMP1113; /* MOVE RUA @ZD00192*/ 01459000 MVC RUAA4M2(3,CVTPTR),TEMP1113(APRWKPTR) 0469 01460000 * CPIDA4M2=TEMP16; /* MOVE CPUID @ZD00192*/ 01461000 MVC CPIDA4M2(6,CVTPTR),TEMP16(APRWKPTR) 0470 01462000 * CPUSA4M2=TEMP710; /* MOVE CPUSER @ZD00192*/ 01463000 MVC CPUSA4M2(4,CVTPTR),TEMP710(APRWKPTR) 0471 01464000 * FSCA4M2=TEMP1417; /* MOVE FSC @ZD00192*/ 01465000 MVC FSCA4M2(4,CVTPTR),TEMP1417(APRWKPTR) 0472 01466000 * END; /* END PERM ERROR ON MSC @ZD00192*/ 01467000 * 0474 01468000 * /*****************************************************************/ 01469000 * /* */ 01470000 * /* FORMAT 1, 3, 4, AND 5 PERM ERRORS */ 01471000 * /* */ 01472000 * /*****************************************************************/ 01473000 * 0474 01474000 * ELSE /* PERM ERROR ON CS,SA,DRC,DRD, 01475000 * OR 3330 @ZD00192*/ 01476000 * DO; /* BUILD ACTION 4 MESSAGE@ZD00192*/ 01477000 B @RC00456 0474 01478000 @RF00456 DS 0H 0475 01479000 * RM68=ACT4M1; /* MOVE RESULT MESSAGE 1 @ZD00192*/ 01480000 MVC RM68(68,CVTPTR),ACT4M1 0475 01481000 * IF ETYPCODE=T40 THEN /* FORMAT 4 @ZM31022*/ 01482000 CLI ETYPCODE(ENTRYPTR),X'40' 0476 01483000 BNE @RF00476 0476 01484000 * DO; /* YES, MOVE FMT/MSG CODE@ZM31022*/ 01485000 * RM24=ACT4M3; /* MOVE CENTER SECTION @ZM31022*/ 01486000 MVC RM24(24,CVTPTR),ACT4M3 0478 01487000 * TEMP2(2)=EFMTMSG; /* MOVE BYTE 11 @ZM31022*/ 01488000 MVC TEMP2+1(1,APRWKPTR),EFMTMSG(ENTRYPTR) 0479 01489000 * UNPK(TEMP20(9:13),TEMP3);/* UNPACK @ZM31022*/ 01490000 UNPK TEMP20+8(5,APRWKPTR),TEMP3(3,APRWKPTR) 0480 01491000 * END; /* END FORMAT 4 CODE @ZM31022*/ 01492000 * ELSE /* MUST BE FMT 1,3,5 @ZM31022*/ 01493000 * DO; /* MOVE BYTES 0-5 @ZM31022*/ 01494000 B @RC00476 0482 01495000 @RF00476 DS 0H 0483 01496000 * TEMP4=EBYTE03; /* MOVE BYTES 0-3 @ZD00192*/ 01497000 MVC TEMP4(4,APRWKPTR),EBYTE03(ENTRYPTR) 0483 01498000 * UNPK(TEMP20(1:9),TEMP5);/* UNPACK AND SAVE @ZD00192*/ 01499000 UNPK TEMP20(9,APRWKPTR),TEMP5(5,APRWKPTR) 0484 01500000 * TEMP2=EBYTE45; /* MOVE BYTES 4,5 @ZD00192*/ 01501000 MVC TEMP2(2,APRWKPTR),EBYTE45(ENTRYPTR) 0485 01502000 * UNPK(TEMP20(9:13),TEMP3);/* UNPACK AND SAVE @ZD00192*/ 01503000 UNPK TEMP20+8(5,APRWKPTR),TEMP3(3,APRWKPTR) 0486 01504000 * END; /* END FMT 1,3,5 @ZM31022*/ 01505000 * TEMP2=EBYTE67; /* MOVE FSC @ZD00192*/ 01506000 @RC00476 MVC TEMP2(2,APRWKPTR),EBYTE67(ENTRYPTR) 0488 01507000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 01508000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0489 01509000 * TEMP1417=TEMP4; /* SAVE FSC @ZD00192*/ 01510000 MVC TEMP1417(4,APRWKPTR),TEMP4(APRWKPTR) 0490 01511000 * TEMP3=ENTSSID; /* MOVE SSID @ZD00192*/ 01512000 MVI TEMP3+2(APRWKPTR),X'00' 0491 01513000 MVC TEMP3(2,APRWKPTR),ENTSSID(ENTRYPTR) 0491 01514000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 01515000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0492 01516000 * TEMP1820=TEMP5(2:4); /* SAVE SSID @ZD00192*/ 01517000 MVC TEMP1820(3,APRWKPTR),TEMP5+1(APRWKPTR) 0493 01518000 * CALL EBCDICCV; /* CONVERT TO EBCDIC @ZD00192*/ 01519000 BAL @14,EBCDICCV 0494 01520000 * SSID34M1=TEMP1820; /* MOVE SSID @ZD00192*/ 01521000 MVC SSID34M1(3,CVTPTR),TEMP1820(APRWKPTR) 0495 01522000 * IF ETYPCODE=T40 THEN /* FORMAT 4 @ZM31022*/ 01523000 CLI ETYPCODE(ENTRYPTR),X'40' 0496 01524000 BNE @RF00496 0496 01525000 * FMTMA4M3=TEMP20(11:12); /* MOVE SA FMT/MSG CODE @ZM31022*/ 01526000 MVC FMTMA4M3(2,CVTPTR),TEMP20+10(APRWKPTR) 0497 01527000 * ELSE /* MUST BE FORMAT 1,3,5 @ZM31022*/ 01528000 * DO; /* MOVE BYTES 0-5 @ZM31022*/ 01529000 B @RC00496 0498 01530000 @RF00496 DS 0H 0499 01531000 * B03A4M1=TEMP20(1:8); /* MOVE BYTES 0-3 @ZD00192*/ 01532000 MVC B03A4M1(8,CVTPTR),TEMP20(APRWKPTR) 0499 01533000 * B45A4M1=TEMP20(9:12); /* MOVE BYTES 4,5 @ZD00192*/ 01534000 MVC B45A4M1(4,CVTPTR),TEMP20+8(APRWKPTR) 0500 01535000 * END; /* END FMT 1,3,5 @ZM31022*/ 01536000 * IF ETYPCODE=T30 THEN /* FORMAT 3 RECORD @ZD00192*/ 01537000 @RC00496 CLI ETYPCODE(ENTRYPTR),X'30' 0502 01538000 BNE @RF00502 0502 01539000 * BFSCA4M1=''; /* YES, BLANK FSC FIELD @ZD00192*/ 01540000 MVI BFSCA4M1(CVTPTR),C' ' 0503 01541000 MVC BFSCA4M1+1(10,CVTPTR),BFSCA4M1(CVTPTR) 0503 01542000 * ELSE /* NOT CS SENSE @ZD00192*/ 01543000 * FSCA4M1=TEMP1417; /* MOVE FSC @ZD00192*/ 01544000 B @RC00502 0504 01545000 @RF00502 MVC FSCA4M1(4,CVTPTR),TEMP1417(APRWKPTR) 0504 01546000 * CALL DEVTMOVE; /* GET DEVICE ID @ZD00192*/ 01547000 @RC00502 BAL @14,DEVTMOVE 0505 01548000 * DEV34M1=TEMP4; /* MOVE DEVICE ID @ZD00192*/ 01549000 MVC DEV34M1(4,CVTPTR),TEMP4(APRWKPTR) 0506 01550000 * END; /* END BUILD MESSAGE 1 @ZD00192*/ 01551000 * END BACTION4; /* END BUILD ACTION 4 @ZD00192*/ 01552000 @EL00012 DS 0H 0508 01553000 @EF00012 DS 0H 0508 01554000 @ER00012 L @14,@SA00012 0508 01555000 BR @14 0508 01556000 * 0509 01557000 * /*****************************************************************/ 01558000 * /* */ 01559000 * /* BACTION5 - PROC TO BUILD ACTION 5 - CS RECONFIGURED */ 01560000 * /* */ 01561000 * /*****************************************************************/ 01562000 * 0509 01563000 *BACTION5: 0509 01564000 * PROC OPTIONS(SAVE(14)); /* BUILD ACTION 5 @ZD00192*/ 01565000 BACTION5 ST @14,@SA00013 0509 01566000 * ACTION=ACTION5; /* MOVE ACTION @ZD00192*/ 01567000 MVC ACTION(19,CVTPTR),ACTION5 0510 01568000 * RFLAG=RFLAG3; /* MOVE UNIT UNUSABLE @ZD00192*/ 01569000 MVC RFLAG(13,CVTPTR),RFLAG3 0511 01570000 * RM63=ACT5M1; /* MOVE RESULT MESSAGE @ZM31121*/ 01571000 MVC RM63(63,CVTPTR),ACT5M1 0512 01572000 * TEMP2=ENTSSID; /* MOVE SSID @ZD00192*/ 01573000 MVC TEMP2(2,APRWKPTR),ENTSSID(ENTRYPTR) 0513 01574000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 01575000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0514 01576000 * TEMP1113=TEMP5(2:4); /* SAVE SSID @ZD00192*/ 01577000 MVC TEMP1113(3,APRWKPTR),TEMP5+1(APRWKPTR) 0515 01578000 * TEMP2=EBYTE45; /* MOVE BYTES 4,5 @ZD00192*/ 01579000 MVC TEMP2(2,APRWKPTR),EBYTE45(ENTRYPTR) 0516 01580000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 01581000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0517 01582000 * TEMP1417=TEMP4; /* SAVE BYTES 4,5 @ZD00192*/ 01583000 MVC TEMP1417(4,APRWKPTR),TEMP4(APRWKPTR) 0518 01584000 * CALL EBCDICCV; /* CONVERT TO EBCDIC @ZD00192*/ 01585000 BAL @14,EBCDICCV 0519 01586000 * SSIDA5M1=TEMP1113; /* MOVE SSID @ZD00192*/ 01587000 MVC SSIDA5M1(3,CVTPTR),TEMP1113(APRWKPTR) 0520 01588000 * MSFNA5M1=SSIDA5M1(2); /* MOVE MSF NUMBER @ZM31022*/ 01589000 MVC MSFNA5M1(1,CVTPTR),SSIDA5M1+1(CVTPTR) 0521 01590000 * IF ENTSSID(2:3)='10'B THEN /* LEFT ACCESSOR @ZM31121*/ 01591000 TM ENTSSID(ENTRYPTR),B'01000000' 0522 01592000 BNO @RF00522 0522 01593000 TM ENTSSID(ENTRYPTR),B'00100000' 0522 01594000 BNZ @RF00522 0522 01595000 * ACCA5M1=ACT5M2; /* YES, MOVE LEFT @ZM31121*/ 01596000 MVC ACCA5M1(5,CVTPTR),ACT5M2 0523 01597000 * ELSE 0524 01598000 * IF ENTSSID(2:3)='01'B THEN /* RIGHT ACCESSOR @ZM31121*/ 01599000 B @RC00522 0524 01600000 @RF00522 TM ENTSSID(ENTRYPTR),B'00100000' 0524 01601000 BNO @RF00524 0524 01602000 TM ENTSSID(ENTRYPTR),B'01000000' 0524 01603000 BNZ @RF00524 0524 01604000 * ACCA5M1=ACT5M3; /* YES, MOVE RIGHT @ZM31121*/ 01605000 MVC ACCA5M1(5,CVTPTR),ACT5M3 0525 01606000 * ELSE; /* DO NOT KNOW WHICH ACC @ZM31121*/ 01607000 @RF00524 DS 0H 0527 01608000 * B45A5M1=TEMP1417; /* MOVE BYTES 4,5 @ZD00192*/ 01609000 @RC00522 MVC B45A5M1(4,CVTPTR),TEMP1417(APRWKPTR) 0527 01610000 * END BACTION5; /* END BUILD ACTION 5 @ZD00192*/ 01611000 @EL00013 DS 0H 0528 01612000 @EF00013 DS 0H 0528 01613000 @ER00013 L @14,@SA00013 0528 01614000 BR @14 0528 01615000 * 0529 01616000 * /*****************************************************************/ 01617000 * /* */ 01618000 * /* BACTION6 - PROC TO BUILD ACTION 6 - MISPLACED CARTRIDGE */ 01619000 * /* */ 01620000 * /*****************************************************************/ 01621000 * 0529 01622000 *BACTION6: 0529 01623000 * PROC OPTIONS(SAVE(14)); /* BUILD ACTION 6 @ZD00192*/ 01624000 BACTION6 ST @14,@SA00014 0529 01625000 * ACTION=ACTION6; /* MOVE ACTION @ZD00192*/ 01626000 MVC ACTION(19,CVTPTR),ACTION6 0530 01627000 * RM72=ACT6M1; /* MOVE RESULT MESSAGE @ZD00192*/ 01628000 MVC RM72(72,CVTPTR),ACT6M1 0531 01629000 * TEMP4=EBYT1215; /* MOVE LZYX AND CASE NUMBER 0532 01630000 * @ZD00192*/ 01631000 MVC TEMP4(4,APRWKPTR),EBYT1215(ENTRYPTR) 0532 01632000 * UNPK(TEMP9,TEMP5); /* UNPACK @ZD00192*/ 01633000 UNPK TEMP9(9,APRWKPTR),TEMP5(5,APRWKPTR) 0533 01634000 * TEMP1417=TEMP9(5:8); /* SAVE LZYX @ZD00192*/ 01635000 MVC TEMP1417(4,APRWKPTR),TEMP9+4(APRWKPTR) 0534 01636000 * TEMP1113=TEMP3; /* SAVE CASE @ZD00192*/ 01637000 MVC TEMP1113(3,APRWKPTR),TEMP3(APRWKPTR) 0535 01638000 * TEMP1=EBYTE10; /* MOVE BYTE 10 @ZD00192*/ 01639000 MVC TEMP1(1,APRWKPTR),EBYTE10(ENTRYPTR) 0536 01640000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 01641000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0537 01642000 * TEMP1820=TEMP3; /* SAVE BYTE 10 @ZD00192*/ 01643000 MVC TEMP1820(3,APRWKPTR),TEMP3(APRWKPTR) 0538 01644000 * TEMP3=ENTSSID; /* MOVE SSUD FOR SUU @ZA29141*/ 01645000 MVI TEMP3+2(APRWKPTR),X'00' 0539 01646000 MVC TEMP3(2,APRWKPTR),ENTSSID(ENTRYPTR) 0539 01647000 * UNPK(TEMP5,TEMP3); /* UNPACK IT @ZA29141*/ 01648000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0540 01649000 * TEMP710(1:3)=TEMP5(2:4); /* SAVE SSID @ZA29141*/ 01650000 MVC TEMP710(3,APRWKPTR),TEMP5+1(APRWKPTR) 0541 01651000 * CALL EBCDICCV; /* CONVERT TO EBCDIC @ZD00192*/ 01652000 BAL @14,EBCDICCV 0542 01653000 * TIDA6M1=TEMP1820(1:2); /* MOVE TABLE ID @ZD00192*/ 01654000 MVC TIDA6M1(2,CVTPTR),TEMP1820(APRWKPTR) 0543 01655000 * LZYXA6M1=TEMP1417; /* MOVE LZYX @ZD00192*/ 01656000 MVC LZYXA6M1(4,CVTPTR),TEMP1417(APRWKPTR) 0544 01657000 * CASEA6M1=TEMP1113(1:2); /* MOVE CASE NUMBER @ZD00192*/ 01658000 MVC CASEA6M1(2,CVTPTR),TEMP1113(APRWKPTR) 0545 01659000 * IF ENTVOLID(1)>=HEXA THEN /* VOLID NOT 00 @ZD00192*/ 01660000 CLI ENTVOLID(ENTRYPTR),X'C1' 0546 01661000 BL @RF00546 0546 01662000 * VOLA6M1=ENTVOLID; /* MOVE VOLID @ZD00192*/ 01663000 MVC VOLA6M1(6,CVTPTR),ENTVOLID(ENTRYPTR) 0547 01664000 * ELSE 0548 01665000 * ; /* VOLID ZERO, DO NOT MOVE 0548 01666000 * @ZD00192*/ 01667000 @RF00546 DS 0H 0549 01668000 * IF ENTCSN(1)>=HEXA THEN /* CSN NOT 00 @ZD00192*/ 01669000 CLI ENTCSN(ENTRYPTR),X'C1' 0549 01670000 BL @RF00549 0549 01671000 * CSNA6M1=ENTCSN; /* MOVE CSN @ZD00192*/ 01672000 MVC CSNA6M1(12,CVTPTR),ENTCSN(ENTRYPTR) 0550 01673000 * ELSE 0551 01674000 * ; /* CSN ZERO, DO NOT MOVE @ZD00192*/ 01675000 @RF00549 DS 0H 0552 01676000 * IF ETYPCODE=TF9 THEN /* SUU @ZA29141*/ 01677000 CLI ETYPCODE(ENTRYPTR),X'F9' 0552 01678000 BNE @RF00552 0552 01679000 * DO; /* YES, ADD SSID @ZA29141*/ 01680000 * RFLAG=RFLAG1; /* FLAG SUU @ZA29141*/ 01681000 MVC RFLAG(13,CVTPTR),RFLAG1 0554 01682000 * IF ENTCSN(1)>=HEXA THEN /* HAVE A CSN @ZA29141*/ 01683000 CLI ENTCSN(ENTRYPTR),X'C1' 0555 01684000 BL @RF00555 0555 01685000 * DO; /* YES, OVERLAY VOLID @ZA29141*/ 01686000 * RM13=ACT6M2; /* MOVE MESSAGE @ZA29141*/ 01687000 MVC RM13(13,CVTPTR),ACT6M2 0557 01688000 * SSIDA6M2=TEMP710(1:3); /* MOVE SSID @ZA29141*/ 01689000 MVC SSIDA6M2(3,CVTPTR),TEMP710(APRWKPTR) 0558 01690000 * END; /* END OVERLAY VOLID @ZA29141*/ 01691000 * ELSE /* NO SCAN @ZA29141*/ 01692000 * DO; /* OVERLAY CSN @ZA29141*/ 01693000 B @RC00555 0560 01694000 @RF00555 DS 0H 0561 01695000 * RM17=ACT6M2; /* MOVE MESSAGE @ZA29141*/ 01696000 MVI RM17+13(CVTPTR),C' ' 0561 01697000 MVC RM17+14(3,CVTPTR),RM17+13(CVTPTR) 0561 01698000 MVC RM17(13,CVTPTR),ACT6M2 0561 01699000 * SSIDA6M3=TEMP710(1:3); /* MOVE SSID @ZA29141*/ 01700000 MVC SSIDA6M3(3,CVTPTR),TEMP710(APRWKPTR) 0562 01701000 * END; /* END OVERLAY CSN @ZA29141*/ 01702000 * END; /* END ADD SSID FOR SUU @ZA29141*/ 01703000 * ELSE; /* NOT SUU @ZA29141*/ 01704000 @RF00552 DS 0H 0566 01705000 * END BACTION6; /* END BUILD ACTION 6 @ZD00192*/ 01706000 @EL00014 DS 0H 0566 01707000 @EF00014 DS 0H 0566 01708000 @ER00014 L @14,@SA00014 0566 01709000 BR @14 0566 01710000 * 0567 01711000 * /*****************************************************************/ 01712000 * /* */ 01713000 * /* BACTION7 - PROC TO BUILD ACTION 7 - SWITCH TO ALTERNATE MSC */ 01714000 * /* */ 01715000 * /*****************************************************************/ 01716000 * 0567 01717000 *BACTION7: 0567 01718000 * PROC OPTIONS(SAVE(14)); /* BUILD ACTION 7 @ZD00192*/ 01719000 BACTION7 ST @14,@SA00015 0567 01720000 * ACTION=ACTION7; /* MOVE ACTION @ZD00192*/ 01721000 MVC ACTION(19,CVTPTR),ACTION7 0568 01722000 * RM61=ACT7M1; /* MOVE RESULT MESSAGE @ZD00192*/ 01723000 MVC RM61(61,CVTPTR),ACT7M1 0569 01724000 * TEMP5=ENTCPUID; /* MOVE CPUID @ZD00192*/ 01725000 MVC TEMP5(5,APRWKPTR),ENTCPUID(ENTRYPTR) 0570 01726000 * UNPK(TEMP20(1:13),TEMP7); /* UNPACK AND SAVE @ZD00192*/ 01727000 UNPK TEMP20(13,APRWKPTR),TEMP7(7,APRWKPTR) 0571 01728000 * TEMP2=ENTSSID; /* MOVE RUA @ZD00192*/ 01729000 MVC TEMP2(2,APRWKPTR),ENTSSID(ENTRYPTR) 0572 01730000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 01731000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0573 01732000 * TEMP1113=TEMP5(2:4); /* SAVE RUA @ZD00192*/ 01733000 MVC TEMP1113(3,APRWKPTR),TEMP5+1(APRWKPTR) 0574 01734000 * TEMP1=EFMTMSG; /* MOVE MESSAGE CODE @ZD00192*/ 01735000 MVC TEMP1(1,APRWKPTR),EFMTMSG(ENTRYPTR) 0575 01736000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 01737000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0576 01738000 * TEMP1820=TEMP3; /* SAVE MESSAGE CODE @ZD00192*/ 01739000 MVC TEMP1820(3,APRWKPTR),TEMP3(APRWKPTR) 0577 01740000 * CALL EBCDICCV; /* CONVERT TO EBCDIC @ZD00192*/ 01741000 BAL @14,EBCDICCV 0578 01742000 * RUAA7M1=TEMP1113; /* MOVE RUA @ZD00192*/ 01743000 MVC RUAA7M1(3,CVTPTR),TEMP1113(APRWKPTR) 0579 01744000 * CPIDA7M1=TEMP16; /* MOVE CPUID @ZD00192*/ 01745000 MVC CPIDA7M1(6,CVTPTR),TEMP16(APRWKPTR) 0580 01746000 * CPUSA7M1=TEMP710; /* MOVE CPUSER @ZD00192*/ 01747000 MVC CPUSA7M1(4,CVTPTR),TEMP710(APRWKPTR) 0581 01748000 * MCA7M1=TEMP1820(1:2); /* MOVE MESSAGE CODE @ZD00192*/ 01749000 MVC MCA7M1(2,CVTPTR),TEMP1820(APRWKPTR) 0582 01750000 * END BACTION7; /* END BUILD ACTION 7 @ZD00192*/ 01751000 @EL00015 DS 0H 0583 01752000 @EF00015 DS 0H 0583 01753000 @ER00015 L @14,@SA00015 0583 01754000 BR @14 0583 01755000 * 0584 01756000 * /*****************************************************************/ 01757000 * /* */ 01758000 * /* BACTION8 - PROC TO BUILD ACTION 8 - CYL STAGED WITH ERROR */ 01759000 * /* */ 01760000 * /*****************************************************************/ 01761000 * 0584 01762000 *BACTION8: 0584 01763000 * PROC OPTIONS(SAVE(14)); /* BUILD ACTION 8 @ZM31121*/ 01764000 BACTION8 ST @14,@SA00016 0584 01765000 * ACTION=ACTION8; /* MOVE ACTION @ZM31121*/ 01766000 MVC ACTION(19,CVTPTR),ACTION8 0585 01767000 * RM55=ACT8M1; /* MOVE RESULT @ZM31121*/ 01768000 MVC RM55(55,CVTPTR),ACT8M1 0586 01769000 * RFLAG=RFLAG2; /* MOVE MEDIA FAILURE @ZM31121*/ 01770000 MVC RFLAG(13,CVTPTR),RFLAG2 0587 01771000 * TEMP2=EBYT1415; /* MOVE BYTES 14,15 @ZM31121*/ 01772000 MVC TEMP2(2,APRWKPTR),EBYT1415(ENTRYPTR) 0588 01773000 * UNPK(TEMP5,TEMP3); /* UNPACK HEX CYL @ZM31121*/ 01774000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0589 01775000 * TEMP710=TEMP4; /* SAVE BAD CYL ADDR @ZM31121*/ 01776000 MVC TEMP710(4,APRWKPTR),TEMP4(APRWKPTR) 0590 01777000 * CALL EBCDICCV; /* CONVERT TO PRINT @ZM31121*/ 01778000 BAL @14,EBCDICCV 0591 01779000 * CYLA8M1=TEMP710; /* MOVE CONVERTED CYL @ZM31121*/ 01780000 MVC CYLA8M1(4,CVTPTR),TEMP710(APRWKPTR) 0592 01781000 * VOLA8M1=ENTVOLID; /* MOVE VOLID @ZM31121*/ 01782000 MVC VOLA8M1(6,CVTPTR),ENTVOLID(ENTRYPTR) 0593 01783000 * IF APRFLAGS(2)='1'B THEN /* IN APR SEQUENCE @ZM31121*/ 01784000 TM APRFLAGS(APRWKPTR),B'01000000' 0594 01785000 BNO @RF00594 0594 01786000 * T08COUNT=T08COUNT+1; /* YES, ADD 1 TO 08 COUNT@ZM31121*/ 01787000 LA @06,1 0595 01788000 AH @06,T08COUNT(,APRWKPTR) 0595 01789000 STH @06,T08COUNT(,APRWKPTR) 0595 01790000 * ELSE 0596 01791000 * ; /* NO, RECORD BY ITSELF @ZM31121*/ 01792000 @RF00594 DS 0H 0597 01793000 * END BACTION8; /* END ACTION 8 PROC @ZM31121*/ 01794000 @EL00016 DS 0H 0597 01795000 @EF00016 DS 0H 0597 01796000 @ER00016 L @14,@SA00016 0597 01797000 BR @14 0597 01798000 * 0598 01799000 * /*****************************************************************/ 01800000 * /* */ 01801000 * /* MOVEDAYT - PROC TO BUILD DATE,TIME PART OF LINE OUTPUT */ 01802000 * /* */ 01803000 * /*****************************************************************/ 01804000 * 0598 01805000 *MOVEDAYT: 0598 01806000 * PROC OPTIONS(SAVE(14)); /* PROC TO CONVERT DATE,TIME 0598 01807000 * @ZD00192*/ 01808000 MOVEDAYT ST @14,12(,@13) 0598 01809000 * TEMP2331=''B; /* ZERO TEMP AREA @ZD00192*/ 01810000 XC TEMP2331(9,APRWKPTR),TEMP2331(APRWKPTR) 0599 01811000 * TEMP2427=SAVETIME; /* MOVE TIME @ZD00192*/ 01812000 MVC TEMP2427(4,APRWKPTR),SAVETIME(APRWKPTR) 0600 01813000 * TEMP2831=SAVEDATE; /* MOVE DATE @ZD00192*/ 01814000 MVC TEMP2831(4,APRWKPTR),SAVEDATE(APRWKPTR) 0601 01815000 * EDREC01=EDPAT01; /* MOVE EDIT PATTERN @ZD00192*/ 01816000 MVC EDREC01(22,APRWKPTR),EDPAT01 0602 01817000 * ED(EDREC01,TEMP2331); /* EDIT DATE,TIME @ZD00192*/ 01818000 ED EDREC01(22,APRWKPTR),TEMP2331(APRWKPTR) 0603 01819000 * OUTDAY=ED01DAY; /* MOVE DAY @ZD00192*/ 01820000 MVC OUTDAY(3,CVTPTR),ED01DAY(APRWKPTR) 0604 01821000 * OUTYEAR=ED01YEAR; /* MOVE YEAR @ZD00192*/ 01822000 MVC OUTYEAR(3,CVTPTR),ED01YEAR(APRWKPTR) 0605 01823000 * OUTTIME=ED01TIME; /* MOVE TIME @ZD00192*/ 01824000 MVC OUTTIME(11,CVTPTR),ED01TIME(APRWKPTR) 0606 01825000 * END MOVEDAYT; /* END DATE,TIME PROC @ZD00192*/ 01826000 * 0607 01827000 @EL00017 DS 0H 0607 01828000 @EF00017 DS 0H 0607 01829000 @ER00017 L @14,12(,@13) 0607 01830000 BR @14 0607 01831000 * /*****************************************************************/ 01832000 * /* */ 01833000 * /* EBCDICCV - PROC TO CONVERT UNPACKED HEX TO PRINTABLE EBCDIC */ 01834000 * /* */ 01835000 * /*****************************************************************/ 01836000 * 0608 01837000 *EBCDICCV: 0608 01838000 * PROC OPTIONS(SAVE(14)); /* PROC TO CONVERT TO EBCDIC 0608 01839000 * @ZD00192*/ 01840000 EBCDICCV ST @14,12(,@13) 0608 01841000 * DO I=1 TO LENGTH(TEMP20); /* LOOP THROUGH TEMP20 @ZD00192*/ 01842000 LA I,1 0609 01843000 @DL00609 DS 0H 0610 01844000 * IF TEMP20(I)>'9' THEN /* NOT 0-9 @ZD00192*/ 01845000 LR @15,APRWKPTR 0610 01846000 ALR @15,I 0610 01847000 CLI TEMP20-1(@15),C'9' 0610 01848000 BNH @RF00610 0610 01849000 * TEMP20(I)=TEMP20(I)-'39'X; /* FIX A-F @ZD00192*/ 01850000 SLR @00,@00 0611 01851000 IC @00,TEMP20-1(I,APRWKPTR) 0611 01852000 SH @00,@CH00854 0611 01853000 STC @00,TEMP20-1(I,APRWKPTR) 0611 01854000 * ELSE 0612 01855000 * ; /* OK 0-9 @ZD00192*/ 01856000 @RF00610 DS 0H 0613 01857000 * END; /* END LOOP @ZD00192*/ 01858000 AL I,@CF00083 0613 01859000 CH I,@CH00250 0613 01860000 BNH @DL00609 0613 01861000 * END EBCDICCV; /* END EBCDIC CONVERT PROC 0614 01862000 * @ZD00192*/ 01863000 @EL00018 DS 0H 0614 01864000 @EF00018 DS 0H 0614 01865000 @ER00018 L @14,12(,@13) 0614 01866000 BR @14 0614 01867000 * 0615 01868000 * /*****************************************************************/ 01869000 * /* */ 01870000 * /* DEVTMOVE - PROC TO GENERATE DEVICE TYPE FROM SSID - THE 4 CHAR*/ 01871000 * /* ID IS PLACED IN TEMP4 */ 01872000 * /* */ 01873000 * /*****************************************************************/ 01874000 * 0615 01875000 *DEVTMOVE: 0615 01876000 * PROC OPTIONS(SAVE(14)); /* PROC TO GET DEVICE ID @ZD00192*/ 01877000 DEVTMOVE ST @14,12(,@13) 0615 01878000 * IF ENTSSID(1)='1'B THEN /* RUA FLAG SET @ZD00192*/ 01879000 TM ENTSSID(ENTRYPTR),B'10000000' 0616 01880000 BNO @RF00616 0616 01881000 * TEMP4=IDMSC; /* YES, MOVE MSC ID @ZD00192*/ 01882000 MVC TEMP4(4,APRWKPTR),@CC00372 0617 01883000 * ELSE /* NO, MUST BE AN SSID @ZD00192*/ 01884000 * IF ENTSSID(5)='1'B THEN /* SA BIT ON @ZD00192*/ 01885000 B @RC00616 0618 01886000 @RF00616 TM ENTSSID(ENTRYPTR),B'00001000' 0618 01887000 BNO @RF00618 0618 01888000 * TEMP4=IDSA; /* YES, MOVE SA ID @ZD00192*/ 01889000 MVC TEMP4(4,APRWKPTR),@CC00374 0619 01890000 * ELSE /* NO, CHECK NEXT @ZD00192*/ 01891000 * IF ENTSSID(6)='1'B THEN /* DRC BIT ON @ZD00192*/ 01892000 B @RC00618 0620 01893000 @RF00618 TM ENTSSID(ENTRYPTR),B'00000100' 0620 01894000 BNO @RF00620 0620 01895000 * TEMP4=IDDRC; /* YES, MOVE DRC ID @ZD00192*/ 01896000 MVC TEMP4(4,APRWKPTR),@CC00376 0621 01897000 * ELSE /* NO, CHECK NEXT @ZD00192*/ 01898000 * IF ENTSSID(7)='1'B THEN /* DRD BIT ON @ZD00192*/ 01899000 B @RC00620 0622 01900000 @RF00620 TM ENTSSID(ENTRYPTR),B'00000010' 0622 01901000 BNO @RF00622 0622 01902000 * TEMP4=IDDRD; /* YES MOVE DRD ID @ZD00192*/ 01903000 MVC TEMP4(4,APRWKPTR),@CC00378 0623 01904000 * ELSE /* NO, CHECK NEXT @ZD00192*/ 01905000 * IF ENTSSID(8)='1'B THEN /* CS BIT ON @ZD00192*/ 01906000 B @RC00622 0624 01907000 @RF00622 TM ENTSSID(ENTRYPTR),B'00000001' 0624 01908000 BNO @RF00624 0624 01909000 * IF ENTSSID(2:3)='00'B THEN/* ACCESSOR ID @ZM31121*/ 01910000 TM ENTSSID(ENTRYPTR),B'01100000' 0625 01911000 BNZ @RF00625 0625 01912000 * DO; /* NO, GET MSF NUMBER @ZM31022*/ 01913000 * TEMP4=IDCS; /* MOVE CS ID @ZD00192*/ 01914000 MVC TEMP4(4,APRWKPTR),@CC00380 0627 01915000 * TEMP4(4)=ENTSSID(9:16);/* GET CHAR 1 AND 2 @ZM31022*/ 01916000 MVC TEMP4+3(1,APRWKPTR),ENTSSID+1(ENTRYPTR) 0628 01917000 * SRL(TEMP4(4),4); /* SHIFT OUT CHAR 2 @ZM31022*/ 01918000 SLR @06,@06 0629 01919000 IC @06,TEMP4+3(,APRWKPTR) 0629 01920000 SRL @06,4 0629 01921000 STC @06,TEMP4+3(,APRWKPTR) 0629 01922000 * TEMP4(4)=TEMP4(4)|'F0'X;/* MAKE EBCDIC @ZM31022*/ 01923000 OI TEMP4+3(APRWKPTR),X'F0' 0630 01924000 * END; /* END GET MSF NUMBER @ZM31022*/ 01925000 * ELSE 0632 01926000 * TEMP4=IDACC; /* YES, MOVE ACCESSOR ID @ZD00192*/ 01927000 B @RC00625 0632 01928000 @RF00625 MVC TEMP4(4,APRWKPTR),@CC00382 0632 01929000 * ELSE /* NO, ALL BITS OFF @ZD00192*/ 01930000 * TEMP4=ID3330; /* MOVE 3330 ID @ZD00192*/ 01931000 B @RC00624 0633 01932000 @RF00624 MVC TEMP4(4,APRWKPTR),@CC00384 0633 01933000 * END DEVTMOVE; /* END GET DEVICE ID PROC@ZD00192*/ 01934000 @EL00019 DS 0H 0634 01935000 @EF00019 DS 0H 0634 01936000 @ER00019 L @14,12(,@13) 0634 01937000 BR @14 0634 01938000 * 0635 01939000 * /*****************************************************************/ 01940000 * /* */ 01941000 * /* SUMENT - PROC TO SUMMERIZE THE ENTRIES IN THE ACCUMULATORS */ 01942000 * /* */ 01943000 * /*****************************************************************/ 01944000 * 0635 01945000 *SUMENT: 0635 01946000 * PROC OPTIONS(SAVE(14)); /* PROC TO SUM ACCUMULATOR 0635 01947000 * @ZD00192*/ 01948000 SUMENT ST @14,@SA00020 0635 01949000 * ENTRYPTR=ACCUMPTR; /* GET OLD START OF ACCUMULATOR 01950000 * @ZD00192*/ 01951000 L ENTRYPTR,ACCUMPTR(,APRWKPTR) 0636 01952000 * ACCUMPTR=''B; /* ZERO START PTR @ZD00192*/ 01953000 * 0637 01954000 SLR @06,@06 0637 01955000 ST @06,ACCUMPTR(,APRWKPTR) 0637 01956000 * /*****************************************************************/ 01957000 * /* */ 01958000 * /* GET NEW STARTING ADDRESS IF ANY @ZD00192*/ 01959000 * /* */ 01960000 * /*****************************************************************/ 01961000 * 0638 01962000 * DO WHILE(ENTRYPTR>0&ACCUMPTR=0);/* LOOP UNTIL START FOUND@ZD00192*/ 01963000 B @DE00638 0638 01964000 @DL00638 DS 0H 0639 01965000 * IF EFLAG8='1'B THEN /* HAVE SUMMARY INPUT @ZD00192*/ 01966000 TM EFLAG8(ENTRYPTR),B'00000001' 0639 01967000 BNO @RF00639 0639 01968000 * ACCUMPTR=ENTRYPTR; /* YES, SET NEW STARTING ADDRESS 01969000 * @ZD00192*/ 01970000 ST ENTRYPTR,ACCUMPTR(,APRWKPTR) 0640 01971000 * ELSE /* NOT SUMMARY INPUT @ZD00192*/ 01972000 * ENTRYPTR=NEXTENT; /* UPDATE ENTRY ADDRESS @ZD00192*/ 01973000 B @RC00639 0641 01974000 @RF00639 L ENTRYPTR,NEXTENT(,ENTRYPTR) 0641 01975000 * END; /* END OF LOOP @ZD00192*/ 01976000 @RC00639 DS 0H 0642 01977000 @DE00638 SLR @06,@06 0642 01978000 CR ENTRYPTR,@06 0642 01979000 BNH @DC00638 0642 01980000 C @06,ACCUMPTR(,APRWKPTR) 0642 01981000 BE @DL00638 0642 01982000 @DC00638 DS 0H 0643 01983000 * IF ACCUMPTR>0 THEN /* HAVE NEW STARTING ADRR@ZD00192*/ 01984000 * 0643 01985000 L @06,ACCUMPTR(,APRWKPTR) 0643 01986000 LTR @06,@06 0643 01987000 BNP @RF00643 0643 01988000 * /***************************************************************/ 01989000 * /* */ 01990000 * /* SUMMARIZE THE ACCUMULATORS */ 01991000 * /* */ 01992000 * /***************************************************************/ 01993000 * 0644 01994000 * DO; /* YES, SUMMARIZE @ZD00192*/ 01995000 * ENTRYPTR=ACCUMPTR; /* SET STARTING ADDRESS @ZD00192*/ 01996000 LR ENTRYPTR,@06 0645 01997000 * CURRNEXT=NEXTENT; /* GET NEXT ADDR @ZD00192*/ 01998000 MVC CURRNEXT(4,APRWKPTR),NEXTENT(ENTRYPTR) 0646 01999000 * ACCPOINT(1)=ACCUMPTR; /* SAVE START @ZD00192*/ 02000000 L @05,STARTPNT(,APRWKPTR) 0647 02001000 ST @06,ACCPOINT(,@05) 0647 02002000 * PINDEX=1; /* SET COUNT TO ONE @ZD00192*/ 02003000 MVC PINDEX(4),@CF00083 0648 02004000 * DO WHILE(CURRNEXT>0); /* LOOP TO LAST ENTRY ONLY 0649 02005000 * @ZD00192*/ 02006000 * 0649 02007000 B @DE00649 0649 02008000 @DL00649 DS 0H 0650 02009000 * /***********************************************************/ 02010000 * /* */ 02011000 * /* CALL UPDATEAC TO UPDATE AND COMPRESS THE ACCUMULATORS */ 02012000 * /* */ 02013000 * /***********************************************************/ 02014000 * 0650 02015000 * CALL UPDATEAC; /* UPDATE AND COMPRESS @ZD00192*/ 02016000 BAL @14,UPDATEAC 0650 02017000 * ENTRYPTR=NEXTENT; /* POINT TO NEXT ENTRY @ZD00192*/ 02018000 L ENTRYPTR,NEXTENT(,ENTRYPTR) 0651 02019000 * IF ENTRYPTR>0 THEN /* NOT AT END OF ACCUMULATOR 0652 02020000 * @ZD00192*/ 02021000 LTR ENTRYPTR,ENTRYPTR 0652 02022000 BNP @RF00652 0652 02023000 * DO; /* NO, BUILD ACCPOINT @ZD00192*/ 02024000 * CURRNEXT=NEXTENT; /* GET NEXT ADDR @ZD00192*/ 02025000 MVC CURRNEXT(4,APRWKPTR),NEXTENT(ENTRYPTR) 0654 02026000 * PINDEX=PINDEX+1; /* ADD 1 TO COUNT @ZD00192*/ 02027000 LA @06,1 0655 02028000 AL @06,PINDEX 0655 02029000 ST @06,PINDEX 0655 02030000 * ACCPOINT(PINDEX)=ENTRYPTR;/* ADD ADDRESS TO ACCPOINT 0656 02031000 * @ZD00192*/ 02032000 SLA @06,2 0656 02033000 L @05,STARTPNT(,APRWKPTR) 0656 02034000 AL @05,@CF00875 0656 02035000 ST ENTRYPTR,ACCPOINT(@06,@05) 0656 02036000 * END; /* END BUILD ACCPOINT @ZD00192*/ 02037000 * ELSE /* AT END OF ACCUMULATORS@ZD00192*/ 02038000 * CURRNEXT=0; /* GET OUT OF LOOP @ZD00192*/ 02039000 B @RC00652 0658 02040000 @RF00652 SLR @06,@06 0658 02041000 ST @06,CURRNEXT(,APRWKPTR) 0658 02042000 * END; /* END LOOP THROUGH ACCUMULATORS 02043000 * @ZD00192*/ 02044000 @RC00652 DS 0H 0659 02045000 @DE00649 ICM @06,15,CURRNEXT(APRWKPTR) 0659 02046000 BP @DL00649 0659 02047000 * TOTALENT=PINDEX; /* SET NEW TOTAL ENTRIES @ZD00192*/ 02048000 MVC TOTALENT(4,APRWKPTR),PINDEX 0660 02049000 * ACCUMPTR=ACCPOINT(1); /* RESTORE STARTING ADDR @ZD00192*/ 02050000 L @06,STARTPNT(,APRWKPTR) 0661 02051000 MVC ACCUMPTR(4,APRWKPTR),ACCPOINT(@06) 0661 02052000 */* CALL TRACEENT DUMP ACCPOINT, ENTRIES@ZD00192*/ 02053000 * 0662 02054000 * END; /* END SUMMARY PROCESS @ZD00192*/ 02055000 * ELSE /* NO SUMMARY INPUT @ZD00192*/ 02056000 * TOTALENT=0; /* ZERO ENTRY COUNT @ZD00192*/ 02057000 B @RC00643 0663 02058000 @RF00643 SLR @06,@06 0663 02059000 ST @06,TOTALENT(,APRWKPTR) 0663 02060000 * END SUMENT; /* END OF SUMMARIZE PROC @ZD00192*/ 02061000 @EL00020 DS 0H 0664 02062000 @EF00020 DS 0H 0664 02063000 @ER00020 L @14,@SA00020 0664 02064000 BR @14 0664 02065000 * 0665 02066000 * /*****************************************************************/ 02067000 * /* */ 02068000 * /* UPDATEAC - PROC TO INCREMENT THE COUNTS IN THE ACCUMULATORS */ 02069000 * /* AND COMPRESS THE ACCUMULATORS */ 02070000 * /* */ 02071000 * /*****************************************************************/ 02072000 * 0665 02073000 *UPDATEAC: 0665 02074000 * PROC OPTIONS(SAVE(14)); /* PROC TO UPDATE ACCUM @ZD00192*/ 02075000 UPDATEAC ST @14,12(,@13) 0665 02076000 * RETCODE=0; /* SET LOCAL FLAG TO ZERO@ZD00192*/ 02077000 SLR RETCODE,RETCODE 0666 02078000 * ACCUMPTR=ENTRYPTR; /* SAVE CURRENT POINTER @ZD00192*/ 02079000 ST ENTRYPTR,ACCUMPTR(,APRWKPTR) 0667 02080000 * SENSEPTR=ADDR(ENTVAR); /* SET SENSE DATA ADDRESS@ZD00192*/ 02081000 LA SENSEPTR,ENTVAR(,ENTRYPTR) 0668 02082000 * TYPECODE=ETYPCODE; /* SAVE TYPE CODE @ZD00192*/ 02083000 MVC TYPECODE(1,APRWKPTR),ETYPCODE(ENTRYPTR) 0669 02084000 * SORTCNT=ENTCOUNT; /* SAVE ENTRY COUNT @ZD00192*/ 02085000 LH @06,ENTCOUNT(,ENTRYPTR) 0670 02086000 ST @06,SORTCNT(,APRWKPTR) 0670 02087000 * SAVESSID=ENTSSID; /* SAVE SSID @ZD00192*/ 02088000 MVC SAVESSID(2,APRWKPTR),ENTSSID(ENTRYPTR) 0671 02089000 * SAVEDAYT=ENTDAYT; /* SAVE DATE,TIME @ZD00192*/ 02090000 MVC SAVEDAYT(8,APRWKPTR),ENTDAYT(ENTRYPTR) 0672 02091000 * STARTAPR=ENTRYPTR; /* SET LAST ADDRESS @ZD00192*/ 02092000 ST ENTRYPTR,STARTAPR(,APRWKPTR) 0673 02093000 * ENTRYPTR=NEXTENT; /* START WITH NEXT ENTRY @ZD00192*/ 02094000 L ENTRYPTR,NEXTENT(,ENTRYPTR) 0674 02095000 * DO WHILE(ENTRYPTR>0); /* LOOP THROUGH REST OF ENTRIES 02096000 * @ZD00192*/ 02097000 B @DE00675 0675 02098000 @DL00675 DS 0H 0676 02099000 * IF EFLAG8='1'B THEN /* HAVE SUMMARY INPUT @ZD00192*/ 02100000 TM EFLAG8(ENTRYPTR),B'00000001' 0676 02101000 BNO @RF00676 0676 02102000 * DO; /* YES, CHECK ENTRY @ZD00192*/ 02103000 * IF TYPECODE=TF7 THEN /* LOOKING FOR MEDIA FAILURE 0678 02104000 * @ZD00192*/ 02105000 CLI TYPECODE(APRWKPTR),X'F7' 0678 02106000 BNE @RF00678 0678 02107000 * IF ETYPCODE=TF7 THEN /* YES, IS THIS ENTRY MEDIA 0679 02108000 * @ZD00192*/ 02109000 * 0679 02110000 CLI ETYPCODE(ENTRYPTR),X'F7' 0679 02111000 BNE @RF00679 0679 02112000 * /*******************************************************/ 02113000 * /* */ 02114000 * /* UPDATE MEDIA FAILURE RECORDS */ 02115000 * /* */ 02116000 * /*******************************************************/ 02117000 * 0680 02118000 * IF ENTVOLID=VOLID0&EBYTE10=TBLID0&ENTCSN=CSN0 THEN /* 02119000 * MATCH VOLID AND SEQ NO. 0680 02120000 * AND CSN @ZA00668*/ 02121000 CLC ENTVOLID(6,ENTRYPTR),VOLID0(SENSEPTR) 0680 02122000 BNE @RF00680 0680 02123000 CLC EBYTE10(1,ENTRYPTR),TBLID0(SENSEPTR) 0680 02124000 BNE @RF00680 0680 02125000 CLC ENTCSN(12,ENTRYPTR),CSN0(SENSEPTR) 0680 02126000 BNE @RF00680 0680 02127000 * RETCODE=2; /* YES, FOUND MATCH @ZA00668*/ 02128000 LA RETCODE,2 0681 02129000 * ELSE; /* NO, NEW ENTRY @ZA00668*/ 02130000 @RF00680 DS 0H 0683 02131000 * ELSE 0683 02132000 * ; /* THIS ENTRY NOT MEDIA @ZD00192*/ 02133000 @RF00679 DS 0H 0684 02134000 * ELSE /* NOT CODE F7 = MEDIA FAILURE 0684 02135000 * @ZD00192*/ 02136000 * IF ETYPCODE^=TF7 THEN /* THIS ENTRY NOT MDEIA @ZD00192*/ 02137000 * 0684 02138000 B @RC00678 0684 02139000 @RF00678 CLI ETYPCODE(ENTRYPTR),X'F7' 0684 02140000 BE @RF00684 0684 02141000 * /*******************************************************/ 02142000 * /* */ 02143000 * /* UPDATE UNIT UNUSABLE RECORDS */ 02144000 * /* */ 02145000 * /*******************************************************/ 02146000 * 0685 02147000 * IF SAVESSID=ENTSSID THEN/* HAVE A SSID MATCH @ZD00192*/ 02148000 CLC SAVESSID(2,APRWKPTR),ENTSSID(ENTRYPTR) 0685 02149000 BNE @RF00685 0685 02150000 * RETCODE=2; /* YES, SET FOUND FLAG @ZD00192*/ 02151000 LA RETCODE,2 0686 02152000 * ELSE 0687 02153000 * ; /* NO MATCH SSID YET @ZD00192*/ 02154000 @RF00685 DS 0H 0688 02155000 * ELSE 0688 02156000 * ; /* NO CHECK, THIS ENTRY IS MEDIA 02157000 * @ZD00192*/ 02158000 @RF00684 DS 0H 0689 02159000 * IF RETCODE=2 THEN /* FOUND A MATCH YET @ZD00192*/ 02160000 * 0689 02161000 @RC00678 CH RETCODE,@CH00102 0689 02162000 BNE @RF00689 0689 02163000 * /*********************************************************/ 02164000 * /* */ 02165000 * /* UPDATE THE ACCUMULATOR */ 02166000 * /* */ 02167000 * /*********************************************************/ 02168000 * 0690 02169000 * DO; /* YES, UPDATE THE ENTRY @ZD00192*/ 02170000 * SORTCNT=SORTCNT+1; /* ADD 1 TO ENTRY COUNT @ZD00192*/ 02171000 LA @06,1 0691 02172000 AL @06,SORTCNT(,APRWKPTR) 0691 02173000 ST @06,SORTCNT(,APRWKPTR) 0691 02174000 * IF SAVEDAYTENTCOUNT THEN /* FOUND ANY LIKE ENTRIES@ZD00192*/ 02241000 L @06,SORTCNT(,APRWKPTR) 0710 02242000 CH @06,ENTCOUNT(,ENTRYPTR) 0710 02243000 BNH @RF00710 0710 02244000 * DO; /* YES, UPDATE CURRENT ENTRY 0711 02245000 * @ZD00192*/ 02246000 * ENTCOUNT=SORTCNT; /* UPDATE COUNT FIELD @ZD00192*/ 02247000 STH @06,ENTCOUNT(,ENTRYPTR) 0712 02248000 * ENTDAYT=SAVEDAYT; /* UPDATE DATE,TIME @ZD00192*/ 02249000 MVC ENTDAYT(8,ENTRYPTR),SAVEDAYT(APRWKPTR) 0713 02250000 * END; /* END UPDATE DATE,TIME AND COUNT 02251000 * @ZD00192*/ 02252000 * ELSE 0715 02253000 * ; /* NO UPDATES TO DO @ZD00192*/ 02254000 @RF00710 DS 0H 0716 02255000 * END UPDATEAC; /* END UPDATE ACCUM PROC @ZD00192*/ 02256000 @EL00021 DS 0H 0716 02257000 @EF00021 DS 0H 0716 02258000 @ER00021 L @14,12(,@13) 0716 02259000 BR @14 0716 02260000 * 0717 02261000 * /*****************************************************************/ 02262000 * /* */ 02263000 * /* DOSUMRPT - PROC TO PRINT SUU AND MEDIA FAIL SUMMARY REPORT */ 02264000 * /* */ 02265000 * /*****************************************************************/ 02266000 * 0717 02267000 *DOSUMRPT: 0717 02268000 * PROC OPTIONS(SAVE(14)); /* PRINT SUMMARY PROC @ZD00192*/ 02269000 DOSUMRPT ST @14,@SA00022 0717 02270000 * ANSI=PSKIP; /* SET PAGE SKIP @ZD00192*/ 02271000 MVI ANSI(CVTPTR),C'1' 0718 02272000 * LINE=SUUTITLE; /* MOVE REPORT TITLE @ZD00192*/ 02273000 MVI LINE+50(CVTPTR),C' ' 0719 02274000 MVC LINE+51(81,CVTPTR),LINE+50(CVTPTR) 0719 02275000 MVC LINE(50,CVTPTR),SUUTITLE 0719 02276000 * SDARPTID=SUUID; /* MOVE REPORT ID @ZD00192*/ 02277000 MVC SDARPTID(3,CVTPTR),@CC00351 0720 02278000 * RFY 0721 02279000 * R1 RSTD; /* @ZD00192*/ 02280000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZD00192*/ 02281000 LA R1,WORKCALL(,CVTPTR) 0722 02282000 * CALL ISDAPRT0; /* PRINT TITLE @ZD00192*/ 02283000 * 0723 02284000 L @15,@CV00389 0723 02285000 BALR @14,@15 0723 02286000 * /*****************************************************************/ 02287000 * /* */ 02288000 * /* PRINT SUMMARY OF UNITS MARKED UNUSABLE */ 02289000 * /* */ 02290000 * /*****************************************************************/ 02291000 * 0724 02292000 * ANSI=LSKIP3; /* SET 3 LINE SKIP @ZD00192*/ 02293000 MVI ANSI(CVTPTR),C'-' 0724 02294000 * LINE=SUMMSG01; /* MOVE LINE 1 @ZD00192*/ 02295000 MVI LINE+27(CVTPTR),C' ' 0725 02296000 MVC LINE+28(104,CVTPTR),LINE+27(CVTPTR) 0725 02297000 MVC LINE(27,CVTPTR),SUMMSG01 0725 02298000 * CALL ISDAPRT0; /* PRINT LINE 1 @ZD00192*/ 02299000 L @15,@CV00389 0726 02300000 BALR @14,@15 0726 02301000 * ANSI=LSKIP2; /* SET 2 LINE SKIP @ZD00192*/ 02302000 MVI ANSI(CVTPTR),C'0' 0727 02303000 * LINE=''; /* BLANK LINE @ZD00192*/ 02304000 MVI LINE(CVTPTR),C' ' 0728 02305000 MVC LINE+1(131,CVTPTR),LINE(CVTPTR) 0728 02306000 * SUMLAST=SUMMSG03; /* MOVE LAST @ZD00192*/ 02307000 MVC SUMLAST(4,CVTPTR),SUMMSG03 0729 02308000 * SUMSUU=SUMMSG02; /* MOVE SUU @ZD00192*/ 02309000 MVC SUMSUU(3,CVTPTR),SUMMSG02 0730 02310000 * CALL ISDAPRT0; /* PRINT LINE 2 @ZD00192*/ 02311000 L @15,@CV00389 0731 02312000 BALR @14,@15 0731 02313000 * ANSI=LSKIP1; /* SET 1 LINE SKIP @ZD00192*/ 02314000 MVI ANSI(CVTPTR),C' ' 0732 02315000 * LINE=SUMMSG04; /* MOVE LINE 3 @ZD00192*/ 02316000 MVI LINE+51(CVTPTR),C' ' 0733 02317000 MVC LINE+52(80,CVTPTR),LINE+51(CVTPTR) 0733 02318000 MVC LINE(51,CVTPTR),SUMMSG04 0733 02319000 * CALL ISDAPRT0; /* PRINT LINE 3 @ZD00192*/ 02320000 L @15,@CV00389 0734 02321000 BALR @14,@15 0734 02322000 * LINE(1)=DASH; /* MOVE DASH @ZD00192*/ 02323000 MVI LINE(CVTPTR),C'-' 0735 02324000 * MVC(LINE(2:52),LINE(1:51)); /* FILL WITH DASH @ZD00192*/ 02325000 MVC LINE+1(51,CVTPTR),LINE(CVTPTR) 0736 02326000 * SBAR1=BAR; /* MOVE BAR 1 @ZD00192*/ 02327000 MVI SBAR1(CVTPTR),C'|' 0737 02328000 * SBAR2=BAR; /* MOVE BAR 2 @ZD00192*/ 02329000 MVI SBAR2(CVTPTR),C'|' 0738 02330000 * SBAR3=BAR; /* MOVE BAR 3 @ZD00192*/ 02331000 MVI SBAR3(CVTPTR),C'|' 0739 02332000 * SBAR4=BAR; /* MOVE BAR 4 @ZD00192*/ 02333000 MVI SBAR4(CVTPTR),C'|' 0740 02334000 * CALL ISDAPRT0; /* PRINT LINE 4 @ZD00192*/ 02335000 L @15,@CV00389 0741 02336000 BALR @14,@15 0741 02337000 * RFY 0742 02338000 * R1 UNRSTD; /* RELEASE R1 @ZD00192*/ 02339000 * APRTEMPS=''B; /* ZERO TEMP AREA @ZD00192*/ 02340000 XC APRTEMPS(32,APRWKPTR),APRTEMPS(APRWKPTR) 0743 02341000 * SORTCNT=0; /* ZERO LINE COUNT @ZD00192*/ 02342000 SLR @06,@06 0744 02343000 ST @06,SORTCNT(,APRWKPTR) 0744 02344000 * 0745 02345000 * /*****************************************************************/ 02346000 * /* */ 02347000 * /* LOOP THROUGH ACCUMULATORS LOOKING FOR UNIT UNUSABLE */ 02348000 * /* */ 02349000 * /*****************************************************************/ 02350000 * 0745 02351000 * DO PINDEX=1 TO TOTALENT; /* LOOP THROUGH ENTRIES @ZD00192*/ 02352000 LA @06,1 0745 02353000 B @DE00745 0745 02354000 @DL00745 DS 0H 0746 02355000 * ENTRYPTR=ACCPOINT(PINDEX); /* GET ENTRY ADDRESS @ZD00192*/ 02356000 SLA @06,2 0746 02357000 L @01,STARTPNT(,APRWKPTR) 0746 02358000 AL @01,@CF00875 0746 02359000 L ENTRYPTR,ACCPOINT(@06,@01) 0746 02360000 * IF ETYPCODE^=TF7 THEN /* NOT MEDIA FAILURE @ZD00192*/ 02361000 CLI ETYPCODE(ENTRYPTR),X'F7' 0747 02362000 BE @RF00747 0747 02363000 * DO; /* YES, MUST BE SUU @ZD00192*/ 02364000 * SORTCNT=SORTCNT+1; /* ADD 1 TO LINE COUNT @ZD00192*/ 02365000 LA @06,1 0749 02366000 AL @06,SORTCNT(,APRWKPTR) 0749 02367000 ST @06,SORTCNT(,APRWKPTR) 0749 02368000 * LINE=''; /* BLANK LINE @ZD00192*/ 02369000 MVI LINE(CVTPTR),C' ' 0750 02370000 MVC LINE+1(131,CVTPTR),LINE(CVTPTR) 0750 02371000 * SAVEDAYT=ENTDAYT; /* MOVE DATE,TIME @ZD00192*/ 02372000 MVC SAVEDAYT(8,APRWKPTR),ENTDAYT(ENTRYPTR) 0751 02373000 * CALL MOVEDAYT; /* BUILD DATE,TIME @ZD00192*/ 02374000 BAL @14,MOVEDAYT 0752 02375000 * CALL DEVTMOVE; /* BUILD DEVICE ID @ZD00192*/ 02376000 BAL @14,DEVTMOVE 0753 02377000 * IF ENTSSID(2:3)='00'B THEN/* ACCESSOR ID @ZM31121*/ 02378000 TM ENTSSID(ENTRYPTR),B'01100000' 0754 02379000 BNZ @RF00754 0754 02380000 * SUMDEVT=TEMP4; /* NO, NOVE DEVICE ID @ZM31121*/ 02381000 MVC SUMDEVT(4,CVTPTR),TEMP4(APRWKPTR) 0755 02382000 * ELSE /* YES, HAVE BAD ACCESSOR@ZM31121*/ 02383000 * IF ENTSSID(2:3)='10'B THEN /* LEFT ACCESSOR ID @ZM31121*/ 02384000 B @RC00754 0756 02385000 @RF00754 TM ENTSSID(ENTRYPTR),B'01000000' 0756 02386000 BNO @RF00756 0756 02387000 TM ENTSSID(ENTRYPTR),B'00100000' 0756 02388000 BNZ @RF00756 0756 02389000 * SUMACCLR=SUMLACC; /* YES, MOVE L-ACC @ZM31121*/ 02390000 MVC SUMACCLR(5,CVTPTR),SUMLACC 0757 02391000 * ELSE 0758 02392000 * IF ENTSSID(2:3)='01'B THEN /* RIGHT ACCESSOR @ZM31121*/ 02393000 B @RC00756 0758 02394000 @RF00756 TM ENTSSID(ENTRYPTR),B'00100000' 0758 02395000 BNO @RF00758 0758 02396000 TM ENTSSID(ENTRYPTR),B'01000000' 0758 02397000 BNZ @RF00758 0758 02398000 * SUMACCLR=SUMRACC; /* MOVE R-ACC @ZM31121*/ 02399000 MVC SUMACCLR(5,CVTPTR),SUMRACC 0759 02400000 * ELSE /* DO NOT KNOW WHICH @ZM31121*/ 02401000 * SUMACCLR=SUMBACC; /* DO NOT SAY WHICH @ZM31121*/ 02402000 B @RC00758 0760 02403000 @RF00758 MVC SUMACCLR(5,CVTPTR),SUMBACC 0760 02404000 * TEMP2=ENTSSID; /* MOVE SSID @ZD00192*/ 02405000 @RC00758 DS 0H 0761 02406000 @RC00756 DS 0H 0761 02407000 @RC00754 MVC TEMP2(2,APRWKPTR),ENTSSID(ENTRYPTR) 0761 02408000 * UNPK(TEMP5,TEMP3); /* UNPACK @ZD00192*/ 02409000 UNPK TEMP5(5,APRWKPTR),TEMP3(3,APRWKPTR) 0762 02410000 * TEMP1113=TEMP5(2:4); /* SAVE SSID @ZD00192*/ 02411000 MVC TEMP1113(3,APRWKPTR),TEMP5+1(APRWKPTR) 0763 02412000 * CALL EBCDICCV; /* CONVERT TO EBCDIC @ZD00192*/ 02413000 BAL @14,EBCDICCV 0764 02414000 * IF ENTSSID(1)='1'B THEN /* RUA FLAG ON @ZD00192*/ 02415000 TM ENTSSID(ENTRYPTR),B'10000000' 0765 02416000 BNO @RF00765 0765 02417000 * SUMRUA=TEMP1113; /* YES, MOVE RUA @ZD00192*/ 02418000 MVC SUMRUA(3,CVTPTR),TEMP1113(APRWKPTR) 0766 02419000 * ELSE 0767 02420000 * SUMSSID=TEMP1113; /* NO, MOVE SSID @ZD00192*/ 02421000 B @RC00765 0767 02422000 @RF00765 MVC SUMSSID(3,CVTPTR),TEMP1113(APRWKPTR) 0767 02423000 * J=ENTCOUNT; /* GET COUNT @ZD00192*/ 02424000 @RC00765 LH J,ENTCOUNT(,ENTRYPTR) 0768 02425000 * CVD(J,TEMP8); /* CONVERT TO DECIMAL @ZD00192*/ 02426000 CVD J,TEMP8(,APRWKPTR) 0769 02427000 * SUMCNT1=EDPAT02; /* MOVE EDIT PATTERN @ZD00192*/ 02428000 MVC SUMCNT1(6,CVTPTR),EDPAT02 0770 02429000 * ED(SUMCNT1,TEMP68); /* EDIT 5 DIGITS @ZD00192*/ 02430000 ED SUMCNT1(6,CVTPTR),TEMP68(APRWKPTR) 0771 02431000 * RFY 0772 02432000 * R1 RSTD; /* @ZD00192*/ 02433000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZD00192*/ 02434000 LA R1,WORKCALL(,CVTPTR) 0773 02435000 * CALL ISDAPRT0; /* PRINT ENTRY LINE @ZD00192*/ 02436000 L @15,@CV00389 0774 02437000 BALR @14,@15 0774 02438000 * RFY 0775 02439000 * R1 UNRSTD; /* @ZD00192*/ 02440000 * END; /* END SUU EDIT AND PRINT@ZD00192*/ 02441000 * ELSE; /* DO NOT PRINT MEDIA RECORD 0777 02442000 * @ZD00192*/ 02443000 @RF00747 DS 0H 0778 02444000 * END; /* END SUU LOOP @ZD00192*/ 02445000 LA @06,1 0778 02446000 AL @06,PINDEX 0778 02447000 @DE00745 ST @06,PINDEX 0778 02448000 C @06,TOTALENT(,APRWKPTR) 0778 02449000 BNH @DL00745 0778 02450000 * IF SORTCNT=0 THEN /* ANYTHING PRINTED @ZD00192*/ 02451000 ICM @06,15,SORTCNT(APRWKPTR) 0779 02452000 BNZ @RF00779 0779 02453000 * DO; /* PRINT NONE @ZD00192*/ 02454000 * LINE=ACT2M2; /* MOVE NONE @ZD00192*/ 02455000 MVI LINE+16(CVTPTR),C' ' 0781 02456000 MVC LINE+17(115,CVTPTR),LINE+16(CVTPTR) 0781 02457000 MVC LINE(16,CVTPTR),ACT2M2 0781 02458000 * RFY 0782 02459000 * R1 RSTD; /* @ZD00192*/ 02460000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZD00192*/ 02461000 LA R1,WORKCALL(,CVTPTR) 0783 02462000 * CALL ISDAPRT0; /* PRINT NONE @ZD00192*/ 02463000 L @15,@CV00389 0784 02464000 BALR @14,@15 0784 02465000 * RFY 0785 02466000 * R1 UNRSTD; /* @ZD00192*/ 02467000 * END; /* END PRINT NONE @ZD00192*/ 02468000 * ELSE; /* REPORT PRINTED @ZD00192*/ 02469000 @RF00779 DS 0H 0788 02470000 * 0788 02471000 * /*****************************************************************/ 02472000 * /* */ 02473000 * /* PRINT SUMMARY OF MEDIA FAILURES */ 02474000 * /* */ 02475000 * /*****************************************************************/ 02476000 * 0788 02477000 * ANSI=LSKIP3; /* SET 3 LINE SKIP @ZD00192*/ 02478000 MVI ANSI(CVTPTR),C'-' 0788 02479000 * LINE=SUMMSG05; /* MOVE LINE 1 @ZD00192*/ 02480000 MVI LINE+25(CVTPTR),C' ' 0789 02481000 MVC LINE+26(106,CVTPTR),LINE+25(CVTPTR) 0789 02482000 MVC LINE(25,CVTPTR),SUMMSG05 0789 02483000 * RFY 0790 02484000 * R1 RSTD; /* @ZD00192*/ 02485000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZD00192*/ 02486000 LA R1,WORKCALL(,CVTPTR) 0791 02487000 * CALL ISDAPRT0; /* PRINT LINE 1 @ZD00192*/ 02488000 L @15,@CV00389 0792 02489000 BALR @14,@15 0792 02490000 * ANSI=LSKIP2; /* SET 2 LINE SKIP @ZD00192*/ 02491000 MVI ANSI(CVTPTR),C'0' 0793 02492000 * LINE=''; /* BLANK LINE @ZD00192*/ 02493000 MVI LINE(CVTPTR),C' ' 0794 02494000 MVC LINE+1(131,CVTPTR),LINE(CVTPTR) 0794 02495000 * SUMLAST=SUMMSG03; /* MOVE LAST @ZD00192*/ 02496000 MVC SUMLAST(4,CVTPTR),SUMMSG03 0795 02497000 * SUMCART=SUMMSG06; /* MOVE CARTRIDGE @ZD00192*/ 02498000 MVC SUMCART(9,CVTPTR),SUMMSG06 0796 02499000 * CALL ISDAPRT0; /* PRINT LINE 2 @ZD00192*/ 02500000 L @15,@CV00389 0797 02501000 BALR @14,@15 0797 02502000 * ANSI=LSKIP1; /* SET 1 LINE SKIP @ZD00192*/ 02503000 MVI ANSI(CVTPTR),C' ' 0798 02504000 * LINE=SUMMSG07; /* MOVE LINE 3 @ZD00192*/ 02505000 MVI LINE+51(CVTPTR),C' ' 0799 02506000 MVC LINE+52(80,CVTPTR),LINE+51(CVTPTR) 0799 02507000 MVC LINE(51,CVTPTR),SUMMSG07 0799 02508000 * CALL ISDAPRT0; /* PRINT LINE 3 @ZD00192*/ 02509000 L @15,@CV00389 0800 02510000 BALR @14,@15 0800 02511000 * LINE(1)=DASH; /* MOVE DASH @ZD00192*/ 02512000 MVI LINE(CVTPTR),C'-' 0801 02513000 * MVC(LINE(2:52),LINE(1:51)); /* FILL WITH DASH @ZD00192*/ 02514000 MVC LINE+1(51,CVTPTR),LINE(CVTPTR) 0802 02515000 * SBAR1=BAR; /* MOVE BAR 1 @ZD00192*/ 02516000 MVI SBAR1(CVTPTR),C'|' 0803 02517000 * SBAR4=BAR; /* MOVE BAR 4 @ZD00192*/ 02518000 MVI SBAR4(CVTPTR),C'|' 0804 02519000 * CALL ISDAPRT0; /* PRINT LINE 4 @ZD00192*/ 02520000 L @15,@CV00389 0805 02521000 BALR @14,@15 0805 02522000 * RFY 0806 02523000 * R1 UNRSTD; /* RELEASE R1 @ZD00192*/ 02524000 * SORTCNT=0; /* SET LINE COUNT TO 0 @ZD00192*/ 02525000 * 0807 02526000 SLR @06,@06 0807 02527000 ST @06,SORTCNT(,APRWKPTR) 0807 02528000 * /*****************************************************************/ 02529000 * /* */ 02530000 * /* LOOP THROUGH ACCUMULATORS LOOKING FOR MEDIA FAILURE RECORDS */ 02531000 * /* */ 02532000 * /*****************************************************************/ 02533000 * 0808 02534000 * DO PINDEX=1 TO TOTALENT; /* LOOP THROUGH ENTRIES @ZD00192*/ 02535000 LA @06,1 0808 02536000 B @DE00808 0808 02537000 @DL00808 DS 0H 0809 02538000 * ENTRYPTR=ACCPOINT(PINDEX); /* GET ENTRY ACCRESS @ZD00192*/ 02539000 SLA @06,2 0809 02540000 L @01,STARTPNT(,APRWKPTR) 0809 02541000 AL @01,@CF00875 0809 02542000 L ENTRYPTR,ACCPOINT(@06,@01) 0809 02543000 * IF ETYPCODE=TF7 THEN /* MEDIA FAILURE RECORD @ZD00192*/ 02544000 CLI ETYPCODE(ENTRYPTR),X'F7' 0810 02545000 BNE @RF00810 0810 02546000 * DO; /* YES, PRINT IT @ZD00192*/ 02547000 * SORTCNT=SORTCNT+1; /* ADD 1 TO LINE COUNT @ZD00192*/ 02548000 LA @06,1 0812 02549000 AL @06,SORTCNT(,APRWKPTR) 0812 02550000 ST @06,SORTCNT(,APRWKPTR) 0812 02551000 * LINE=''; /* BLANK LINE @ZD00192*/ 02552000 MVI LINE(CVTPTR),C' ' 0813 02553000 MVC LINE+1(131,CVTPTR),LINE(CVTPTR) 0813 02554000 * SAVEDAYT=ENTDAYT; /* MOVE DATE,TIME @ZD00192*/ 02555000 MVC SAVEDAYT(8,APRWKPTR),ENTDAYT(ENTRYPTR) 0814 02556000 * CALL MOVEDAYT; /* GET DATE,TIME @ZD00192*/ 02557000 BAL @14,MOVEDAYT 0815 02558000 * IF ENTCSN(1)>=HEXA THEN /* HAVE CSN @ZD00192*/ 02559000 CLI ENTCSN(ENTRYPTR),X'C1' 0816 02560000 BL @RF00816 0816 02561000 * SUMCSN=ENTCSN; /* YES, MOVE CSN @ZD00192*/ 02562000 MVC SUMCSN(12,CVTPTR),ENTCSN(ENTRYPTR) 0817 02563000 * ELSE 0818 02564000 * ; /* CSN NOT AVAILABLE @ZD00192*/ 02565000 @RF00816 DS 0H 0819 02566000 * IF ENTVOLID(1)>=HEXA THEN /* HAVE VOLID @ZD00192*/ 02567000 CLI ENTVOLID(ENTRYPTR),X'C1' 0819 02568000 BL @RF00819 0819 02569000 * DO; /* YES, PRINT IT @ZA00668*/ 02570000 * SUMVOLID=ENTVOLID; /* YES, MOVE VOLID @ZA00668*/ 02571000 MVC SUMVOLID(6,CVTPTR),ENTVOLID(ENTRYPTR) 0821 02572000 * IF EBYTE10^='00'X THEN /* HAVE SEQ NUMBER @ZA00668*/ 02573000 CLI EBYTE10(ENTRYPTR),X'00' 0822 02574000 BE @RF00822 0822 02575000 * DO; /* YES, PRINT IT @ZA00668*/ 02576000 * SUMSEQD=DASH; /* MOVE DASH @ZA00668*/ 02577000 MVI SUMSEQD(CVTPTR),C'-' 0824 02578000 * SUMSEQN=EBYTE10|'F0'X; /* MOVE EBCDIC SEQ @ZA00668*/ 02579000 MVC SUMSEQN(1,CVTPTR),EBYTE10(ENTRYPTR) 0825 02580000 OI SUMSEQN(CVTPTR),X'F0' 0825 02581000 * END; /* END MOVE SEQUENCE NO @ZA00668*/ 02582000 * ELSE; /* SEQ NO NOT AVAILABLE @ZA00668*/ 02583000 @RF00822 DS 0H 0828 02584000 * END; /* END MOVE VOLID+SEQ @ZA00668*/ 02585000 * ELSE 0829 02586000 * ; /* VOLID NOT AVAILABLE @ZD00192*/ 02587000 @RF00819 DS 0H 0830 02588000 * J=ENTCOUNT; /* GET COUNT @ZD00192*/ 02589000 LH J,ENTCOUNT(,ENTRYPTR) 0830 02590000 * CVD(J,TEMP8); /* CONVERT TO DECIMAL @ZD00192*/ 02591000 CVD J,TEMP8(,APRWKPTR) 0831 02592000 * SUMCNT1=EDPAT02; /* MOVE EDIT PATTERN @ZD00192*/ 02593000 MVC SUMCNT1(6,CVTPTR),EDPAT02 0832 02594000 * ED(SUMCNT1,TEMP68); /* EDIT 5 DIGITS @ZD00192*/ 02595000 ED SUMCNT1(6,CVTPTR),TEMP68(APRWKPTR) 0833 02596000 * RFY 0834 02597000 * R1 RSTD; /* @ZD00192*/ 02598000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZD00192*/ 02599000 LA R1,WORKCALL(,CVTPTR) 0835 02600000 * CALL ISDAPRT0; /* PRINT ENTRY LINE @ZD00192*/ 02601000 L @15,@CV00389 0836 02602000 BALR @14,@15 0836 02603000 * RFY 0837 02604000 * R1 UNRSTD; /* @ZD00192*/ 02605000 * END; /* END PRINT MEDIA @ZD00192*/ 02606000 * ELSE 0839 02607000 * ; /* NOT MEDIA RECORD @ZD00192*/ 02608000 @RF00810 DS 0H 0840 02609000 * END; /* END MEDIA LOOP @ZD00192*/ 02610000 LA @06,1 0840 02611000 AL @06,PINDEX 0840 02612000 @DE00808 ST @06,PINDEX 0840 02613000 C @06,TOTALENT(,APRWKPTR) 0840 02614000 BNH @DL00808 0840 02615000 * IF SORTCNT=0 THEN /* ANYTHING PRINTED @ZD00192*/ 02616000 ICM @06,15,SORTCNT(APRWKPTR) 0841 02617000 BNZ @RF00841 0841 02618000 * DO; /* NO, PRINT NONE @ZD00192*/ 02619000 * LINE=ACT2M2; /* MOVE NONE @ZD00192*/ 02620000 MVI LINE+16(CVTPTR),C' ' 0843 02621000 MVC LINE+17(115,CVTPTR),LINE+16(CVTPTR) 0843 02622000 MVC LINE(16,CVTPTR),ACT2M2 0843 02623000 * RFY 0844 02624000 * R1 RSTD; /* @ZD00192*/ 02625000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZD00192*/ 02626000 LA R1,WORKCALL(,CVTPTR) 0845 02627000 * CALL ISDAPRT0; /* PRINT NONE @ZD00192*/ 02628000 L @15,@CV00389 0846 02629000 BALR @14,@15 0846 02630000 * RFY 0847 02631000 * R1 UNRSTD; /* @ZD00192*/ 02632000 * END; /* END PRINT NONE @ZD00192*/ 02633000 * ELSE 0849 02634000 * ; /* SOMETHING WAS PRINTED @ZD00192*/ 02635000 @RF00841 DS 0H 0850 02636000 * END DOSUMRPT; /* END PRINT SUMMARY PROC@ZD00192*/ 02637000 @EL00022 DS 0H 0850 02638000 @EF00022 DS 0H 0850 02639000 @ER00022 L @14,@SA00022 0850 02640000 BR @14 0850 02641000 * 0851 02642000 * /*****************************************************************/ 02643000 * /* */ 02644000 * /* FREECORE - PROC TO FREE ALL ACCUMULATORS AND WORK AREA */ 02645000 * /* */ 02646000 * /*****************************************************************/ 02647000 * 0851 02648000 *FREECORE: 0851 02649000 * PROC OPTIONS(SAVE(14)); /* PROC TO FREE CORE @ZD00192*/ 02650000 FREECORE ST @14,@SA00023 0851 02651000 */* CALL TRACEWRK DUMP WORK AREA IF REQ @ZD00192*/ 02652000 * 0852 02653000 * GET0PTR=ACCM0PTR; /* SET PTR TO FIRST ACCUMULATOR 02654000 * @ZD00192*/ 02655000 * 0852 02656000 L GET0PTR,ACCM0PTR(,APRWKPTR) 0852 02657000 * /*****************************************************************/ 02658000 * /* */ 02659000 * /* FREE EACH ACCUMULATOR */ 02660000 * /* */ 02661000 * /*****************************************************************/ 02662000 * 0853 02663000 * DO WHILE(GET0PTR^=0); /* LOOP THROUGH ACCUMULATORS 0853 02664000 * @ZD00192*/ 02665000 B @DE00853 0853 02666000 @DL00853 DS 0H 0854 02667000 */* CALL TRACEHD DUMP HEADER IF REQ @ZD00192*/ 02668000 * 0854 02669000 * ENTRYPTR=NEXTPTR; /* SAVE NEXT ADDRESS @ZD00192*/ 02670000 L ENTRYPTR,NEXTPTR(,GET0PTR) 0854 02671000 * SPNOLEN=GET0SPLN; /* MOVE SPNO AND LENGTH @ZD00192*/ 02672000 MVC SPNOLEN(4,CVTPTR),GET0SPLN(GET0PTR) 0855 02673000 * COREADDR=GET0PTR; /* MOVE ADDRESS @ZD00192*/ 02674000 ST GET0PTR,COREADDR(,CVTPTR) 0856 02675000 * RFY 0857 02676000 * R1 RSTD; /* @ZD00192*/ 02677000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZD00192*/ 02678000 LA R1,WORKCALL(,CVTPTR) 0858 02679000 * CALL ISDAFREE; /* FREE CORE @ZD00192*/ 02680000 L @15,@CV00392 0859 02681000 BALR @14,@15 0859 02682000 * RFY 0860 02683000 * R1 UNRSTD; /* @ZD00192*/ 02684000 * GET0PTR=ENTRYPTR; /* SET NEXT ADDRESS @ZD00192*/ 02685000 LR GET0PTR,ENTRYPTR 0861 02686000 * END; /* END OF FREE ACCUM LOOP@ZD00192*/ 02687000 @DE00853 SLR @06,@06 0862 02688000 CR GET0PTR,@06 0862 02689000 BNE @DL00853 0862 02690000 * IF STARTPNT^=0 THEN /* HAVE ACCPOINT @ZD00192*/ 02691000 * 0863 02692000 L @15,STARTPNT(,APRWKPTR) 0863 02693000 CR @15,@06 0863 02694000 BE @RF00863 0863 02695000 * /***************************************************************/ 02696000 * /* */ 02697000 * /* FREE ACCPOINT */ 02698000 * /* */ 02699000 * /***************************************************************/ 02700000 * 0864 02701000 * DO; /* YES, FREE IT @ZD00192*/ 02702000 * CORELEN=POINTLEN; /* MOVE LENGTH @ZD00192*/ 02703000 LH @06,POINTLEN(,APRWKPTR) 0865 02704000 STCM @06,7,CORELEN(CVTPTR) 0865 02705000 * SPNO=APRSPNO; /* MOVE SUBPOOL NUMBER @ZD00192*/ 02706000 MVC SPNO(1,CVTPTR),APRSPNO 0866 02707000 * COREADDR=STARTPNT; /* MOVE ADDRESS @ZD00192*/ 02708000 ST @15,COREADDR(,CVTPTR) 0867 02709000 * RFY 0868 02710000 * R1 RSTD; /* @ZD00192*/ 02711000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZD00192*/ 02712000 LA R1,WORKCALL(,CVTPTR) 0869 02713000 * CALL ISDAFREE; /* FREE ACCPOINT @ZD00192*/ 02714000 L @15,@CV00392 0870 02715000 BALR @14,@15 0870 02716000 * RFY 0871 02717000 * R1 UNRSTD; /* @ZD00192*/ 02718000 * END; /* END FREE ACCPOINT @ZD00192*/ 02719000 * ELSE 0873 02720000 * ; /* NO CORE TO FREE @ZD00192*/ 02721000 @RF00863 DS 0H 0874 02722000 * 0874 02723000 * /*****************************************************************/ 02724000 * /* */ 02725000 * /* FREE APRWORK - APR WORK AREA */ 02726000 * /* */ 02727000 * /*****************************************************************/ 02728000 * 0874 02729000 * CORELEN=LENGTH(APRWORK); /* SET LENGTH @ZD00192*/ 02730000 MVC CORELEN(3,CVTPTR),@CF00874+1 0874 02731000 * SPNO=APRSPNO; /* SET SUBPOOL NUMBER @ZD00192*/ 02732000 MVC SPNO(1,CVTPTR),APRSPNO 0875 02733000 * COREADDR=APR00PTR; /* SET ADDRESS @ZD00192*/ 02734000 MVC COREADDR(4,CVTPTR),APR00PTR(CVTPTR) 0876 02735000 * RFY 0877 02736000 * R1 RSTD; /* @ZD00192*/ 02737000 * R1=ADDR(WORKCALL); /* R1 -> WORKPTR @ZD00192*/ 02738000 LA R1,WORKCALL(,CVTPTR) 0878 02739000 * CALL ISDAFREE; /* FREE WORK AREA @ZD00192*/ 02740000 L @15,@CV00392 0879 02741000 BALR @14,@15 0879 02742000 * RFY 0880 02743000 * R1 UNRSTD; /* @ZD00192*/ 02744000 * APR00PTR=0; /* SET APR POINTER TO ZERO 0881 02745000 * @ZD00192*/ 02746000 SLR @06,@06 0881 02747000 ST @06,APR00PTR(,CVTPTR) 0881 02748000 * END FREECORE; /* END OF FREECORE PROC @ZD00192*/ 02749000 @EL00023 DS 0H 0882 02750000 @EF00023 DS 0H 0882 02751000 @ER00023 L @14,@SA00023 0882 02752000 BR @14 0882 02753000 * END ISDAAPR1 /* END OF ISDAAPR1 @ZD00192*/ 02754000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. * 02755000 */*%INCLUDE SYSLIB (ISDACVT ) * 02756000 */*%INCLUDE SYSLIB (ISDAPRMS) * 02757000 */*%INCLUDE SYSLIB (ISDAGHDR) * 02758000 */*%INCLUDE SYSLIB (ISDAMSCS) * 02759000 */*%INCLUDE SYSLIB (ISDAMSC0) * 02760000 *; 0883 02761000 @DATA DS 0H 02762000 @CH00102 DC H'2' 02763000 @CH00106 DC H'4' 02764000 @CH00250 DC H'20' 02765000 @CH00626 DC H'56' 02766000 @CH00854 DC XL2'39' 02767000 @DATD DSECT 02768000 DS 0F 02769000 @SA00001 DS 18F 02770000 @PC00001 DS 1F 02771000 @SA00004 DS 1F 02772000 @SA00020 DS 1F 02773000 @SA00022 DS 1F 02774000 @SA00006 DS 1F 02775000 @SA00007 DS 1F 02776000 @SA00011 DS 1F 02777000 @SA00016 DS 1F 02778000 @SA00012 DS 1F 02779000 @SA00013 DS 1F 02780000 @SA00014 DS 1F 02781000 @SA00015 DS 1F 02782000 @SA00008 DS 1F 02783000 @SA00009 DS 1F 02784000 @SA00010 DS 1F 02785000 @SA00005 DS 0F 02786000 @SA00023 DS 0F 02787000 @SA00002 DS 0F 02788000 DS 1F 02789000 @TF00001 DS F 02790000 ISDAAPR1 CSECT 02791000 DS 0F 02792000 @CF00083 DC F'1' 02793000 @CH00083 EQU @CF00083+2 02794000 @CF00187 DC F'5' 02795000 @CF00874 DC F'124' 02796000 @CF00875 DC F'-4' 02797000 @DATD DSECT 02798000 DS 0D 02799000 LPARMPTR DS A 02800000 K DS F 02801000 PINDEX DS F 02802000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 02803000 @ENDDATD EQU * 02804000 ISDAAPR1 CSECT 02805000 NOPR ((@ENDDATD-@DATD)/161*16) 02806000 DS 0F 02807000 @SIZDATD DC AL1(0) 02808000 DC AL3(@ENDDATD-@DATD) 02809000 @CV00389 DC V(ISDAPRT0) 02810000 @CV00391 DC V(ISDAGET1) 02811000 @CV00392 DC V(ISDAFREE) 02812000 @CV00390 DC V(ISDAGET0) 02813000 DS 0D 02814000 @CC00365 DC C' ' 02815000 @CC00372 DC C'MSC ' 02816000 @CC00374 DC C'SA ' 02817000 @CC00376 DC C'DRC ' 02818000 @CC00378 DC C'DRD ' 02819000 @CC00380 DC C'MSFN' 02820000 @CC00382 DC C'ACC ' 02821000 @CC00384 DC C'3330' 02822000 @CC00351 DC C'SUU' 02823000 @CC00827 DC C'ERP' 02824000 APRSPNO DC X'01' 02825000 APRTITLE DC CL65'REPORT 3 - ALTERNATE PATH RETRY, MEDIA FAILURE, ANDC02826000 UNIT UNUSABLE' 02827000 SUUTITLE DC CL50'REPORT 4 - UNIT UNUSABLE AND MEDIA FAILURE SUMMARY' 02828000 APRMSG10 DC CL73'***** XXXXX APR SEQUENCES WERE FOUND. ONLY THE FIRSC02829000 T 50 ARE PRINTED *****' 02830000 APRMSG20 DC CL87'***** XXXXX MISPLACED CARTRIDGE RECORDS WERE FOUND.C02831000 ONLY THE FIRST 50 ARE PRINTED *****' 02832000 ACTION1 DC CL19'START APR' 02833000 ACTION1E DC CL19'NO APR BEGINNING' 02834000 ACTION2E DC CL19'NO END TO APR' 02835000 ACTION2 DC CL19'END APR' 02836000 ACTION3 DC CL19'UNIT UNUSABLE (APR)' 02837000 ACTION4 DC CL19'PERMANENT ERROR' 02838000 ACTION5 DC CL19'MSFN RECONFIGURED' 02839000 ACTION6 DC CL19'MISPLACED CARTRIDGE' 02840000 ACTION7 DC CL19'SWITCH TO ALT MSC' 02841000 ACTION8 DC CL19'MEDIA FAILURE' 02842000 RFLAG1 DC CL13'UNIT UNUSABLE' 02843000 RFLAG2 DC CL13'MEDIA FAILURE' 02844000 RFLAG3 DC CL13' ACC UNUSABLE' 02845000 APRMSG01 DC CL4'DATE' 02846000 APRMSG02 DC CL4'TIME' 02847000 APRMSG03 DC CL6'ACTION' 02848000 APRMSG04 DC CL6'RESULT' 02849000 ACT1M1 DC CL71'SSIDS FAILED -PATH( )-CSN( C02850000 )-VOLID( )' 02851000 ACT1M2 DC CL3'- )' 02852000 ACT2M1 DC CL18'SUCCESSFUL RETRY' 02853000 ACT2M1U DC CL18'UNSUCCESSFUL RETRY' 02854000 ACT2M1E DC CL18'SUCCESS UNKNOWN' 02855000 ACT2M1T DC CL42' - PATH( ) - SSIDS MARKED UNUSABLE BY APR' 02856000 ACT2M2 DC CL16' NONE' 02857000 ACT2M3 DC CL28'MEDIA FAILURE - LZYX( ) -' 02858000 ACT2M4 DC CL33'PERMANENT MEDIA ERROR' 02859000 ACT2M8 DC CL33'XXX CYLINDERS STAGED WITH ERROR' 02860000 ACT2M5 DC CL33'STRIPES AVAILABLE = 0' 02861000 ACT2M6 DC CL33'LOAD FAILURE' 02862000 ACT2M7 DC CL33'UNKNOWN TERMINATION CODE ( )' 02863000 ACT3M1 DC CL58' SSID MARKED UNUSABLE BY APR - BYTES 0-3( C02864000 )' 02865000 ACT3M2 DC CL13'PATH 4XX-2XX' 02866000 ACT3M3 DC CL66' SSID MARKED UNUSABLE BY ERP - MSG CODE 06 C02867000 - TERM CODE(XX)' 02868000 ACT4M1 DC CL68' SSID MARKED UNUSABLE - BYTES 0-5( C02869000 ) - FSC( )' 02870000 ACT4M2 DC CL61'MSC RUA MARKED UNUSABLE - CPUID( - ) - C02871000 FSC( )' 02872000 ACT4M3 DC CL24'MSC FMT 4 SA FMT/MSG(XX)' 02873000 ACT5M1 DC CL63'SSID - ACCESSOR MOVED TO GARAGE - MSC BYTC02874000 ES 4,5( )' 02875000 ACT5M2 DC CL5' LEFT' 02876000 ACT5M3 DC CL5'RIGHT' 02877000 ACT6M1 DC CL72'VOLID( ) - CSN( ) - TABLE ID( ) - C02878000 LZYX( ) - CASE( )' 02879000 ACT6M2 DC CL13'SUU SSID(XXX)' 02880000 ACT7M1 DC CL61'SWITCHED FROM MSC RUA - CPUID( - ) - MSC02881000 G CODE( )' 02882000 ACT8M1 DC CL55'VIRTUAL CYLINDER 0000 STAGED WITH ERROR - VOLID( C02883000 )' 02884000 EDPAT01 DC X'40212020207A20207A20207A20202020612020202020' 02885000 EDPAT02 DC X'402020202120' 02886000 EDPAT03 DC X'40202120' 02887000 SUMMSG01 DC CL27'SUMMARY OF UNUSABLE DEVICES' 02888000 SUMMSG02 DC CL3'SUU' 02889000 SUMMSG03 DC CL4'LAST' 02890000 SUMMSG04 DC CL51' DATE TIME RUA SSID DEVICE COUNTC02891000 ' 02892000 SUMMSG05 DC CL25'SUMMARY OF MEDIA FAILURES' 02893000 SUMMSG06 DC CL9'CARTRIDGE' 02894000 SUMMSG07 DC CL51' DATE TIME CSN VOLID COUNTC02895000 ' 02896000 SUMBACC DC CL5'ACC ' 02897000 SUMLACC DC CL5'L-ACC' 02898000 SUMRACC DC CL5'R-ACC' 02899000 PATCH DC 50X'00' 02900000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 02901000 @01 EQU 01 02902000 @02 EQU 02 02903000 @03 EQU 03 02904000 @04 EQU 04 02905000 @05 EQU 05 02906000 @06 EQU 06 02907000 @07 EQU 07 02908000 @08 EQU 08 02909000 @09 EQU 09 02910000 @10 EQU 10 02911000 @11 EQU 11 02912000 @12 EQU 12 02913000 @13 EQU 13 02914000 @14 EQU 14 02915000 @15 EQU 15 02916000 J EQU @06 02917000 I EQU @05 02918000 RETCODE EQU @07 02919000 ENTRYPTR EQU @04 02920000 APRWKPTR EQU @03 02921000 SENSEPTR EQU @05 02922000 GET0PTR EQU @05 02923000 CVTPTR EQU @02 02924000 R1 EQU @01 02925000 R15 EQU @15 02926000 ISDACVT EQU 0 02927000 CVTPTRS0 EQU ISDACVT 02928000 PARMPTR EQU CVTPTRS0+8 02929000 APR00PTR EQU CVTPTRS0+80 02930000 WORKCALL EQU CVTPTRS0+96 02931000 GET0CALL EQU ISDACVT+100 02932000 SPNOLEN EQU GET0CALL 02933000 SPNO EQU SPNOLEN 02934000 CORELEN EQU SPNOLEN+1 02935000 COREADDR EQU GET0CALL+4 02936000 HEXPCALL EQU ISDACVT+108 02937000 PRT0CALL EQU ISDACVT+120 02938000 OUTLINE EQU PRT0CALL 02939000 ANSI EQU OUTLINE 02940000 LINE EQU OUTLINE+1 02941000 SDARPTID EQU PRT0CALL+133 02942000 SDADATD EQU ISDACVT+256 02943000 PRTDATD EQU ISDACVT+416 02944000 ISDAPRMS EQU 0 02945000 CINPUT EQU ISDAPRMS 02946000 CSTART EQU ISDAPRMS+2 02947000 CEND EQU ISDAPRMS+6 02948000 CFSCONLY EQU ISDAPRMS+13 02949000 CSSIDF EQU ISDAPRMS+17 02950000 CSERIAL EQU ISDAPRMS+21 02951000 CREPORTS EQU ISDAPRMS+33 02952000 CAPRSUU EQU CREPORTS+10 02953000 ISDAGHDR EQU 0 02954000 GET0SPLN EQU ISDAGHDR+8 02955000 NEXTPTR EQU ISDAGHDR+12 02956000 ISDAMSCS EQU 0 02957000 SUBSYSID EQU ISDAMSCS+1 02958000 SSID EQU SUBSYSID 02959000 SUBSENSE EQU ISDAMSCS+4 02960000 SUBFMTMG EQU SUBSENSE+7 02961000 ISDAMSC0 EQU 4 02962000 VOLID0 EQU ISDAMSC0 02963000 CHR0 EQU VOLID0 02964000 TBLID0 EQU ISDAMSC0+6 02965000 CSN0 EQU 16 02966000 APRWORK EQU 0 02967000 APRWORK0 EQU APRWORK 02968000 ACCM0PTR EQU APRWORK0 02969000 ACCUMPTR EQU APRWORK0+4 02970000 CURRPTR EQU APRWORK0+12 02971000 CURRNEXT EQU APRWORK0+16 02972000 TOTALENT EQU APRWORK0+24 02973000 SORTCNT EQU APRWORK0+28 02974000 STARTAPR EQU APRWORK0+32 02975000 STARTPNT EQU APRWORK0+36 02976000 LINECNT EQU APRWORK0+40 02977000 POINTLEN EQU APRWORK0+48 02978000 T07COUNT EQU APRWORK0+50 02979000 T09COUNT EQU APRWORK0+52 02980000 T41COUNT EQU APRWORK0+54 02981000 T08COUNT EQU APRWORK0+56 02982000 SAVEDYTS EQU APRWORK0+58 02983000 SAVEDAYT EQU SAVEDYTS 02984000 SAVEDATE EQU SAVEDAYT 02985000 SAVETIME EQU SAVEDAYT+4 02986000 SAVESSID EQU APRWORK0+68 02987000 APRSSIDF EQU APRWORK0+70 02988000 APRSSIDS EQU APRSSIDF 02989000 SAVESAPR EQU APRWORK0+86 02990000 TYPECODE EQU APRWORK0+90 02991000 APRFLAGS EQU APRWORK0+91 02992000 APRTEMPS EQU APRWORK+92 02993000 TEMP9 EQU APRTEMPS 02994000 TEMP8 EQU TEMP9 02995000 TEMP7 EQU TEMP8 02996000 TEMP6 EQU TEMP7 02997000 TEMP5 EQU TEMP6 02998000 TEMP4 EQU TEMP5 02999000 TEMP3 EQU TEMP4 03000000 TEMP2 EQU TEMP3 03001000 TEMP1 EQU TEMP2 03002000 TEMP20 EQU APRTEMPS+9 03003000 TEMP16 EQU TEMP20 03004000 TEMP710 EQU TEMP20+6 03005000 TEMP1113 EQU TEMP20+10 03006000 TEMP1417 EQU TEMP20+13 03007000 TEMP1415 EQU TEMP1417 03008000 TEMP1820 EQU TEMP20+17 03009000 ACCENTRY EQU 0 03010000 ENTFIXED EQU ACCENTRY 03011000 NEXTENT EQU ENTFIXED 03012000 ENTFLAGS EQU ENTFIXED+4 03013000 ENTCOUNT EQU ENTFLAGS 03014000 ETYPCODE EQU ENTFLAGS+3 03015000 EFMTMSG EQU ENTFLAGS+4 03016000 ENTFLAG EQU ENTFLAGS+5 03017000 EFLAG1 EQU ENTFLAG 03018000 EFLAG2 EQU ENTFLAG 03019000 EFLAG3 EQU ENTFLAG 03020000 EFLAG4 EQU ENTFLAG 03021000 EFLAG5 EQU ENTFLAG 03022000 EFLAG6 EQU ENTFLAG 03023000 EFLAG7 EQU ENTFLAG 03024000 EFLAG8 EQU ENTFLAG 03025000 ENTSSID EQU ENTFLAGS+6 03026000 ENTDAYTS EQU ENTFIXED+12 03027000 ENTDAYT EQU ENTDAYTS 03028000 ENTVAR EQU ACCENTRY+24 03029000 EBYTE03 EQU ENTVAR 03030000 EBYTE3 EQU EBYTE03+3 03031000 EBYTE431 EQU ENTVAR+4 03032000 ENTVOLID EQU EBYTE431 03033000 ENTCPUID EQU ENTVOLID 03034000 EBYTE45 EQU ENTCPUID 03035000 EBYTE4 EQU EBYTE45 03036000 EBYTE5 EQU EBYTE45+1 03037000 EBYTE67 EQU ENTCPUID+2 03038000 EBYTE9 EQU ENTVOLID+5 03039000 EBYTE10 EQU EBYTE431+6 03040000 EBYT1215 EQU EBYTE431+8 03041000 EBYTE12 EQU EBYT1215 03042000 EBYTE13 EQU EBYT1215+1 03043000 EBYT1415 EQU EBYT1215+2 03044000 ENTCSN EQU EBYTE431+12 03045000 EBYT2829 EQU EBYTE431+24 03046000 ACCPOINT EQU 0 03047000 WORKPTR EQU 0 03048000 RM71 EQU LINE+44 03049000 RM18 EQU LINE+44 03050000 RM42 EQU LINE+62 03051000 RM28 EQU LINE+44 03052000 RM33 EQU LINE+73 03053000 RM58 EQU LINE+44 03054000 RM13 EQU LINE+44 03055000 RM66 EQU LINE+44 03056000 RM17 EQU LINE+60 03057000 RM68 EQU LINE+44 03058000 RM24 EQU LINE+76 03059000 RM61 EQU LINE+44 03060000 RM63 EQU LINE+44 03061000 RM72 EQU LINE+44 03062000 RM55 EQU LINE+44 03063000 SSIDA1M1 EQU LINE+56 03064000 PATHA1M1 EQU LINE+79 03065000 CSNA1M1 EQU LINE+87 03066000 VOLA1M1 EQU LINE+107 03067000 SEQFA1M1 EQU LINE+113 03068000 SEQNA1M1 EQU LINE+114 03069000 PATHA2M1 EQU LINE+70 03070000 SSIDA2M1 EQU LINE+105 03071000 LZYXA2M3 EQU LINE+65 03072000 NO08A2M3 EQU LINE+72 03073000 TCA2M7 EQU LINE+99 03074000 ERPA3M3 EQU LINE+37 03075000 DEV34M1 EQU LINE+44 03076000 SSIDA3M2 EQU LINE+50 03077000 SSID34M1 EQU LINE+54 03078000 BY10A3M2 EQU LINE+55 03079000 B03A3M1 EQU LINE+93 03080000 TERMA3M3 EQU LINE+107 03081000 B03A4M1 EQU LINE+86 03082000 B45A4M1 EQU LINE+95 03083000 FSCA4M1 EQU LINE+107 03084000 BFSCA4M1 EQU LINE+101 03085000 RUAA4M2 EQU LINE+52 03086000 CPIDA4M2 EQU LINE+80 03087000 CPUSA4M2 EQU LINE+87 03088000 FSCA4M2 EQU LINE+99 03089000 FMTMA4M3 EQU LINE+97 03090000 SSIDA5M1 EQU LINE+49 03091000 MSFNA5M1 EQU LINE+25 03092000 ACCA5M1 EQU LINE+55 03093000 B45A5M1 EQU LINE+102 03094000 VOLA6M1 EQU LINE+50 03095000 SSIDA6M2 EQU LINE+53 03096000 CSNA6M1 EQU LINE+64 03097000 SSIDA6M3 EQU LINE+69 03098000 TIDA6M1 EQU LINE+89 03099000 LZYXA6M1 EQU LINE+100 03100000 CASEA6M1 EQU LINE+113 03101000 RUAA7M1 EQU LINE+66 03102000 CPIDA7M1 EQU LINE+78 03103000 CPUSA7M1 EQU LINE+85 03104000 MCA7M1 EQU LINE+102 03105000 CYLA8M1 EQU LINE+61 03106000 VOLA8M1 EQU LINE+92 03107000 BAR1 EQU LINE+7 03108000 BAR2 EQU LINE+20 03109000 BAR3 EQU LINE+42 03110000 MSG01 EQU LINE+1 03111000 MSG02 EQU LINE+11 03112000 MSG03 EQU LINE+22 03113000 MSG04 EQU LINE+44 03114000 OUTDAY EQU LINE 03115000 OUTYEAR EQU LINE+3 03116000 OUTTIME EQU LINE+8 03117000 ACTION EQU LINE+22 03118000 RFLAG EQU LINE+117 03119000 EDREC01 EQU APRTEMPS 03120000 TEMP68 EQU TEMP8+5 03121000 TEMP78 EQU TEMP8+6 03122000 TEMP2427 EQU APRTEMPS+23 03123000 TEMP2831 EQU APRTEMPS+27 03124000 TEMP2331 EQU APRTEMPS+22 03125000 ED01TIME EQU EDREC01+3 03126000 ED01YEAR EQU EDREC01+16 03127000 ED01DAY EQU EDREC01+19 03128000 TOTCOUNT EQU LINE+5 03129000 SUMLAST EQU LINE+6 03130000 SUMSUU EQU LINE+46 03131000 SUMRUA EQU LINE+22 03132000 SUMSSID EQU LINE+28 03133000 SUMDEVT EQU LINE+36 03134000 SUMACCLR EQU LINE+36 03135000 SUMCNT1 EQU LINE+44 03136000 SUMCART EQU LINE+27 03137000 SUMCSN EQU LINE+22 03138000 SUMVOLID EQU LINE+36 03139000 SUMSEQD EQU LINE+42 03140000 SUMSEQN EQU LINE+43 03141000 SBAR1 EQU LINE+20 03142000 SBAR2 EQU LINE+26 03143000 SBAR3 EQU LINE+33 03144000 SBAR4 EQU LINE+44 03145000 * START UNREFERENCED COMPONENTS 03146000 EBYT3031 EQU EBYTE431+26 03147000 EBYTE11 EQU EBYTE431+7 03148000 EBYTE8 EQU ENTCPUID+4 03149000 EBYTE7 EQU EBYTE67+1 03150000 EBYTE6 EQU EBYTE67 03151000 EBYTE2 EQU EBYTE03+2 03152000 EBYTE1 EQU EBYTE03+1 03153000 EBYTE0 EQU EBYTE03 03154000 ENTSPARE EQU ENTFIXED+21 03155000 ENTSEQEN EQU ENTDAYTS+8 03156000 ENTTIME EQU ENTDAYT+4 03157000 ENTDATE EQU ENTDAYT 03158000 ELENGTH EQU ENTFLAGS+2 03159000 TEMP3032 EQU APRTEMPS+29 03160000 TEMP1617 EQU TEMP1417+2 03161000 SAVSPARE EQU APRWORK0+67 03162000 SAVSEQEN EQU SAVEDYTS+8 03163000 ACCUMCNT EQU APRWORK0+46 03164000 CURRLEN EQU APRWORK0+44 03165000 ACCLAST EQU APRWORK0+20 03166000 ACCUMEND EQU APRWORK0+8 03167000 LOADERR0 EQU ISDAMSC0+26 03168000 RWLOADS0 EQU ISDAMSC0+24 03169000 SWCHECK0 EQU ISDAMSC0+22 03170000 SRCHECK0 EQU ISDAMSC0+20 03171000 WUSECNT0 EQU ISDAMSC0+16 03172000 RUSECNT0 EQU ISDAMSC0+12 03173000 XYZL0 EQU ISDAMSC0+10 03174000 @NM00007 EQU ISDAMSC0+9 03175000 TERMCOD0 EQU ISDAMSC0+8 03176000 MSGCODE0 EQU ISDAMSC0+7 03177000 SSID0 EQU CHR0 03178000 SANOMSCD EQU SUBSENSE+27 03179000 RCYLMSCD EQU SUBSENSE+25 03180000 RUAMSCD EQU SUBSENSE+24 03181000 MSCFSC EQU SUBSENSE+22 03182000 @NM00006 EQU SUBSENSE+21 03183000 RUADASD EQU SUBSENSE+20 03184000 DASDFSC EQU SUBSENSE+18 03185000 @NM00005 EQU SUBSENSE+8 03186000 MSGCODEN EQU SUBFMTMG 03187000 SUBFMTNO EQU SUBFMTMG 03188000 SALOWAD2 EQU SUBSENSE+6 03189000 SARETRY EQU SUBSENSE+5 03190000 @NM00004 EQU SUBSENSE+4 03191000 DASDFMTN EQU SUBSENSE+3 03192000 SALOWADD EQU SUBSENSE+2 03193000 SUBSTAT5 EQU SUBSENSE+1 03194000 SUBSTAT4 EQU SUBSENSE 03195000 FORMATNO EQU ISDAMSCS+3 03196000 SSIDDEVT EQU SSID+1 03197000 SSIDLIBN EQU SSID+1 03198000 SSIDTYPE EQU SSID 03199000 SSIDFLAG EQU SUBSYSID 03200000 STATUS EQU ISDAMSCS 03201000 @NM00003 EQU ISDAGHDR+26 03202000 BLOCKCNT EQU ISDAGHDR+24 03203000 BLOCKID EQU ISDAGHDR+20 03204000 LASTPTR EQU ISDAGHDR+16 03205000 GET0LEN EQU GET0SPLN+1 03206000 GET0SPNO EQU GET0SPLN 03207000 ENDPTR EQU ISDAGHDR+4 03208000 STARTPTR EQU ISDAGHDR 03209000 CTRACE EQU ISDAPRMS+48 03210000 CGEN EQU ISDAPRMS+47 03211000 CDETAIL EQU ISDAPRMS+46 03212000 CPERIOD EQU ISDAPRMS+45 03213000 CPWR EQU CREPORTS+11 03214000 CDRC EQU CREPORTS+9 03215000 CDAT EQU CREPORTS+8 03216000 CCSBCSF EQU CREPORTS+7 03217000 CDCKTLX EQU CREPORTS+6 03218000 CEQC EQU CREPORTS+5 03219000 CFSC EQU CREPORTS+4 03220000 CDHEDHU EQU CREPORTS+3 03221000 CSUM EQU CREPORTS+2 03222000 CPAD EQU CREPORTS+1 03223000 CDCS EQU CREPORTS 03224000 CSERNO EQU CSERIAL+4 03225000 @NM00002 EQU CSERIAL+3 03226000 CIBM EQU CSERIAL 03227000 CRATIO EQU ISDAPRMS+19 03228000 CSSID EQU CSSIDF 03229000 @NM00001 EQU CSSIDF 03230000 CFSC34 EQU CFSCONLY+2 03231000 CFSC12 EQU CFSCONLY 03232000 CTYPE EQU ISDAPRMS+11 03233000 CSUMMARY EQU ISDAPRMS+10 03234000 CENDDAY EQU CEND+2 03235000 CENDYEAR EQU CEND 03236000 CSTDAY EQU CSTART+2 03237000 CSTYEAR EQU CSTART 03238000 CHISTIN EQU CINPUT+1 03239000 CLOGIN EQU CINPUT 03240000 PRTSA001 EQU PRTDATD 03241000 SDATEMPS EQU SDADATD+136 03242000 SDASA002 EQU SDADATD+76 03243000 SDAPC001 EQU SDADATD+72 03244000 SDASA001 EQU SDADATD 03245000 DUMPIDNO EQU HEXPCALL+8 03246000 DUMPLEN EQU HEXPCALL+4 03247000 DUMPADDR EQU HEXPCALL 03248000 GEN00PTR EQU CVTPTRS0+92 03249000 CNFG0PTR EQU CVTPTRS0+88 03250000 PWR00PTR EQU CVTPTRS0+84 03251000 DRC00PTR EQU CVTPTRS0+76 03252000 DAT00PTR EQU CVTPTRS0+72 03253000 CSB00PTR EQU CVTPTRS0+68 03254000 DCK00PTR EQU CVTPTRS0+64 03255000 EQC00PTR EQU CVTPTRS0+60 03256000 FSC00PTR EQU CVTPTRS0+56 03257000 DHE00PTR EQU CVTPTRS0+52 03258000 SUM00PTR EQU CVTPTRS0+48 03259000 PAD00PTR EQU CVTPTRS0+44 03260000 DCS00PTR EQU CVTPTRS0+40 03261000 LOG00PTR EQU CVTPTRS0+36 03262000 HIST0PTR EQU CVTPTRS0+32 03263000 PRT00PTR EQU CVTPTRS0+28 03264000 GET00PTR EQU CVTPTRS0+24 03265000 TYPE0PTR EQU CVTPTRS0+20 03266000 PARM0PTR EQU CVTPTRS0+16 03267000 SDA00PTR EQU CVTPTRS0+12 03268000 SDATAPTR EQU CVTPTRS0+4 03269000 DATAPTR EQU CVTPTRS0 03270000 * END UNREFERENCED COMPONENTS 03271000 @RC00064 EQU @RC00052 03272000 @RC00146 EQU @RC00145 03273000 @RC00162 EQU @RC00127 03274000 @RC00305 EQU @RC00302 03275000 @RC00410 EQU @EL00010 03276000 @RC00408 EQU @EL00010 03277000 @RC00398 EQU @EL00010 03278000 @RC00441 EQU @EL00011 03279000 @RC00456 EQU @EL00012 03280000 @RC00552 EQU @EL00014 03281000 @RC00624 EQU @EL00019 03282000 @RC00622 EQU @EL00019 03283000 @RC00620 EQU @EL00019 03284000 @RC00618 EQU @EL00019 03285000 @RC00616 EQU @EL00019 03286000 @RC00643 EQU @EL00020 03287000 @RC00065 EQU @RC00064 03288000 @RC00399 EQU @RC00398 03289000 @RC00555 EQU @RC00552 03290000 @RC00625 EQU @RC00624 03291000 @ENDDATA EQU * 03292000 END ISDAAPR1,(C'PLS1753',0701,78044) 03293000