TITLE 'BLSFUP00-WRITE A RECORD TO THE PDR DATA BASE *00001000 ' 00002000 * /* CHANGE ACTIVITY */ 00003000 * THIS MODULE IS WRITTEN FOR @G57LPRM 00004000 BLSFUP00 CSECT , 01S0002 00005000 @MAINENT DS 0H 01S0002 00006000 USING *,@15 01S0002 00007000 B @PROLOG 01S0002 00008000 DC AL1(16) 01S0002 00009000 DC C'BLSFUP00 78.065' 01S0002 00010000 DROP @15 00011000 @PROLOG STM @14,@12,12(@13) 01S0002 00012000 BALR @12,0 01S0002 00013000 @PSTART DS 0H 01S0002 00014000 USING @PSTART,@12 01S0002 00015000 L @00,@SIZDATD 01S0002 00016000 BLSUALLS R,LV=(0) 00017000 LR @11,@01 01S0002 00018000 USING @DATD,@11 01S0002 00019000 ST @13,@SA00001+4 01S0002 00020000 LM @00,@01,20(@13) 01S0002 00021000 ST @11,8(,@13) 01S0002 00022000 LR @13,@11 01S0002 00023000 MVC @PC00001(12),0(@01) 01S0002 00024000 * 01S0130 00025000 */* *********************************************************** */ 00026000 */* */ 00027000 */* START OF DEFAULT PROCESSING */ 00028000 */* */ 00029000 */* *********************************************************** */ 00030000 * 01S0130 00031000 * ZZ2PTR=ADDR(ZZ2CB); /* GET TASK VARIABLE ADDR */ 00032000 L ZZ2PTR,@PC00001 01S0130 00033000 * RETC=ZERO; /* INITIALIZE THE RETC */ 00034000 SLR RETC,RETC 01S0131 00035000 * FLAG1=FLAG1&&FLAG1; /* INITIALIZE THE FLAG INDICATORS*/ 00036000 XC FLAG1(1),FLAG1 01S0132 00037000 * ERRORRC=ERRORRC&&ERRORRC; /* INITIALIZE ERROR INDICATORS */ 00038000 XC ERRORRC(24),ERRORRC 01S0133 00039000 */* *********************************************************** */ 00040000 */* */ 00041000 */* START OF MODULE PROCESSING */ 00042000 */* */ 00043000 */* *********************************************************** */ 00044000 * 01S0134 00045000 * DMCBPTR=ZZ1PDRP; /* COPY THE PDR DMCB */ 00046000 * 01S0134 00047000 L @10,ZZ2ZZ1P(,ZZ2PTR) 01S0134 00048000 L DMCBPTR,ZZ1PDRP(,@10) 01S0134 00049000 * /*****************************************************************/ 00050000 * /* */ 00051000 * /* OPEN THE PDR DATA BASE */ 00052000 * /* */ 00053000 * /*****************************************************************/ 00054000 * 01S0135 00055000 * CALL OPENREC; /* OPEN PDR DATA BASE */ 00056000 BAL @14,OPENREC 01S0135 00057000 * IF RETCODE=ZERO THEN /* OPEN OK? */ 00058000 LTR RETCODE,RETCODE 01S0136 00059000 BNZ @RF00136 01S0136 00060000 * DO; /* YES, CONTINUE WITH READ */ 00061000 * 01S0137 00062000 * /*************************************************************/ 00063000 * /* */ 00064000 * /* READ THE RECORD FOR UPDATE */ 00065000 * /* */ 00066000 * /*************************************************************/ 00067000 * 01S0138 00068000 * CALL READREC; /* READ A RECORD */ 00069000 BAL @14,READREC 01S0138 00070000 * IF RETCODE=ZERO THEN /* READ OK ? */ 00071000 LTR RETCODE,RETCODE 01S0139 00072000 BNZ @RF00139 01S0139 00073000 * DO; /* YES, WRITE IT */ 00074000 * 01S0140 00075000 * /*********************************************************/ 00076000 * /* */ 00077000 * /* WRITE THE RECORD */ 00078000 * /* */ 00079000 * /*********************************************************/ 00080000 * 01S0141 00081000 * CALL WRITEREC; /* WRITE THE RECORD */ 00082000 BAL @14,WRITEREC 01S0141 00083000 * IF RETCODE=ZERO THEN /* IS WRITE SUCCESSFUL? */ 00084000 LTR RETCODE,RETCODE 01S0142 00085000 BNZ @RF00142 01S0142 00086000 * DO; /* YES, CLOSE THE DATA SET */ 00087000 * 01S0143 00088000 * /*****************************************************/ 00089000 * /* */ 00090000 * /* CLOSE THE PDR DATA BASE */ 00091000 * /* */ 00092000 * /*****************************************************/ 00093000 * 01S0144 00094000 * CALL CLOSEREC; /* CLOSE IT */ 00095000 BAL @14,CLOSEREC 01S0144 00096000 * IF RETCODE=ZERO THEN/* IS CLOSE SUCCESSFUL? */ 00097000 LTR RETCODE,RETCODE 01S0145 00098000 BNZ @RF00145 01S0145 00099000 * RETC=ZERO; /* YES, GOOD WRITE */ 00100000 SLR RETC,RETC 01S0146 00101000 * ELSE /* NO, TERMINATE THE SUBCOMMAND */ 00102000 * RETC=TWELVE; 01S0147 00103000 B @RC00145 01S0147 00104000 @RF00145 LA RETC,12 01S0147 00105000 * END; /* END OF CLOSE DATA */ 00106000 * ELSE /* NO */ 00107000 * DO; /* ERROR ON WRITE */ 00108000 B @RC00142 01S0149 00109000 @RF00142 DS 0H 01S0150 00110000 * IF OPENFLG='1'B THEN/* HAS DATA SET BEEN OPEN? */ 00111000 TM OPENFLG,B'10000000' 01S0150 00112000 BNO @RF00150 01S0150 00113000 * DO; /* CLOSE MUST BE DONE */ 00114000 * 01S0151 00115000 * /*************************************************/ 00116000 * /* */ 00117000 * /* CLOSE OF DATA SET REQUIRED */ 00118000 * /* */ 00119000 * /*************************************************/ 00120000 * 01S0152 00121000 * CALL CLOSEREC; /* ATTEMPT TO CLOSE THE DATA SET */ 00122000 BAL @14,CLOSEREC 01S0152 00123000 * END; /* END OF CLOSE MUST BE DONE 00124000 * WRITE */ 00125000 * RETC=TWELVE; /* REQ TERMINATION */ 00126000 @RF00150 LA RETC,12 01S0154 00127000 * END; /* END OF ERROR ON WRITE */ 00128000 * END; /* END OF WRITE IT */ 00129000 * ELSE /* NO, ERROR ON READ */ 00130000 * DO; /* ERROR ON READ */ 00131000 B @RC00139 01S0157 00132000 @RF00139 DS 0H 01S0158 00133000 * IF OPENFLG='1'B THEN /* HAS DATA SET BEEN OPEN? */ 00134000 TM OPENFLG,B'10000000' 01S0158 00135000 BNO @RF00158 01S0158 00136000 * DO; /* CLOSE MUST BE DONE */ 00137000 * 01S0159 00138000 * /*****************************************************/ 00139000 * /* */ 00140000 * /* CLOSE OF DATA SET REQUIRED */ 00141000 * /* */ 00142000 * /*****************************************************/ 00143000 * 01S0160 00144000 * CALL CLOSEREC; /* ATTEMPT TO CLOSE THE DATA SET */ 00145000 BAL @14,CLOSEREC 01S0160 00146000 * END; /* END OF CLOSE MUST BE DONE READ*/ 00147000 * RETC=TWELVE; /* REQUEST TERMINATION */ 00148000 @RF00158 LA RETC,12 01S0162 00149000 * END; /* END OF ERROR ON READ */ 00150000 * END; /* END OF CONTINUE WITH READ */ 00151000 * ELSE /* NO, OPEN ERROR PROCESS */ 00152000 * RETC=TWELVE; /* REQ TERMINATION OF SUBCOMMAND */ 00153000 B @RC00136 01S0165 00154000 @RF00136 LA RETC,12 01S0165 00155000 * RETURN CODE(RETC); /* RETURN TO CALLER */ 00156000 @RC00136 L @13,4(,@13) 01S0166 00157000 L @00,@SIZDATD 01S0166 00158000 LR @01,@11 01S0166 00159000 BLSUFRES R,LV=(0),A=(1) 00160000 LR @15,@02 01S0166 00161000 L @14,12(,@13) 01S0166 00162000 LM @00,@12,20(@13) 01S0166 00163000 BR @14 01S0166 00164000 EJECT 00165000 *OPENREC: 01S0167 00166000 * PROCEDURE; /* OPEN DATA SET FOR UPDATE */ 00167000 OPENREC STM @14,@06,@SA00002 01S0167 00168000 STM @08,@12,@SA00002+36 01S0167 00169000 * RETCODE=ZERO; /* INIT THE INTERNAL RETURN CODE */ 00170000 * 01S0168 00171000 SLR RETCODE,RETCODE 01S0168 00172000 * /*****************************************************************/ 00173000 * /* */ 00174000 * /* OPEN THE PDR DATA BASE */ 00175000 * /* */ 00176000 * /*****************************************************************/ 00177000 * 01S0169 00178000 * DO; /* BLSOPEN(DMCBPTR)OUTPUT */ 00179000 * RFY 01S0170 00180000 * GPR01P RSTD; 01S0170 00181000 * GPR01P=DMCBPTR; /* ADDRESS DMCB */ 00182000 LR GPR01P,DMCBPTR 01S0171 00183000 * RFY 01S0172 00184000 * DMCB BASED(GPR01P); 01S0172 00185000 * IF((GPR01P&'FFFFFFF8'X)=GPR01P)&DMCBID='DMCB'/* VALID DMCB ? */ 00186000 * THEN 01S0173 00187000 LR @10,GPR01P 01S0173 00188000 N @10,@CF01072 01S0173 00189000 CLR @10,GPR01P 01S0173 00190000 BNE @RF00173 01S0173 00191000 CLC DMCBID(4,GPR01P),@CC01073 01S0173 00192000 BNE @RF00173 01S0173 00193000 * DO; 01S0174 00194000 * DMCBRQST=DMCBOPR; /* INDICATE OPEN REQUEST */ 00195000 MVI DMCBRQST(GPR01P),X'01' 01S0175 00196000 * DMCBOUT='1'B; /* INDICATE OPEN FOR OUTPUR */ 00197000 OI DMCBOUT(GPR01P),B'10000000' 01S0176 00198000 * CALL DMCBRI->DMCBDMGR; /* CALL BLSCRQST */ 00199000 L @15,DMCBRI(,GPR01P) 01S0177 00200000 BALR @14,@15 01S0177 00201000 * END; 01S0178 00202000 * ELSE 01S0179 00203000 * DO; 01S0179 00204000 B @RC00173 01S0179 00205000 @RF00173 DS 0H 01S0180 00206000 * RFY 01S0180 00207000 * (GPR00F, 01S0180 00208000 * GPR15F) RSTD; 01S0180 00209000 * GPR00F=0; /* INDICATE NO MESSAGE CHAIN */ 00210000 SLR GPR00F,GPR00F 01S0181 00211000 * GPR15F=16; /* INDICATE INVALID DMCB */ 00212000 LA GPR15F,16 01S0182 00213000 * RFY 01S0183 00214000 * (GPR00F, 01S0183 00215000 * GPR15F); 01S0183 00216000 * END; 01S0184 00217000 * RFY 01S0185 00218000 * DMCB; 01S0185 00219000 @RC00173 DS 0H 01S0186 00220000 * RFY 01S0186 00221000 * GPR01P; 01S0186 00222000 * END; /* BLSOPEN(DMCBPTR)OUTPUT OPEN 00223000 * PDR DATA BASE */ 00224000 * RESPECIFY 01S0188 00225000 * RF RESTRICTED; /* SAVE REG 15 */ 00226000 * IF RF=ZERO THEN /* OPEN OK? */ 00227000 SLR @14,@14 01S0189 00228000 CR RF,@14 01S0189 00229000 BNE @RF00189 01S0189 00230000 * DO; /* YES, CONTINUE WITH READ */ 00231000 * 01S0190 00232000 * /*************************************************************/ 00233000 * /* */ 00234000 * /* OPEN IS SUCCESSFUL */ 00235000 * /* */ 00236000 * /*************************************************************/ 00237000 * 01S0191 00238000 * OPENFLG='1'B; /* OPEN SUCCESSFUL */ 00239000 OI OPENFLG,B'10000000' 01S0191 00240000 * IF DMCBMSG^=ZERO THEN /* IS MESSAGE QUEUED? */ 00241000 CL @14,DMCBMSG(,DMCBPTR) 01S0192 00242000 BE @RF00192 01S0192 00243000 * CALL MSGPURGE; /* PURGE MSG QUEUE */ 00244000 BAL @14,MSGPURGE 01S0193 00245000 * RETCODE=ZERO; /* INDICATE OK TO USER */ 00246000 @RF00192 SLR RETCODE,RETCODE 01S0194 00247000 * END; /* END OF CONTINUE WITH READ */ 00248000 * ELSE /* NO, OPEN ERROR PROCESS */ 00249000 * IF RF=TWELVE| /* IS IT DMCB UNRECOVERABLE? */ 00250000 * RF=SIXTEEN THEN /* IS DMCB INVALID? */ 00251000 B @RC00189 01S0196 00252000 @RF00189 C RF,@CF00035 01S0196 00253000 BE @RT00196 01S0196 00254000 C RF,@CF00057 01S0196 00255000 BNE @RF00196 01S0196 00256000 @RT00196 DS 0H 01S0197 00257000 * DO; /* YES, DMCB UNRECOVERABLE */ 00258000 * OPENERR=RF; /* SAVE RETURN CODE */ 00259000 ST RF,OPENERR 01S0198 00260000 * RESPECIFY 01S0199 00261000 * R0 RESTRICTED; /* SAVE REG 0 */ 00262000 * 01S0199 00263000 * /***********************************************************/ 00264000 * /* */ 00265000 * /* SEND MESSAGE - LOGIC ERROR IN BLSFUP00, DMCB FOR PDR */ 00266000 * /* INVALID */ 00267000 * /* */ 00268000 * /***********************************************************/ 00269000 * 01S0200 00270000 * MSGPTR=R0; /* SAVE MSG QUEUE PTR */ 00271000 ST R0,MSGPTR 01S0200 00272000 * DO; /* BLSDMSG 01S0201 00273000 * (ZZ2,04042,MSGPTR,BLSDMSGS) 00274000 * LIFO ROUTE(TERM) */ 00275000 * CALL BLSDMSG0(ZZ2,04042,MSGPTR,BLSDMSGS,'10010000'B,0);/* 00276000 * BUILD MESSAGE */ 00277000 ST ZZ2PTR,@AL00001 01S0202 00278000 LA @14,@CF01077 01S0202 00279000 ST @14,@AL00001+4 01S0202 00280000 LA @14,MSGPTR 01S0202 00281000 ST @14,@AL00001+8 01S0202 00282000 L @01,ZZ2MSGSP(,ZZ2PTR) 01S0202 00283000 ST @01,@AL00001+12 01S0202 00284000 LA @14,@CB01078 01S0202 00285000 ST @14,@AL00001+16 01S0202 00286000 LA @14,@CF00051 01S0202 00287000 ST @14,@AL00001+20 01S0202 00288000 L @15,ZZ2MSG0P(,ZZ2PTR) 01S0202 00289000 LA @01,@AL00001 01S0202 00290000 BALR @14,@15 01S0202 00291000 * END; /* BLSDMSG 01S0203 00292000 * (ZZ2,04042,MSGPTR,BLSDMSGS) 00293000 * LIFO ROUTE(TERM) */ 00294000 * 01S0203 00295000 * /***********************************************************/ 00296000 * /* */ 00297000 * /* ATTEMPT TO FREE PDR DATA BASE */ 00298000 * /* */ 00299000 * /***********************************************************/ 00300000 * 01S0204 00301000 * RESPECIFY 01S0204 00302000 * R0 UNRESTRICTED; /* GIVE REG 0 BACK */ 00303000 * DO; /* ABEND(121) DUMP USER */ 00304000 * RESPECIFY 01S0206 00305000 * (GPR01F) RESTRICTED; 01S0206 00306000 * GPR01F=(121)&'00000FFF'X;/* COMP CODE IN BITS 20-31 */ 00307000 LA GPR01F,121 01S0207 00308000 * GPR01F=GPR01F|'80000000'X;/* DUMP/STEP/DUMPOPTS FLAG */ 00309000 O GPR01F,@CF00066 01S0208 00310000 * SVC(13); /* ISSUE ABEND SVC */ 00311000 SVC 13 01S0209 00312000 * RESPECIFY 01S0210 00313000 * (GPR01F) UNRESTRICTED; 01S0210 00314000 * END; /* ABEND(121) DUMP USER ABEND FOR 00315000 * TEST */ 00316000 * END; /* END DMCB UNRECOVERABLE */ 00317000 * ELSE /* NO, DMCB IS RECOVERABLE */ 00318000 * DO; /* ERROR WHILE OPEN */ 00319000 B @RC00196 01S0213 00320000 @RF00196 DS 0H 01S0214 00321000 * OPENERR=RF; /* SAVE ERROR RETURN CODE */ 00322000 * 01S0214 00323000 ST RF,OPENERR 01S0214 00324000 * /***********************************************************/ 00325000 * /* */ 00326000 * /* SEND MESSAGE - ERROR DURING OPEN OF PDR DATA BASE- */ 00327000 * /* SUBCOMMAND TERMINATED */ 00328000 * /* */ 00329000 * /***********************************************************/ 00330000 * 01S0215 00331000 * IF RF=FOUR THEN /* USER REQUESTED TERMINATION */ 00332000 C RF,@CF00043 01S0215 00333000 BNE @RF00215 01S0215 00334000 * DO; /* BLSDMSG 01S0216 00335000 * (ZZ2,04082,DMCBMSG,BLSDMSGS) 00336000 * LIFO ROUTE(TERM) */ 00337000 * CALL BLSDMSG0(ZZ2,04082,DMCBMSG,BLSDMSGS,'10010000'B,0); 00338000 ST ZZ2PTR,@AL00001 01S0217 00339000 LA @14,@CF01082 01S0217 00340000 ST @14,@AL00001+4 01S0217 00341000 LA @14,DMCBMSG(,DMCBPTR) 01S0217 00342000 ST @14,@AL00001+8 01S0217 00343000 L @14,ZZ2MSGSP(,ZZ2PTR) 01S0217 00344000 ST @14,@AL00001+12 01S0217 00345000 LA @14,@CB01078 01S0217 00346000 ST @14,@AL00001+16 01S0217 00347000 LA @14,@CF00051 01S0217 00348000 ST @14,@AL00001+20 01S0217 00349000 L @15,ZZ2MSG0P(,ZZ2PTR) 01S0217 00350000 LA @01,@AL00001 01S0217 00351000 BALR @14,@15 01S0217 00352000 * /* BUILD MESSAGE */ 00353000 * END; /* BLSDMSG 01S0218 00354000 * (ZZ2,04082,DMCBMSG,BLSDMSGS) 00355000 * LIFO ROUTE(TERM) */ 00356000 * ELSE /* ISSUE MESSAGE FOR UNKNOWN 00357000 * RETURN CODE-TERM CMD */ 00358000 * DO; /* BLSDMSG 01S0219 00359000 * (ZZ2,04042,DMCBMSG,BLSDMSGS) 00360000 * LIFO ROUTE(TERM) */ 00361000 B @RC00215 01S0219 00362000 @RF00215 DS 0H 01S0220 00363000 * CALL BLSDMSG0(ZZ2,04042,DMCBMSG,BLSDMSGS,'10010000'B,0); 00364000 ST ZZ2PTR,@AL00001 01S0220 00365000 LA @14,@CF01077 01S0220 00366000 ST @14,@AL00001+4 01S0220 00367000 LA @14,DMCBMSG(,DMCBPTR) 01S0220 00368000 ST @14,@AL00001+8 01S0220 00369000 L @14,ZZ2MSGSP(,ZZ2PTR) 01S0220 00370000 ST @14,@AL00001+12 01S0220 00371000 LA @14,@CB01078 01S0220 00372000 ST @14,@AL00001+16 01S0220 00373000 LA @14,@CF00051 01S0220 00374000 ST @14,@AL00001+20 01S0220 00375000 L @15,ZZ2MSG0P(,ZZ2PTR) 01S0220 00376000 LA @01,@AL00001 01S0220 00377000 BALR @14,@15 01S0220 00378000 * /* BUILD MESSAGE */ 00379000 * END; /* BLSDMSG 01S0221 00380000 * (ZZ2,04042,DMCBMSG,BLSDMSGS) 00381000 * LIFO ROUTE(TERM) */ 00382000 * RETCODE=TWELVE; /* REQ TERMINATION OF SUBCOMMAND */ 00383000 @RC00215 LA RETCODE,12 01S0222 00384000 * END; /* END ERROR WHILE OPEN */ 00385000 * RESPECIFY 01S0224 00386000 * RF UNRESTRICTED; /* RETURN REG 15 */ 00387000 * RETURN; /* RETURN TO CALLER */ 00388000 @EL00002 DS 0H 01S0225 00389000 @EF00002 DS 0H 01S0225 00390000 @ER00002 LM @14,@06,@SA00002 01S0225 00391000 LM @08,@12,@SA00002+36 01S0225 00392000 BR @14 01S0225 00393000 * END OPENREC; /* END OF OPEN PROCEDURE */ 00394000 B @EL00002 01S0226 00395000 EJECT 00396000 *READREC: 01S0227 00397000 * PROCEDURE; /* READ A RECORD */ 00398000 * 01S0227 00399000 READREC STM @14,@06,@SA00003 01S0227 00400000 STM @08,@12,@SA00003+36 01S0227 00401000 * /*****************************************************************/ 00402000 * /* */ 00403000 * /* READ A RECORD FOR UPDATE FROM DATA BASE */ 00404000 * /* */ 00405000 * /*****************************************************************/ 00406000 * 01S0228 00407000 * RETCODE=ZERO; /* INITIALIZE THE RETURN CODE */ 00408000 SLR RETCODE,RETCODE 01S0228 00409000 * RESPECIFY 01S0229 00410000 * (R0, 01S0229 00411000 * R1) RESTRICTED; /* SAVE REGS FOR GETMAIN */ 00412000 * 01S0229 00413000 * /*****************************************************************/ 00414000 * /* */ 00415000 * /* OBTAIN AREA FOR READ REQUEST */ 00416000 * /* */ 00417000 * /*****************************************************************/ 00418000 * 01S0230 00419000 * DO; /* GETMAIN (R) 01S0230 00420000 * LV(PDRRECL)SP(ZZZSPEXC) */ 00421000 * RESPECIFY 01S0231 00422000 * (GPR01F, 01S0231 00423000 * GPR00F) RESTRICTED; 01S0231 00424000 * GPR00F=PDRRECL; /* LENGTH REQUESTED */ 00425000 L @10,@PC00001+8 01S0232 00426000 L GPR00F,PDRRECL(,@10) 01S0232 00427000 * GPR01F=ZZZSPEXC; /* SP IN REG 1 */ 00428000 LA GPR01F,1 01S0233 00429000 * GEN(SLL GPR01F,24) 01S0234 00430000 * NODEFS NOREFS NOSETS NOEXIT NOFLOWS SEQFLOW; 01S0234 00431000 SLL GPR01F,24 00432000 * GPR00F=GPR00F|GPR01F; /* SP IN HIGH BYTE */ 00433000 OR GPR00F,GPR01F 01S0235 00434000 * GPR01F=-1; /* INDICATE A GETMAIN REQUEST */ 00435000 SLR GPR01F,GPR01F 01S0236 00436000 BCTR GPR01F,0 01S0236 00437000 * SVC(10); /* R-FORM OF GETMAIN */ 00438000 SVC 10 01S0237 00439000 * RESPECIFY 01S0238 00440000 * (GPR01F, 01S0238 00441000 * GPR00F) UNRESTRICTED; 01S0238 00442000 * END; /* GETMAIN (R) 01S0239 00443000 * LV(PDRRECL)SP(ZZZSPEXC) GET 00444000 * AREA FOR RECORD */ 00445000 * READPTR=R1; /* GET THE ADDRESS OF THE AREA */ 00446000 LR READPTR,R1 01S0240 00447000 * RESPECIFY 01S0241 00448000 * (R0, 01S0241 00449000 * R1) UNRESTRICTED; /* FREE THE REGS */ 00450000 * 01S0241 00451000 * /*****************************************************************/ 00452000 * /* */ 00453000 * /* READ THE RECORD FOR UPDATE */ 00454000 * /* */ 00455000 * /*****************************************************************/ 00456000 * 01S0242 00457000 */* BLSGET (DMCBPTR) UPD AREAL(READPTR)AREALEN(PDRRECL)KEYEQ ARG(PDRKEY 00458000 *ARGLEN(LENGTH(PDRKEY)) */ 00459000 * 01S0242 00460000 * DO; /* BLSGET (DMCBPTR) UPD AREAL(REA 00461000 * DPTR)AREALEN(PDRRECL)KEYEQ ARG 00462000 * (PDRKEY)ARGLEN(LENGTH(PDRKEY))*/ 00463000 * RFY 01S0243 00464000 * GPR01P RSTD; 01S0243 00465000 * GPR01P=DMCBPTR; /* ADDRESS DMCB */ 00466000 LR GPR01P,DMCBPTR 01S0244 00467000 * RFY 01S0245 00468000 * DMCB BASED(GPR01P); 01S0245 00469000 * IF((GPR01P&'FFFFFFF8'X)=GPR01P)&DMCBID='DMCB'/* VALID DMCB ? */ 00470000 * THEN 01S0246 00471000 LR @10,GPR01P 01S0246 00472000 N @10,@CF01072 01S0246 00473000 CLR @10,GPR01P 01S0246 00474000 BNE @RF00246 01S0246 00475000 CLC DMCBID(4,GPR01P),@CC01073 01S0246 00476000 BNE @RF00246 01S0246 00477000 * DO; 01S0247 00478000 * DMCBBUFP=READPTR&'7FFFFFFF'X;/* PLACE BUFFER ADDRESS IN 00479000 * DMCB */ 00480000 L @10,@CF01087 01S0248 00481000 LR @09,READPTR 01S0248 00482000 NR @09,@10 01S0248 00483000 ST @09,DMCBBUFP(,GPR01P) 01S0248 00484000 * DMCBBLEN=PDRRECL&'7FFFFFFF'X;/* PLACE BUFFER LENGTH IN DMCB*/ 00485000 L @09,@PC00001+8 01S0249 00486000 N @10,PDRRECL(,@09) 01S0249 00487000 ST @10,DMCBBLEN(,GPR01P) 01S0249 00488000 * DMCBKEYP=ADDR(PDRKEY); /* PLACE KEY ADDRESS IN DMCB */ 00489000 L @10,@PC00001+4 01S0250 00490000 ST @10,DMCBKEYP(,GPR01P) 01S0250 00491000 * DMCBKEYL=(LENGTH(PDRKEY))&'7FFFFFFF'X;/* PLACE KEY LENGTH 00492000 * IN DMCB */ 00493000 MVC DMCBKEYL(4,GPR01P),@CF00127 01S0251 00494000 * DMCBKYD='1'B; /* INDICATE KEYED ACCESS */ 00495000 * DMCBAPX='0'B; /* INDICATE EXACT KEY MATCH */ 00496000 * DMCBGKY='0'B; /* INDICATE FULL KEY SEARCH */ 00497000 * DMCBUPD='1'B; /* INDICATE UPDATE OPTION */ 00498000 OI DMCBKYD(GPR01P),B'10010000' 01S0255 00499000 NI DMCBAPX(GPR01P),B'10011111' 01S0255 00500000 * DMCBRQST=DMCBGER; /* INDICATE GET REQUEST */ 00501000 MVI DMCBRQST(GPR01P),X'04' 01S0256 00502000 * CALL DMCBRI->DMCBDMGR; /* CALL BLSCRQST */ 00503000 L @15,DMCBRI(,GPR01P) 01S0257 00504000 BALR @14,@15 01S0257 00505000 * END; 01S0258 00506000 * ELSE 01S0259 00507000 * DO; 01S0259 00508000 B @RC00246 01S0259 00509000 @RF00246 DS 0H 01S0260 00510000 * RFY 01S0260 00511000 * (GPR00F, 01S0260 00512000 * GPR15F) RSTD; 01S0260 00513000 * GPR00F=0; /* INDICATE NO MESSAGE CHAIN */ 00514000 SLR GPR00F,GPR00F 01S0261 00515000 * GPR15F=16; /* INDICATE INVALID DMCB */ 00516000 LA GPR15F,16 01S0262 00517000 * RFY 01S0263 00518000 * (GPR00F, 01S0263 00519000 * GPR15F); 01S0263 00520000 * END; 01S0264 00521000 * RFY 01S0265 00522000 * DMCB; 01S0265 00523000 @RC00246 DS 0H 01S0266 00524000 * RFY 01S0266 00525000 * GPR01P; 01S0266 00526000 * END; /* BLSGET (DMCBPTR) UPD AREAL(REA 00527000 * DPTR)AREALEN(PDRRECL)KEYEQ ARG 00528000 * (PDRKEY)ARGLEN(LENGTH(PDRKEY))*/ 00529000 * RESPECIFY 01S0268 00530000 * RF RESTRICTED; /* SAVE REG 15 */ 00531000 * IF RF=ZERO| /* READ SUCCESSFUL? */ 00532000 * RF=EIGHT THEN /* OR NOT FOUND? */ 00533000 LTR RF,RF 01S0269 00534000 BZ @RT00269 01S0269 00535000 C RF,@CF00054 01S0269 00536000 BNE @RF00269 01S0269 00537000 @RT00269 DS 0H 01S0270 00538000 * DO; /* YES, READ AS EXPECTED */ 00539000 * READFLG='1'B; /* SET THE READ SUCCESSFUL ON */ 00540000 OI READFLG,B'01000000' 01S0271 00541000 * IF RF=EIGHT THEN /* REC THERE? */ 00542000 C RF,@CF00054 01S0272 00543000 BNE @RF00272 01S0272 00544000 * DMCBUPD='0'B; /* NO, INDICATE NO UPDATE */ 00545000 NI DMCBUPD(DMCBPTR),B'11101111' 01S0273 00546000 * IF DMCBMSG^=ZERO THEN /* ARE THERE ANY MSG QUEUED ? */ 00547000 @RF00272 L @14,DMCBMSG(,DMCBPTR) 01S0274 00548000 LTR @14,@14 01S0274 00549000 BZ @RF00274 01S0274 00550000 * CALL MSGPURGE; /* PURSE THE MESSAGE QUEUE */ 00551000 BAL @14,MSGPURGE 01S0275 00552000 * RETCODE=ZERO; /* NO ERRORS ON READ */ 00553000 @RF00274 SLR RETCODE,RETCODE 01S0276 00554000 * END; /* END OF READ AS EXPECTED */ 00555000 * ELSE /* NO READ NOT SUCCESSFUL */ 00556000 * DO; /* READ ERROR PROCESSING */ 00557000 B @RC00269 01S0278 00558000 @RF00269 DS 0H 01S0279 00559000 * RESPECIFY 01S0279 00560000 * R0 RESTRICTED; /* SAVE THE POINTER */ 00561000 * MSGPTR=R0; /* GET ERROR MSG FIELD */ 00562000 ST R0,MSGPTR 01S0280 00563000 * RESPECIFY 01S0281 00564000 * R0 UNRESTRICTED; /* UNREST POINTER */ 00565000 * 01S0281 00566000 * /*************************************************************/ 00567000 * /* */ 00568000 * /* PUT OUT ERROR WHILE READING PDR DATA BASE */ 00569000 * /* */ 00570000 * /*************************************************************/ 00571000 * 01S0282 00572000 * READERR=RF; /* TRACK THE ERROR RC */ 00573000 ST RF,READERR 01S0282 00574000 * DO; /* BLSDMSG 01S0283 00575000 * (ZZ2,04043,MSGPTR,BLSDMSGS) 00576000 * LIFO ROUTE(TERM) */ 00577000 * CALL BLSDMSG0(ZZ2,04043,MSGPTR,BLSDMSGS,'10010000'B,0);/* 00578000 * BUILD MESSAGE */ 00579000 ST ZZ2PTR,@AL00001 01S0284 00580000 LA @14,@CF01088 01S0284 00581000 ST @14,@AL00001+4 01S0284 00582000 LA @14,MSGPTR 01S0284 00583000 ST @14,@AL00001+8 01S0284 00584000 L @14,ZZ2MSGSP(,ZZ2PTR) 01S0284 00585000 ST @14,@AL00001+12 01S0284 00586000 LA @14,@CB01078 01S0284 00587000 ST @14,@AL00001+16 01S0284 00588000 LA @14,@CF00051 01S0284 00589000 ST @14,@AL00001+20 01S0284 00590000 L @15,ZZ2MSG0P(,ZZ2PTR) 01S0284 00591000 LA @01,@AL00001 01S0284 00592000 BALR @14,@15 01S0284 00593000 * END; /* BLSDMSG 01S0285 00594000 * (ZZ2,04043,MSGPTR,BLSDMSGS) 00595000 * LIFO ROUTE(TERM) */ 00596000 * IF RF^=SIXTEEN THEN /* DMCB BAD POINTER? */ 00597000 C RF,@CF00057 01S0286 00598000 BE @RF00286 01S0286 00599000 * DMCBMSG=ZERO; /* ZERO MSG POINTER */ 00600000 SLR @14,@14 01S0287 00601000 ST @14,DMCBMSG(,DMCBPTR) 01S0287 00602000 * DO; /* ABEND(123) DUMP USER */ 00603000 @RF00286 DS 0H 01S0289 00604000 * RESPECIFY 01S0289 00605000 * (GPR01F) RESTRICTED; 01S0289 00606000 * GPR01F=(123)&'00000FFF'X; /* COMP CODE IN BITS 20-31 */ 00607000 LA GPR01F,123 01S0290 00608000 * GPR01F=GPR01F|'80000000'X;/* DUMP/STEP/DUMPOPTS FLAG */ 00609000 O GPR01F,@CF00066 01S0291 00610000 * SVC(13); /* ISSUE ABEND SVC */ 00611000 SVC 13 01S0292 00612000 * RESPECIFY 01S0293 00613000 * (GPR01F) UNRESTRICTED; 01S0293 00614000 * END; /* ABEND(123) DUMP USER ABEND AT 00615000 * THIS TIME */ 00616000 * END; /* END OF READ ERROR PROCESSING */ 00617000 * 01S0295 00618000 * /*****************************************************************/ 00619000 * /* */ 00620000 * /* FREE THE AREA OBTAINED FOR READ BUFFER */ 00621000 * /* */ 00622000 * /*****************************************************************/ 00623000 * 01S0296 00624000 * RESPECIFY 01S0296 00625000 * RF UNRESTRICTED; /* FINISHED WITH REG 15 */ 00626000 @RC00269 DS 0H 01S0297 00627000 * RESPECIFY 01S0297 00628000 * (R0, 01S0297 00629000 * R1) RESTRICTED; /* SAVE REGS FOR GETMAIN */ 00630000 * 01S0297 00631000 * /*****************************************************************/ 00632000 * /* */ 00633000 * /* FREE AREA FOR READ REQUEST */ 00634000 * /* */ 00635000 * /*****************************************************************/ 00636000 * 01S0298 00637000 * DO; /* FREEMAIN(R) LV(PDRRECL)SP(ZZZS 00638000 * PEXC)A(RECAREA) */ 00639000 * RESPECIFY 01S0299 00640000 * (GPR01F, 01S0299 00641000 * GPR00F) RESTRICTED; 01S0299 00642000 * GPR00F=PDRRECL; /* LENGTH REQUESTED */ 00643000 L @10,@PC00001+8 01S0300 00644000 L GPR00F,PDRRECL(,@10) 01S0300 00645000 * GPR01F=ZZZSPEXC; /* SP IN REG 1 */ 00646000 LA GPR01F,1 01S0301 00647000 * GEN(SLL GPR01F,24) 01S0302 00648000 * NODEFS NOREFS NOSETS NOEXIT NOFLOWS SEQFLOW; 01S0302 00649000 SLL GPR01F,24 00650000 * GPR00F=GPR00F|GPR01F; /* SP IN HI BYTE */ 00651000 OR GPR00F,GPR01F 01S0303 00652000 * GPR01F=ADDR(RECAREA); /* SET REGISTER ONE */ 00653000 LR GPR01F,READPTR 01S0304 00654000 * SVC(10); /* R-FORM OF GETMAIN */ 00655000 SVC 10 01S0305 00656000 * RESPECIFY 01S0306 00657000 * (GPR01F, 01S0306 00658000 * GPR00F) UNRESTRICTED; 01S0306 00659000 * END; /* FREEMAIN(R) LV(PDRRECL)SP(ZZZS 00660000 * PEXC)A(RECAREA) FREE THE AREA */ 00661000 * RESPECIFY 01S0308 00662000 * (R0, 01S0308 00663000 * R1) UNRESTRICTED; /* FREE THE REGS */ 00664000 * RETURN; /* RETURN TO CALLER */ 00665000 @EL00003 DS 0H 01S0309 00666000 @EF00003 DS 0H 01S0309 00667000 @ER00003 LM @14,@06,@SA00003 01S0309 00668000 LM @08,@12,@SA00003+36 01S0309 00669000 BR @14 01S0309 00670000 * END READREC; /* END OF READ REC PROC */ 00671000 EJECT 00672000 *WRITEREC: 01S0311 00673000 * PROCEDURE; /* WRITE RECORD */ 00674000 * 01S0311 00675000 WRITEREC STM @14,@06,@SA00004 01S0311 00676000 STM @08,@12,@SA00004+36 01S0311 00677000 * /*****************************************************************/ 00678000 * /* */ 00679000 * /* WRITE THE RECORD TO THE PDR DATA BASE */ 00680000 * /* */ 00681000 * /*****************************************************************/ 00682000 * 01S0312 00683000 * RETCODE=ZERO; 01S0312 00684000 * 01S0312 00685000 SLR RETCODE,RETCODE 01S0312 00686000 */* BLSPUT (DMCBPTR) AREA(PDREC)AREALEN(PDRRECL)RECLEN(PDRRECL) */ 00687000 * 01S0313 00688000 * DO; /* BLSPUT (DMCBPTR) AREA(PDREC)AR 00689000 * EALEN(PDRRECL)RECLEN(PDRRECL) */ 00690000 * RFY 01S0314 00691000 * GPR01P RSTD; 01S0314 00692000 * GPR01P=DMCBPTR; /* ADDRESS DMCB */ 00693000 LR GPR01P,DMCBPTR 01S0315 00694000 * RFY 01S0316 00695000 * DMCB BASED(GPR01P); 01S0316 00696000 * IF((GPR01P&'FFFFFFF8'X)=GPR01P)&DMCBID='DMCB'/* VALID DMCB ? */ 00697000 * THEN 01S0317 00698000 LR @10,GPR01P 01S0317 00699000 N @10,@CF01072 01S0317 00700000 CLR @10,GPR01P 01S0317 00701000 BNE @RF00317 01S0317 00702000 CLC DMCBID(4,GPR01P),@CC01073 01S0317 00703000 BNE @RF00317 01S0317 00704000 * DO; 01S0318 00705000 * DMCBBUFP=ADDR(PDREC); /* PLACE BUFFER ADDRESS IN DMCB */ 00706000 L @10,@PC00001+4 01S0319 00707000 ST @10,DMCBBUFP(,GPR01P) 01S0319 00708000 * DMCBBLEN=PDRRECL&'7FFFFFFF'X;/* PLACE BUFFER LENGTH IN DMCB*/ 00709000 L @10,@PC00001+8 01S0320 00710000 L @10,PDRRECL(,@10) 01S0320 00711000 N @10,@CF01087 01S0320 00712000 ST @10,DMCBBLEN(,GPR01P) 01S0320 00713000 * DMCBORL=(PDRRECL)&'7FFFFFFF'X;/* PLACE RECORD LENGTH IN 00714000 * DMCB */ 00715000 ST @10,DMCBORL(,GPR01P) 01S0321 00716000 * DMCBRQST=DMCBPUR; /* INDICATE PUT REQUEST */ 00717000 MVI DMCBRQST(GPR01P),X'05' 01S0322 00718000 * CALL DMCBRI->DMCBDMGR; /* CALL BLSCRQST */ 00719000 L @15,DMCBRI(,GPR01P) 01S0323 00720000 BALR @14,@15 01S0323 00721000 * END; 01S0324 00722000 * ELSE 01S0325 00723000 * DO; 01S0325 00724000 B @RC00317 01S0325 00725000 @RF00317 DS 0H 01S0326 00726000 * RFY 01S0326 00727000 * (GPR00F, 01S0326 00728000 * GPR15F) RSTD; 01S0326 00729000 * GPR00F=0; /* INDICATE NO MESSAGE CHAIN */ 00730000 SLR GPR00F,GPR00F 01S0327 00731000 * GPR15F=16; /* INDICATE INVALID DMCB */ 00732000 LA GPR15F,16 01S0328 00733000 * RFY 01S0329 00734000 * (GPR00F, 01S0329 00735000 * GPR15F); 01S0329 00736000 * END; 01S0330 00737000 * RFY 01S0331 00738000 * DMCB; 01S0331 00739000 @RC00317 DS 0H 01S0332 00740000 * RFY 01S0332 00741000 * GPR01P; 01S0332 00742000 * END; /* BLSPUT (DMCBPTR) AREA(PDREC)AR 00743000 * EALEN(PDRRECL)RECLEN(PDRRECL) */ 00744000 * RESPECIFY 01S0334 00745000 * RF RESTRICTED; /* RESTRICT REG 15 */ 00746000 * IF RF=ZERO THEN /* WAS WRITE SUCCESSFUL? */ 00747000 SLR @14,@14 01S0335 00748000 CR RF,@14 01S0335 00749000 BNE @RF00335 01S0335 00750000 * DO; /* YES, WRITE SUCCESSFUL */ 00751000 * WRITEFLG='1'B; /* WRITE SUCCESSFUL */ 00752000 OI WRITEFLG,B'00100000' 01S0337 00753000 * IF DMCBMSG^=ZERO THEN /* IS THERE A MESSAGE QUEUE ? */ 00754000 CL @14,DMCBMSG(,DMCBPTR) 01S0338 00755000 BE @RF00338 01S0338 00756000 * CALL MSGPURGE; /* PURGE THE QUEUE */ 00757000 BAL @14,MSGPURGE 01S0339 00758000 * RETCODE=ZERO; /* SUCCESS WRITE */ 00759000 @RF00338 SLR RETCODE,RETCODE 01S0340 00760000 * END; /* END OF WRITE SUCCESSFUL */ 00761000 * ELSE /* NO, ERROR DURING WRITE */ 00762000 * IF RF=FOUR| /* INVALID REQUEST? */ 00763000 * RF=EIGHT THEN /* DUPLICATE KEY */ 00764000 B @RC00335 01S0342 00765000 @RF00335 C RF,@CF00043 01S0342 00766000 BE @RT00342 01S0342 00767000 C RF,@CF00054 01S0342 00768000 BNE @RF00342 01S0342 00769000 @RT00342 DS 0H 01S0343 00770000 * DO; /* ERROR INVALID OR DUP KEY REQ */ 00771000 * WRITERR=RF; /* SAVE ERROR RETURN CODE */ 00772000 ST RF,WRITERR 01S0344 00773000 * ERRDMCB=DMCBPTR; /* POINTER TO DMCB IN ERROR */ 00774000 * 01S0345 00775000 ST DMCBPTR,ERRDMCB 01S0345 00776000 * /***********************************************************/ 00777000 * /* */ 00778000 * /* SEND MESSAGE- LOGIC ERROR IN BLSFUP00, INVALID WRITE */ 00779000 * /* REQUEST */ 00780000 * /* */ 00781000 * /***********************************************************/ 00782000 * 01S0346 00783000 * DO; /* BLSDMSG 01S0346 00784000 * (ZZ2,04044,DMCBMSG,BLSDMSGS) 00785000 * LIFO ROUTE(TERM) */ 00786000 * CALL BLSDMSG0(ZZ2,04044,DMCBMSG,BLSDMSGS,'10010000'B,0); 00787000 ST ZZ2PTR,@AL00001 01S0347 00788000 LA @14,@CF01094 01S0347 00789000 ST @14,@AL00001+4 01S0347 00790000 LA @14,DMCBMSG(,DMCBPTR) 01S0347 00791000 ST @14,@AL00001+8 01S0347 00792000 L @14,ZZ2MSGSP(,ZZ2PTR) 01S0347 00793000 ST @14,@AL00001+12 01S0347 00794000 LA @14,@CB01078 01S0347 00795000 ST @14,@AL00001+16 01S0347 00796000 LA @14,@CF00051 01S0347 00797000 ST @14,@AL00001+20 01S0347 00798000 L @15,ZZ2MSG0P(,ZZ2PTR) 01S0347 00799000 LA @01,@AL00001 01S0347 00800000 BALR @14,@15 01S0347 00801000 * /* BUILD MESSAGE */ 00802000 * END; /* BLSDMSG 01S0348 00803000 * (ZZ2,04044,DMCBMSG,BLSDMSGS) 00804000 * LIFO ROUTE(TERM) */ 00805000 * DO; /* ABEND(124) DUMP USER */ 00806000 * RESPECIFY 01S0350 00807000 * (GPR01F) RESTRICTED; 01S0350 00808000 * GPR01F=(124)&'00000FFF'X;/* COMP CODE IN BITS 20-31 */ 00809000 LA GPR01F,124 01S0351 00810000 * GPR01F=GPR01F|'80000000'X;/* DUMP/STEP/DUMPOPTS FLAG */ 00811000 O GPR01F,@CF00066 01S0352 00812000 * SVC(13); /* ISSUE ABEND SVC */ 00813000 SVC 13 01S0353 00814000 * RESPECIFY 01S0354 00815000 * (GPR01F) UNRESTRICTED; 01S0354 00816000 * END; /* ABEND(124) DUMP USER ABEND */ 00817000 * END; /* END OF ERROR INVALID OR DUP 00818000 * KEY REQ */ 00819000 * ELSE /* NO NOT INVALID OR DUP KEY REQ */ 00820000 * IF RF=TWELVE THEN /* WAS IT PERMANENT ERROR? */ 00821000 B @RC00342 01S0357 00822000 @RF00342 C RF,@CF00035 01S0357 00823000 BNE @RF00357 01S0357 00824000 * DO; /* YES, PERM ERROR */ 00825000 * WRITERR=RF; /* SAVE ERROR RETURN CODE */ 00826000 * 01S0359 00827000 ST RF,WRITERR 01S0359 00828000 * /*********************************************************/ 00829000 * /* */ 00830000 * /* SEND MESSAGE- PERMANENT ERROR WHILE WRITING PDR RECORD*/ 00831000 * /* */ 00832000 * /*********************************************************/ 00833000 * 01S0360 00834000 * DO; /* BLSDMSG 01S0360 00835000 * (ZZ2,04044,DMCBMSG,BLSDMSGS) 00836000 * LIFO ROUTE(TERM) */ 00837000 * CALL BLSDMSG0(ZZ2,04044,DMCBMSG,BLSDMSGS,'10010000'B,0); 00838000 ST ZZ2PTR,@AL00001 01S0361 00839000 LA @14,@CF01094 01S0361 00840000 ST @14,@AL00001+4 01S0361 00841000 LA @14,DMCBMSG(,DMCBPTR) 01S0361 00842000 ST @14,@AL00001+8 01S0361 00843000 L @14,ZZ2MSGSP(,ZZ2PTR) 01S0361 00844000 ST @14,@AL00001+12 01S0361 00845000 LA @14,@CB01078 01S0361 00846000 ST @14,@AL00001+16 01S0361 00847000 LA @14,@CF00051 01S0361 00848000 ST @14,@AL00001+20 01S0361 00849000 L @15,ZZ2MSG0P(,ZZ2PTR) 01S0361 00850000 LA @01,@AL00001 01S0361 00851000 BALR @14,@15 01S0361 00852000 * /* BUILD MESSAGE */ 00853000 * END; /* BLSDMSG 01S0362 00854000 * (ZZ2,04044,DMCBMSG,BLSDMSGS) 00855000 * LIFO ROUTE(TERM) */ 00856000 * DO; /* ABEND(125) DUMP USER */ 00857000 * RESPECIFY 01S0364 00858000 * (GPR01F) RESTRICTED; 01S0364 00859000 * GPR01F=(125)&'00000FFF'X;/* COMP CODE IN BITS 20-31 */ 00860000 LA GPR01F,125 01S0365 00861000 * GPR01F=GPR01F|'80000000'X;/* DUMP/STEP/DUMPOPTS FLAG */ 00862000 O GPR01F,@CF00066 01S0366 00863000 * SVC(13); /* ISSUE ABEND SVC */ 00864000 SVC 13 01S0367 00865000 * RESPECIFY 01S0368 00866000 * (GPR01F) UNRESTRICTED; 01S0368 00867000 * END; /* ABEND(125) DUMP USER ABEND */ 00868000 * END; /* END PERM ERROR */ 00869000 * ELSE /* INVALID DMCB - MUST ABEND */ 00870000 * DO; /* INVALID DMCB */ 00871000 B @RC00357 01S0371 00872000 @RF00357 DS 0H 01S0372 00873000 * WRITERR=RF; /* SAVE THE RETURN CODE */ 00874000 ST RF,WRITERR 01S0372 00875000 * ERRDMCB=DMCBPTR; /* INDICATE ERROR DMCB POINTER */ 00876000 ST DMCBPTR,ERRDMCB 01S0373 00877000 * DO; /* ABEND(126) DUMP USER */ 00878000 * RESPECIFY 01S0375 00879000 * (GPR01F) RESTRICTED; 01S0375 00880000 * GPR01F=(126)&'00000FFF'X;/* COMP CODE IN BITS 20-31 */ 00881000 LA GPR01F,126 01S0376 00882000 * GPR01F=GPR01F|'80000000'X;/* DUMP/STEP/DUMPOPTS FLAG */ 00883000 O GPR01F,@CF00066 01S0377 00884000 * SVC(13); /* ISSUE ABEND SVC */ 00885000 SVC 13 01S0378 00886000 * RESPECIFY 01S0379 00887000 * (GPR01F) UNRESTRICTED; 01S0379 00888000 * END; /* ABEND(126) DUMP USER ABEND THE 00889000 * USER */ 00890000 * END; /* END OF INVALID DMCB */ 00891000 * RESPECIFY 01S0382 00892000 * RF UNRESTRICTED; /* RELEASE REG 15 */ 00893000 * RETURN; /* RETURN */ 00894000 @EL00004 DS 0H 01S0383 00895000 @EF00004 DS 0H 01S0383 00896000 @ER00004 LM @14,@06,@SA00004 01S0383 00897000 LM @08,@12,@SA00004+36 01S0383 00898000 BR @14 01S0383 00899000 * END WRITEREC; /* END OF WRITE RECORD */ 00900000 B @EL00004 01S0384 00901000 EJECT 00902000 *CLOSEREC: 01S0385 00903000 * PROCEDURE; /* CLOSE THE DATA SET */ 00904000 CLOSEREC STM @14,@06,@SA00005 01S0385 00905000 STM @08,@12,@SA00005+36 01S0385 00906000 * DO; /* BLSCLOSE(DMCBPTR) */ 00907000 * RFY 01S0387 00908000 * GPR01P RSTD; 01S0387 00909000 * GPR01P=DMCBPTR; /* ADDRESS THE DMCB */ 00910000 LR GPR01P,DMCBPTR 01S0388 00911000 * RFY 01S0389 00912000 * DMCB BASED(GPR01P); 01S0389 00913000 * IF((GPR01P&'FFFFFFF8'X)=GPR01P)&DMCBID='DMCB'/* VALID DMCB ? */ 00914000 * THEN 01S0390 00915000 LR @10,GPR01P 01S0390 00916000 N @10,@CF01072 01S0390 00917000 CLR @10,GPR01P 01S0390 00918000 BNE @RF00390 01S0390 00919000 CLC DMCBID(4,GPR01P),@CC01073 01S0390 00920000 BNE @RF00390 01S0390 00921000 * DO; 01S0391 00922000 * DMCBRQST=DMCBCLR; /* INDICATE CLOSE REQUEST */ 00923000 MVI DMCBRQST(GPR01P),X'02' 01S0392 00924000 * DMCBTMP='0'B; /* INDICATE NON TEMP CLOSE */ 00925000 * DMCBRM6='0'B; /* INDICATE */ 00926000 * DMCBRM5='0'B; /* DISP OPTION */ 00927000 NI DMCBTMP(GPR01P),B'00011111' 01S0395 00928000 * CALL DMCBRI->DMCBDMGR; /* CALL BLSCRQST */ 00929000 L @15,DMCBRI(,GPR01P) 01S0396 00930000 BALR @14,@15 01S0396 00931000 * END; 01S0397 00932000 * ELSE 01S0398 00933000 * DO; 01S0398 00934000 B @RC00390 01S0398 00935000 @RF00390 DS 0H 01S0399 00936000 * RFY 01S0399 00937000 * (GPR00F, 01S0399 00938000 * GPR15F) RSTD; 01S0399 00939000 * GPR00F=0; /* INDICATE NO MESSAGE CHAIN */ 00940000 SLR GPR00F,GPR00F 01S0400 00941000 * GPR15F=16; /* INDICATE INVALID DMCB */ 00942000 LA GPR15F,16 01S0401 00943000 * RFY 01S0402 00944000 * (GPR00F, 01S0402 00945000 * GPR15F); 01S0402 00946000 * END; 01S0403 00947000 * RFY 01S0404 00948000 * DMCB; 01S0404 00949000 @RC00390 DS 0H 01S0405 00950000 * RFY 01S0405 00951000 * GPR01P; 01S0405 00952000 * END; /* BLSCLOSE(DMCBPTR) CLOSE THE 00953000 * DATA SET */ 00954000 * RESPECIFY 01S0407 00955000 * RF RESTRICTED; /* RESTRICT REG 15 */ 00956000 * IF RF=ZERO THEN /* IS THE CLOSE SUCCESSFUL ? */ 00957000 SLR @14,@14 01S0408 00958000 CR RF,@14 01S0408 00959000 BNE @RF00408 01S0408 00960000 * DO; /* YES, FINISH CLOSE */ 00961000 * CLOSEFLG='1'B; /* CLOSE SUCCESSFUL */ 00962000 OI CLOSEFLG,B'00010000' 01S0410 00963000 * IF DMCBMSG^=ZERO THEN /* IS THERE MSG QUEUED? */ 00964000 CL @14,DMCBMSG(,DMCBPTR) 01S0411 00965000 BE @RF00411 01S0411 00966000 * CALL MSGPURGE; /* YES, PURGE THE QUEUE */ 00967000 BAL @14,MSGPURGE 01S0412 00968000 * RETCODE=ZERO; /* CLOSE SUCCESSFUL */ 00969000 @RF00411 SLR RETCODE,RETCODE 01S0413 00970000 * END; /* END OF FINISH CLOSE */ 00971000 * ELSE /* NO, ERROR ON CLOSE */ 00972000 * IF RF=FOUR THEN /* IS IT PERMANENT ERROR? */ 00973000 B @RC00408 01S0415 00974000 @RF00408 C RF,@CF00043 01S0415 00975000 BNE @RF00415 01S0415 00976000 * DO; /* YES, PERM ERROR ON CLOSE */ 00977000 * CLOSERR=RF; /* SAVE THE ERROR RETURN CODE */ 00978000 * 01S0417 00979000 ST RF,CLOSERR 01S0417 00980000 * /***********************************************************/ 00981000 * /* */ 00982000 * /* SEND MESSAGE - PERMANENT ERROR CLOSING PDR DATA BASE */ 00983000 * /* */ 00984000 * /***********************************************************/ 00985000 * 01S0418 00986000 * DO; /* BLSDMSG 01S0418 00987000 * (ZZ2,04045,DMCBMSG,BLSDMSGS) 00988000 * LIFO ROUTE(TERM) */ 00989000 * CALL BLSDMSG0(ZZ2,04045,DMCBMSG,BLSDMSGS,'10010000'B,0); 00990000 ST ZZ2PTR,@AL00001 01S0419 00991000 LA @14,@CF01102 01S0419 00992000 ST @14,@AL00001+4 01S0419 00993000 LA @14,DMCBMSG(,DMCBPTR) 01S0419 00994000 ST @14,@AL00001+8 01S0419 00995000 L @14,ZZ2MSGSP(,ZZ2PTR) 01S0419 00996000 ST @14,@AL00001+12 01S0419 00997000 LA @14,@CB01078 01S0419 00998000 ST @14,@AL00001+16 01S0419 00999000 LA @14,@CF00051 01S0419 01000000 ST @14,@AL00001+20 01S0419 01001000 L @15,ZZ2MSG0P(,ZZ2PTR) 01S0419 01002000 LA @01,@AL00001 01S0419 01003000 BALR @14,@15 01S0419 01004000 * /* BUILD MESSAGE */ 01005000 * END; /* BLSDMSG 01S0420 01006000 * (ZZ2,04045,DMCBMSG,BLSDMSGS) 01007000 * LIFO ROUTE(TERM) */ 01008000 * 01S0420 01009000 * /***********************************************************/ 01010000 * /* */ 01011000 * /* PERMANENT ERROR ON CLOSE - ABEND TO CAUSE CLEANUP */ 01012000 * /* */ 01013000 * /***********************************************************/ 01014000 * 01S0421 01015000 * DO; /* ABEND(127) DUMP USER */ 01016000 * RESPECIFY 01S0422 01017000 * (GPR01F) RESTRICTED; 01S0422 01018000 * GPR01F=(127)&'00000FFF'X;/* COMP CODE IN BITS 20-31 */ 01019000 LA GPR01F,127 01S0423 01020000 * GPR01F=GPR01F|'80000000'X;/* DUMP/STEP/DUMPOPTS FLAG */ 01021000 O GPR01F,@CF00066 01S0424 01022000 * SVC(13); /* ISSUE ABEND SVC */ 01023000 SVC 13 01S0425 01024000 * RESPECIFY 01S0426 01025000 * (GPR01F) UNRESTRICTED; 01S0426 01026000 * END; /* ABEND(127) DUMP USER YES, 01027000 * ABEND WITH ERROR */ 01028000 * END; /* END OF PERM ERROR ON CLOSE */ 01029000 * ELSE /* NO, LOGIC ERROR */ 01030000 * DO; /* LOGIC ERROR */ 01031000 * 01S0429 01032000 B @RC00415 01S0429 01033000 @RF00415 DS 0H 01S0430 01034000 * /***********************************************************/ 01035000 * /* */ 01036000 * /* SEND MSG - LOGIC ERROR IN BLSFUP00, DMCB INVALID */ 01037000 * /* */ 01038000 * /***********************************************************/ 01039000 * 01S0430 01040000 * CLOSERR=RF; /* SAVE THE ERROR RETURN CODE */ 01041000 ST RF,CLOSERR 01S0430 01042000 * ERRDMCB=DMCBPTR; /* SAVE ERROR DMCB PTR */ 01043000 ST DMCBPTR,ERRDMCB 01S0431 01044000 * RESPECIFY 01S0432 01045000 * R0 RESTRICTED; /* SAVE R0 */ 01046000 * MSGPTR=R0; /* OBTAIN MSG CHAIN PTR */ 01047000 ST R0,MSGPTR 01S0433 01048000 * RESPECIFY 01S0434 01049000 * R0 UNRESTRICTED; /* RELEASE REG 0 */ 01050000 * DO; /* BLSDMSG 01S0435 01051000 * (ZZ2,04045,MSGPTR,BLSDMSGS) 01052000 * LIFO ROUTE(TERM) */ 01053000 * CALL BLSDMSG0(ZZ2,04045,MSGPTR,BLSDMSGS,'10010000'B,0);/* 01054000 * BUILD MESSAGE */ 01055000 ST ZZ2PTR,@AL00001 01S0436 01056000 LA @14,@CF01102 01S0436 01057000 ST @14,@AL00001+4 01S0436 01058000 LA @14,MSGPTR 01S0436 01059000 ST @14,@AL00001+8 01S0436 01060000 L @14,ZZ2MSGSP(,ZZ2PTR) 01S0436 01061000 ST @14,@AL00001+12 01S0436 01062000 LA @14,@CB01078 01S0436 01063000 ST @14,@AL00001+16 01S0436 01064000 LA @14,@CF00051 01S0436 01065000 ST @14,@AL00001+20 01S0436 01066000 L @15,ZZ2MSG0P(,ZZ2PTR) 01S0436 01067000 LA @01,@AL00001 01S0436 01068000 BALR @14,@15 01S0436 01069000 * END; /* BLSDMSG 01S0437 01070000 * (ZZ2,04045,MSGPTR,BLSDMSGS) 01071000 * LIFO ROUTE(TERM) */ 01072000 * 01S0437 01073000 * /***********************************************************/ 01074000 * /* */ 01075000 * /* LOGIC ERROR ABEND TO CAUSE CLEANUP AND REFRESH */ 01076000 * /* */ 01077000 * /***********************************************************/ 01078000 * 01S0438 01079000 * IF RF^=SIXTEEN THEN /* DMCB BAD? */ 01080000 C RF,@CF00057 01S0438 01081000 BE @RF00438 01S0438 01082000 * DMCBMSG=ZERO; /* NO CLEAR FIELD */ 01083000 SLR @14,@14 01S0439 01084000 ST @14,DMCBMSG(,DMCBPTR) 01S0439 01085000 * DO; /* ABEND(128) DUMP USER */ 01086000 @RF00438 DS 0H 01S0441 01087000 * RESPECIFY 01S0441 01088000 * (GPR01F) RESTRICTED; 01S0441 01089000 * GPR01F=(128)&'00000FFF'X;/* COMP CODE IN BITS 20-31 */ 01090000 LA GPR01F,128 01S0442 01091000 * GPR01F=GPR01F|'80000000'X;/* DUMP/STEP/DUMPOPTS FLAG */ 01092000 O GPR01F,@CF00066 01S0443 01093000 * SVC(13); /* ISSUE ABEND SVC */ 01094000 SVC 13 01S0444 01095000 * RESPECIFY 01S0445 01096000 * (GPR01F) UNRESTRICTED; 01S0445 01097000 * END; /* ABEND(128) DUMP USER ABEND NOW*/ 01098000 * END; /* END OF LOGIC ERROR */ 01099000 * RESPECIFY 01S0448 01100000 * RF UNRESTRICTED; /* UNRSTRT REG 15 */ 01101000 * END CLOSEREC; /* END OF CLOSE PROCEDURE */ 01102000 @EL00005 DS 0H 01S0449 01103000 @EF00005 DS 0H 01S0449 01104000 @ER00005 LM @14,@06,@SA00005 01S0449 01105000 LM @08,@12,@SA00005+36 01S0449 01106000 BR @14 01S0449 01107000 EJECT 01108000 *MSGPURGE: 01S0450 01109000 * PROCEDURE; /* PURSE MESSAGES FROM QUEUE */ 01110000 * 01S0450 01111000 MSGPURGE STM @14,@12,@SA00006 01S0450 01112000 * /*****************************************************************/ 01113000 * /* */ 01114000 * /* PURGE AND FREE MESSAGE AREAS THAT DO NOT NEED TO BE SENT TO */ 01115000 * /* TERMINAL */ 01116000 * /* */ 01117000 * /*****************************************************************/ 01118000 * 01S0451 01119000 * DO; /* YES, FREE THE AREAS, THE MSGS 01120000 * WILL NOT BE PUT OUT */ 01121000 * DO; /* BLSDMSG 01S0452 01122000 * (ZZ2,MONE,DMCBMSG,BLSDMSGS) */ 01123000 * CALL BLSDMSG0(ZZ2,MONE,DMCBMSG,BLSDMSGS,'00000000'B,0);/* 01124000 * BUILD MESSAGE */ 01125000 ST ZZ2PTR,@AL00001 01S0453 01126000 LA @10,@CF01040 01S0453 01127000 ST @10,@AL00001+4 01S0453 01128000 LA @10,DMCBMSG(,DMCBPTR) 01S0453 01129000 ST @10,@AL00001+8 01S0453 01130000 L @10,ZZ2MSGSP(,ZZ2PTR) 01S0453 01131000 ST @10,@AL00001+12 01S0453 01132000 LA @10,@CB01107 01S0453 01133000 ST @10,@AL00001+16 01S0453 01134000 LA @10,@CF00051 01S0453 01135000 ST @10,@AL00001+20 01S0453 01136000 L @15,ZZ2MSG0P(,ZZ2PTR) 01S0453 01137000 LA @01,@AL00001 01S0453 01138000 BALR @14,@15 01S0453 01139000 * END; /* BLSDMSG 01S0454 01140000 * (ZZ2,MONE,DMCBMSG,BLSDMSGS) 01141000 * PURGE MSGS */ 01142000 * END; 01S0455 01143000 * END MSGPURGE; /* END OF MSG PURGE */ 01144000 @EL00006 DS 0H 01S0456 01145000 @EF00006 DS 0H 01S0456 01146000 @ER00006 LM @14,@12,@SA00006 01S0456 01147000 BR @14 01S0456 01148000 */*BLSUPEND--MVS IPCS MODULE */ 01149000 * 01S0457 01150000 * DECLARE /* GENERAL PURPOSE REGISTERS */ 01151000 * GPR00F FIXED(31) REG(0), 01S0457 01152000 * GPR01F FIXED(31) REG(1), 01S0457 01153000 * GPR15F FIXED(31) REG(15), 01S0457 01154000 * GPR01P PTR(31) REG(1); 01S0457 01155000 * DECLARE /* COMMON VARIABLES */ 01156000 * I256C CHAR(256) BASED, 01S0458 01157000 * I031F FIXED(31) BASED, 01S0458 01158000 * I031P PTR(31) BASED, 01S0458 01159000 * I015F FIXED(15) BASED, 01S0458 01160000 * I015P PTR(15) BASED, 01S0458 01161000 * I008P PTR(8) BASED, 01S0458 01162000 * I001C CHAR(1) BASED; 01S0458 01163000 * GENERATE NODEFS NOREFS DATA; 01S0459 01164000 * END /* BLRPEND END OF PROCESSING */ 01165000 * 01S0460 01166000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 01167000 */*%INCLUDE SYSLIB (BLSPDR ) */ 01168000 */*%INCLUDE SYSLIB (BLSUZZZ ) */ 01169000 */*%INCLUDE SYSLIB (BLRFULL ) */ 01170000 */*%INCLUDE SYSLIB (IKJCPPL ) */ 01171000 */*%INCLUDE SYSLIB (IKJPSCB ) */ 01172000 */*%INCLUDE SYSLIB (IKJECT ) */ 01173000 */*%INCLUDE SYSLIB (IKJUPT ) */ 01174000 */*%INCLUDE SYSLIB (BLSUSERV) */ 01175000 */*%INCLUDE SYSLIB (BLRSERV ) */ 01176000 */*%INCLUDE SYSLIB (BLRSERVD) */ 01177000 */*%INCLUDE SYSLIB (BLSDSERV) */ 01178000 */*%INCLUDE SYSLIB (BLSDMSGD) */ 01179000 * 01S0460 01180000 * ; 01S0460 01181000 @EL00001 L @13,4(,@13) 01S0460 01182000 @EF00001 L @00,@SIZDATD 01S0460 01183000 LR @01,@11 01S0460 01184000 BLSUFRES R,LV=(0),A=(1) 01185000 @ER00001 LM @14,@12,12(@13) 01S0460 01186000 BR @14 01S0460 01187000 @DATA DS 0H 01188000 @DATD DSECT 01189000 DS 0F 01190000 @SA00001 DS 18F 01191000 @PC00001 DS 3F 01192000 @SA00002 DS 14F 01193000 @SA00003 DS 14F 01194000 @SA00004 DS 14F 01195000 @SA00005 DS 14F 01196000 @SA00006 DS 15F 01197000 @AL00001 DS 6A 01198000 BLSFUP00 CSECT 01199000 DS 0F 01200000 @CF00051 DC F'0' 01201000 @CF00043 DC F'4' 01202000 @CF00054 DC F'8' 01203000 @CF00035 DC F'12' 01204000 @CF00127 DC F'14' 01205000 @CF00057 DC F'16' 01206000 @CF01077 DC F'4042' 01207000 @CF01088 DC F'4043' 01208000 @CF01094 DC F'4044' 01209000 @CF01102 DC F'4045' 01210000 @CF01082 DC F'4082' 01211000 @CF01040 DC F'-1' 01212000 @CF00066 DC XL4'80000000' 01213000 @CF01072 DC XL4'FFFFFFF8' 01214000 @CF01087 DC XL4'7FFFFFFF' 01215000 @DATD DSECT 01216000 DS 0D 01217000 MSGPTR DS A 01218000 ERRORRC DS CL24 01219000 ORG ERRORRC 01220000 ERRDMCB DS FL4 01221000 OPENERR DS FL4 01222000 READERR DS FL4 01223000 WRITERR DS FL4 01224000 CLOSERR DS FL4 01225000 FREEERR DS FL4 01226000 ORG ERRORRC+24 01227000 FLAG1 DS CL1 01228000 ORG FLAG1 01229000 OPENFLG DS BL1 01230000 READFLG EQU FLAG1+0 01231000 WRITEFLG EQU FLAG1+0 01232000 CLOSEFLG EQU FLAG1+0 01233000 ORG FLAG1+1 01234000 BLSFUP00 CSECT 01235000 DS 0F 01236000 @SIZDATD DC AL1(0) 01237000 DC AL3(@ENDDATD-@DATD) 01238000 DS 0D 01239000 @CC01073 DC C'DMCB' 01240000 @CB01078 DC B'10010000' 01241000 @CB01107 DC B'00000000' 01242000 @DATD DSECT 01243000 SPACE 2 01244000 *********************************************************************** 01245000 * THE FOLLOWING AREA, BLRPATCH, IS RESERVED FOR PATCH APPLICATION * 01246000 * TO OBTAIN PATCH ROOM IN THE @DATD AUTOMATIC STORAGE AREA, MODIFY * 01247000 * CONSTANT @SIZDATD TO REFLECT THE DESIRED @DATD SIZE * 01248000 *********************************************************************** 01249000 SPACE 01250000 BLSFUP00 CSECT 01251000 ORG 01252000 DS 0D 01253000 BLRPATCH DC CL8'ZAPAREA',(((*-BLSFUP00+19)/20+7)/8)CL8'BLSFUP00' 01254000 @DATD DSECT 01255000 SPACE 2 01256000 *********************************************************************** 01257000 * ALIGN END OF DATA ON A DOUBLEWORD BOUNDARY * 01258000 *********************************************************************** 01259000 SPACE 01260000 DS 0D 01261000 @DATD DSECT 01262000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 01263000 @ENDDATD EQU * 01264000 BLSFUP00 CSECT 01265000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 01266000 @01 EQU 01 01267000 @02 EQU 02 01268000 @03 EQU 03 01269000 @04 EQU 04 01270000 @05 EQU 05 01271000 @06 EQU 06 01272000 @07 EQU 07 01273000 @08 EQU 08 01274000 @09 EQU 09 01275000 @10 EQU 10 01276000 @11 EQU 11 01277000 @12 EQU 12 01278000 @13 EQU 13 01279000 @14 EQU 14 01280000 @15 EQU 15 01281000 READPTR EQU @08 01282000 RETCODE EQU @07 01283000 RETC EQU @02 01284000 ZZ2PTR EQU @05 01285000 DMCBPTR EQU @06 01286000 R0 EQU @00 01287000 R1 EQU @01 01288000 R2 EQU @02 01289000 R3 EQU @03 01290000 R4 EQU @04 01291000 R5 EQU @05 01292000 R9 EQU @09 01293000 RB EQU @11 01294000 RD EQU @13 01295000 RE EQU @14 01296000 RF EQU @15 01297000 GPR01P EQU @01 01298000 GPR00F EQU @00 01299000 GPR15F EQU @15 01300000 GPR01F EQU @01 01301000 RA EQU @10 01302000 RC EQU @12 01303000 R6 EQU @06 01304000 R7 EQU @07 01305000 R8 EQU @08 01306000 PDREC EQU 0 01307000 PDRKEY EQU PDREC 01308000 PDRGRP EQU PDRKEY 01309000 PDRKPID EQU PDRGRP+2 01310000 PDRINFO EQU PDREC+16 01311000 DMCB EQU 0 01312000 DMCBID EQU DMCB 01313000 DMCBFTY EQU DMCB+20 01314000 DMCBOPN EQU DMCB+21 01315000 DMCBRQST EQU DMCB+22 01316000 DMCBRMOD EQU DMCB+23 01317000 DMCBOUT EQU DMCBRMOD 01318000 DMCBTMP EQU DMCBOUT 01319000 DMCBRM6 EQU DMCBRMOD 01320000 DMCBRM5 EQU DMCBRMOD 01321000 DMCBOPTS EQU DMCB+24 01322000 DMCBKYD EQU DMCBOPTS 01323000 DMCBGKY EQU DMCBOPTS 01324000 DMCBAPX EQU DMCBOPTS 01325000 DMCBUPD EQU DMCBOPTS 01326000 DMCBMFLG EQU DMCB+28 01327000 DMCBBUFP EQU DMCB+32 01328000 DMCBBLEN EQU DMCB+36 01329000 DMCBORL EQU DMCB+40 01330000 DMCBKEYP EQU DMCB+44 01331000 DMCBKEYL EQU DMCB+48 01332000 DMCBMSG EQU DMCB+52 01333000 DMCBRI EQU DMCB+64 01334000 DMCBACBE EQU DMCB+124 01335000 DMCBSPEC EQU DMCB+380 01336000 DMCBAMS EQU DMCB+416 01337000 DMCBAUDT EQU DMCB+568 01338000 DMCBLSCP EQU DMCBAUDT+16 01339000 DMCBDMGR EQU 0 01340000 ZZ1 EQU 0 01341000 ZZ1PDRP EQU ZZ1+40 01342000 ZZ1ATTN EQU ZZ1+360 01343000 ZZ1EVE EQU ZZ1ATTN+4 01344000 ZZ1F EQU ZZ1+368 01345000 ZZ1N EQU ZZ1+1116 01346000 ZZ2 EQU 0 01347000 ZZ2AMD EQU ZZ2 01348000 @NM00013 EQU ZZ2AMD+7 01349000 ZZ2PRT EQU ZZ2+138 01350000 ZZ2PRTT EQU ZZ2PRT+4 01351000 ZZ2PRTT1 EQU ZZ2PRTT+1 01352000 ZZ2A EQU ZZ2+272 01353000 ZZ2AF EQU ZZ2A+16 01354000 ZZ2APID EQU ZZ2A+64 01355000 ZZ2AD EQU ZZ2A+74 01356000 ZZ2ADD EQU ZZ2AD 01357000 ZZ2ADDT EQU ZZ2ADD+2 01358000 ZZ2ADM EQU ZZ2AD+46 01359000 ZZ2ADMT EQU ZZ2ADM+2 01360000 ZZ2ADP EQU ZZ2AD+56 01361000 ZZ2ADPT EQU ZZ2ADP+2 01362000 ZZ2AQAS EQU ZZ2A+144 01363000 ZZ2AQD EQU ZZ2A+160 01364000 ZZ2AQDT EQU ZZ2AQD+10 01365000 ZZ2AQDF EQU ZZ2AQD+52 01366000 ZZ2STG EQU ZZ2+960 01367000 ZZ2ALLOP EQU ZZ2+992 01368000 ZZ2FREEP EQU ZZ2+996 01369000 ZZ2FF19P EQU ZZ2+1000 01370000 ZZ2FRE1P EQU ZZ2+1004 01371000 ZZ2FF18P EQU ZZ2+1008 01372000 ZZ2DYNAP EQU ZZ2+1012 01373000 ZZ2ZZ2CP EQU ZZ2+1016 01374000 ZZ2ZZ2DP EQU ZZ2+1020 01375000 ZZ2STAIP EQU ZZ2+1024 01376000 ZZ2FF02P EQU ZZ2+1028 01377000 ZZ2GETLP EQU ZZ2+1032 01378000 ZZ2PARSP EQU ZZ2+1036 01379000 ZZ2PTGTP EQU ZZ2+1040 01380000 ZZ2PUTLP EQU ZZ2+1044 01381000 ZZ2SCANP EQU ZZ2+1048 01382000 ZZ2STCKP EQU ZZ2+1052 01383000 ZZ2ALOCP EQU ZZ2+1056 01384000 ZZ2MSGSP EQU ZZ2+1060 01385000 ZZ2TRMOP EQU ZZ2+1064 01386000 ZZ2TRMVP EQU ZZ2+1068 01387000 ZZ2MSG0P EQU ZZ2+1076 01388000 ZZ2PUTNP EQU ZZ2+1084 01389000 ZZ2TRMNP EQU ZZ2+1088 01390000 ZZ2ENQ0P EQU ZZ2+1092 01391000 ZZ2ADSDP EQU ZZ2+1096 01392000 ZZ2APDRP EQU ZZ2+1100 01393000 ZZ2FDSDP EQU ZZ2+1104 01394000 ZZ2FPDRP EQU ZZ2+1108 01395000 ZZ2ZZ1P EQU ZZ2+1264 01396000 ZZ2DVTP EQU ZZ2+1276 01397000 ZZ2BVTP EQU ZZ2+1280 01398000 ZZ2CPPL EQU ZZ2+1292 01399000 ZZ2CPPLC EQU ZZ2CPPL 01400000 ZZ2ITR EQU ZZ2+2840 01401000 ZZ2ITRE EQU ZZ2ITR+16 01402000 ZZ2ITSE EQU ZZ2+2864 01403000 ZZ2ES EQU ZZ2+2872 01404000 ZZ2AMDX EQU ZZ2+7160 01405000 ZZ2AXO EQU ZZ2+7934 01406000 ZZ2AXOT EQU ZZ2AXO+2 01407000 CMD EQU 0 01408000 CMDT EQU CMD+4 01409000 PSCB EQU 0 01410000 PSCBATR1 EQU PSCB+16 01411000 ECT EQU 0 01412000 ECTSWS EQU ECT+28 01413000 ECTSWS2 EQU ECT+40 01414000 ECTSWS21 EQU ECTSWS2 01415000 UPT EQU 0 01416000 UPTSWS EQU UPT+12 01417000 SA EQU 0 01418000 SA1 EQU SA 01419000 SAR EQU SA+12 01420000 BVT EQU 0 01421000 BVTPUTLP EQU BVT+4 01422000 BVTPUTOP EQU BVT+12 01423000 BVTPUTTP EQU BVT+16 01424000 BVTPUTVP EQU BVT+20 01425000 BVTPUTAP EQU BVT+24 01426000 BVTPRTTP EQU BVT+28 01427000 BVTPRTAP EQU BVT+32 01428000 BVTPUTDP EQU BVT+36 01429000 BVTMONP EQU BVT+40 01430000 BVTMON2P EQU BVT+44 01431000 BVTVSARP EQU BVT+48 01432000 BVTVSENP EQU BVT+64 01433000 BVTVSERP EQU BVT+68 01434000 BVTVSGEP EQU BVT+72 01435000 BVTVSGUP EQU BVT+76 01436000 BVTVSPOP EQU BVT+80 01437000 BVTVSPUP EQU BVT+84 01438000 BVTMPKNP EQU BVT+104 01439000 BVTMONLP EQU BVT+108 01440000 BVTPUTCP EQU BVT+132 01441000 BVTMPK1P EQU BVT+136 01442000 BVTZZ2RP EQU BVT+140 01443000 BVTPGMRP EQU BVT+144 01444000 BVTMONAP EQU BVT+148 01445000 BVTBLDDP EQU BVT+152 01446000 BVTBLDLP EQU BVT+156 01447000 BVTPGMCP EQU BVT+160 01448000 BVTPGMDP EQU BVT+164 01449000 BVTPGMLP EQU BVT+168 01450000 BVTMONCP EQU BVT+180 01451000 BVTMONDP EQU BVT+184 01452000 BVTMONTP EQU BVT+188 01453000 BVTPARIP EQU BVT+192 01454000 BVTPARUP EQU BVT+196 01455000 BVTPRTNP EQU BVT+204 01456000 BVTVSCRP EQU BVT+208 01457000 BVTVSMRP EQU BVT+212 01458000 BVTMONXP EQU BVT+216 01459000 BVTTRMAP EQU BVT+228 01460000 BLSDMSGS EQU 0 01461000 BLSDMSG0 EQU 0 01462000 DVT EQU 0 01463000 DVTDEQPP EQU DVT+8 01464000 DVTENQPP EQU DVT+12 01465000 DVTAUTHP EQU DVT+20 01466000 DVTLPCLP EQU DVT+24 01467000 DVTBP00P EQU DVT+28 01468000 DVTCN00P EQU DVT+32 01469000 DVTDF00P EQU DVT+36 01470000 DVTDS00P EQU DVT+44 01471000 DVTFL00P EQU DVT+48 01472000 DVTFP00P EQU DVT+52 01473000 DVTGD00P EQU DVT+56 01474000 DVTGG00P EQU DVT+60 01475000 DVTGP00P EQU DVT+64 01476000 DVTND00P EQU DVT+68 01477000 DVTND01P EQU DVT+72 01478000 DVTOD00P EQU DVT+76 01479000 DVTPS00P EQU DVT+80 01480000 DVTSD00P EQU DVT+84 01481000 DVTSL00P EQU DVT+88 01482000 DVTTL00P EQU DVT+92 01483000 DVTUD00P EQU DVT+96 01484000 DVTLP00P EQU DVT+104 01485000 DVTLALLP EQU DVT+108 01486000 DVTLPFMP EQU DVT+112 01487000 DVTCLOSP EQU DVT+116 01488000 DVTOPENP EQU DVT+120 01489000 DVTPERAP EQU DVT+124 01490000 DVTDALLP EQU DVT+128 01491000 MSGDENT EQU 0 01492000 MSGDPRF EQU MSGDENT 01493000 MSGDWRT EQU MSGDENT+8 01494000 MSGDMOV EQU MSGDWRT+4 01495000 MSGWENT EQU 0 01496000 MSGWMOV EQU MSGWENT+4 01497000 RECAREA EQU 0 01498000 BLSCALOC EQU 0 01499000 BLSDADSD EQU 0 01500000 BLSDAPDR EQU 0 01501000 BLSDDEQP EQU 0 01502000 BLSDENQP EQU 0 01503000 BLSDENQ0 EQU 0 01504000 BLSDFDSD EQU 0 01505000 BLSDFPDR EQU 0 01506000 BLSEAUTH EQU 0 01507000 BLSELPCL EQU 0 01508000 BLSELPFM EQU 0 01509000 BLSFBP00 EQU 0 01510000 BLSFCLOS EQU 0 01511000 BLSFCN00 EQU 0 01512000 BLSFDALL EQU 0 01513000 BLSFDF00 EQU 0 01514000 BLSFDS00 EQU 0 01515000 BLSFFL00 EQU 0 01516000 BLSFFP00 EQU 0 01517000 BLSFGD00 EQU 0 01518000 BLSFGG00 EQU 0 01519000 BLSFGP00 EQU 0 01520000 BLSFLALL EQU 0 01521000 BLSFLP00 EQU 0 01522000 BLSFND00 EQU 0 01523000 BLSFND01 EQU 0 01524000 BLSFOD00 EQU 0 01525000 BLSFOPEN EQU 0 01526000 BLSFPERA EQU 0 01527000 BLSFPS00 EQU 0 01528000 BLSFSD00 EQU 0 01529000 BLSFSL00 EQU 0 01530000 BLSFTL00 EQU 0 01531000 BLSFUD00 EQU 0 01532000 BLSUALLO EQU 0 01533000 BLSUBLDD EQU 0 01534000 BLSUBLDL EQU 0 01535000 BLSUDYNA EQU 0 01536000 BLSUFREE EQU 0 01537000 BLSUFRE1 EQU 0 01538000 BLSUMON EQU 0 01539000 BLSUMONA EQU 0 01540000 BLSUMONC EQU 0 01541000 BLSUMOND EQU 0 01542000 BLSUMONL EQU 0 01543000 BLSUMONT EQU 0 01544000 BLSUMONX EQU 0 01545000 BLSUMON2 EQU 0 01546000 BLSUMPKN EQU 0 01547000 BLSUMPK1 EQU 0 01548000 BLSUPARI EQU 0 01549000 BLSUPARU EQU 0 01550000 BLSUPGMC EQU 0 01551000 BLSUPGMD EQU 0 01552000 BLSUPGML EQU 0 01553000 BLSUPGMR EQU 0 01554000 BLSUPRTA EQU 0 01555000 BLSUPRTN EQU 0 01556000 BLSUPRTT EQU 0 01557000 BLSUPUTA EQU 0 01558000 BLSUPUTC EQU 0 01559000 BLSUPUTD EQU 0 01560000 BLSUPUTL EQU 0 01561000 BLSUPUTN EQU 0 01562000 BLSUPUTO EQU 0 01563000 BLSUPUTT EQU 0 01564000 BLSUPUTV EQU 0 01565000 BLSUSTAI EQU 0 01566000 BLSUTRMA EQU 0 01567000 BLSUTRMN EQU 0 01568000 BLSUTRMO EQU 0 01569000 BLSUTRMV EQU 0 01570000 BLSUVSAR EQU 0 01571000 BLSUVSCR EQU 0 01572000 BLSUVSEN EQU 0 01573000 BLSUVSER EQU 0 01574000 BLSUVSGE EQU 0 01575000 BLSUVSGU EQU 0 01576000 BLSUVSMR EQU 0 01577000 BLSUVSPO EQU 0 01578000 BLSUVSPU EQU 0 01579000 BLSUZZ2C EQU 0 01580000 BLSUZZ2D EQU 0 01581000 BLSUZZ2R EQU 0 01582000 DMCBRQC EQU 0 01583000 IKJEFF02 EQU 0 01584000 IKJEFF18 EQU 0 01585000 IKJEFF19 EQU 0 01586000 IKJGETL EQU 0 01587000 IKJPARS EQU 0 01588000 IKJPTGT EQU 0 01589000 IKJPUTL EQU 0 01590000 IKJSCAN EQU 0 01591000 IKJSTCK EQU 0 01592000 I001C EQU 0 01593000 I008P EQU 0 01594000 I015F EQU 0 01595000 I015P EQU 0 01596000 I031F EQU 0 01597000 I031P EQU 0 01598000 I256C EQU 0 01599000 ZZ2CB EQU 0 01600000 PDRREC EQU 0 01601000 PDRRECL EQU 0 01602000 PDRSTREC EQU PDRINFO 01603000 PDRODATE EQU PDRSTREC 01604000 PDROWNNM EQU PDRSTREC+32 01605000 PDRDEREC EQU PDRINFO 01606000 PDRDESCR EQU PDRDEREC 01607000 PDRTRREC EQU PDRINFO 01608000 PDRTRARR EQU PDRTRREC 01609000 PDRHSREC EQU PDRINFO 01610000 PDRDSREC EQU PDRINFO 01611000 PDRDSNM EQU PDRDSREC 01612000 PDRSVALU EQU PDRODATE 01613000 DMCBVSM EQU DMCBAMS 01614000 DMCBQSM EQU DMCBAMS 01615000 CPPL EQU ZZ2CPPL 01616000 CPPLUPT EQU CPPL+4 01617000 CPPLPSCB EQU CPPL+8 01618000 CPPLECT EQU CPPL+12 01619000 * START UNREFERENCED COMPONENTS 01620000 CPPLCBUF EQU CPPL 01621000 DMCBRES7 EQU DMCBQSM+96 01622000 DMCBDCB EQU DMCBQSM 01623000 DMCBACB EQU DMCBVSM+76 01624000 DMCBRPL EQU DMCBVSM 01625000 PDRSVNUM EQU PDRSVALU+3 01626000 PDRSVRES EQU PDRSVALU 01627000 PDRDSRES EQU PDRDSREC+52 01628000 PDRMEMB EQU PDRDSNM+44 01629000 PDRDSN EQU PDRDSNM 01630000 PDRHYMSD EQU PDRHSREC+4 01631000 PDRHSLEN EQU PDRHSREC 01632000 PDRTRKD EQU PDRTRARR 01633000 PDRDESC EQU PDRDESCR 01634000 PDRDSSEQ EQU PDRSTREC+396 01635000 PDRRES6 EQU PDRSTREC+392 01636000 PDRTRKL EQU PDRSTREC+388 01637000 PDRDESCL EQU PDRSTREC+384 01638000 PDRABS EQU PDRSTREC+256 01639000 PDRRES5 EQU PDRSTREC+252 01640000 PDRFIXID EQU PDRSTREC+192 01641000 PDRFTIME EQU PDRSTREC+184 01642000 PDRFDATE EQU PDRSTREC+176 01643000 PDRFSTAT EQU PDRSTREC+172 01644000 PDRRES4 EQU PDRSTREC+167 01645000 PDRPTFID EQU PDRSTREC+160 01646000 PDRTTIME EQU PDRSTREC+152 01647000 PDRTDATE EQU PDRSTREC+144 01648000 PDRTSTAT EQU PDRSTREC+140 01649000 PDRRES3 EQU PDRSTREC+135 01650000 PDRAPRID EQU PDRSTREC+128 01651000 PDRITIME EQU PDRSTREC+120 01652000 PDRIDATE EQU PDRSTREC+112 01653000 PDRISTAT EQU PDRSTREC+104 01654000 PDRRTIME EQU PDRSTREC+96 01655000 PDRRDATE EQU PDRSTREC+88 01656000 PDRPTIME EQU PDRSTREC+80 01657000 PDRPDATE EQU PDRSTREC+72 01658000 PDRPSTAT EQU PDRSTREC+64 01659000 PDRUSER EQU PDRSTREC+56 01660000 PDRSYS EQU PDRSTREC+48 01661000 PDRGROUP EQU PDRSTREC+40 01662000 PDROWNLN EQU PDROWNNM+7 01663000 PDROWNID EQU PDROWNNM 01664000 PDRRES1 EQU PDRSTREC+27 01665000 PDRSEV EQU PDRSTREC+26 01666000 PDRCOMP EQU PDRSTREC+16 01667000 PDROTIME EQU PDRSTREC+8 01668000 MSGWTXT EQU MSGWMOV+4 01669000 MSGWPAD EQU MSGWMOV+2 01670000 MSGWLEN EQU MSGWMOV 01671000 MSGWNXT EQU MSGWENT 01672000 MSGDTXT EQU MSGDMOV+4 01673000 MSGDPAD EQU MSGDMOV+2 01674000 MSGDLEN EQU MSGDMOV 01675000 MSGDNXT EQU MSGDWRT 01676000 MSGDBAK EQU MSGDPRF+4 01677000 MSGDFLEN EQU MSGDPRF+1 01678000 MSGDSPID EQU MSGDPRF 01679000 DVT99999 EQU DVT+256 01680000 DVT0064P EQU DVT+252 01681000 DVT0063P EQU DVT+248 01682000 DVT0062P EQU DVT+244 01683000 DVT0061P EQU DVT+240 01684000 DVT0060P EQU DVT+236 01685000 DVT0059P EQU DVT+232 01686000 DVT0058P EQU DVT+228 01687000 DVT0057P EQU DVT+224 01688000 DVT0056P EQU DVT+220 01689000 DVT0055P EQU DVT+216 01690000 DVT0054P EQU DVT+212 01691000 DVT0053P EQU DVT+208 01692000 DVT0052P EQU DVT+204 01693000 DVT0051P EQU DVT+200 01694000 DVT0050P EQU DVT+196 01695000 DVT0049P EQU DVT+192 01696000 DVT0048P EQU DVT+188 01697000 DVT0047P EQU DVT+184 01698000 DVT0046P EQU DVT+180 01699000 DVT0045P EQU DVT+176 01700000 DVT0044P EQU DVT+172 01701000 DVT0043P EQU DVT+168 01702000 DVT0042P EQU DVT+164 01703000 DVT0041P EQU DVT+160 01704000 DVT0040P EQU DVT+156 01705000 DVT0039P EQU DVT+152 01706000 DVT0038P EQU DVT+148 01707000 DVT0037P EQU DVT+144 01708000 DVT0036P EQU DVT+140 01709000 DVT0035P EQU DVT+136 01710000 DVT0034P EQU DVT+132 01711000 DVTUP00P EQU DVT+100 01712000 DVT0011P EQU DVT+40 01713000 DVT0005P EQU DVT+16 01714000 DVT0002P EQU DVT+4 01715000 DVT0001P EQU DVT 01716000 BVT99999 EQU BVT+256 01717000 BVT0064P EQU BVT+252 01718000 BVT0063P EQU BVT+248 01719000 BVT0062P EQU BVT+244 01720000 BVT0061P EQU BVT+240 01721000 BVT0060P EQU BVT+236 01722000 BVT0059P EQU BVT+232 01723000 BVT0057P EQU BVT+224 01724000 BVT0056P EQU BVT+220 01725000 BVTSTBLP EQU BVT+200 01726000 BVT0045P EQU BVT+176 01727000 BVT0044P EQU BVT+172 01728000 BVT0033P EQU BVT+128 01729000 BVT0032P EQU BVT+124 01730000 BVT0031P EQU BVT+120 01731000 BVT0030P EQU BVT+116 01732000 BVT0029P EQU BVT+112 01733000 BVT0026P EQU BVT+100 01734000 BVT0025P EQU BVT+96 01735000 BVT0024P EQU BVT+92 01736000 BVT0023P EQU BVT+88 01737000 BVT0016P EQU BVT+60 01738000 BVT0015P EQU BVT+56 01739000 BVT0014P EQU BVT+52 01740000 BVT0003P EQU BVT+8 01741000 BVT0001P EQU BVT 01742000 SA99 EQU SA+72 01743000 SARC EQU SAR+56 01744000 SARB EQU SAR+52 01745000 SARA EQU SAR+48 01746000 SAR9 EQU SAR+44 01747000 SAR8 EQU SAR+40 01748000 SAR7 EQU SAR+36 01749000 SAR6 EQU SAR+32 01750000 SAR5 EQU SAR+28 01751000 SAR4 EQU SAR+24 01752000 SAR3 EQU SAR+20 01753000 SAR2 EQU SAR+16 01754000 SAR1 EQU SAR+12 01755000 SAR0 EQU SAR+8 01756000 SARF EQU SAR+4 01757000 SARE EQU SAR 01758000 SAFWD EQU SA+8 01759000 SABAK EQU SA+4 01760000 SA1L EQU SA1+1 01761000 SA1P EQU SA1 01762000 UPTPREFL EQU UPT+23 01763000 UPTPREFX EQU UPT+16 01764000 @NM00068 EQU UPT+15 01765000 UPTLDEL EQU UPT+14 01766000 UPTCDEL EQU UPT+13 01767000 UPTWTP EQU UPTSWS 01768000 UPTMODE EQU UPTSWS 01769000 UPTALD EQU UPTSWS 01770000 UPTPAUS EQU UPTSWS 01771000 UPTNCOM EQU UPTSWS 01772000 UPTMID EQU UPTSWS 01773000 UPTNPRM EQU UPTSWS 01774000 UPTRCVR EQU UPTSWS 01775000 UPTUSER EQU UPT+2 01776000 @NM00067 EQU UPT 01777000 @NM00066 EQU ECT+52 01778000 @NM00065 EQU ECT+48 01779000 @NM00064 EQU ECT+44 01780000 @NM00063 EQU ECTSWS2+1 01781000 @NM00062 EQU ECTSWS21 01782000 ECTTABND EQU ECTSWS21 01783000 ECTDEFCS EQU ECTSWS21 01784000 ECTBKPB EQU ECT+36 01785000 ECTUSER EQU ECT+32 01786000 ECTDDNUM EQU ECT+29 01787000 ECTATTN EQU ECTSWS 01788000 ECTBKGRD EQU ECTSWS 01789000 ECTNNOT EQU ECTSWS 01790000 ECTNMAL EQU ECTSWS 01791000 ECTLOGF EQU ECTSWS 01792000 ECTATRM EQU ECTSWS 01793000 @NM00061 EQU ECTSWS 01794000 ECTNOPD EQU ECTSWS 01795000 ECTSCMD EQU ECT+20 01796000 ECTPCMD EQU ECT+12 01797000 ECTSMSG EQU ECT+9 01798000 ECTMSGF EQU ECT+8 01799000 ECTIOWA EQU ECT+4 01800000 ECTRTCD EQU ECT+1 01801000 ECTRCDF EQU ECT 01802000 PSCBU EQU PSCB+64 01803000 PSCBRSZ EQU PSCB+60 01804000 PSCBLINE EQU PSCB+59 01805000 PSCBCHAR EQU PSCB+58 01806000 PSCBUPTL EQU PSCB+56 01807000 PSCBUPT EQU PSCB+52 01808000 PSCBRLGB EQU PSCB+48 01809000 PSCBDEST EQU PSCB+40 01810000 @NM00060 EQU PSCB+36 01811000 @NM00059 EQU PSCB+32 01812000 @NM00058 EQU PSCB+28 01813000 PSCBLTI2 EQU PSCB+24 01814000 PSCBLTIM EQU PSCB+20 01815000 PSCBATR2 EQU PSCB+18 01816000 @NM00057 EQU PSCBATR1 01817000 @NM00056 EQU PSCBATR1 01818000 @NM00055 EQU PSCBATR1 01819000 PSCBATTN EQU PSCBATR1 01820000 PSCBVMNT EQU PSCBATR1 01821000 PSCBJCL EQU PSCBATR1 01822000 PSCBACCT EQU PSCBATR1 01823000 PSCBCTRL EQU PSCBATR1 01824000 PSCBGPNM EQU PSCB+8 01825000 PSCBUSRL EQU PSCB+7 01826000 PSCBUSER EQU PSCB 01827000 CMDT1 EQU CMDT 01828000 CMDO EQU CMD+2 01829000 CMDL EQU CMD 01830000 ZZ299999 EQU ZZ2+8192 01831000 ZZ2AXOT1 EQU ZZ2AXOT 01832000 ZZ2AXOL EQU ZZ2AXO 01833000 @NM00054 EQU ZZ2+7288 01834000 @NM00053 EQU ZZ2AMDX+4 01835000 ZZ2AMDXC EQU ZZ2AMDX 01836000 ZZ2HSD EQU ZZ2+3056 01837000 @NM00052 EQU ZZ2ES 01838000 @NM00051 EQU ZZ2+2868 01839000 ZZ2ITSEC EQU ZZ2ITSE+1 01840000 @NM00050 EQU ZZ2ITSE 01841000 ZZ2ITSEP EQU ZZ2ITSE 01842000 ZZ2ITSEW EQU ZZ2ITSE 01843000 @NM00049 EQU ZZ2ITR+20 01844000 ZZ2ITREC EQU ZZ2ITRE+1 01845000 @NM00048 EQU ZZ2ITRE 01846000 ZZ2ITREP EQU ZZ2ITRE 01847000 ZZ2ITREW EQU ZZ2ITRE 01848000 @NM00047 EQU ZZ2ITR+9 01849000 ZZ2ITRRC EQU ZZ2ITR+8 01850000 ZZ2ITR2P EQU ZZ2ITR+4 01851000 ZZ2ITRPP EQU ZZ2ITR 01852000 @NM00046 EQU ZZ2+1544 01853000 ZZ2PGM EQU ZZ2+1536 01854000 @NM00045 EQU ZZ2+1526 01855000 ZZ2CW EQU ZZ2+1524 01856000 @NM00044 EQU ZZ2+1504 01857000 @NM00043 EQU ZZ2+1352 01858000 ZZ2FFSYP EQU ZZ2+1348 01859000 ZZ2SASYP EQU ZZ2+1344 01860000 ZZ2RDSYP EQU ZZ2+1340 01861000 ZZ2RASYP EQU ZZ2+1336 01862000 ZZ2PHSYP EQU ZZ2+1332 01863000 ZZ2ESSYP EQU ZZ2+1328 01864000 ZZ200SYP EQU ZZ2+1324 01865000 ZZ2SCWP EQU ZZ2+1320 01866000 ZZ2TTLP EQU ZZ2+1316 01867000 ZZ2LOADP EQU ZZ2+1312 01868000 ZZ2VRESP EQU ZZ2+1308 01869000 ZZ2CPPLE EQU ZZ2CPPL+12 01870000 ZZ2CPPLP EQU ZZ2CPPL+8 01871000 ZZ2CPPLU EQU ZZ2CPPL+4 01872000 ZZ2VRSAP EQU ZZ2+1288 01873000 ZZ2RVTP EQU ZZ2+1284 01874000 @NM00042 EQU ZZ2+1272 01875000 @NM00041 EQU ZZ2+1268 01876000 ZZ2RPLP EQU ZZ2+1260 01877000 ZZ2TCBP EQU ZZ2+1256 01878000 @NM00040 EQU ZZ2+1252 01879000 ZZ2ZZ2P EQU ZZ2+1248 01880000 @NM00039 EQU ZZ2+1112 01881000 @NM00038 EQU ZZ2+1080 01882000 ZZ2FT25P EQU ZZ2+1072 01883000 @NM00037 EQU ZZ2+976 01884000 ZZ2TOD EQU ZZ2+968 01885000 ZZ2STGN EQU ZZ2STG+4 01886000 ZZ2STGP EQU ZZ2STG 01887000 @NM00036 EQU ZZ2+952 01888000 ZZ2SCMDE EQU ZZ2+944 01889000 ZZ2SCMDN EQU ZZ2+936 01890000 ZZ2IDENT EQU ZZ2+928 01891000 ZZ2A9999 EQU ZZ2A+656 01892000 @NM00035 EQU ZZ2A+224 01893000 @NM00034 EQU ZZ2A+220 01894000 ZZ2AQD99 EQU ZZ2AQD+60 01895000 @NM00033 EQU ZZ2AQD+56 01896000 @NM00032 EQU ZZ2AQDF 01897000 ZZ2AQDFA EQU ZZ2AQDF 01898000 ZZ2AQDIL EQU ZZ2AQD+48 01899000 ZZ2AQDIM EQU ZZ2AQD+44 01900000 ZZ2AQDT9 EQU ZZ2AQDT+34 01901000 ZZ2AQDTE EQU ZZ2AQDT+33 01902000 ZZ2AQDTD EQU ZZ2AQDT+2 01903000 @NM00031 EQU ZZ2AQDT+1 01904000 ZZ2AQDTY EQU ZZ2AQDT 01905000 ZZ2AQDT0 EQU ZZ2AQDT 01906000 ZZ2AQDLB EQU ZZ2AQD+9 01907000 ZZ2AQDOB EQU ZZ2AQD+8 01908000 ZZ2AQDLE EQU ZZ2AQD+4 01909000 ZZ2AQDOF EQU ZZ2AQD 01910000 ZZ2AQD00 EQU ZZ2AQD 01911000 ZZ2AQAS9 EQU ZZ2AQAS+16 01912000 @NM00030 EQU ZZ2AQAS+12 01913000 ZZ2AQAS2 EQU ZZ2AQAS+8 01914000 ZZ2AQAS1 EQU ZZ2AQAS+4 01915000 @NM00029 EQU ZZ2AQAS+2 01916000 ZZ2AQAST EQU ZZ2AQAS 01917000 ZZ2AQAS0 EQU ZZ2AQAS 01918000 ZZ2AZZ6P EQU ZZ2A+140 01919000 ZZ2ADPTA EQU ZZ2ADPT 01920000 ZZ2ADPL EQU ZZ2ADP 01921000 ZZ2ADMTA EQU ZZ2ADMT 01922000 ZZ2ADML EQU ZZ2ADM 01923000 ZZ2ADDTA EQU ZZ2ADDT 01924000 ZZ2ADDL EQU ZZ2ADD 01925000 @NM00028 EQU ZZ2A+72 01926000 ZZ2APIDB EQU ZZ2APID+3 01927000 ZZ2APIDA EQU ZZ2APID 01928000 @NM00027 EQU ZZ2A+24 01929000 @NM00026 EQU ZZ2AF+5 01930000 ZZ2AFX EQU ZZ2AF+5 01931000 @NM00025 EQU ZZ2AF+3 01932000 ZZ2AFS EQU ZZ2AF+2 01933000 ZZ2AFD EQU ZZ2AF+2 01934000 ZZ2AFQ EQU ZZ2AF+2 01935000 ZZ2AF$ EQU ZZ2AF+2 01936000 @NM00024 EQU ZZ2AF+2 01937000 ZZ2AFM EQU ZZ2AF+2 01938000 @NM00023 EQU ZZ2AF+2 01939000 @NM00022 EQU ZZ2AF+1 01940000 ZZ2AFV EQU ZZ2AF+1 01941000 @NM00021 EQU ZZ2AF+1 01942000 ZZ2AFC EQU ZZ2AF+1 01943000 @NM00020 EQU ZZ2AF 01944000 ZZ2AFFS EQU ZZ2AF 01945000 ZZ2AFT EQU ZZ2AF 01946000 ZZ2AFP EQU ZZ2AF 01947000 @NM00019 EQU ZZ2A+8 01948000 ZZ2ALINE EQU ZZ2A+4 01949000 @NM00018 EQU ZZ2A+3 01950000 ZZ2ASE EQU ZZ2A+2 01951000 ZZ2ACH EQU ZZ2A 01952000 @NM00017 EQU ZZ2+264 01953000 @NM00016 EQU ZZ2+263 01954000 ZZ2PRTT0 EQU ZZ2PRTT 01955000 ZZ2PRTO EQU ZZ2PRT+2 01956000 ZZ2PRTL EQU ZZ2PRT 01957000 @NM00015 EQU ZZ2AMD+56 01958000 ZZ2AMDXP EQU ZZ2AMD+52 01959000 ZZ2AMDD EQU ZZ2AMD+48 01960000 ZZ2AMDL EQU ZZ2AMD+44 01961000 ZZ2AMDU EQU ZZ2AMD+28 01962000 ZZ2AMDF EQU ZZ2AMD+24 01963000 ZZ2AMDS EQU ZZ2AMD+20 01964000 ZZ2AMDC EQU ZZ2AMD+16 01965000 ZZ2AMDP EQU ZZ2AMD+12 01966000 ZZ2AMDB EQU ZZ2AMD+8 01967000 @NM00014 EQU @NM00013 01968000 ZZ2AMD2 EQU @NM00013 01969000 ZZ2AMD1 EQU @NM00013 01970000 ZZ2AMD0 EQU ZZ2AMD+6 01971000 ZZ2AMDA EQU ZZ2AMD+4 01972000 ZZ2AMDT EQU ZZ2AMD 01973000 ZZ199999 EQU ZZ1+3072 01974000 @NM00012 EQU ZZ1+2160 01975000 ZZ1TRTAS EQU ZZ1+1904 01976000 ZZ1TRUPC EQU ZZ1+1648 01977000 ZZ1TRCTX EQU ZZ1+1392 01978000 ZZ1NASID EQU ZZ1N+274 01979000 ZZ1NSTRL EQU ZZ1N+272 01980000 ZZ1NOFF EQU ZZ1N+268 01981000 ZZ1NBDY EQU ZZ1N+264 01982000 ZZ1NADE EQU ZZ1N+260 01983000 ZZ1NADB EQU ZZ1N+256 01984000 ZZ1NSTR EQU ZZ1N 01985000 @NM00011 EQU ZZ1+1080 01986000 ZZ1TREBC EQU ZZ1+824 01987000 ZZ1TRHEX EQU ZZ1+568 01988000 @NM00010 EQU ZZ1+377 01989000 ZZ1USTAE EQU ZZ1+376 01990000 @NM00009 EQU ZZ1F+1 01991000 @NM00008 EQU ZZ1F 01992000 ZZ1FM EQU ZZ1F 01993000 ZZ1FX EQU ZZ1F 01994000 ZZ1FU EQU ZZ1F 01995000 ZZ1EVEC EQU ZZ1EVE+1 01996000 @NM00007 EQU ZZ1EVE 01997000 ZZ1EVEP EQU ZZ1EVE 01998000 ZZ1EVEW EQU ZZ1EVE 01999000 ZZ1ACMP EQU ZZ1ATTN 02000000 @NM00006 EQU ZZ1+144 02001000 ZZ1FPP EQU ZZ1+140 02002000 ZZ1ZZ6P EQU ZZ1+136 02003000 @NM00005 EQU ZZ1+84 02004000 ZZ1PLINE EQU ZZ1+80 02005000 ZZ1PGSZ EQU ZZ1+76 02006000 ZZ1PCNT EQU ZZ1+72 02007000 @NM00004 EQU ZZ1+68 02008000 ZZ1TPAGE EQU ZZ1+64 02009000 ZZ1TLINE EQU ZZ1+60 02010000 @NM00003 EQU ZZ1+52 02011000 ZZ1DMCBP EQU ZZ1+48 02012000 ZZ1DSDP EQU ZZ1+44 02013000 ZZ1ZZ2P EQU ZZ1+36 02014000 ZZ1327WP EQU ZZ1+32 02015000 ZZ1ACBP EQU ZZ1+28 02016000 @NM00002 EQU ZZ1+24 02017000 ZZ1PDCBP EQU ZZ1+20 02018000 ZZ1BLRBL EQU ZZ1+16 02019000 @NM00001 EQU ZZ1+12 02020000 ZZ1PNULL EQU ZZ1+8 02021000 ZZ1NULL EQU ZZ1+4 02022000 ZZ1IDE EQU ZZ1 02023000 DMCBWRK EQU DMCB+648 02024000 DMCBRES8 EQU DMCB+640 02025000 DMCBMODN EQU DMCB+632 02026000 DMCBCARY EQU DMCBAUDT+20 02027000 DMCBCLC EQU DMCBAUDT+12 02028000 DMCBOPC EQU DMCBAUDT+8 02029000 DMCBFRC EQU DMCBAUDT+4 02030000 DMCBALC EQU DMCBAUDT 02031000 DMCBFR EQU DMCB+412 02032000 DMCBRES6 EQU DMCB+410 02033000 DMCBIRSC EQU DMCB+408 02034000 DMCBSUBC EQU DMCB+404 02035000 DMCBDRBP EQU DMCB+400 02036000 DMCBRSZM EQU DMCB+398 02037000 DMCBRSZA EQU DMCB+396 02038000 DMCBCISZ EQU DMCB+394 02039000 DMCBDCBL EQU DMCB+392 02040000 DMCBDCLR EQU DMCB+390 02041000 DMCBDCFM EQU DMCB+389 02042000 DMCBRES5 EQU DMCB+388 02043000 DMCBLBRT EQU DMCB+386 02044000 DMCBLBSQ EQU DMCB+384 02045000 DMCBLBPS EQU DMCB+383 02046000 DMCBLBTY EQU DMCB+382 02047000 DMCBRES4 EQU DMCB+381 02048000 DMCBSPRS EQU DMCBSPEC 02049000 DMCBSPRN EQU DMCBSPEC 02050000 DMCBSPCT EQU DMCBSPEC 02051000 DMCBSPRL EQU DMCBSPEC 02052000 DMCBSPSE EQU DMCB+376 02053000 DMCBSPPR EQU DMCB+372 02054000 DMCBSPTY EQU DMCB+369 02055000 DMCBODIS EQU DMCB+368 02056000 DMCBDISP EQU DMCB+367 02057000 DMCBSTAT EQU DMCB+366 02058000 DMCBRES3 EQU DMCB+364 02059000 DMCBMEMB EQU DMCB+356 02060000 DMCBMODL EQU DMCB+348 02061000 DMCBRES9 EQU DMCB+340 02062000 DMCBPID EQU DMCB+332 02063000 DMCBTYPE EQU DMCB+328 02064000 DMCBDSN EQU DMCB+284 02065000 DMCBUNIT EQU DMCB+276 02066000 DMCBDSOR EQU DMCB+274 02067000 DMCBVOL EQU DMCB+268 02068000 DMCBDDNM EQU DMCB+260 02069000 DMCBSYNM EQU DMCB+132 02070000 DMCBRPLF EQU DMCB+128 02071000 DMCBDCBE EQU DMCBACBE 02072000 DMCBARC EQU DMCB+120 02073000 DMCBCPC EQU DMCB+116 02074000 DMCBRET EQU DMCB+112 02075000 DMCBSTL EQU DMCB+96 02076000 DMCBEOB EQU DMCB+92 02077000 DMCBFRE EQU DMCB+88 02078000 DMCBRES2 EQU DMCB+85 02079000 DMCBSPID EQU DMCB+84 02080000 DMCBRESC EQU DMCB+80 02081000 DMCBZZ1P EQU DMCB+76 02082000 DMCBMSGS EQU DMCB+72 02083000 DMCBMSG0 EQU DMCB+68 02084000 DMCBRRL EQU DMCB+60 02085000 DMCBRBA EQU DMCB+56 02086000 DMCBKPC EQU DMCBKEYP 02087000 DMCBBFPC EQU DMCBBUFP 02088000 DMCBRES1 EQU DMCB+31 02089000 DMCBACCM EQU DMCB+30 02090000 DMCBREJ EQU DMCB+29 02091000 DMCBRESB EQU DMCBMFLG 02092000 DMCBFMOD EQU DMCBMFLG 02093000 DMCBLOPT EQU DMCB+27 02094000 DMCBLRM EQU DMCB+26 02095000 DMCBLRQ EQU DMCB+25 02096000 DMCBOPRS EQU DMCBOPTS 02097000 DMCBLRD EQU DMCBOPTS 02098000 DMCBBWD EQU DMCBOPTS 02099000 DMCBRNO EQU DMCBGKY 02100000 DMCBRMRS EQU DMCBRMOD 02101000 DMCBRESA EQU DMCBOPN 02102000 DMCBSOUT EQU DMCBOPN 02103000 DMCBSIN EQU DMCBOPN 02104000 DMCBVSF EQU DMCBFTY 02105000 DMCBKSF EQU DMCBFTY 02106000 DMCBFTRS EQU DMCBFTY 02107000 DMCBSHF EQU DMCBFTY 02108000 DMCBIRL EQU DMCB+16 02109000 DMCBRTC EQU DMCB+12 02110000 DMCBTVP EQU DMCB+8 02111000 DMCBNEXT EQU DMCB+4 02112000 PDRRESV EQU PDREC+14 02113000 PDRRECSQ EQU PDRKEY+10 02114000 PDRKPNUM EQU PDRKPID+3 02115000 PDRKPREF EQU PDRKPID 02116000 PDRKRCTY EQU PDRGRP 02117000 * END UNREFERENCED COMPONENTS 02118000 @RC00139 EQU @RC00136 02119000 @RC00196 EQU @EL00002 02120000 @RC00189 EQU @EL00002 02121000 @RC00357 EQU @EL00004 02122000 @RC00342 EQU @EL00004 02123000 @RC00335 EQU @EL00004 02124000 @RC00415 EQU @EL00005 02125000 @RC00408 EQU @EL00005 02126000 @RC00142 EQU @RC00139 02127000 @RC00145 EQU @RC00142 02128000 @ENDDATA EQU * 02129000 END BLSFUP00,(C'PLS2015',0701,78065) 02130000