TITLE 'BLSCGETT -- IPCS DATA ACCESS SERVICES GET EXECUTOR *00001000 ' 00002000 * /* CHANGE ACTIVITY 00003000 * THIS MODULE IS WRITTEN FOR @G57LPSR 00004000 BLSCGETT CSECT , 0002 00005000 @MAINENT DS 0H 0002 00006000 USING *,@15 0002 00007000 B @PROLOG 0002 00008000 DC AL1(16) 0002 00009000 DC C'BLSCGETT 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 BLSCGETS 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 * DMCBPTR=GPR01P; /* ESTABLISH ADDRESSIBILITY TO 0026 00024000 * DMCB */ 00025000 LR DMCBPTR,GPR01P 0026 00026000 * RFY 0027 00027000 * GPR01P UNRSTD; 0027 00028000 * MODNAME=LMODNMC; /* MARK AUTOMATIC AREA */ 00029000 MVC MODNAME(8),@CC00572 0028 00030000 * SUBCODE=F0C; /* SUB-ROUTINE RETURN CODE */ 00031000 SLR @10,@10 0029 00032000 ST @10,SUBCODE 0029 00033000 * DMCBRTC=F0C; /* WE ARE SUCCESSFUL UNTIL WE 0030 00034000 * FAIL */ 00035000 * 0030 00036000 ST @10,DMCBRTC(,DMCBPTR) 0030 00037000 * /*****************************************************************/ 00038000 * /* */ 00039000 * /* FIRST DECIDE WHETHER DMCB IS OPEN */ 00040000 * /* */ 00041000 * /*****************************************************************/ 00042000 * 0031 00043000 * IF DMCBSIN=OFF THEN /* DMCB NOT OPEN FOR INPUT */ 00044000 TM DMCBSIN(DMCBPTR),B'10000000' 0031 00045000 BNZ @RF00031 0031 00046000 * DO; /* DMCB NOT OPEN */ 00047000 * DMCBRTC=INVRQ; /* INDICATE INVALID REQUEST */ 00048000 MVC DMCBRTC(4,DMCBPTR),@CF00041 0033 00049000 * DMCBREJ=F0C; /* REQ REJECTED SINCE DMCB IS 0034 00050000 * CLOSED */ 00051000 MVI DMCBREJ(DMCBPTR),X'00' 0034 00052000 * END; /* DMCB NOT OPEN */ 00053000 * ELSE 0036 00054000 * DO; /* DMCB IS OPEN */ 00055000 B @RC00031 0036 00056000 @RF00031 DS 0H 0037 00057000 * 0037 00058000 * /*************************************************************/ 00059000 * /* */ 00060000 * /* QSAM FILE */ 00061000 * /* */ 00062000 * /*************************************************************/ 00063000 * 0037 00064000 * IF DMCBVSF=OFF THEN /* TEST FOR QSAM FILE */ 00065000 TM DMCBVSF(DMCBPTR),B'00000001' 0037 00066000 BNZ @RF00037 0037 00067000 * DO; /* QSAM FILE */ 00068000 * DCBPTR=ADDR(DMCBDCB); /* ESTABLISH ADDRESSIBILITY TO 0039 00069000 * DCB */ 00070000 LA DCBPTR,DMCBDCB(,DMCBPTR) 0039 00071000 * IF DMCBUPD=ON THEN /* GET FOR UPDATE NOT ALLOWED FOR 00072000 * QSAM */ 00073000 TM DMCBUPD(DMCBPTR),B'00010000' 0040 00074000 BNO @RF00040 0040 00075000 * DO; /* GET FOR UPDATE NOT ALLOWED */ 00076000 * DMCBREJ=F1C; /* INDICATE REJECT REASON */ 00077000 MVI DMCBREJ(DMCBPTR),X'01' 0042 00078000 * DMCBRTC=INVRQ; /* INVALID REQUEST */ 00079000 MVC DMCBRTC(4,DMCBPTR),@CF00041 0043 00080000 * END; /* GET FOR UPDATE NOT ALLOWED */ 00081000 * IF DMCBKYD=ON /* KEYED ACCESS NOT ALLOWED FOR 00082000 * QSAM */ 00083000 * |DMCBRNO=ON THEN /* REL RECORD ACCESS NOT ALLOWED 00084000 * FOR QSAM */ 00085000 @RF00040 TM DMCBKYD(DMCBPTR),B'11000000' 0045 00086000 BZ @RF00045 0045 00087000 * DO; /* KEYED OR REL RECORD ACCESS NOT 00088000 * ALLOWED */ 00089000 * DMCBREJ=F2C; /* INDICATE REASON FOR REJECTION */ 00090000 MVI DMCBREJ(DMCBPTR),X'02' 0047 00091000 * DMCBRTC=INVRQ; /* INDICATE INVALID REQUEST */ 00092000 MVC DMCBRTC(4,DMCBPTR),@CF00041 0048 00093000 * END; /* KEYED OR REL RECORD ACCESS NOT 00094000 * ALLOWED */ 00095000 * IF DMCBBLENF0C THEN /* IF NO DATA DONT BOTHER TO 0135 00420000 * SHIFT */ 00421000 CL @06,@CF00540 0135 00422000 BNH @RF00135 0135 00423000 * DO; 0136 00424000 * 0136 00425000 * /*************************************************************/ 00426000 * /* */ 00427000 * /* LOOP TO SHIFT DATA LEFT 4 BYTES */ 00428000 * /* */ 00429000 * /*************************************************************/ 00430000 * 0137 00431000 * MOVELEN=DMCBIRL; /* LENGTH OF DATA TO MOVE */ 00432000 LR MOVELEN,@06 0137 00433000 * MOVEPTR=DMCBBUFP; /* ADDRESS OF DATA BUFFER */ 00434000 LR MOVEPTR,@10 0138 00435000 * DO WHILE(MOVELEN>F256C); /* MOVE IN 256 BYTE CHUNKS */ 00436000 B @DE00139 0139 00437000 @DL00139 DS 0H 0140 00438000 * MVC(TOBUFF,FROMBUFF); /* MVC IS USED TO AVOID TRANSFER 00439000 * THROUGH A TEMPORARY */ 00440000 MVC TOBUFF(256,MOVEPTR),FROMBUFF(MOVEPTR) 0140 00441000 * MOVEPTR=MOVEPTR+F256C; /* PREPARE FOR NEXT CHUNK */ 00442000 LA @10,256 0141 00443000 ALR MOVEPTR,@10 0141 00444000 * MOVELEN=MOVELEN-F256C; /* 256 BYTES LESS TO MOVE */ 00445000 SLR MOVELEN,@10 0142 00446000 * END; 0143 00447000 * 0143 00448000 @DE00139 C MOVELEN,@CF00527 0143 00449000 BH @DL00139 0143 00450000 * /*************************************************************/ 00451000 * /* */ 00452000 * /* AT THIS POINT 256 OR LESS BYTES REMAIN THIS CAN BE */ 00453000 * /* ACCOMPLISHED BY ONE MOVE */ 00454000 * /* */ 00455000 * /*************************************************************/ 00456000 * 0144 00457000 * MVC(TOBUFF(F1C:MOVELEN),FROMBUFF(F1C:MOVELEN)); 0144 00458000 LR @10,MOVELEN 0144 00459000 BCTR @10,0 0144 00460000 EX @10,@SM00614 0144 00461000 * END; 0145 00462000 * RETURN; 0146 00463000 @EL00002 DS 0H 0146 00464000 @EF00002 DS 0H 0146 00465000 @ER00002 LM @14,@12,12(@13) 0146 00466000 BR @14 0146 00467000 * END CNVDATA; 0147 00468000 B @EL00002 0147 00469000 EJECT 00470000 *NODATA: 0148 00471000 * PROCEDURE OPTIONS(NOSAVE); 0148 00472000 * 0148 00473000 NODATA DS 0H 0149 00474000 * /*****************************************************************/ 00475000 * /* */ 00476000 * /* THIS ROUTINE IS ENTERED ON A QSAM END OF FILE CONDITION */ 00477000 * /* */ 00478000 * /*****************************************************************/ 00479000 * 0149 00480000 * DMCBRTC=EOD; /* SET END FILE RETURN CODE */ 00481000 MVC DMCBRTC(4,DMCBPTR),@CF00043 0149 00482000 * RETURN; 0150 00483000 @EL00003 DS 0H 0150 00484000 @EF00003 DS 0H 0150 00485000 @ER00003 BR @14 0150 00486000 * END NODATA; 0151 00487000 EJECT 00488000 *GETERR: 0152 00489000 * PROCEDURE OPTIONS(NOSAVE); 0152 00490000 * 0152 00491000 GETERR DS 0H 0153 00492000 * /*****************************************************************/ 00493000 * /* */ 00494000 * /* THIS ROUTINE IS ENTERED ON A QSAM SYNAD ERROR */ 00495000 * /* */ 00496000 * /*****************************************************************/ 00497000 * 0153 00498000 * DCL 0153 00499000 * SYNMSG CHAR(128) BASED(GPR01P); 0153 00500000 * RFY 0154 00501000 * GPR01P RSTD; 0154 00502000 * GEN SETS(GPR01P)(SYNADAF ACSMETH=QSAM); 0155 00503000 SYNADAF ACSMETH=QSAM 00504000 * DMCBSYNM=SYNMSG; /* MOVE MESSAGE PRODUCED BY 0156 00505000 * SYNADAF INTO DMCB */ 00506000 MVC DMCBSYNM(128,DMCBPTR),SYNMSG(GPR01P) 0156 00507000 * RFY 0157 00508000 * GPR01P UNRSTD; 0157 00509000 * DMCBRTC=PERMER; /* INDICATE PERMANENT ERROR */ 00510000 MVC DMCBRTC(4,DMCBPTR),@CF00059 0158 00511000 * GEN(SYNADRLS); 0159 00512000 SYNADRLS 00513000 * RETURN; 0160 00514000 @EL00004 DS 0H 0160 00515000 @EF00004 DS 0H 0160 00516000 @ER00004 BR @14 0160 00517000 * END GETERR; 0161 00518000 EJECT 00519000 *VSMLERR: 0162 00520000 * PROCEDURE; 0162 00521000 * 0162 00522000 VSMLERR STM @14,@12,@SA00005 0162 00523000 * /*****************************************************************/ 00524000 * /* */ 00525000 * /* THIS ROUTINE IS ENTERED IF A VSAM LOGICAL ERROR OCCURS IT */ 00526000 * /* EXTRACTS THE FEEDBACK FIELD FROM THE REQUEST PARAMETER LIST */ 00527000 * /* AND DETERMINES THE PROPER RETURN CODE. CERTAIN LOGICAL ERRORS */ 00528000 * /* WHICH SHOULD NOT OCCUR MAY INDICATE THAT THE DATA MANAGER IS */ 00529000 * /* WORKING IMPROPERLY. IF THESE OCCUR THEN AN ABEND WILL BE */ 00530000 * /* ISSUED. */ 00531000 * /* */ 00532000 * /*****************************************************************/ 00533000 * 0163 00534000 * RFY 0163 00535000 * (GPR08P, 0163 00536000 * GPR02P, 0163 00537000 * GPR03P, 0163 00538000 * GPR15F) RSTD; 0163 00539000 * GPR08P=ADDR(DMCBRPL); /* ADDRESS RPL FOR SHOWCB MACRO */ 00540000 LA GPR08P,DMCBRPL(,DMCBPTR) 0164 00541000 * GPR02P=ADDR(SHWLIST); /* POINT TO SHOW PARAMETER LIST */ 00542000 LA GPR02P,SHWLIST 0165 00543000 * GPR03P=ADDR(DMCBRPLF); /* ADDRESS FEEDBACK AREA */ 00544000 LA GPR03P,DMCBRPLF(,DMCBPTR) 0166 00545000 * GEN SETS(SHWLIST,DMCBRPLF,GPR15F) REFS(GPR02P,GPR03P,GPR08P); 0167 00546000 SHOWCB RPL=(GPR08P),AREA=(GPR03P),LENGTH=4, *00547000 FIELDS=(FDBK),MF=(G,(GPR02P)) 00548000 * SUBCODE=GPR15F; 0168 00549000 ST GPR15F,SUBCODE 0168 00550000 * RFY 0169 00551000 * (GPR08P, 0169 00552000 * GPR02P, 0169 00553000 * GPR03P, 0169 00554000 * GPR15F) UNRSTD; 0169 00555000 * IF SUBCODE^=F0C THEN /* IF SHOW WAS UNSUCCESSFUL */ 00556000 L @10,SUBCODE 0170 00557000 LTR @10,@10 0170 00558000 BZ @RF00170 0170 00559000 * DO; /* ABEND(F139C) DUMP */ 00560000 * RESPECIFY 0172 00561000 * (GPR01F) RESTRICTED; 0172 00562000 * GPR01F=F139C; /* COMP CODE IN REG 1 */ 00563000 LA GPR01F,139 0173 00564000 * GPR01F=GPR01F|'80000000'X; /* DUMP/STEP/DUMPOPTS FLAG */ 00565000 O GPR01F,@CF00584 0174 00566000 * SVC(13); /* ISSUE ABEND SVC */ 00567000 SVC 13 0175 00568000 * RESPECIFY 0176 00569000 * (GPR01F) UNRESTRICTED; 0176 00570000 * END; /* ABEND(F139C) DUMP SHOWCB ERROR*/ 00571000 * IF DMCBRPLF=F4C /* END OF DATA OR KEY OUT OF 0178 00572000 * RANGE */ 00573000 * |DMCBRPLF=F16C /* OR RECORD NOT FOUND */ 00574000 * |DMCBRPLF=F32C THEN /* OR RBA INVALID (FOR REL 0178 00575000 * RECORD) */ 00576000 @RF00170 L @10,DMCBRPLF(,DMCBPTR) 0178 00577000 CL @10,@CF00041 0178 00578000 BE @RT00178 0178 00579000 CL @10,@CF00066 0178 00580000 BE @RT00178 0178 00581000 CL @10,@CF00411 0178 00582000 BNE @RF00178 0178 00583000 @RT00178 DS 0H 0179 00584000 * DMCBRTC=EOD; /* INDICATE END FILE RETURN CODE */ 00585000 MVC DMCBRTC(4,DMCBPTR),@CF00043 0179 00586000 * ELSE 0180 00587000 * DO; /* PROBABLY INVALID REQUEST */ 00588000 B @RC00178 0180 00589000 @RF00178 DS 0H 0181 00590000 * DMCBRTC=INVRQ; /* REJECT THE REQUEST */ 00591000 MVC DMCBRTC(4,DMCBPTR),@CF00041 0181 00592000 * IF DMCBRPLF=F44C THEN /* WORK AREA NOT LARGE ENOUGH */ 00593000 CLC DMCBRPLF(4,DMCBPTR),@CF00444 0182 00594000 BNE @RF00182 0182 00595000 * DMCBREJ=F3C; /* INDICATE REJECTION REASON */ 00596000 MVI DMCBREJ(DMCBPTR),X'03' 0183 00597000 * ELSE 0184 00598000 * IF DMCBRPLF=F72C THEN /* WRONG ACCESS TYPE */ 00599000 B @RC00182 0184 00600000 @RF00182 CLC DMCBRPLF(4,DMCBPTR),@CF00344 0184 00601000 BNE @RF00184 0184 00602000 * DMCBREJ=F2C; 0185 00603000 MVI DMCBREJ(DMCBPTR),X'02' 0185 00604000 * ELSE 0186 00605000 * IF DMCBRPLF=F88C THEN /* POSITIONING ERROR */ 00606000 B @RC00184 0186 00607000 @RF00184 CLC DMCBRPLF(4,DMCBPTR),@CF00555 0186 00608000 BNE @RF00186 0186 00609000 * DMCBREJ=F5C; 0187 00610000 MVI DMCBREJ(DMCBPTR),X'05' 0187 00611000 * ELSE 0188 00612000 * IF DMCBRPLF=F112C THEN/* INVALID KEY LENGTH */ 00613000 B @RC00186 0188 00614000 @RF00186 CLC DMCBRPLF(4,DMCBPTR),@CF00557 0188 00615000 BNE @RF00188 0188 00616000 * DMCBREJ=F9C; 0189 00617000 MVI DMCBREJ(DMCBPTR),X'09' 0189 00618000 * ELSE 0190 00619000 * DMCBREJ=F255C; /* SEVERE ERROR EITHER VSAM OR 0190 00620000 * DATA MANAGER ERROR */ 00621000 B @RC00188 0190 00622000 @RF00188 MVI DMCBREJ(DMCBPTR),X'FF' 0190 00623000 * END; /* PROBABLY INVALID REQUEST */ 00624000 * END VSMLERR; 0192 00625000 @EL00005 DS 0H 0192 00626000 @EF00005 DS 0H 0192 00627000 @ER00005 LM @14,@12,@SA00005 0192 00628000 BR @14 0192 00629000 EJECT 00630000 * 0193 00631000 * /*****************************************************************/ 00632000 * /* */ 00633000 * /* END OF EXECUTABLE PROCEDURE STATEMENTS */ 00634000 * /* */ 00635000 * /*****************************************************************/ 00636000 * 0193 00637000 * DECLARE /* GENERAL PURPOSE REGISTERS */ 00638000 * GPR01F FIXED(31) REG(1), 0193 00639000 * GPR15F FIXED(31) REG(15), 0193 00640000 * GPR00P PTR(31) REG(0), 0193 00641000 * GPR01P PTR(31) REG(1), 0193 00642000 * GPR02P PTR(31) REG(2), 0193 00643000 * GPR03P PTR(31) REG(3), 0193 00644000 * GPR08P PTR(31) REG(8); 0193 00645000 * DECLARE /* COMMON VARIABLES */ 00646000 * I256C CHAR(256) BASED, 0194 00647000 * I031F FIXED(31) BASED, 0194 00648000 * I031P PTR(31) BASED, 0194 00649000 * I015F FIXED(15) BASED, 0194 00650000 * I015P PTR(15) BASED, 0194 00651000 * I008P PTR(8) BASED, 0194 00652000 * I001C CHAR(1) BASED; 0194 00653000 * DCL 0195 00654000 * 1 DASPATCH LOCAL BDY(DWORD), /* PATCH AREA */ 00655000 * 2 DASPATA(DASPATLN) PTR INIT((DASPATLN)0); 0195 00656000 * END BLSCGETT 0196 00657000 * 0196 00658000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 00659000 */*%INCLUDE SYSLIB (IHADCBDF) */ 00660000 */*%INCLUDE SYSLIB (IHADCB ) */ 00661000 * 0196 00662000 * ; 0196 00663000 @DATA DS 0H 00664000 @SM00614 MVC TOBUFF(0,MOVEPTR),FROMBUFF(MOVEPTR) 00665000 @DATD DSECT 00666000 DS 0F 00667000 @SA00001 DS 18F 00668000 @SA00005 DS 15F 00669000 BLSCGETT CSECT 00670000 DS 0F 00671000 @CF00540 DC F'0' 00672000 @CF00041 DC F'4' 00673000 @CF00043 DC F'8' 00674000 @CF00059 DC F'12' 00675000 @CF00066 DC F'16' 00676000 @CF00411 DC F'32' 00677000 @CF00444 DC F'44' 00678000 @CF00344 DC F'72' 00679000 @CF00555 DC F'88' 00680000 @CF00557 DC F'112' 00681000 @CF00527 DC F'256' 00682000 @CF00584 DC XL4'80000000' 00683000 @CF00613 DC XL4'0000FFFF' 00684000 @DATD DSECT 00685000 DS 0D 00686000 MODSTAT DS CL12 00687000 ORG MODSTAT 00688000 MODNAME DS CL8 00689000 SUBCODE DS FL4 00690000 ORG MODSTAT+12 00691000 DS CL4 00692000 SHWLIST DS CL28 00693000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 00694000 @ENDDATD EQU * 00695000 BLSCGETT CSECT 00696000 DS 0F 00697000 @SIZDATD DC AL1(0) 00698000 DC AL3(@ENDDATD-@DATD) 00699000 @CV00523 DC V(BLSCSETT) 00700000 DS 0D 00701000 @CC00572 DC C'BLSCGETT' 00702000 DASPATCH DS CL80 00703000 ORG DASPATCH 00704000 DASPATA DC 20A(0) 00705000 ORG DASPATCH+80 00706000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 00707000 @01 EQU 01 00708000 @02 EQU 02 00709000 @03 EQU 03 00710000 @04 EQU 04 00711000 @05 EQU 05 00712000 @06 EQU 06 00713000 @07 EQU 07 00714000 @08 EQU 08 00715000 @09 EQU 09 00716000 @10 EQU 10 00717000 @11 EQU 11 00718000 @12 EQU 12 00719000 @13 EQU 13 00720000 @14 EQU 14 00721000 @15 EQU 15 00722000 MOVEPTR EQU @03 00723000 MOVELEN EQU @02 00724000 DMCBPTR EQU @07 00725000 DCBPTR EQU @03 00726000 GPR01P EQU @01 00727000 GPR00P EQU @00 00728000 GPR15F EQU @15 00729000 GPR02P EQU @02 00730000 GPR03P EQU @03 00731000 GPR08P EQU @08 00732000 GPR01F EQU @01 00733000 IHADCB EQU 0 00734000 IHADCS00 EQU 0 00735000 DCBFDAD EQU IHADCS00+5 00736000 IHADCS01 EQU 0 00737000 DCBDVTBL EQU IHADCS01 00738000 IHADCS02 EQU 0 00739000 IHADCS04 EQU 0 00740000 DCBPRBYT EQU IHADCS04+3 00741000 IHADCS11 EQU 0 00742000 DCBRELB EQU IHADCS11 00743000 DCBREL EQU DCBRELB+1 00744000 DCBBUFCB EQU IHADCS11+4 00745000 DCBDSORG EQU IHADCS11+10 00746000 DCBDSRG1 EQU DCBDSORG 00747000 DCBDSRG2 EQU DCBDSORG+1 00748000 DCBIOBAD EQU IHADCS11+12 00749000 DCBODEB EQU DCBIOBAD 00750000 DCBLNP EQU DCBODEB 00751000 DCBQSLM EQU DCBLNP 00752000 DCBIOBAA EQU DCBODEB+1 00753000 IHADCS50 EQU 0 00754000 DCBSVCXL EQU IHADCS50 00755000 DCBEODAD EQU IHADCS50+4 00756000 DCBBFALN EQU DCBEODAD 00757000 DCBHIARC EQU DCBBFALN 00758000 DCBBFTEK EQU DCBHIARC 00759000 DCBBFT EQU DCBBFTEK 00760000 DCBEODA EQU DCBEODAD+1 00761000 DCBEXLST EQU IHADCS50+8 00762000 DCBRECFM EQU DCBEXLST 00763000 DCBRECLA EQU DCBRECFM 00764000 DCBRECL EQU DCBRECLA 00765000 IHADCS24 EQU 0 00766000 DCBOFLGS EQU IHADCS24+8 00767000 DCBOFLWR EQU DCBOFLGS 00768000 DCBIFLG EQU IHADCS24+9 00769000 DCBIBPCT EQU DCBIFLG 00770000 DCBMACR EQU IHADCS24+10 00771000 DCBMACR1 EQU DCBMACR 00772000 DCBMRFE EQU DCBMACR1 00773000 DCBMRGET EQU DCBMRFE 00774000 DCBMRAPG EQU DCBMACR1 00775000 DCBMRRD EQU DCBMRAPG 00776000 DCBMRCI EQU DCBMACR1 00777000 DCBMRMVG EQU DCBMRCI 00778000 DCBMRLCG EQU DCBMACR1 00779000 DCBMRABC EQU DCBMACR1 00780000 DCBMRPT1 EQU DCBMRABC 00781000 DCBMRSBG EQU DCBMRPT1 00782000 DCBMRCRL EQU DCBMACR1 00783000 DCBMRCHK EQU DCBMRCRL 00784000 DCBMRRDX EQU DCBMRCHK 00785000 DCBMRDMG EQU DCBMACR1 00786000 DCBMACR2 EQU DCBMACR+1 00787000 DCBMRPUT EQU DCBMACR2 00788000 DCBMRWRT EQU DCBMACR2 00789000 DCBMRMVP EQU DCBMACR2 00790000 DCBMR5WD EQU DCBMACR2 00791000 DCBMRLDM EQU DCBMR5WD 00792000 DCBMRLCP EQU DCBMRLDM 00793000 DCBMR4WD EQU DCBMACR2 00794000 DCBMRPT2 EQU DCBMR4WD 00795000 DCBMRTMD EQU DCBMRPT2 00796000 DCBMR3WD EQU DCBMACR2 00797000 DCBMRCTL EQU DCBMR3WD 00798000 DCBMRSTK EQU DCBMRCTL 00799000 DCBMR1WD EQU DCBMACR2 00800000 DCBMRSWA EQU DCBMR1WD 00801000 DCBMRDMD EQU DCBMRSWA 00802000 IHADCS25 EQU 0 00803000 DCBMACRF EQU IHADCS25+2 00804000 DCBMACF1 EQU DCBMACRF 00805000 DCBMFFE EQU DCBMACF1 00806000 DCBMFGET EQU DCBMFFE 00807000 DCBMFAPG EQU DCBMACF1 00808000 DCBMFRD EQU DCBMFAPG 00809000 DCBMFCI EQU DCBMACF1 00810000 DCBMFMVG EQU DCBMFCI 00811000 DCBMFLCG EQU DCBMACF1 00812000 DCBMFABC EQU DCBMACF1 00813000 DCBMFPT1 EQU DCBMFABC 00814000 DCBMFSBG EQU DCBMFPT1 00815000 DCBMFCRL EQU DCBMACF1 00816000 DCBMFCHK EQU DCBMFCRL 00817000 DCBMFDMG EQU DCBMACF1 00818000 DCBMACF2 EQU DCBMACRF+1 00819000 DCBMFPUT EQU DCBMACF2 00820000 DCBMFWRT EQU DCBMACF2 00821000 DCBMFMVP EQU DCBMACF2 00822000 DCBMF5WD EQU DCBMACF2 00823000 DCBMFLDM EQU DCBMF5WD 00824000 DCBMFLCP EQU DCBMFLDM 00825000 DCBMF4WD EQU DCBMACF2 00826000 DCBMFPT2 EQU DCBMF4WD 00827000 DCBMFTMD EQU DCBMFPT2 00828000 DCBMF3WD EQU DCBMACF2 00829000 DCBMFCTL EQU DCBMF3WD 00830000 DCBMFSTK EQU DCBMFCTL 00831000 DCBMF1WD EQU DCBMACF2 00832000 DCBMFSWA EQU DCBMF1WD 00833000 DCBMFDMD EQU DCBMFSWA 00834000 DCBDEBAD EQU IHADCS25+4 00835000 DCBIFLGS EQU DCBDEBAD 00836000 DCBIFPCT EQU DCBIFLGS 00837000 IHADCS27 EQU 0 00838000 DCBGET EQU IHADCS27 00839000 DCBPUT EQU DCBGET 00840000 DCBGETA EQU DCBPUT+1 00841000 IHADCS36 EQU 0 00842000 DCBGERR EQU IHADCS36 00843000 DCBPERR EQU DCBGERR 00844000 DCBCHECK EQU DCBPERR 00845000 DCBOPTCD EQU DCBCHECK 00846000 DCBOPTH EQU DCBOPTCD 00847000 DCBOPTO EQU DCBOPTH 00848000 DCBOPTZ EQU DCBOPTCD 00849000 DCBGERRA EQU DCBCHECK+1 00850000 DCBPERRA EQU DCBGERRA 00851000 DCBSYNAD EQU IHADCS36+4 00852000 DCBSYNA EQU DCBSYNAD+1 00853000 DCBCIND1 EQU IHADCS36+8 00854000 DCBCIND2 EQU IHADCS36+9 00855000 DCBIOBA EQU IHADCS36+16 00856000 DCBCICB EQU DCBIOBA 00857000 IHADCS52 EQU 0 00858000 DCBDIRCT EQU IHADCS52 00859000 DCBQSWS EQU DCBDIRCT 00860000 DCBUSASI EQU DCBQSWS 00861000 DCBQADFS EQU DCBUSASI 00862000 DCBBUFOF EQU DCBDIRCT+1 00863000 IHADCS37 EQU 0 00864000 DCBFLAG1 EQU IHADCS37 00865000 IHADCS40 EQU 0 00866000 DCBEOBAD EQU IHADCS40 00867000 DCBCCCW EQU IHADCS40+4 00868000 DCBRECAD EQU DCBCCCW 00869000 DCBRECBT EQU DCBRECAD 00870000 DCBRCREL EQU DCBRECBT 00871000 DCBLRECL EQU IHADCS40+10 00872000 DCBCNTRL EQU IHADCS40+12 00873000 DCBEROPT EQU DCBCNTRL 00874000 DMCB EQU 0 00875000 DMCBRTC EQU DMCB+12 00876000 DMCBIRL EQU DMCB+16 00877000 DMCBFTY EQU DMCB+20 00878000 DMCBVSF EQU DMCBFTY 00879000 DMCBOPN EQU DMCB+21 00880000 DMCBSIN EQU DMCBOPN 00881000 DMCBRMOD EQU DMCB+23 00882000 DMCBOUT EQU DMCBRMOD 00883000 DMCBOPTS EQU DMCB+24 00884000 DMCBKYD EQU DMCBOPTS 00885000 DMCBGKY EQU DMCBOPTS 00886000 DMCBRNO EQU DMCBGKY 00887000 DMCBUPD EQU DMCBOPTS 00888000 DMCBMFLG EQU DMCB+28 00889000 DMCBREJ EQU DMCB+29 00890000 DMCBBUFP EQU DMCB+32 00891000 DMCBBLEN EQU DMCB+36 00892000 DMCBKEYP EQU DMCB+44 00893000 DMCBRBA EQU DMCB+56 00894000 DMCBRRL EQU DMCB+60 00895000 DMCBFRE EQU DMCB+88 00896000 DMCBEOB EQU DMCB+92 00897000 DMCBACBE EQU DMCB+124 00898000 DMCBRPLF EQU DMCB+128 00899000 DMCBSYNM EQU DMCB+132 00900000 DMCBSPEC EQU DMCB+380 00901000 DMCBSUBC EQU DMCB+404 00902000 DMCBAMS EQU DMCB+416 00903000 DMCBAUDT EQU DMCB+568 00904000 DMCBLSCP EQU DMCBAUDT+16 00905000 DMCBMODN EQU DMCB+632 00906000 DATALEN EQU 0 00907000 RELRECNO EQU 0 00908000 TOBUFF EQU 0 00909000 SYNMSG EQU 0 00910000 DMCBRQC EQU 0 00911000 I001C EQU 0 00912000 I008P EQU 0 00913000 I015F EQU 0 00914000 I015P EQU 0 00915000 I031F EQU 0 00916000 I031P EQU 0 00917000 I256C EQU 0 00918000 DMCBVSM EQU DMCBAMS 00919000 DMCBRPL EQU DMCBVSM 00920000 DMCBQSM EQU DMCBAMS 00921000 DMCBDCB EQU DMCBQSM 00922000 FROMBUFF EQU TOBUFF+4 00923000 AGO .@UNREFD START UNREFERENCED COMPONENTS 00924000 DMCBRES7 EQU DMCBQSM+96 00925000 DMCBACB EQU DMCBVSM+76 00926000 DMCBWRK EQU DMCB+648 00927000 DMCBRES8 EQU DMCB+640 00928000 DMCBCARY EQU DMCBAUDT+20 00929000 DMCBCLC EQU DMCBAUDT+12 00930000 DMCBOPC EQU DMCBAUDT+8 00931000 DMCBFRC EQU DMCBAUDT+4 00932000 DMCBALC EQU DMCBAUDT 00933000 DMCBFR EQU DMCB+412 00934000 DMCBRES6 EQU DMCB+410 00935000 DMCBIRSC EQU DMCB+408 00936000 DMCBDRBP EQU DMCB+400 00937000 DMCBRSZM EQU DMCB+398 00938000 DMCBRSZA EQU DMCB+396 00939000 DMCBCISZ EQU DMCB+394 00940000 DMCBDCBL EQU DMCB+392 00941000 DMCBDCLR EQU DMCB+390 00942000 DMCBDCFM EQU DMCB+389 00943000 DMCBRES5 EQU DMCB+388 00944000 DMCBLBRT EQU DMCB+386 00945000 DMCBLBSQ EQU DMCB+384 00946000 DMCBLBPS EQU DMCB+383 00947000 DMCBLBTY EQU DMCB+382 00948000 DMCBRES4 EQU DMCB+381 00949000 DMCBSPRS EQU DMCBSPEC 00950000 DMCBSPRN EQU DMCBSPEC 00951000 DMCBSPCT EQU DMCBSPEC 00952000 DMCBSPRL EQU DMCBSPEC 00953000 DMCBSPSE EQU DMCB+376 00954000 DMCBSPPR EQU DMCB+372 00955000 DMCBSPTY EQU DMCB+369 00956000 DMCBODIS EQU DMCB+368 00957000 DMCBDISP EQU DMCB+367 00958000 DMCBSTAT EQU DMCB+366 00959000 DMCBRES3 EQU DMCB+364 00960000 DMCBMEMB EQU DMCB+356 00961000 DMCBMODL EQU DMCB+348 00962000 DMCBRES9 EQU DMCB+340 00963000 DMCBPID EQU DMCB+332 00964000 DMCBTYPE EQU DMCB+328 00965000 DMCBDSN EQU DMCB+284 00966000 DMCBUNIT EQU DMCB+276 00967000 DMCBDSOR EQU DMCB+274 00968000 DMCBVOL EQU DMCB+268 00969000 DMCBDDNM EQU DMCB+260 00970000 DMCBDCBE EQU DMCBACBE 00971000 DMCBARC EQU DMCB+120 00972000 DMCBCPC EQU DMCB+116 00973000 DMCBRET EQU DMCB+112 00974000 DMCBSTL EQU DMCB+96 00975000 DMCBRES2 EQU DMCB+85 00976000 DMCBSPID EQU DMCB+84 00977000 DMCBRESC EQU DMCB+80 00978000 DMCBZZ1P EQU DMCB+76 00979000 DMCBMSGS EQU DMCB+72 00980000 DMCBMSG0 EQU DMCB+68 00981000 DMCBRI EQU DMCB+64 00982000 DMCBMSG EQU DMCB+52 00983000 DMCBKEYL EQU DMCB+48 00984000 DMCBKPC EQU DMCBKEYP 00985000 DMCBORL EQU DMCB+40 00986000 DMCBBFPC EQU DMCBBUFP 00987000 DMCBRES1 EQU DMCB+31 00988000 DMCBACCM EQU DMCB+30 00989000 DMCBRESB EQU DMCBMFLG 00990000 DMCBFMOD EQU DMCBMFLG 00991000 DMCBLOPT EQU DMCB+27 00992000 DMCBLRM EQU DMCB+26 00993000 DMCBLRQ EQU DMCB+25 00994000 DMCBOPRS EQU DMCBOPTS 00995000 DMCBLRD EQU DMCBOPTS 00996000 DMCBBWD EQU DMCBOPTS 00997000 DMCBAPX EQU DMCBOPTS 00998000 DMCBRMRS EQU DMCBRMOD 00999000 DMCBRM5 EQU DMCBRMOD 01000000 DMCBRM6 EQU DMCBRMOD 01001000 DMCBTMP EQU DMCBOUT 01002000 DMCBRQST EQU DMCB+22 01003000 DMCBRESA EQU DMCBOPN 01004000 DMCBSOUT EQU DMCBOPN 01005000 DMCBKSF EQU DMCBFTY 01006000 DMCBFTRS EQU DMCBFTY 01007000 DMCBSHF EQU DMCBFTY 01008000 DMCBTVP EQU DMCB+8 01009000 DMCBNEXT EQU DMCB+4 01010000 DMCBID EQU DMCB 01011000 DCBEOB EQU IHADCS40+20 01012000 DCBPRECL EQU IHADCS40+18 01013000 @NM00029 EQU IHADCS40+16 01014000 DCBCNTRA EQU DCBCNTRL+1 01015000 @NM00028 EQU DCBEROPT 01016000 DCBERABE EQU DCBEROPT 01017000 DCBERSKP EQU DCBEROPT 01018000 DCBERACC EQU DCBEROPT 01019000 @NM00027 EQU IHADCS40+9 01020000 @NM00026 EQU IHADCS40+8 01021000 DCBRECA EQU DCBRECAD+1 01022000 @NM00025 EQU DCBRECBT 01023000 DCBRCFGT EQU DCBRCREL 01024000 DCBRCTRU EQU DCBRCREL 01025000 DCBLCCW EQU DCBEOBAD 01026000 @NM00024 EQU DCBFLAG1 01027000 DCBSTFLS EQU DCBFLAG1 01028000 DCBSTQCK EQU DCBFLAG1 01029000 DCBDIRCQ EQU DCBBUFOF 01030000 DCBQSTRU EQU DCBUSASI 01031000 @NM00023 EQU DCBUSASI 01032000 DCBQADF3 EQU DCBQADFS 01033000 DCBQADF2 EQU DCBQADFS 01034000 DCBQADF1 EQU DCBQADFS 01035000 DCBBLBP EQU DCBUSASI 01036000 @NM00022 EQU DCBUSASI 01037000 DCBCICBA EQU DCBCICB+1 01038000 @NM00021 EQU DCBCICB 01039000 DCBOFFSW EQU IHADCS36+15 01040000 DCBOFFSR EQU IHADCS36+14 01041000 DCBWCPL EQU IHADCS36+13 01042000 DCBWCPO EQU IHADCS36+12 01043000 DCBBLKSI EQU IHADCS36+10 01044000 DCBCNQSM EQU DCBCIND2 01045000 DCBCNFEO EQU DCBCIND2 01046000 DCBCNCHS EQU DCBCIND2 01047000 DCBCNBFP EQU DCBCIND2 01048000 DCBCNIOE EQU DCBCIND2 01049000 DCBCNCLO EQU DCBCIND2 01050000 DCBCNWRO EQU DCBCIND2 01051000 DCBCNSTO EQU DCBCIND2 01052000 DCBCNEXB EQU DCBCIND1 01053000 @NM00020 EQU DCBCIND1 01054000 DCBCNBRM EQU DCBCIND1 01055000 @NM00019 EQU DCBCIND1 01056000 DCBCNEVA EQU DCBCIND1 01057000 DCBCNEVB EQU DCBCIND1 01058000 DCBCNSRD EQU DCBCIND1 01059000 DCBCNTOV EQU DCBCIND1 01060000 DCBIOBL EQU DCBSYNAD 01061000 DCBCHCKA EQU DCBPERRA 01062000 DCBOPTJ EQU DCBOPTCD 01063000 DCBOPTT EQU DCBOPTCD 01064000 DCBSRCHD EQU DCBOPTZ 01065000 DCBOPTQ EQU DCBOPTCD 01066000 DCBBCKPT EQU DCBOPTO 01067000 DCBOPTC EQU DCBOPTCD 01068000 DCBOPTU EQU DCBOPTCD 01069000 DCBOPTW EQU DCBOPTCD 01070000 DCBPUTA EQU DCBGETA 01071000 @NM00018 EQU DCBPUT 01072000 DCBDEBA EQU DCBDEBAD+1 01073000 @NM00017 EQU DCBIFLGS 01074000 DCBIFIOE EQU DCBIFLGS 01075000 DCBCH12 EQU DCBIFPCT 01076000 DCBCH9 EQU DCBIFPCT 01077000 DCBIFEC EQU DCBIFLGS 01078000 DCBMFSTI EQU DCBMFDMD 01079000 DCBMFAWR EQU DCBMFSTK 01080000 DCBMFUIP EQU DCBMFTMD 01081000 DCBMFIDW EQU DCBMFLCP 01082000 DCBMFWRK EQU DCBMFMVP 01083000 DCBMFRDQ EQU DCBMFWRT 01084000 DCBMFGTQ EQU DCBMFPUT 01085000 DCBMFSTL EQU DCBMACF2 01086000 DCBMFCK EQU DCBMFDMG 01087000 DCBMFRDX EQU DCBMFCHK 01088000 DCBMFDBF EQU DCBMFSBG 01089000 DCBMFRDI EQU DCBMFLCG 01090000 DCBMFRDK EQU DCBMFMVG 01091000 DCBMFWRQ EQU DCBMFRD 01092000 DCBMFPTQ EQU DCBMFGET 01093000 DCBMFECP EQU DCBMACF1 01094000 DCBTIOT EQU IHADCS25 01095000 DCBMRSTI EQU DCBMRDMD 01096000 DCBMRAWR EQU DCBMRSTK 01097000 DCBMRUIP EQU DCBMRTMD 01098000 DCBMRIDW EQU DCBMRLCP 01099000 DCBMRWRK EQU DCBMRMVP 01100000 DCBMRRDQ EQU DCBMRWRT 01101000 DCBMRGTQ EQU DCBMRPUT 01102000 DCBMRSTL EQU DCBMACR2 01103000 DCBMRCK EQU DCBMRDMG 01104000 DCBPGFXA EQU DCBMRRDX 01105000 DCBMRDBF EQU DCBMRSBG 01106000 DCBMRRDI EQU DCBMRLCG 01107000 DCBMRRDK EQU DCBMRMVG 01108000 DCBMRWRQ EQU DCBMRRD 01109000 DCBMRPTQ EQU DCBMRGET 01110000 DCBMRECP EQU DCBMACR1 01111000 @NM00016 EQU DCBIFLG 01112000 DCBIBIOE EQU DCBIFLG 01113000 DCBICH12 EQU DCBIBPCT 01114000 DCBICH9 EQU DCBIBPCT 01115000 DCBIBEC EQU DCBIFLG 01116000 DCBOFIOF EQU DCBOFLGS 01117000 DCBOFUEX EQU DCBOFLGS 01118000 DCBOFTM EQU DCBOFLGS 01119000 DCBOFPPC EQU DCBOFLGS 01120000 DCBOFOPN EQU DCBOFLGS 01121000 DCBOFEOV EQU DCBOFLGS 01122000 DCBOFLRB EQU DCBOFLGS 01123000 DCBOFIOD EQU DCBOFLWR 01124000 DCBDDNAM EQU IHADCS24 01125000 DCBEXLSA EQU DCBEXLST+1 01126000 DCBRECKL EQU DCBRECFM 01127000 DCBRECCC EQU DCBRECFM 01128000 DCBRECSB EQU DCBRECFM 01129000 DCBRECBR EQU DCBRECFM 01130000 DCBRECTO EQU DCBRECLA 01131000 DCBBFA EQU DCBBFTEK 01132000 DCBH0 EQU DCBBFTEK 01133000 DCBBFTKD EQU DCBBFTEK 01134000 DCBBFTE EQU DCBBFT 01135000 DCBBFTKR EQU DCBBFT 01136000 DCBBFTS EQU DCBBFT 01137000 DCBH1 EQU DCBBFTEK 01138000 DCBSVCXA EQU DCBSVCXL+1 01139000 @NM00015 EQU DCBSVCXL 01140000 DCBODEBA EQU DCBIOBAA 01141000 @NM00014 EQU DCBQSLM 01142000 DCBUPDBT EQU DCBQSLM 01143000 DCBUPDCM EQU DCBQSLM 01144000 DCB1DVDS EQU DCBQSLM 01145000 @NM00013 EQU DCBDSRG2 01146000 DCBDSGTR EQU DCBDSRG2 01147000 DCBACBM EQU DCBDSRG2 01148000 @NM00012 EQU DCBDSRG2 01149000 DCBDSGTQ EQU DCBDSRG2 01150000 DCBDSGTX EQU DCBDSRG2 01151000 DCBDSGGS EQU DCBDSRG2 01152000 DCBDSGU EQU DCBDSRG1 01153000 DCBDSGPO EQU DCBDSRG1 01154000 @NM00011 EQU DCBDSRG1 01155000 @NM00010 EQU DCBDSRG1 01156000 DCBDSGCX EQU DCBDSRG1 01157000 DCBDSGDA EQU DCBDSRG1 01158000 DCBDSGPS EQU DCBDSRG1 01159000 DCBDSGIS EQU DCBDSRG1 01160000 DCBBUFL EQU IHADCS11+8 01161000 DCBBUFCA EQU DCBBUFCB+1 01162000 DCBBUFNO EQU DCBBUFCB 01163000 DCBDEVT EQU DCBREL 01164000 DCBKEYLE EQU DCBRELB 01165000 DCBTRCID EQU DCBPRBYT 01166000 @NM00009 EQU DCBPRBYT 01167000 DCBPRTOV EQU IHADCS04+2 01168000 @NM00008 EQU IHADCS04+1 01169000 DCBPRTSP EQU IHADCS04 01170000 @NM00007 EQU IHADCS02+19 01171000 DCBDEN EQU IHADCS02+18 01172000 @NM00006 EQU IHADCS02+17 01173000 DCBTRTCH EQU IHADCS02+16 01174000 DCBBLKCT EQU IHADCS02+12 01175000 @NM00005 EQU IHADCS02 01176000 DCBTRBAL EQU IHADCS01+6 01177000 @NM00004 EQU IHADCS01+5 01178000 @NM00003 EQU IHADCS01+4 01179000 DCBDVTBA EQU DCBDVTBL+1 01180000 @NM00002 EQU DCBDVTBL 01181000 DCBKEYCN EQU IHADCS00+4 01182000 DCBRELAD EQU IHADCS00 01183000 @NM00001 EQU IHADCB 01184000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 01185000 @RF00055 EQU @RC00037 01186000 @RF00063 EQU @RC00037 01187000 @RC00066 EQU @RC00037 01188000 @RF00130 EQU @EL00001 01189000 @RF00135 EQU @EL00002 01190000 @RC00178 EQU @EL00005 01191000 @RC00188 EQU @EL00005 01192000 @RC00186 EQU @EL00005 01193000 @RC00184 EQU @EL00005 01194000 @RC00182 EQU @EL00005 01195000 @ENDDATA EQU * 01196000 END BLSCGETT,(C'PLS1918',0701,78062) 01197000