TITLE 'BLSDDT00-VALIDITY CHECKING ROUTINE FOR DATE *00001000 ' 00002000 * /* CHANGE ACTIVITY */ 00003000 * THIS MODULE IS WRITTEN FOR @G57LPRM 00004000 BLSDDT00 CSECT , 0002 00005000 @MAINENT DS 0H 0002 00006000 USING *,@15 0002 00007000 B @PROLOG 0002 00008000 DC AL1(16) 0002 00009000 DC C'BLSDDT00 78.062' 0002 00010000 DROP @15 00011000 @PROLOG STM @14,@12,12(@13) 0002 00012000 BALR @12,0 0002 00013000 @PSTART DS 0H 0002 00014000 USING @PSTART,@12 0002 00015000 L @00,@SIZDATD 0002 00016000 BLSUALL2 R,LV=(0) 00017000 LR @11,@01 0002 00018000 USING @DATD,@11 0002 00019000 ST @13,@SA00001+4 0002 00020000 LM @00,@01,20(@13) 0002 00021000 ST @11,8(,@13) 0002 00022000 LR @13,@11 0002 00023000 MVC @PC00001(12),0(@01) 0002 00024000 * PDE */ 00025000 * FSLNT=0; /* INIT THE FIRST SLASH POINTER */ 00026000 SLR FSLNT,FSLNT 0125 00027000 * SSLNT=0; /* INIT THE SECOND SLASH POINTER */ 00028000 SLR SSLNT,SSLNT 0126 00029000 * RETCD=0; /* INIT THE RETURN CODE */ 00030000 SLR RETCD,RETCD 0127 00031000 * FLG=0; /* INIT THE FLAG FIELD */ 00032000 MVI FLG,X'00' 0128 00033000 * ERR=0; 0129 00034000 MVI ERR,X'00' 0129 00035000 * IF DTEIFP='1'B THEN /* IF IDENTIFIER PRESENT */ 00036000 L @10,@PC00001 0130 00037000 TM DTEIFP(@10),B'10000000' 0130 00038000 BNO @RF00130 0130 00039000 * DO; /* CHECK MUST BE MADE */ 00040000 * RESPECIFY 0132 00041000 * DTEI BASED(DTEPTR); /* ESTABLISH NEW ADDR TO DATE 0132 00042000 * FIELD */ 00043000 * DTEPTR=DTEIP; /* POINT TO DATA FOR SCAN */ 00044000 * 0133 00045000 L DTEPTR,DTEIP(,@10) 0133 00046000 * /*************************************************************/ 00047000 * /* */ 00048000 * /* THE LENGTH OF THE FIELD HAS BEEN CHECK FOR SPECIFICATION */ 00049000 * /* LENGTHS. MINIMUM LENGTH 6 (M/D/YY) MAXIMUM LENGTH 8 */ 00050000 * /* (MM/DD/YY) THE YEAR CAN NOT BE SHORTENED TO ONE CHARACTER */ 00051000 * /* */ 00052000 * /*************************************************************/ 00053000 * 0134 00054000 * IF DTEIL>5&DTEIL<9 THEN 0134 00055000 LH @10,DTEIL(,@10) 0134 00056000 C @10,@CF00096 0134 00057000 BNH @RF00134 0134 00058000 C @10,@CF00798 0134 00059000 BNL @RF00134 0134 00060000 * DO; /* LENGTH IS CORRECT CONTINUE 0135 00061000 * WITH TEST */ 00062000 * 0135 00063000 * /*********************************************************/ 00064000 * /* */ 00065000 * /* LENGTH IS CORRECT CHECK FOR LOCATION OF SLASHES A */ 00066000 * /* CHECK IS ALSO MADE TO ENSURE THAT THE CHARACTERS OTHER*/ 00067000 * /* THAN SLASHES ARE NUMBERIC. ANY ERROR CONDITION SETS */ 00068000 * /* THE BAD RETURN CODE WHICH INDICATES THAT A REPROMPT IS*/ 00069000 * /* REQUIRED. */ 00070000 * /* */ 00071000 * /*********************************************************/ 00072000 * 0136 00073000 * DO I=1 TO DTEIL WHILE(FLG^=2&ERR=0);/* COMMAND SCAN */ 00074000 LA I,1 0136 00075000 B @DE00136 0136 00076000 @DL00136 CLI FLG,2 0136 00077000 BE @DC00136 0136 00078000 CLI ERR,0 0136 00079000 BNE @DC00136 0136 00080000 * IF DTEI(1:1)='/' THEN /* IS THE CHARACTER A SLASH? */ 00081000 CLI DTEI(DTEPTR),C'/' 0137 00082000 BNE @RF00137 0137 00083000 * IF FLG=0 THEN /* FIRST SLASH FOUND? */ 00084000 CLI FLG,0 0138 00085000 BNE @RF00138 0138 00086000 * DO; /* FIRST SLASH */ 00087000 * FSLNT=I; /* FIRST SLASH ADDRESS */ 00088000 LR FSLNT,I 0140 00089000 * FLG=1; /* INDICATE FIRST SLASH FOUND */ 00090000 MVI FLG,X'01' 0141 00091000 * END; /* END OF FIRST SLASH */ 00092000 * ELSE /* SECOND SLASH */ 00093000 * IF FLG=1 THEN /* SECOND SLASH? */ 00094000 B @RC00138 0143 00095000 @RF00138 CLI FLG,1 0143 00096000 BNE @RF00143 0143 00097000 * DO; /* YES, SECOND SLASH */ 00098000 * SSLNT=I; /* SECOND SLASH ADDRESS */ 00099000 LR SSLNT,I 0145 00100000 * FLG=2; /* INDICATE SECOND SLASH FOUND */ 00101000 MVI FLG,X'02' 0146 00102000 * END; /* END OF SECOND SLASH */ 00103000 * ELSE /* ERROR CONDITION MORE THAN TWO 00104000 * SLASHES */ 00105000 * DO; /* ERROR CONDITION TOO MANY 0148 00106000 * SLASHES */ 00107000 B @RC00143 0148 00108000 @RF00143 DS 0H 0149 00109000 * ERR=1; /* INDICATE ERROR CONDITION */ 00110000 MVI ERR,X'01' 0149 00111000 * RETCD=4; /* INDICATE NEED REPROMPT NEEDED */ 00112000 LA RETCD,4 0150 00113000 * END; /* END OF MORE THAN TWO SLASHED */ 00114000 * ELSE /* NOT A SLASH- CHECK FOR 0152 00115000 * NUMERICS */ 00116000 * IF DTEI(1:1)<'0'|DTEI(1:1)>'9' THEN/* ONLY NUMBERS? */ 00117000 B @RC00137 0152 00118000 @RF00137 CLI DTEI(DTEPTR),C'0' 0152 00119000 BL @RT00152 0152 00120000 CLI DTEI(DTEPTR),C'9' 0152 00121000 BNH @RF00152 0152 00122000 @RT00152 DS 0H 0153 00123000 * DO; /* NOT NUMBERS - ERROR CONDITION */ 00124000 * RETCD=4; /* INDICATE REPROMPT NEEDED */ 00125000 LA RETCD,4 0154 00126000 * ERR=1; /* END THE LOOP */ 00127000 MVI ERR,X'01' 0155 00128000 * END; /* END OF ERROR -NOT NUMERIC */ 00129000 * DTEPTR=DTEPTR+1; /* LOOK AT NEXT CHARACTER */ 00130000 @RF00152 DS 0H 0157 00131000 @RC00137 AL DTEPTR,@CF00046 0157 00132000 * END; /* END OF CHARACTER SCAN */ 00133000 AL I,@CF00046 0158 00134000 @DE00136 L @10,@PC00001 0158 00135000 CH I,DTEIL(,@10) 0158 00136000 BNH @DL00136 0158 00137000 @DC00136 DS 0H 0159 00138000 * END; /* END OF LENGTH IS CORRECT */ 00139000 * RESPECIFY 0160 00140000 * DTEI BASED(DTEIP); /* POINT AT BEGINNING OF FIELD */ 00141000 * 0160 00142000 @RF00134 DS 0H 0161 00143000 * /*************************************************************/ 00144000 * /* */ 00145000 * /* CHECK FOR ERRORS AND MAX OF TWO CHARACTERS IN THE MONTH, */ 00146000 * /* DATE, AND YEAR FIELD */ 00147000 * /* */ 00148000 * /*************************************************************/ 00149000 * 0161 00150000 * IF FLG=2&ERR=0& /* ANY ERRORS ABOVE? */ 00151000 * 0161 00152000 * /*************************************************************/ 00153000 * /* */ 00154000 * /* LENGTH OF MONTH OK? */ 00155000 * /* */ 00156000 * /*************************************************************/ 00157000 * 0161 00158000 * (FSLNT-1^>2)& /* MAXIMUM MONTH ? */ 00159000 * (FSLNT-1^<1)& /* MINIMUM MONTH ? */ 00160000 * 0161 00161000 * /*************************************************************/ 00162000 * /* */ 00163000 * /* LENGTH OF DAY OK? */ 00164000 * /* */ 00165000 * /*************************************************************/ 00166000 * 0161 00167000 * (SSLNT-(FSLNT+1)^>2)& /* MAXIMUM DAY ? */ 00168000 * (SSLNT-(FSLNT+1)^<1)& /* MINIMUM DAY ? */ 00169000 * (DTEIL-SSLNT=2) THEN /* LENGTH OF YEAR OK? */ 00170000 CLI FLG,2 0161 00171000 BNE @RF00161 0161 00172000 CLI ERR,0 0161 00173000 BNE @RF00161 0161 00174000 LA @10,2 0161 00175000 LR @05,FSLNT 0161 00176000 BCTR @05,0 0161 00177000 CR @05,@10 0161 00178000 BH @RF00161 0161 00179000 LA @15,1 0161 00180000 CR @05,@15 0161 00181000 BL @RF00161 0161 00182000 LR @14,FSLNT 0161 00183000 ALR @14,@15 0161 00184000 LCR @14,@14 0161 00185000 ALR @14,SSLNT 0161 00186000 CR @14,@10 0161 00187000 BH @RF00161 0161 00188000 CR @14,@15 0161 00189000 BL @RF00161 0161 00190000 L @14,@PC00001 0161 00191000 LH @09,DTEIL(,@14) 0161 00192000 SLR @09,SSLNT 0161 00193000 CR @09,@10 0161 00194000 BNE @RF00161 0161 00195000 * DO; /* NO ERRORS -CONTINUE PROCESSING*/ 00196000 * 0162 00197000 * /*********************************************************/ 00198000 * /* */ 00199000 * /* PREPARE FOR PACKING MONTH DAY AND YEAR */ 00200000 * /* */ 00201000 * /*********************************************************/ 00202000 * 0163 00203000 * 0163 00204000 * /*********************************************************/ 00205000 * /* */ 00206000 * /* MOVE IN MONTH TO BE PROCESSED */ 00207000 * /* */ 00208000 * /*********************************************************/ 00209000 * 0163 00210000 * IF(FSLNT-1)=1 THEN /* ONLY ONE MONTH CHARACTER? */ 00211000 CR @05,@15 0163 00212000 BNE @RF00163 0163 00213000 * DO; /* YES, PUT MONTH TO CORRECT 0164 00214000 * POSITION */ 00215000 * PACK1(1:1)='0'; /* PUT IN FIRST CHARACTER */ 00216000 MVI PACK1,C'0' 0165 00217000 * PACK1(2:2)=DTEI(1:1);/* MOVE IN MONTH CHARACTER */ 00218000 L @10,DTEIP(,@14) 0166 00219000 MVC PACK1+1(1),DTEI(@10) 0166 00220000 * END; /* END OF ONLY ONE MONTH 0167 00221000 * CHARACTER */ 00222000 * ELSE /* BOTH CHARACTERS ARE AVAILABLE */ 00223000 * PACK1=DTEI(1:2); /* MOVE FIRST FIELD TO BE PACKED */ 00224000 * 0168 00225000 B @RC00163 0168 00226000 @RF00163 L @10,@PC00001 0168 00227000 L @10,DTEIP(,@10) 0168 00228000 MVC PACK1(2),DTEI(@10) 0168 00229000 * /*********************************************************/ 00230000 * /* */ 00231000 * /* MOVE IN THE DAY TO BE PROCESSED */ 00232000 * /* */ 00233000 * /*********************************************************/ 00234000 * 0169 00235000 * IF(SSLNT-1)-FSLNT=1 THEN/* ONLY ONE DAY CHARACTER? */ 00236000 * 0169 00237000 @RC00163 LR @10,SSLNT 0169 00238000 BCTR @10,0 0169 00239000 SLR @10,FSLNT 0169 00240000 C @10,@CF00046 0169 00241000 BNE @RF00169 0169 00242000 * /*******************************************************/ 00243000 * /* */ 00244000 * /* ONLY ONE CHARACTER FOUND */ 00245000 * /* */ 00246000 * /*******************************************************/ 00247000 * 0170 00248000 * DO; /* YES, ONE CHARACTER PROCESSING */ 00249000 * PACK2(1:1)='0'; /* PUT IN FIRST CHARACTER */ 00250000 MVI PACK2,C'0' 0171 00251000 * PACK2(2:2)=DTEI((FSLNT+1):(SSLNT-1));/* MOVE ONE CHAR*/ 00252000 L @10,@PC00001 0172 00253000 L @10,DTEIP(,@10) 0172 00254000 ALR @10,FSLNT 0172 00255000 MVC PACK2+1(1),DTEI(@10) 0172 00256000 * END; /* END OF ONE CHARACTER DAY 0173 00257000 * PROCESSING */ 00258000 * ELSE /* TWO DAY CHARACTERS FOUND */ 00259000 * PACK2=DTEI((FSLNT+1):(SSLNT-1));/* MOVE SECOND FIELD */ 00260000 * 0174 00261000 B @RC00169 0174 00262000 @RF00169 MVI PACK2+1,C' ' 0174 00263000 LR @10,SSLNT 0174 00264000 SLR @10,FSLNT 0174 00265000 BCTR @10,0 0174 00266000 BCTR @10,0 0174 00267000 L @05,@PC00001 0174 00268000 L @05,DTEIP(,@05) 0174 00269000 ALR @05,FSLNT 0174 00270000 EX @10,@SM00815 0174 00271000 * /*********************************************************/ 00272000 * /* */ 00273000 * /* MOVE IN THE YEAR TO BE PROCESSED */ 00274000 * /* */ 00275000 * /*********************************************************/ 00276000 * 0175 00277000 * PACK3=DTEI((SSLNT+1):DTEIL);/* MOVE IN THE THIRD FIELD */ 00278000 * 0175 00279000 @RC00169 MVI PACK3+1,C' ' 0175 00280000 L @10,@PC00001 0175 00281000 LH @15,DTEIL(,@10) 0175 00282000 SLR @15,SSLNT 0175 00283000 BCTR @15,0 0175 00284000 L @10,DTEIP(,@10) 0175 00285000 ALR @10,SSLNT 0175 00286000 EX @15,@SM00817 0175 00287000 * /*********************************************************/ 00288000 * /* */ 00289000 * /* PACK THE FIELD FOR MAKING VALIDITY CHECK ON VALUE */ 00290000 * /* */ 00291000 * /*********************************************************/ 00292000 * 0176 00293000 * PACK(PAK1,PACK1); /* PACK FIRST FIELD */ 00294000 PACK PAK1(2),PACK1(2) 0176 00295000 * PACK(PAK2,PACK2); /* PACK DAY FIELD */ 00296000 PACK PAK2(2),PACK2(2) 0177 00297000 * PACK(PAK3,PACK3); /* PACK YEAR FIELD */ 00298000 * 0178 00299000 PACK PAK3(2),PACK3(2) 0178 00300000 * /*********************************************************/ 00301000 * /* */ 00302000 * /* CONVERT THE DATES TO PROPER VALUE FOR CHECK */ 00303000 * /* */ 00304000 * /*********************************************************/ 00305000 * 0179 00306000 * CVB(MONTH,PAK1); /* CONVERT MONTH */ 00307000 XC @TS00001(8),@TS00001 0179 00308000 MVC @TS00001+6(2),PAK1 0179 00309000 CVB MONTH,@TS00001 0179 00310000 * CVB(DAY,PAK2); /* CONVERT THE DAY */ 00311000 XC @TS00001(8),@TS00001 0180 00312000 MVC @TS00001+6(2),PAK2 0180 00313000 CVB DAY,@TS00001 0180 00314000 * CVB(YEAR,PAK3); /* CONVERT TO YEAR */ 00315000 * 0181 00316000 XC @TS00001(8),@TS00001 0181 00317000 MVC @TS00001+6(2),PAK3 0181 00318000 CVB YEAR,@TS00001 0181 00319000 * /*********************************************************/ 00320000 * /* */ 00321000 * /* CHECK FOR 31 DAY MONTHS */ 00322000 * /* */ 00323000 * /*********************************************************/ 00324000 * 0182 00325000 * IF MONTH=1|MONTH=3|MONTH=5|MONTH=7|MONTH=8|MONTH=10|MONTH= 00326000 * 12 THEN 0182 00327000 * 0182 00328000 C MONTH,@CF00046 0182 00329000 BE @RT00182 0182 00330000 C MONTH,@CF00099 0182 00331000 BE @RT00182 0182 00332000 C MONTH,@CF00096 0182 00333000 BE @RT00182 0182 00334000 C MONTH,@CF00437 0182 00335000 BE @RT00182 0182 00336000 C MONTH,@CF00054 0182 00337000 BE @RT00182 0182 00338000 C MONTH,@CF00495 0182 00339000 BE @RT00182 0182 00340000 C MONTH,@CF00035 0182 00341000 BNE @RF00182 0182 00342000 @RT00182 DS 0H 0183 00343000 * /*******************************************************/ 00344000 * /* */ 00345000 * /* MONTH IS THIRTYONE DAY MONTH -VALIDITY CHECK VALUE */ 00346000 * /* GIVEN */ 00347000 * /* */ 00348000 * /*******************************************************/ 00349000 * 0183 00350000 * IF DAY<1|DAY>31 THEN /* IS VALUE CORRECT? */ 00351000 LTR DAY,DAY 0183 00352000 BNP @RT00183 0183 00353000 C DAY,@CF00101 0183 00354000 BNH @RF00183 0183 00355000 @RT00183 DS 0H 0184 00356000 * RETCD=4; /* NO, INDICATE REPROMPT NEEDED */ 00357000 LA RETCD,4 0184 00358000 * ELSE 0185 00359000 * ; /* YES, END OF PROCESSING */ 00360000 * 0185 00361000 @RF00183 DS 0H 0186 00362000 * /*********************************************************/ 00363000 * /* */ 00364000 * /* CHECK FOR 30 DAY MONTHS */ 00365000 * /* */ 00366000 * /*********************************************************/ 00367000 * 0186 00368000 * ELSE 0186 00369000 * IF MONTH=4|MONTH=6|MONTH=9|MONTH=11 THEN 0186 00370000 * 0186 00371000 B @RC00182 0186 00372000 @RF00182 C MONTH,@CF00043 0186 00373000 BE @RT00186 0186 00374000 C MONTH,@CF00175 0186 00375000 BE @RT00186 0186 00376000 C MONTH,@CF00798 0186 00377000 BE @RT00186 0186 00378000 C MONTH,@CF00036 0186 00379000 BNE @RF00186 0186 00380000 @RT00186 DS 0H 0187 00381000 * /*****************************************************/ 00382000 * /* */ 00383000 * /* MONTH IS THIRTY DAY MONTH-VALIDITY CHECK VALUE */ 00384000 * /* GIVEN */ 00385000 * /* */ 00386000 * /*****************************************************/ 00387000 * 0187 00388000 * IF DAY<1|DAY>30 THEN/* IS VALUE CORRECT */ 00389000 LTR DAY,DAY 0187 00390000 BNP @RT00187 0187 00391000 C DAY,@CF00805 0187 00392000 BNH @RF00187 0187 00393000 @RT00187 DS 0H 0188 00394000 * RETCD=4; /* NO, INDICATE REPROMPT IS 0188 00395000 * NEEDED */ 00396000 LA RETCD,4 0188 00397000 * ELSE 0189 00398000 * ; /* YES, END OF PROCESSING */ 00399000 * 0189 00400000 @RF00187 DS 0H 0190 00401000 * /*********************************************************/ 00402000 * /* */ 00403000 * /* IF FEBRUARY, IS IT LEAP YEAR? */ 00404000 * /* */ 00405000 * /*********************************************************/ 00406000 * 0190 00407000 * ELSE 0190 00408000 * IF MONTH=2 THEN 0190 00409000 * 0190 00410000 B @RC00186 0190 00411000 @RF00186 C MONTH,@CF00073 0190 00412000 BNE @RF00190 0190 00413000 * /***************************************************/ 00414000 * /* */ 00415000 * /* MONTH IS FEB-VERIFY IF YEAR IS LEAP YEAR */ 00416000 * /* */ 00417000 * /***************************************************/ 00418000 * 0191 00419000 * IF YEAR//4=0 THEN /* IS IT LEAP YEAR? */ 00420000 LR @00,YEAR 0191 00421000 SRDA @00,32 0191 00422000 D @00,@CF00043 0191 00423000 LTR @00,@00 0191 00424000 BNZ @RF00191 0191 00425000 * IF DAY<1|DAY>29 THEN/* YES,VALUE OK? */ 00426000 LTR DAY,DAY 0192 00427000 BNP @RT00192 0192 00428000 C DAY,@CF00806 0192 00429000 BNH @RF00192 0192 00430000 @RT00192 DS 0H 0193 00431000 * RETCD=4; /* NO, INDICATE REPROMPT IS 0193 00432000 * NEEDED */ 00433000 LA RETCD,4 0193 00434000 * ELSE 0194 00435000 * ; /* YES, END OF PROCESSING */ 00436000 @RF00192 DS 0H 0195 00437000 * ELSE 0195 00438000 * IF DAY<1|DAY>28 THEN/* NOT LEAP YEAR, IS VALUE 0195 00439000 * CORRECT? */ 00440000 B @RC00191 0195 00441000 @RF00191 LTR DAY,DAY 0195 00442000 BNP @RT00195 0195 00443000 C DAY,@CF00807 0195 00444000 BNH @RF00195 0195 00445000 @RT00195 DS 0H 0196 00446000 * RETCD=4; /* NO, INDICATE REPROMPT IS 0196 00447000 * NEEDED */ 00448000 LA RETCD,4 0196 00449000 * ELSE 0197 00450000 * ; /* YES, END OF PROCESING */ 00451000 @RF00195 DS 0H 0198 00452000 * ELSE 0198 00453000 * 0198 00454000 * /***************************************************/ 00455000 * /* */ 00456000 * /* NONE OF THE ABOVE, MUST BE ERROR RESPONSE */ 00457000 * /* */ 00458000 * /***************************************************/ 00459000 * 0198 00460000 * RETCD=4; /* GOOD ONES GONE MUST BE ERROR */ 00461000 B @RC00190 0198 00462000 @RF00190 LA RETCD,4 0198 00463000 * END; /* END OF VALIDITY CHECK */ 00464000 * ELSE 0200 00465000 * RETCD=4; /* ERROR IN MM/DD/YY STATEMENT */ 00466000 B @RC00161 0200 00467000 @RF00161 LA RETCD,4 0200 00468000 * END; /* END OF THE DATE CHECK */ 00469000 @RC00161 DS 0H 0202 00470000 * RETURN CODE(RETCD); /* RETURN TO CALLER WITH RETURN 00471000 * CODE */ 00472000 @RF00130 L @13,4(,@13) 0202 00473000 L @00,@SIZDATD 0202 00474000 LR @01,@11 0202 00475000 BLSUFRE2 R,LV=(0),A=(1) 00476000 LR @15,@04 0202 00477000 L @14,12(,@13) 0202 00478000 LM @00,@12,20(@13) 0202 00479000 BR @14 0202 00480000 */*BLSUPEND--MVS IPCS MODULE */ 00481000 * 0203 00482000 * DECLARE /* COMMON VARIABLES */ 00483000 * I256C CHAR(256) BASED, 0203 00484000 * I031F FIXED(31) BASED, 0203 00485000 * I031P PTR(31) BASED, 0203 00486000 * I015F FIXED(15) BASED, 0203 00487000 * I015P PTR(15) BASED, 0203 00488000 * I008P PTR(8) BASED, 0203 00489000 * I001C CHAR(1) BASED; 0203 00490000 * GENERATE NODEFS NOREFS DATA; 0204 00491000 * END /* BLRPEND END OF MODULE */ 00492000 * 0205 00493000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 00494000 */*%INCLUDE SYSLIB (BLSUZZZ ) */ 00495000 */*%INCLUDE SYSLIB (BLRFULL ) */ 00496000 */*%INCLUDE SYSLIB (IKJCPPL ) */ 00497000 */*%INCLUDE SYSLIB (IKJPSCB ) */ 00498000 */*%INCLUDE SYSLIB (IKJECT ) */ 00499000 */*%INCLUDE SYSLIB (IKJUPT ) */ 00500000 */*%INCLUDE SYSLIB (BLSUSERV) */ 00501000 */*%INCLUDE SYSLIB (BLRSERV ) */ 00502000 */*%INCLUDE SYSLIB (BLRSERVD) */ 00503000 */*%INCLUDE SYSLIB (BLSDSERV) */ 00504000 * 0205 00505000 * ; 0205 00506000 @EL00001 L @13,4(,@13) 0205 00507000 @EF00001 L @00,@SIZDATD 0205 00508000 LR @01,@11 0205 00509000 BLSUFRE2 R,LV=(0),A=(1) 00510000 @ER00001 LM @14,@12,12(@13) 0205 00511000 BR @14 0205 00512000 @DATA DS 0H 00513000 @SM00815 MVC PACK2(0),DTEI(@05) 00514000 @SM00817 MVC PACK3(0),DTEI(@10) 00515000 @DATD DSECT 00516000 DS 0F 00517000 @SA00001 DS 18F 00518000 @PC00001 DS 3F 00519000 BLSDDT00 CSECT 00520000 DS 0F 00521000 @CF00046 DC F'1' 00522000 @CF00073 DC F'2' 00523000 @CF00099 DC F'3' 00524000 @CF00043 DC F'4' 00525000 @CF00096 DC F'5' 00526000 @CF00175 DC F'6' 00527000 @CF00437 DC F'7' 00528000 @CF00054 DC F'8' 00529000 @CF00798 DC F'9' 00530000 @CF00495 DC F'10' 00531000 @CF00036 DC F'11' 00532000 @CF00035 DC F'12' 00533000 @CF00807 DC F'28' 00534000 @CF00806 DC F'29' 00535000 @CF00805 DC F'30' 00536000 @CF00101 DC F'31' 00537000 @DATD DSECT 00538000 DS 0D 00539000 DS 0D 00540000 @TS00001 DS CL8 00541000 PACK1 DS CL2 00542000 PACK2 DS CL2 00543000 PACK3 DS CL2 00544000 PAK1 DS CL2 00545000 PAK2 DS CL2 00546000 PAK3 DS CL2 00547000 FLG DS CL1 00548000 ERR DS CL1 00549000 BLSDDT00 CSECT 00550000 DS 0F 00551000 @SIZDATD DC AL1(0) 00552000 DC AL3(@ENDDATD-@DATD) 00553000 DS 0D 00554000 @DATD DSECT 00555000 SPACE 2 00556000 *********************************************************************** 00557000 * THE FOLLOWING AREA, BLRPATCH, IS RESERVED FOR PATCH APPLICATION * 00558000 * TO OBTAIN PATCH ROOM IN THE @DATD AUTOMATIC STORAGE AREA, MODIFY * 00559000 * CONSTANT @SIZDATD TO REFLECT THE DESIRED @DATD SIZE * 00560000 *********************************************************************** 00561000 SPACE 00562000 BLSDDT00 CSECT 00563000 ORG 00564000 DS 0D 00565000 BLRPATCH DC CL8'ZAPAREA',(((*-BLSDDT00+19)/20+7)/8)CL8'BLSDDT00' 00566000 @DATD DSECT 00567000 SPACE 2 00568000 *********************************************************************** 00569000 * ALIGN END OF DATA ON A DOUBLEWORD BOUNDARY * 00570000 *********************************************************************** 00571000 SPACE 00572000 DS 0D 00573000 @DATD DSECT 00574000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 00575000 @ENDDATD EQU * 00576000 BLSDDT00 CSECT 00577000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 00578000 @01 EQU 01 00579000 @02 EQU 02 00580000 @03 EQU 03 00581000 @04 EQU 04 00582000 @05 EQU 05 00583000 @06 EQU 06 00584000 @07 EQU 07 00585000 @08 EQU 08 00586000 @09 EQU 09 00587000 @10 EQU 10 00588000 @11 EQU 11 00589000 @12 EQU 12 00590000 @13 EQU 13 00591000 @14 EQU 14 00592000 @15 EQU 15 00593000 I EQU @06 00594000 SSLNT EQU @03 00595000 FSLNT EQU @02 00596000 DTEPTR EQU @05 00597000 YEAR EQU @05 00598000 DAY EQU @03 00599000 MONTH EQU @02 00600000 RETCD EQU @04 00601000 R0 EQU @00 00602000 R1 EQU @01 00603000 R2 EQU @02 00604000 R3 EQU @03 00605000 R4 EQU @04 00606000 R5 EQU @05 00607000 R9 EQU @09 00608000 RB EQU @11 00609000 RD EQU @13 00610000 RE EQU @14 00611000 RF EQU @15 00612000 RA EQU @10 00613000 RC EQU @12 00614000 R6 EQU @06 00615000 R7 EQU @07 00616000 R8 EQU @08 00617000 DTE EQU 0 00618000 DTEIP EQU DTE 00619000 DTEIL EQU DTE+4 00620000 DTEIF EQU DTE+6 00621000 DTEIFP EQU DTEIF 00622000 DTEI EQU 0 00623000 ZZ1 EQU 0 00624000 ZZ1ATTN EQU ZZ1+360 00625000 ZZ1EVE EQU ZZ1ATTN+4 00626000 ZZ1F EQU ZZ1+368 00627000 ZZ1N EQU ZZ1+1116 00628000 ZZ2 EQU 0 00629000 ZZ2AMD EQU ZZ2 00630000 @NM00015 EQU ZZ2AMD+7 00631000 ZZ2PRT EQU ZZ2+138 00632000 ZZ2PRTT EQU ZZ2PRT+4 00633000 ZZ2PRTT1 EQU ZZ2PRTT+1 00634000 ZZ2A EQU ZZ2+272 00635000 ZZ2AF EQU ZZ2A+16 00636000 ZZ2APID EQU ZZ2A+64 00637000 ZZ2AD EQU ZZ2A+74 00638000 ZZ2ADD EQU ZZ2AD 00639000 ZZ2ADDT EQU ZZ2ADD+2 00640000 ZZ2ADM EQU ZZ2AD+46 00641000 ZZ2ADMT EQU ZZ2ADM+2 00642000 ZZ2ADP EQU ZZ2AD+56 00643000 ZZ2ADPT EQU ZZ2ADP+2 00644000 ZZ2AQAS EQU ZZ2A+144 00645000 ZZ2AQD EQU ZZ2A+160 00646000 ZZ2AQDT EQU ZZ2AQD+10 00647000 ZZ2AQDF EQU ZZ2AQD+52 00648000 ZZ2STG EQU ZZ2+960 00649000 ZZ2ALLOP EQU ZZ2+992 00650000 ZZ2FREEP EQU ZZ2+996 00651000 ZZ2FF19P EQU ZZ2+1000 00652000 ZZ2FRE1P EQU ZZ2+1004 00653000 ZZ2FF18P EQU ZZ2+1008 00654000 ZZ2DYNAP EQU ZZ2+1012 00655000 ZZ2ZZ2CP EQU ZZ2+1016 00656000 ZZ2ZZ2DP EQU ZZ2+1020 00657000 ZZ2STAIP EQU ZZ2+1024 00658000 ZZ2FF02P EQU ZZ2+1028 00659000 ZZ2GETLP EQU ZZ2+1032 00660000 ZZ2PARSP EQU ZZ2+1036 00661000 ZZ2PTGTP EQU ZZ2+1040 00662000 ZZ2PUTLP EQU ZZ2+1044 00663000 ZZ2SCANP EQU ZZ2+1048 00664000 ZZ2STCKP EQU ZZ2+1052 00665000 ZZ2ALOCP EQU ZZ2+1056 00666000 ZZ2MSGSP EQU ZZ2+1060 00667000 ZZ2TRMOP EQU ZZ2+1064 00668000 ZZ2TRMVP EQU ZZ2+1068 00669000 ZZ2MSG0P EQU ZZ2+1076 00670000 ZZ2PUTNP EQU ZZ2+1084 00671000 ZZ2TRMNP EQU ZZ2+1088 00672000 ZZ2ENQ0P EQU ZZ2+1092 00673000 ZZ2ADSDP EQU ZZ2+1096 00674000 ZZ2APDRP EQU ZZ2+1100 00675000 ZZ2FDSDP EQU ZZ2+1104 00676000 ZZ2FPDRP EQU ZZ2+1108 00677000 ZZ2ZZ1P EQU ZZ2+1264 00678000 ZZ2DVTP EQU ZZ2+1276 00679000 ZZ2BVTP EQU ZZ2+1280 00680000 ZZ2CPPL EQU ZZ2+1292 00681000 ZZ2CPPLC EQU ZZ2CPPL 00682000 ZZ2ITR EQU ZZ2+2840 00683000 ZZ2ITRE EQU ZZ2ITR+16 00684000 ZZ2ITSE EQU ZZ2+2864 00685000 ZZ2ES EQU ZZ2+2872 00686000 ZZ2AMDX EQU ZZ2+7160 00687000 ZZ2AXO EQU ZZ2+7934 00688000 ZZ2AXOT EQU ZZ2AXO+2 00689000 CMD EQU 0 00690000 CMDT EQU CMD+4 00691000 PSCB EQU 0 00692000 PSCBATR1 EQU PSCB+16 00693000 ECT EQU 0 00694000 ECTSWS EQU ECT+28 00695000 ECTSWS2 EQU ECT+40 00696000 ECTSWS21 EQU ECTSWS2 00697000 UPT EQU 0 00698000 UPTSWS EQU UPT+12 00699000 SA EQU 0 00700000 SA1 EQU SA 00701000 SAR EQU SA+12 00702000 BVT EQU 0 00703000 BVTPUTLP EQU BVT+4 00704000 BVTPUTOP EQU BVT+12 00705000 BVTPUTTP EQU BVT+16 00706000 BVTPUTVP EQU BVT+20 00707000 BVTPUTAP EQU BVT+24 00708000 BVTPRTTP EQU BVT+28 00709000 BVTPRTAP EQU BVT+32 00710000 BVTPUTDP EQU BVT+36 00711000 BVTMONP EQU BVT+40 00712000 BVTMON2P EQU BVT+44 00713000 BVTVSARP EQU BVT+48 00714000 BVTVSENP EQU BVT+64 00715000 BVTVSERP EQU BVT+68 00716000 BVTVSGEP EQU BVT+72 00717000 BVTVSGUP EQU BVT+76 00718000 BVTVSPOP EQU BVT+80 00719000 BVTVSPUP EQU BVT+84 00720000 BVTMPKNP EQU BVT+104 00721000 BVTMONLP EQU BVT+108 00722000 BVTPUTCP EQU BVT+132 00723000 BVTMPK1P EQU BVT+136 00724000 BVTZZ2RP EQU BVT+140 00725000 BVTPGMRP EQU BVT+144 00726000 BVTMONAP EQU BVT+148 00727000 BVTBLDDP EQU BVT+152 00728000 BVTBLDLP EQU BVT+156 00729000 BVTPGMCP EQU BVT+160 00730000 BVTPGMDP EQU BVT+164 00731000 BVTPGMLP EQU BVT+168 00732000 BVTMONCP EQU BVT+180 00733000 BVTMONDP EQU BVT+184 00734000 BVTMONTP EQU BVT+188 00735000 BVTPARIP EQU BVT+192 00736000 BVTPARUP EQU BVT+196 00737000 BVTPRTNP EQU BVT+204 00738000 BVTVSCRP EQU BVT+208 00739000 BVTVSMRP EQU BVT+212 00740000 BVTMONXP EQU BVT+216 00741000 BVTTRMAP EQU BVT+228 00742000 DVT EQU 0 00743000 DVTDEQPP EQU DVT+8 00744000 DVTENQPP EQU DVT+12 00745000 DVTAUTHP EQU DVT+20 00746000 DVTLPCLP EQU DVT+24 00747000 DVTBP00P EQU DVT+28 00748000 DVTCN00P EQU DVT+32 00749000 DVTDF00P EQU DVT+36 00750000 DVTDS00P EQU DVT+44 00751000 DVTFL00P EQU DVT+48 00752000 DVTFP00P EQU DVT+52 00753000 DVTGD00P EQU DVT+56 00754000 DVTGG00P EQU DVT+60 00755000 DVTGP00P EQU DVT+64 00756000 DVTND00P EQU DVT+68 00757000 DVTND01P EQU DVT+72 00758000 DVTOD00P EQU DVT+76 00759000 DVTPS00P EQU DVT+80 00760000 DVTSD00P EQU DVT+84 00761000 DVTSL00P EQU DVT+88 00762000 DVTTL00P EQU DVT+92 00763000 DVTUD00P EQU DVT+96 00764000 DVTUP00P EQU DVT+100 00765000 DVTLP00P EQU DVT+104 00766000 DVTLALLP EQU DVT+108 00767000 DVTLPFMP EQU DVT+112 00768000 DVTCLOSP EQU DVT+116 00769000 DVTOPENP EQU DVT+120 00770000 DVTPERAP EQU DVT+124 00771000 DVTDALLP EQU DVT+128 00772000 BLSCALOC EQU 0 00773000 BLSDADSD EQU 0 00774000 BLSDAPDR EQU 0 00775000 BLSDDEQP EQU 0 00776000 BLSDENQP EQU 0 00777000 BLSDENQ0 EQU 0 00778000 BLSDFDSD EQU 0 00779000 BLSDFPDR EQU 0 00780000 BLSDMSGS EQU 0 00781000 BLSDMSG0 EQU 0 00782000 BLSEAUTH EQU 0 00783000 BLSELPCL EQU 0 00784000 BLSELPFM EQU 0 00785000 BLSFBP00 EQU 0 00786000 BLSFCLOS EQU 0 00787000 BLSFCN00 EQU 0 00788000 BLSFDALL EQU 0 00789000 BLSFDF00 EQU 0 00790000 BLSFDS00 EQU 0 00791000 BLSFFL00 EQU 0 00792000 BLSFFP00 EQU 0 00793000 BLSFGD00 EQU 0 00794000 BLSFGG00 EQU 0 00795000 BLSFGP00 EQU 0 00796000 BLSFLALL EQU 0 00797000 BLSFLP00 EQU 0 00798000 BLSFND00 EQU 0 00799000 BLSFND01 EQU 0 00800000 BLSFOD00 EQU 0 00801000 BLSFOPEN EQU 0 00802000 BLSFPERA EQU 0 00803000 BLSFPS00 EQU 0 00804000 BLSFSD00 EQU 0 00805000 BLSFSL00 EQU 0 00806000 BLSFTL00 EQU 0 00807000 BLSFUD00 EQU 0 00808000 BLSFUP00 EQU 0 00809000 BLSUALLO EQU 0 00810000 BLSUBLDD EQU 0 00811000 BLSUBLDL EQU 0 00812000 BLSUDYNA EQU 0 00813000 BLSUFREE EQU 0 00814000 BLSUFRE1 EQU 0 00815000 BLSUMON EQU 0 00816000 BLSUMONA EQU 0 00817000 BLSUMONC EQU 0 00818000 BLSUMOND EQU 0 00819000 BLSUMONL EQU 0 00820000 BLSUMONT EQU 0 00821000 BLSUMONX EQU 0 00822000 BLSUMON2 EQU 0 00823000 BLSUMPKN EQU 0 00824000 BLSUMPK1 EQU 0 00825000 BLSUPARI EQU 0 00826000 BLSUPARU EQU 0 00827000 BLSUPGMC EQU 0 00828000 BLSUPGMD EQU 0 00829000 BLSUPGML EQU 0 00830000 BLSUPGMR EQU 0 00831000 BLSUPRTA EQU 0 00832000 BLSUPRTN EQU 0 00833000 BLSUPRTT EQU 0 00834000 BLSUPUTA EQU 0 00835000 BLSUPUTC EQU 0 00836000 BLSUPUTD EQU 0 00837000 BLSUPUTL EQU 0 00838000 BLSUPUTN EQU 0 00839000 BLSUPUTO EQU 0 00840000 BLSUPUTT EQU 0 00841000 BLSUPUTV EQU 0 00842000 BLSUSTAI EQU 0 00843000 BLSUTRMA EQU 0 00844000 BLSUTRMN EQU 0 00845000 BLSUTRMO EQU 0 00846000 BLSUTRMV EQU 0 00847000 BLSUVSAR EQU 0 00848000 BLSUVSCR EQU 0 00849000 BLSUVSEN EQU 0 00850000 BLSUVSER EQU 0 00851000 BLSUVSGE EQU 0 00852000 BLSUVSGU EQU 0 00853000 BLSUVSMR EQU 0 00854000 BLSUVSPO EQU 0 00855000 BLSUVSPU EQU 0 00856000 BLSUZZ2C EQU 0 00857000 BLSUZZ2D EQU 0 00858000 BLSUZZ2R EQU 0 00859000 IKJEFF02 EQU 0 00860000 IKJEFF18 EQU 0 00861000 IKJEFF19 EQU 0 00862000 IKJGETL EQU 0 00863000 IKJPARS EQU 0 00864000 IKJPTGT EQU 0 00865000 IKJPUTL EQU 0 00866000 IKJSCAN EQU 0 00867000 IKJSTCK EQU 0 00868000 I001C EQU 0 00869000 I008P EQU 0 00870000 I015F EQU 0 00871000 I015P EQU 0 00872000 I031F EQU 0 00873000 I031P EQU 0 00874000 I256C EQU 0 00875000 A EQU 0 00876000 B EQU 0 00877000 C EQU 0 00878000 CPPL EQU ZZ2CPPL 00879000 CPPLUPT EQU CPPL+4 00880000 CPPLPSCB EQU CPPL+8 00881000 CPPLECT EQU CPPL+12 00882000 * START UNREFERENCED COMPONENTS 00883000 CPPLCBUF EQU CPPL 00884000 DVT99999 EQU DVT+256 00885000 DVT0064P EQU DVT+252 00886000 DVT0063P EQU DVT+248 00887000 DVT0062P EQU DVT+244 00888000 DVT0061P EQU DVT+240 00889000 DVT0060P EQU DVT+236 00890000 DVT0059P EQU DVT+232 00891000 DVT0058P EQU DVT+228 00892000 DVT0057P EQU DVT+224 00893000 DVT0056P EQU DVT+220 00894000 DVT0055P EQU DVT+216 00895000 DVT0054P EQU DVT+212 00896000 DVT0053P EQU DVT+208 00897000 DVT0052P EQU DVT+204 00898000 DVT0051P EQU DVT+200 00899000 DVT0050P EQU DVT+196 00900000 DVT0049P EQU DVT+192 00901000 DVT0048P EQU DVT+188 00902000 DVT0047P EQU DVT+184 00903000 DVT0046P EQU DVT+180 00904000 DVT0045P EQU DVT+176 00905000 DVT0044P EQU DVT+172 00906000 DVT0043P EQU DVT+168 00907000 DVT0042P EQU DVT+164 00908000 DVT0041P EQU DVT+160 00909000 DVT0040P EQU DVT+156 00910000 DVT0039P EQU DVT+152 00911000 DVT0038P EQU DVT+148 00912000 DVT0037P EQU DVT+144 00913000 DVT0036P EQU DVT+140 00914000 DVT0035P EQU DVT+136 00915000 DVT0034P EQU DVT+132 00916000 DVT0011P EQU DVT+40 00917000 DVT0005P EQU DVT+16 00918000 DVT0002P EQU DVT+4 00919000 DVT0001P EQU DVT 00920000 BVT99999 EQU BVT+256 00921000 BVT0064P EQU BVT+252 00922000 BVT0063P EQU BVT+248 00923000 BVT0062P EQU BVT+244 00924000 BVT0061P EQU BVT+240 00925000 BVT0060P EQU BVT+236 00926000 BVT0059P EQU BVT+232 00927000 BVT0057P EQU BVT+224 00928000 BVT0056P EQU BVT+220 00929000 BVTSTBLP EQU BVT+200 00930000 BVT0045P EQU BVT+176 00931000 BVT0044P EQU BVT+172 00932000 BVT0033P EQU BVT+128 00933000 BVT0032P EQU BVT+124 00934000 BVT0031P EQU BVT+120 00935000 BVT0030P EQU BVT+116 00936000 BVT0029P EQU BVT+112 00937000 BVT0026P EQU BVT+100 00938000 BVT0025P EQU BVT+96 00939000 BVT0024P EQU BVT+92 00940000 BVT0023P EQU BVT+88 00941000 BVT0016P EQU BVT+60 00942000 BVT0015P EQU BVT+56 00943000 BVT0014P EQU BVT+52 00944000 BVT0003P EQU BVT+8 00945000 BVT0001P EQU BVT 00946000 SA99 EQU SA+72 00947000 SARC EQU SAR+56 00948000 SARB EQU SAR+52 00949000 SARA EQU SAR+48 00950000 SAR9 EQU SAR+44 00951000 SAR8 EQU SAR+40 00952000 SAR7 EQU SAR+36 00953000 SAR6 EQU SAR+32 00954000 SAR5 EQU SAR+28 00955000 SAR4 EQU SAR+24 00956000 SAR3 EQU SAR+20 00957000 SAR2 EQU SAR+16 00958000 SAR1 EQU SAR+12 00959000 SAR0 EQU SAR+8 00960000 SARF EQU SAR+4 00961000 SARE EQU SAR 00962000 SAFWD EQU SA+8 00963000 SABAK EQU SA+4 00964000 SA1L EQU SA1+1 00965000 SA1P EQU SA1 00966000 UPTPREFL EQU UPT+23 00967000 UPTPREFX EQU UPT+16 00968000 @NM00070 EQU UPT+15 00969000 UPTLDEL EQU UPT+14 00970000 UPTCDEL EQU UPT+13 00971000 UPTWTP EQU UPTSWS 00972000 UPTMODE EQU UPTSWS 00973000 UPTALD EQU UPTSWS 00974000 UPTPAUS EQU UPTSWS 00975000 UPTNCOM EQU UPTSWS 00976000 UPTMID EQU UPTSWS 00977000 UPTNPRM EQU UPTSWS 00978000 UPTRCVR EQU UPTSWS 00979000 UPTUSER EQU UPT+2 00980000 @NM00069 EQU UPT 00981000 @NM00068 EQU ECT+52 00982000 @NM00067 EQU ECT+48 00983000 @NM00066 EQU ECT+44 00984000 @NM00065 EQU ECTSWS2+1 00985000 @NM00064 EQU ECTSWS21 00986000 ECTTABND EQU ECTSWS21 00987000 ECTDEFCS EQU ECTSWS21 00988000 ECTBKPB EQU ECT+36 00989000 ECTUSER EQU ECT+32 00990000 ECTDDNUM EQU ECT+29 00991000 ECTATTN EQU ECTSWS 00992000 ECTBKGRD EQU ECTSWS 00993000 ECTNNOT EQU ECTSWS 00994000 ECTNMAL EQU ECTSWS 00995000 ECTLOGF EQU ECTSWS 00996000 ECTATRM EQU ECTSWS 00997000 @NM00063 EQU ECTSWS 00998000 ECTNOPD EQU ECTSWS 00999000 ECTSCMD EQU ECT+20 01000000 ECTPCMD EQU ECT+12 01001000 ECTSMSG EQU ECT+9 01002000 ECTMSGF EQU ECT+8 01003000 ECTIOWA EQU ECT+4 01004000 ECTRTCD EQU ECT+1 01005000 ECTRCDF EQU ECT 01006000 PSCBU EQU PSCB+64 01007000 PSCBRSZ EQU PSCB+60 01008000 PSCBLINE EQU PSCB+59 01009000 PSCBCHAR EQU PSCB+58 01010000 PSCBUPTL EQU PSCB+56 01011000 PSCBUPT EQU PSCB+52 01012000 PSCBRLGB EQU PSCB+48 01013000 PSCBDEST EQU PSCB+40 01014000 @NM00062 EQU PSCB+36 01015000 @NM00061 EQU PSCB+32 01016000 @NM00060 EQU PSCB+28 01017000 PSCBLTI2 EQU PSCB+24 01018000 PSCBLTIM EQU PSCB+20 01019000 PSCBATR2 EQU PSCB+18 01020000 @NM00059 EQU PSCBATR1 01021000 @NM00058 EQU PSCBATR1 01022000 @NM00057 EQU PSCBATR1 01023000 PSCBATTN EQU PSCBATR1 01024000 PSCBVMNT EQU PSCBATR1 01025000 PSCBJCL EQU PSCBATR1 01026000 PSCBACCT EQU PSCBATR1 01027000 PSCBCTRL EQU PSCBATR1 01028000 PSCBGPNM EQU PSCB+8 01029000 PSCBUSRL EQU PSCB+7 01030000 PSCBUSER EQU PSCB 01031000 CMDT1 EQU CMDT 01032000 CMDO EQU CMD+2 01033000 CMDL EQU CMD 01034000 ZZ299999 EQU ZZ2+8192 01035000 ZZ2AXOT1 EQU ZZ2AXOT 01036000 ZZ2AXOL EQU ZZ2AXO 01037000 @NM00056 EQU ZZ2+7288 01038000 @NM00055 EQU ZZ2AMDX+4 01039000 ZZ2AMDXC EQU ZZ2AMDX 01040000 ZZ2HSD EQU ZZ2+3056 01041000 @NM00054 EQU ZZ2ES 01042000 @NM00053 EQU ZZ2+2868 01043000 ZZ2ITSEC EQU ZZ2ITSE+1 01044000 @NM00052 EQU ZZ2ITSE 01045000 ZZ2ITSEP EQU ZZ2ITSE 01046000 ZZ2ITSEW EQU ZZ2ITSE 01047000 @NM00051 EQU ZZ2ITR+20 01048000 ZZ2ITREC EQU ZZ2ITRE+1 01049000 @NM00050 EQU ZZ2ITRE 01050000 ZZ2ITREP EQU ZZ2ITRE 01051000 ZZ2ITREW EQU ZZ2ITRE 01052000 @NM00049 EQU ZZ2ITR+9 01053000 ZZ2ITRRC EQU ZZ2ITR+8 01054000 ZZ2ITR2P EQU ZZ2ITR+4 01055000 ZZ2ITRPP EQU ZZ2ITR 01056000 @NM00048 EQU ZZ2+1544 01057000 ZZ2PGM EQU ZZ2+1536 01058000 @NM00047 EQU ZZ2+1526 01059000 ZZ2CW EQU ZZ2+1524 01060000 @NM00046 EQU ZZ2+1504 01061000 @NM00045 EQU ZZ2+1352 01062000 ZZ2FFSYP EQU ZZ2+1348 01063000 ZZ2SASYP EQU ZZ2+1344 01064000 ZZ2RDSYP EQU ZZ2+1340 01065000 ZZ2RASYP EQU ZZ2+1336 01066000 ZZ2PHSYP EQU ZZ2+1332 01067000 ZZ2ESSYP EQU ZZ2+1328 01068000 ZZ200SYP EQU ZZ2+1324 01069000 ZZ2SCWP EQU ZZ2+1320 01070000 ZZ2TTLP EQU ZZ2+1316 01071000 ZZ2LOADP EQU ZZ2+1312 01072000 ZZ2VRESP EQU ZZ2+1308 01073000 ZZ2CPPLE EQU ZZ2CPPL+12 01074000 ZZ2CPPLP EQU ZZ2CPPL+8 01075000 ZZ2CPPLU EQU ZZ2CPPL+4 01076000 ZZ2VRSAP EQU ZZ2+1288 01077000 ZZ2RVTP EQU ZZ2+1284 01078000 @NM00044 EQU ZZ2+1272 01079000 @NM00043 EQU ZZ2+1268 01080000 ZZ2RPLP EQU ZZ2+1260 01081000 ZZ2TCBP EQU ZZ2+1256 01082000 @NM00042 EQU ZZ2+1252 01083000 ZZ2ZZ2P EQU ZZ2+1248 01084000 @NM00041 EQU ZZ2+1112 01085000 @NM00040 EQU ZZ2+1080 01086000 ZZ2FT25P EQU ZZ2+1072 01087000 @NM00039 EQU ZZ2+976 01088000 ZZ2TOD EQU ZZ2+968 01089000 ZZ2STGN EQU ZZ2STG+4 01090000 ZZ2STGP EQU ZZ2STG 01091000 @NM00038 EQU ZZ2+952 01092000 ZZ2SCMDE EQU ZZ2+944 01093000 ZZ2SCMDN EQU ZZ2+936 01094000 ZZ2IDENT EQU ZZ2+928 01095000 ZZ2A9999 EQU ZZ2A+656 01096000 @NM00037 EQU ZZ2A+224 01097000 @NM00036 EQU ZZ2A+220 01098000 ZZ2AQD99 EQU ZZ2AQD+60 01099000 @NM00035 EQU ZZ2AQD+56 01100000 @NM00034 EQU ZZ2AQDF 01101000 ZZ2AQDFA EQU ZZ2AQDF 01102000 ZZ2AQDIL EQU ZZ2AQD+48 01103000 ZZ2AQDIM EQU ZZ2AQD+44 01104000 ZZ2AQDT9 EQU ZZ2AQDT+34 01105000 ZZ2AQDTE EQU ZZ2AQDT+33 01106000 ZZ2AQDTD EQU ZZ2AQDT+2 01107000 @NM00033 EQU ZZ2AQDT+1 01108000 ZZ2AQDTY EQU ZZ2AQDT 01109000 ZZ2AQDT0 EQU ZZ2AQDT 01110000 ZZ2AQDLB EQU ZZ2AQD+9 01111000 ZZ2AQDOB EQU ZZ2AQD+8 01112000 ZZ2AQDLE EQU ZZ2AQD+4 01113000 ZZ2AQDOF EQU ZZ2AQD 01114000 ZZ2AQD00 EQU ZZ2AQD 01115000 ZZ2AQAS9 EQU ZZ2AQAS+16 01116000 @NM00032 EQU ZZ2AQAS+12 01117000 ZZ2AQAS2 EQU ZZ2AQAS+8 01118000 ZZ2AQAS1 EQU ZZ2AQAS+4 01119000 @NM00031 EQU ZZ2AQAS+2 01120000 ZZ2AQAST EQU ZZ2AQAS 01121000 ZZ2AQAS0 EQU ZZ2AQAS 01122000 ZZ2AZZ6P EQU ZZ2A+140 01123000 ZZ2ADPTA EQU ZZ2ADPT 01124000 ZZ2ADPL EQU ZZ2ADP 01125000 ZZ2ADMTA EQU ZZ2ADMT 01126000 ZZ2ADML EQU ZZ2ADM 01127000 ZZ2ADDTA EQU ZZ2ADDT 01128000 ZZ2ADDL EQU ZZ2ADD 01129000 @NM00030 EQU ZZ2A+72 01130000 ZZ2APIDB EQU ZZ2APID+3 01131000 ZZ2APIDA EQU ZZ2APID 01132000 @NM00029 EQU ZZ2A+24 01133000 @NM00028 EQU ZZ2AF+5 01134000 ZZ2AFX EQU ZZ2AF+5 01135000 @NM00027 EQU ZZ2AF+3 01136000 ZZ2AFS EQU ZZ2AF+2 01137000 ZZ2AFD EQU ZZ2AF+2 01138000 ZZ2AFQ EQU ZZ2AF+2 01139000 ZZ2AF$ EQU ZZ2AF+2 01140000 @NM00026 EQU ZZ2AF+2 01141000 ZZ2AFM EQU ZZ2AF+2 01142000 @NM00025 EQU ZZ2AF+2 01143000 @NM00024 EQU ZZ2AF+1 01144000 ZZ2AFV EQU ZZ2AF+1 01145000 @NM00023 EQU ZZ2AF+1 01146000 ZZ2AFC EQU ZZ2AF+1 01147000 @NM00022 EQU ZZ2AF 01148000 ZZ2AFFS EQU ZZ2AF 01149000 ZZ2AFT EQU ZZ2AF 01150000 ZZ2AFP EQU ZZ2AF 01151000 @NM00021 EQU ZZ2A+8 01152000 ZZ2ALINE EQU ZZ2A+4 01153000 @NM00020 EQU ZZ2A+3 01154000 ZZ2ASE EQU ZZ2A+2 01155000 ZZ2ACH EQU ZZ2A 01156000 @NM00019 EQU ZZ2+264 01157000 @NM00018 EQU ZZ2+263 01158000 ZZ2PRTT0 EQU ZZ2PRTT 01159000 ZZ2PRTO EQU ZZ2PRT+2 01160000 ZZ2PRTL EQU ZZ2PRT 01161000 @NM00017 EQU ZZ2AMD+56 01162000 ZZ2AMDXP EQU ZZ2AMD+52 01163000 ZZ2AMDD EQU ZZ2AMD+48 01164000 ZZ2AMDL EQU ZZ2AMD+44 01165000 ZZ2AMDU EQU ZZ2AMD+28 01166000 ZZ2AMDF EQU ZZ2AMD+24 01167000 ZZ2AMDS EQU ZZ2AMD+20 01168000 ZZ2AMDC EQU ZZ2AMD+16 01169000 ZZ2AMDP EQU ZZ2AMD+12 01170000 ZZ2AMDB EQU ZZ2AMD+8 01171000 @NM00016 EQU @NM00015 01172000 ZZ2AMD2 EQU @NM00015 01173000 ZZ2AMD1 EQU @NM00015 01174000 ZZ2AMD0 EQU ZZ2AMD+6 01175000 ZZ2AMDA EQU ZZ2AMD+4 01176000 ZZ2AMDT EQU ZZ2AMD 01177000 ZZ199999 EQU ZZ1+3072 01178000 @NM00014 EQU ZZ1+2160 01179000 ZZ1TRTAS EQU ZZ1+1904 01180000 ZZ1TRUPC EQU ZZ1+1648 01181000 ZZ1TRCTX EQU ZZ1+1392 01182000 ZZ1NASID EQU ZZ1N+274 01183000 ZZ1NSTRL EQU ZZ1N+272 01184000 ZZ1NOFF EQU ZZ1N+268 01185000 ZZ1NBDY EQU ZZ1N+264 01186000 ZZ1NADE EQU ZZ1N+260 01187000 ZZ1NADB EQU ZZ1N+256 01188000 ZZ1NSTR EQU ZZ1N 01189000 @NM00013 EQU ZZ1+1080 01190000 ZZ1TREBC EQU ZZ1+824 01191000 ZZ1TRHEX EQU ZZ1+568 01192000 @NM00012 EQU ZZ1+377 01193000 ZZ1USTAE EQU ZZ1+376 01194000 @NM00011 EQU ZZ1F+1 01195000 @NM00010 EQU ZZ1F 01196000 ZZ1FM EQU ZZ1F 01197000 ZZ1FX EQU ZZ1F 01198000 ZZ1FU EQU ZZ1F 01199000 ZZ1EVEC EQU ZZ1EVE+1 01200000 @NM00009 EQU ZZ1EVE 01201000 ZZ1EVEP EQU ZZ1EVE 01202000 ZZ1EVEW EQU ZZ1EVE 01203000 ZZ1ACMP EQU ZZ1ATTN 01204000 @NM00008 EQU ZZ1+144 01205000 ZZ1FPP EQU ZZ1+140 01206000 ZZ1ZZ6P EQU ZZ1+136 01207000 @NM00007 EQU ZZ1+84 01208000 ZZ1PLINE EQU ZZ1+80 01209000 ZZ1PGSZ EQU ZZ1+76 01210000 ZZ1PCNT EQU ZZ1+72 01211000 @NM00006 EQU ZZ1+68 01212000 ZZ1TPAGE EQU ZZ1+64 01213000 ZZ1TLINE EQU ZZ1+60 01214000 @NM00005 EQU ZZ1+52 01215000 ZZ1DMCBP EQU ZZ1+48 01216000 ZZ1DSDP EQU ZZ1+44 01217000 ZZ1PDRP EQU ZZ1+40 01218000 ZZ1ZZ2P EQU ZZ1+36 01219000 ZZ1327WP EQU ZZ1+32 01220000 ZZ1ACBP EQU ZZ1+28 01221000 @NM00004 EQU ZZ1+24 01222000 ZZ1PDCBP EQU ZZ1+20 01223000 ZZ1BLRBL EQU ZZ1+16 01224000 @NM00003 EQU ZZ1+12 01225000 ZZ1PNULL EQU ZZ1+8 01226000 ZZ1NULL EQU ZZ1+4 01227000 ZZ1IDE EQU ZZ1 01228000 @NM00002 EQU DTE+8 01229000 @NM00001 EQU DTE+7 01230000 DTEIF8 EQU DTEIF 01231000 DTEIF7 EQU DTEIF 01232000 DTEIF6 EQU DTEIF 01233000 DTEIF5 EQU DTEIF 01234000 DTEIF4 EQU DTEIF 01235000 DTEIF3 EQU DTEIF 01236000 DTEIF2 EQU DTEIF 01237000 * END UNREFERENCED COMPONENTS 01238000 @RC00143 EQU @RC00137 01239000 @RC00138 EQU @RC00137 01240000 @RC00190 EQU @RC00161 01241000 @RC00186 EQU @RC00161 01242000 @RC00182 EQU @RC00161 01243000 @RC00191 EQU @RC00190 01244000 @ENDDATA EQU * 01245000 END BLSDDT00,(C'PLS2037',0701,78062) 01246000