TITLE 'IGG0199W SAM-SI OPEN EXECUTOR *00001000 ' 00002000 IGG0199W CSECT , 0001 00003000 @PROLOG BALR @12,0 0001 00004000 @PSTART DS 0H 0001 00005000 USING @PSTART,@12 0001 00006000 EJECT 00007000 EJECT 00008000 EJECT 00009000 *PROCESS: 0058 00010000 * 0058 00011000 * /***********************************************************/ 00012000 * /* INITILIZE MODULE TO RUN IN USER KEY */ 00013000 * /***********************************************************/ 00014000 * 0058 00015000 * RUKEY = DXUKEY; /* SAVE USER KY IN R2 Y02082*/ 00016000 PROCESS L @11,WTGCWA-1(,RWTGC) 0058 00017000 SLR RUKEY,RUKEY 0058 00018000 IC RUKEY,DXUKEY(,@11) 0058 00019000 * GEN (MODESET KEYADDR=(2)); /* Y02082*/ 00020000 * 0059 00021000 MODESET KEYADDR=(2) 00022000 * RDCB = PARCDCB; /* SET BASE FOR DCB XM6042*/ 00023000 L RDCB,PARCDCB(,RPARC) 0060 00024000 * RDCB = RDCB + 0; /* ZERO HI-ORDER BYTE XM6042*/ 00025000 * RCICB = DCBCICB; /* SET BASE FOR CICB XM6042*/ 00026000 L RCICB,DCBCICB(,RDCB) 0062 00027000 * RRPL = ADDR(CIRPL); /* SET BASE FOR RPL XM6042*/ 00028000 * 0063 00029000 LA RRPL,CIRPL(,RCICB) 0063 00030000 * /***********************************************************/ 00031000 * /* */ 00032000 * /* DETERMINE BUFFER REQUIREMENTS */ 00033000 * /* */ 00034000 * /***********************************************************/ 00035000 * 0064 00036000 * 0064 00037000 *CHECBUFS:/* TEST FOR A VALID BUFFER CONTROL BLOCK ADDRESS. IF LOW */ 00038000 * /* ORDER BIT OF DCBBUFCB IS ZERO THEN ADDRESS IS VALID. */ 00039000 * 0064 00040000 * IF BUFADDR(32) = '0'B 0064 00041000 * THEN DO; /* YES */ 00042000 CHECBUFS TM BUFADDR+3(RDCB),B'00000001' 0064 00043000 BNZ @RF00064 0064 00044000 * IF BCBBLDR(1) = '0'B /* WAS BIULDRCD ISSUED */ 00045000 * & DCBRECFM(1:2) = '01'B /* FOR A VARIABLE */ 00046000 * & DCBRECFM(5) = '1'B /* SPANNED DCB? */ 00047000 * THEN DO; /* NOT ISSUED */ 00048000 L @11,DCBBUFCB(,RDCB) 0066 00049000 TM BCBBLDR(@11),B'10000000' 0066 00050000 BNZ @RF00066 0066 00051000 TM DCBRECFM(RDCB),B'01000000' 0066 00052000 BNO @RF00066 0066 00053000 TM DCBRECFM(RDCB),B'10000000' 0066 00054000 BNZ @RF00066 0066 00055000 TM DCBRECFM(RDCB),B'00001000' 0066 00056000 BNO @RF00066 0066 00057000 * RSIZE = DCBLRECL; /* LOGICAL RECORD LENGTH */ 00058000 LH RSIZE,DCBLRECL(,RDCB) 0068 00059000 N RSIZE,@CF00434 0068 00060000 * GEN (GETMAIN R,LV=(RSIZE),SP=250); 0069 00061000 GETMAIN R,LV=(RSIZE),SP=250 00062000 * BCBRECDA = R1; /* INIT RECDAREA PTR */ 00063000 L @11,DCBBUFCB(,RDCB) 0070 00064000 ST R1,BCBRECDA(,@11) 0070 00065000 * END; /* END OF NOT BUILDRCD */ 00066000 * 0071 00067000 * IF DCBRECFM(1:2) = '01'B /* THIS DATA SET FOR XM6180*/ 00068000 * & DCBRECFM(5) = '1'B /* VS RECORDS ? XM6180*/ 00069000 * THEN /* YES, SET UP TO USE XM6180*/ 00070000 @RF00066 TM DCBRECFM(RDCB),B'01000000' 0072 00071000 BNO @RF00072 0072 00072000 TM DCBRECFM(RDCB),B'10000000' 0072 00073000 BNZ @RF00072 0072 00074000 TM DCBRECFM(RDCB),B'00001000' 0072 00075000 BNO @RF00072 0072 00076000 * DO; /* THE RECORD AREA XM6180*/ 00077000 * RPLAREA = BCBRECDA; /* PUT PTR IN RPL XM6180*/ 00078000 L @11,DCBBUFCB(,RDCB) 0074 00079000 L @11,BCBRECDA(,@11) 0074 00080000 ST @11,RPLAREA(,RRPL) 0074 00081000 * CIRAREA = BCBRECDA; /* PUT PTR IN CICB XM6180*/ 00082000 ST @11,CIRAREA(,RCICB) 0075 00083000 * END; /* END OF VS SETUP XM6180*/ 00084000 * ELSE /* NOT VS, SO USE THE XM6180*/ 00085000 * RPLAREA = BCBFSBUF;/* 1ST BUFFER IN POOL XM6180*/ 00086000 * 0077 00087000 B @RC00072 0077 00088000 @RF00072 L @11,DCBBUFCB(,RDCB) 0077 00089000 L @11,BCBFSBUF(,@11) 0077 00090000 ST @11,RPLAREA(,RRPL) 0077 00091000 * IF DCBBUFNO = 0 /* IF BUFFER COUNT NOT XM5700*/ 00092000 * THEN /* REFLECTED IN DCB XM5700*/ 00093000 @RC00072 CLI DCBBUFNO(RDCB),0 0078 00094000 BNE @RF00078 0078 00095000 * DO; /* MERGE IN VALUE FROM XM5700*/ 00096000 * 0079 00097000 * /* SUPERVISOR KEY REQ TO STORE IN DCB (DM KEY) 00098000 * AND REFERENCE BCB (UK) Y02082*/ 00099000 * GEN (MODESET EXTKEY=ZERO); 0080 00100000 * 0080 00101000 MODESET EXTKEY=ZERO 00102000 * DCBBUFNO = BCBBUFNO; /* BUF POOL BLOCK XM5700*/ 00103000 * 0081 00104000 L @11,DCBBUFCB(,RDCB) 0081 00105000 LH @11,BCBBUFNO(,@11) 0081 00106000 STC @11,DCBBUFNO(,RDCB) 0081 00107000 * /* REESTABLISH USER KEY FOR INITRPL ROUTINE */ 00108000 * RDCBSAVE = RDCB; /* SAVE PTR TO DCB Y02082*/ 00109000 LR RDCBSAVE,RDCB 0082 00110000 * RUKEY = DXUKEY; /* SAVE USER KY IN R2 Y02082*/ 00111000 L @11,WTGCWA-1(,RWTGC) 0083 00112000 SLR RUKEY,RUKEY 0083 00113000 IC RUKEY,DXUKEY(,@11) 0083 00114000 * GEN (MODESET KEYADDR=(2)); 0084 00115000 MODESET KEYADDR=(2) 00116000 * RDCB = RDCBSAVE; /* RESTORE DCB PTR Y02082*/ 00117000 * 0085 00118000 LR RDCB,RDCBSAVE 0085 00119000 * END; /* XM5700*/ 00120000 * GO TO INITRPL; /* INITIALIZE THE RPL */ 00121000 B INITRPL 0087 00122000 * END; /* END OF VALIDBCB GROUP */ 00123000 * 0088 00124000 * GEN (EJECT); /* SKIP TO A NEW PAGE */ 00125000 @RF00064 DS 0H 0089 00126000 EJECT 00127000 * /* SET BUFFER LENGTH USING VALUE FROM DCB XA3128*/ 00128000 * RBUFL = DCBBUFL; /* BUFL XA3128*/ 00129000 * 0090 00130000 LH RBUFL,DCBBUFL(,RDCB) 0090 00131000 N RBUFL,@CF00434 0090 00132000 * IF RBUFL = 0 THEN /* IF DCBBUFL IS @ZA12902*/ 00133000 LTR RBUFL,RBUFL 0091 00134000 BNZ @RF00091 0091 00135000 * RBUFL = DCBBLKSI; /* ZERO,USE BLKSI@ZA12902*/ 00136000 * 0092 00137000 LH RBUFL,DCBBLKSI(,RDCB) 0092 00138000 N RBUFL,@CF00434 0092 00139000 * /***********************************************************/ 00140000 * /* IS THIS A BSAM DCB ? */ 00141000 * /***********************************************************/ 00142000 * 0093 00143000 * IF DCBCIND2(8) = '0'B 0093 00144000 * THEN /* YES */ 00145000 @RF00091 TM DCBCIND2(RDCB),B'00000001' 0093 00146000 BNZ @RF00093 0093 00147000 * DO ; 0094 00148000 * 0094 00149000 * /* HAS USER SUPPLIED BUFNO ? */ 00150000 * IF DCBBUFNO = 0 0095 00151000 * THEN /* NO */ 00152000 * 0095 00153000 CLI DCBBUFNO(RDCB),0 0095 00154000 BE @RT00095 0095 00155000 * GO TO INITRPL; /* NEXT ENTRY IN WTG */ 00156000 * 0096 00157000 * ELSE /* USER SUPPLIED BUFNO */ 00158000 * DO; 0097 00159000 * 0097 00160000 * RBUFNO = DCBBUFNO; /* PICK UP BUFFER NUMBER */ 00161000 SLR RBUFNO,RBUFNO 0098 00162000 IC RBUFNO,DCBBUFNO(,RDCB) 0098 00163000 * GO TO GETBUFRS; /* GO GET BUFFERS */ 00164000 * 0099 00165000 B GETBUFRS 0099 00166000 * END; /* END OF DO GROUP */ 00167000 * END; 0101 00168000 * 0101 00169000 * ELSE /* NOT BSAM DCB */ 00170000 * 0102 00171000 * /********************************************************/ 00172000 * /* ASSUME QSAM DCB */ 00173000 * /********************************************************/ 00174000 * 0102 00175000 * /********************************************************/ 00176000 * /* SET BUFFER LENGTH */ 00177000 * /********************************************************/ 00178000 * 0102 00179000 * /* LOCATE MODE SPECIFIED ? */ 00180000 * IF DCBMACRF(5) = '1'B | DCBMACRF(13) = '1'B THEN/* 00181000 * LOCATE MODE ? YM5890*/ 00182000 @RF00093 TM DCBMACRF(RDCB),B'00001000' 0102 00183000 BO @RT00102 0102 00184000 TM DCBMACRF+1(RDCB),B'00001000' 0102 00185000 BNO @RF00102 0102 00186000 @RT00102 DS 0H 0103 00187000 * IF DCBRECFM(1:2) = '01'B /* VARIABLE YM5890*/ 00188000 * & DCBRECFM(5)='1'B THEN /* SPANNED RECS YM5890*/ 00189000 TM DCBRECFM(RDCB),B'01000000' 0103 00190000 BNO @RF00103 0103 00191000 TM DCBRECFM(RDCB),B'10000000' 0103 00192000 BNZ @RF00103 0103 00193000 TM DCBRECFM(RDCB),B'00001000' 0103 00194000 BNO @RF00103 0103 00195000 * RBUFL=DCBLRECL; /* YES, USE LRECL YM5890*/ 00196000 LH RBUFL,DCBLRECL(,RDCB) 0104 00197000 N RBUFL,@CF00434 0104 00198000 * ELSE; /* NOT VS YM5890*/ 00199000 @RF00103 DS 0H 0106 00200000 * ELSE; /* NOT LOCATE YM5890*/ 00201000 * 0106 00202000 @RF00102 DS 0H 0107 00203000 * /* GET BUFNO FROM DCBBUFNO XA3128*/ 00204000 * RBUFNO = DCBBUFNO; /* NO. OF BUFFERS XA3128*/ 00205000 * 0107 00206000 SLR RBUFNO,RBUFNO 0107 00207000 IC RBUFNO,DCBBUFNO(,RDCB) 0107 00208000 *GETBUFRS:/***********************************************************/ 00209000 * /* ACQUIRE BUFFERS */ 00210000 * /***********************************************************/ 00211000 * 0108 00212000 * /* BUFFER LENGTH MUST BE MULTIPLE OF 8 FOR MULTIPLE BUFFERS*/ 00213000 * IF RBUFNO > 1 /* MULTIPLE BUFFERS ? */ 00214000 * THEN /* YES */ 00215000 GETBUFRS LA @11,1 0108 00216000 CR RBUFNO,@11 0108 00217000 BNH @RF00108 0108 00218000 * DO; 0109 00219000 * 0109 00220000 * CIWK1 = RBUFL//8; /* STORE IN WORK AREA */ 00221000 * 0110 00222000 LR @14,RBUFL 0110 00223000 SRDA @14,32 0110 00224000 D @14,@CF00056 0110 00225000 ST @14,CIWK1(,RCICB) 0110 00226000 * IF CIWK1 ^= 0 /* IS IT MULTIPLE OF 8 ? */ 00227000 * THEN /* BUFL NOT MULTIPLE OF 8*/ 00228000 * 0111 00229000 LTR @14,@14 0111 00230000 BZ @RF00111 0111 00231000 * /* ROUND UP TO NEAREST MULTIPLE OF 8 */ 00232000 * RBUFL = (RBUFL/8 + 1) * 8; 0112 00233000 LR @14,RBUFL 0112 00234000 SRDA @14,32 0112 00235000 D @14,@CF00056 0112 00236000 ALR @15,@11 0112 00237000 SLA @15,3 0112 00238000 LR RBUFL,@15 0112 00239000 * ELSE; /* BUFL IS MULTIPLE OF 8 */ 00240000 @RF00111 DS 0H 0114 00241000 * END; 0114 00242000 * 0114 00243000 * /* CALCULATE CORE REQUIREMENT FOR BUFFERS */ 00244000 * RSIZE = (RBUFNO * RBUFL) + 8; 0115 00245000 * 0115 00246000 @RF00108 LA @11,8 0115 00247000 LR @15,RBUFL 0115 00248000 MR @14,RBUFNO 0115 00249000 ALR @15,@11 0115 00250000 LR RSIZE,@15 0115 00251000 * /* IS FULLWORD ALIGNMENT SPECIFIED ? */ 00252000 * IF DCBBFALN (8) = '1'B 0116 00253000 * THEN /* YES */ 00254000 * 0116 00255000 TM DCBBFALN(RDCB),B'00000001' 0116 00256000 BNO @RF00116 0116 00257000 * /* ADD EIGHT BYTES FOR ALIGNMENT */ 00258000 * RSIZE = RSIZE + 8; 0117 00259000 * 0117 00260000 ALR RSIZE,@11 0117 00261000 *GETCORE: /***********************************************************/ 00262000 * /* GET CORE FOR BUFFERS, INCLUDING BUFCB, IN SUBPOOL 0. */ 00263000 * /* NOTE: IF USER KEY IS 0, THIS WILL RESULT IN SUBPOOL 252.*/ 00264000 * /***********************************************************/ 00265000 * 0118 00266000 * IF DCBRECFM(1:2) = '01'B & DCBRECFM(5) = '1'B /* @ZA19137*/ 00267000 * & DCBMACRF(13) = '1'B THEN /* IF IN LOCATE MODE @ZA19137*/ 00268000 @RF00116 DS 0H 0118 00269000 GETCORE TM DCBRECFM(RDCB),B'01000000' 0118 00270000 BNO @RF00118 0118 00271000 TM DCBRECFM(RDCB),B'10000000' 0118 00272000 BNZ @RF00118 0118 00273000 TM DCBRECFM(RDCB),B'00001000' 0118 00274000 BNO @RF00118 0118 00275000 TM DCBMACRF+1(RDCB),B'00001000' 0118 00276000 BNO @RF00118 0118 00277000 * RSIZE = RSIZE + 8; /* ADD 8 BYTES TO BCB FOR @ZA19137*/ 00278000 AL RSIZE,@CF00056 0119 00279000 * /* SPANNED RECORDS @ZA19137*/ 00280000 * 0120 00281000 * GEN (GETMAIN R,LV=(RSIZE),SP=0);/* GET BUFFER CORE YM4641*/ 00282000 * 0120 00283000 * 0120 00284000 @RF00118 DS 0H 0120 00285000 GETMAIN R,LV=(RSIZE),SP=0 00286000 * IF CIFRAGM = '1'B /* SPANREC FLAG SET ? */ 00287000 * THEN DO; /* YES */ 00288000 TM CIFRAGM(RCICB),B'00100000' 0121 00289000 BNO @RF00121 0121 00290000 * CIRAREA = R1; /* FOR SPANNED RECORDS */ 00291000 ST R1,CIRAREA(,RCICB) 0123 00292000 * GO TO ZROCHAIN; /* PREPARE FOR XCTL */ 00293000 B ZROCHAIN 0124 00294000 * END; /* END OF SPANREC DO GRP */ 00295000 * ELSE; /* SPANREC FLAG NOT SET */ 00296000 * 0126 00297000 @RF00121 DS 0H 0127 00298000 * /* DATA MANAGEMENT KEY REQUIRED TO REFERENCE DCB FIELD */ 00299000 * GEN (MODESET EXTKEY=DATAMGT); /* Y02082*/ 00300000 * 0127 00301000 MODESET EXTKEY=DATAMGT 00302000 * DCBBUFCB = R1; /* SET BUFCB ADDR IN DCB */ 00303000 ST R1,DCBBUFCB(,RDCB) 0128 00304000 * DCBCIND2(5) = '1'B; /* DENOTE OPEN XM6068*/ 00305000 OI DCBCIND2(RDCB),B'00001000' 0129 00306000 * /* GOT BFR POOL XM6068*/ 00307000 * DCBBUFNO = RBUFNO; /* SET BUFNO IN DCB */ 00308000 * 0130 00309000 STC RBUFNO,DCBBUFNO(,RDCB) 0130 00310000 * /* REESTABLISH USER KEY */ 00311000 * RDCBSAVE = RDCB; /* SAVE PTR TO DCB Y02082*/ 00312000 LR RDCBSAVE,RDCB 0131 00313000 * RUKEY = DXUKEY; /* SAVE USER KY IN R2 Y02082*/ 00314000 L @11,WTGCWA-1(,RWTGC) 0132 00315000 SLR RUKEY,RUKEY 0132 00316000 IC RUKEY,DXUKEY(,@11) 0132 00317000 * GEN (MODESET KEYADDR=(2)); /* Y02082*/ 00318000 MODESET KEYADDR=(2) 00319000 * RDCB = RDCBSAVE; /* RESTORE DCB PTR Y02082*/ 00320000 LR RDCB,RDCBSAVE 0134 00321000 * BCBBUFL = RBUFL; /* SET BUFL IN BCB */ 00322000 L @11,DCBBUFCB(,RDCB) 0135 00323000 STH RBUFL,BCBBUFL(,@11) 0135 00324000 * BCBBUFNO = RBUFNO; /* SET BUFNO IN BCB */ 00325000 STH RBUFNO,BCBBUFNO(,@11) 0136 00326000 * IF DCBRECFM(1:2) = '01'B & DCBRECFM(5) = '1'B /* @ZA19137*/ 00327000 * & DCBMACRF(13) = '1'B THEN /* IF VARIABLE SPANNED @ZA19137*/ 00328000 TM DCBRECFM(RDCB),B'01000000' 0137 00329000 BNO @RF00137 0137 00330000 TM DCBRECFM(RDCB),B'10000000' 0137 00331000 BNZ @RF00137 0137 00332000 TM DCBRECFM(RDCB),B'00001000' 0137 00333000 BNO @RF00137 0137 00334000 TM DCBMACRF+1(RDCB),B'00001000' 0137 00335000 BNO @RF00137 0137 00336000 * BCBBLDR(2) = '1'B; /* TURN ON LRI FLG @ZA19137*/ 00337000 OI BCBBLDR(@11),B'01000000' 0138 00338000 * GEN (EJECT); /* SKIP TO A NEW PAGE */ 00339000 @RF00137 DS 0H 0139 00340000 EJECT 00341000 * 0140 00342000 * 0140 00343000 * /***********************************************************/ 00344000 * /* */ 00345000 * /* STRUCTURE THE BUFFER CONTROL BLOCKS AND LINK BUFFERS */ 00346000 * /* */ 00347000 * /***********************************************************/ 00348000 * 0140 00349000 * /* SET POINTER PAST BUFFER CONTROL BLOCK */ 00350000 * R1 = R1 + 8; 0140 00351000 * 0140 00352000 LA R1,8(,R1) 0140 00353000 * /* IS FULL WORD ALIGNMENT SPECIFIED ? */ 00354000 * 0141 00355000 * IF DCBBFALN (8) = '1'B 0141 00356000 * THEN /* YES */ 00357000 * 0141 00358000 TM DCBBFALN(RDCB),B'00000001' 0141 00359000 BNO @RF00141 0141 00360000 * /* ADJUST POINTER TO FULL WORD */ 00361000 * R1 = R1 + 4; 0142 00362000 * 0142 00363000 LA R1,4(,R1) 0142 00364000 * ELSE; /* NO */ 00365000 * 0143 00366000 @RF00141 DS 0H 0144 00367000 * /* POINT TO FIRST BUFFER */ 00368000 * BCBFSBUF = R1; 0144 00369000 * 0144 00370000 L @11,DCBBUFCB(,RDCB) 0144 00371000 ST R1,BCBFSBUF(,@11) 0144 00372000 * /* LINK ALL BUFFERS */ 00373000 * DO RBUFNO = RBUFNO TO 1 BY -1; 0145 00374000 * 0145 00375000 B @DE00145 0145 00376000 @DL00145 DS 0H 0146 00377000 * /* IS THIS THE LAST BUFFER IN THE CHAIN ? */ 00378000 * 0146 00379000 * IF RBUFNO = 1 0146 00380000 * THEN 0146 00381000 * 0146 00382000 C RBUFNO,@CF00082 0146 00383000 BNE @RF00146 0146 00384000 * /* ZERO LAST BUFFER LINK */ 00385000 * BUFLINK = 0; 0147 00386000 * 0147 00387000 SLR @11,@11 0147 00388000 ST @11,BUFLINK(,R1) 0147 00389000 * ELSE /* NOT LAST BUFFER */ 00390000 * BUFLINK = R1 + RBUFL; /* ADDR OF NEXT BUFFER 0148 00391000 * IN LINK FIELD */ 00392000 B @RC00146 0148 00393000 @RF00146 LR @11,R1 0148 00394000 ALR @11,RBUFL 0148 00395000 ST @11,BUFLINK(,R1) 0148 00396000 * R1 = R1 + RBUFL; /* POINT TO NEXT BUFFER */ 00397000 * 0149 00398000 @RC00146 ALR R1,RBUFL 0149 00399000 * END; /* THIS LOOP IS EXECUTED 00400000 * UNTIL COUNT OF BUFFERS 00401000 * IS ZERO */ 00402000 * 0150 00403000 BCTR RBUFNO,0 0150 00404000 @DE00145 LTR RBUFNO,RBUFNO 0150 00405000 BP @DL00145 0150 00406000 * /* PLACE POINTER TO BUFFER IN RPL */ 00407000 * RPLAREA = BCBFSBUF; 0151 00408000 L @11,DCBBUFCB(,RDCB) 0151 00409000 L @11,BCBFSBUF(,@11) 0151 00410000 ST @11,RPLAREA(,RRPL) 0151 00411000 * CIRAREA = BCBFSBUF; /* FOR SPANNED RECORDS */ 00412000 ST @11,CIRAREA(,RCICB) 0152 00413000 * GEN (EJECT); /* SKIP TO A NEW PAGE */ 00414000 EJECT 00415000 * 0154 00416000 * /***********************************************************/ 00417000 * /* */ 00418000 * /* INITIALIZE THE RPL */ 00419000 * /* */ 00420000 * /***********************************************************/ 00421000 * 0154 00422000 *INITRPL: ; 0154 00423000 INITRPL DS 0H 0155 00424000 * IF DCBCIND2(8) = '1'B THEN /* TEST FOR QSAM Y02123*/ 00425000 TM DCBCIND2(RDCB),B'00000001' 0155 00426000 BNO @RF00155 0155 00427000 * DO; /* Y02123*/ 00428000 * /* SUPERVISOR KEY REQUIRED TO REFERENCE RPL (UK) 0157 00429000 * AND STORE IN DCB FIELDS (DMK) */ 00430000 * GEN (MODESET EXTKEY=ZERO);/* KEY ZERO Y02123*/ 00431000 * 0157 00432000 MODESET EXTKEY=ZERO 00433000 * IF DCBMACRF(2) = '1'B THEN/* 0158 00434000 * QSAM=GET Y02123*/ 00435000 TM DCBMACRF(RDCB),B'01000000' 0158 00436000 BNO @RF00158 0158 00437000 * DO; /* SETUP DCB FOR PGET Y02123*/ 00438000 * DCBRECAD = RPLAREA; /* START OF BUF Y02123*/ 00439000 L @11,RPLAREA(,RRPL) 0160 00440000 ST @11,DCBRECAD(,RDCB) 0160 00441000 * DCBEOBAD = DCBRECAD + DCBLRECL; /* ENDOFBUF Y02123*/ 00442000 LH @15,DCBLRECL(,RDCB) 0161 00443000 N @15,@CF00434 0161 00444000 ALR @11,@15 0161 00445000 ST @11,DCBEOBAD(,RDCB) 0161 00446000 * END; /* Y02123*/ 00447000 * ELSE /* NOT GET ASSUME PUT Y02123*/ 00448000 * DO; /* SET DCB FOR COBOL Y02123*/ 00449000 B @RC00158 0163 00450000 @RF00158 DS 0H 0164 00451000 * DCBRECAD = RPLAREA + DCBLRECL; /* ENDOFBUF Y02123*/ 00452000 LH @11,DCBLRECL(,RDCB) 0164 00453000 N @11,@CF00434 0164 00454000 AL @11,RPLAREA(,RRPL) 0164 00455000 ST @11,DCBRECAD(,RDCB) 0164 00456000 * DCBEOBAD = DCBRECAD; /* SIMULATE EOB Y02123*/ 00457000 ST @11,DCBEOBAD(,RDCB) 0165 00458000 * END; /* Y02123*/ 00459000 * 0166 00460000 * /* REESTABLISH USER KEY FOR INITRPL ROUTINE */ 00461000 * RDCBSAVE = RDCB; /* SAVE PTR TO DCB Y02123*/ 00462000 @RC00158 LR RDCBSAVE,RDCB 0167 00463000 * RUKEY = DXUKEY; /* SAVE USER KY IN R2 Y02123*/ 00464000 L @11,WTGCWA-1(,RWTGC) 0168 00465000 SLR RUKEY,RUKEY 0168 00466000 IC RUKEY,DXUKEY(,@11) 0168 00467000 * GEN (MODESET KEYADDR=(2)); /* Y02123*/ 00468000 MODESET KEYADDR=(2) 00469000 * RDCB = RDCBSAVE; /* RESTORE DCB PTR Y02123*/ 00470000 * 0170 00471000 LR RDCB,RDCBSAVE 0170 00472000 * IF DCBMACRF(5) = '1'B | DCBMACRF(13) = '1'B THEN/* 00473000 * LOCATE MODE YM5890*/ 00474000 TM DCBMACRF(RDCB),B'00001000' 0171 00475000 BO @RT00171 0171 00476000 TM DCBMACRF+1(RDCB),B'00001000' 0171 00477000 BNO @RF00171 0171 00478000 @RT00171 DS 0H 0172 00479000 * IF DCBRECFM(1:2) = '01'B/* 0172 00480000 * VARIABLE LENGTH YM5890*/ 00481000 * & DCBRECFM(5) = '1'B THEN;/* 0172 00482000 * SPANNED RECORDS YM5890*/ 00483000 TM DCBRECFM(RDCB),B'01000000' 0172 00484000 BNO @RF00172 0172 00485000 TM DCBRECFM(RDCB),B'10000000' 0172 00486000 BNZ @RF00172 0172 00487000 TM DCBRECFM(RDCB),B'00001000' 0172 00488000 BO @RT00172 0172 00489000 * ELSE DO; /* NOT VS YM5890*/ 00490000 @RF00172 DS 0H 0175 00491000 * R1 = BCBFSBUF; /* BASE FOR BUFLINK YM5890*/ 00492000 L @11,DCBBUFCB(,RDCB) 0175 00493000 L R1,BCBFSBUF(,@11) 0175 00494000 * END; /* END OF NOT VS LOOP YM5890*/ 00495000 * ELSE; /* NOT LOCATE YM5890*/ 00496000 @RF00171 DS 0H 0178 00497000 * END; /* Y02123*/ 00498000 * ELSE; /* NOT QSAM Y02123*/ 00499000 * 0179 00500000 @RF00155 DS 0H 0180 00501000 * IF DCBRECFM(1:2) = '10'B /* RECFM=FIXED YM7855*/ 00502000 * & DCBMACRF(10:11) ^= '00'B THEN/* 0180 00503000 * OPENED FOR OUTPUT YM7855*/ 00504000 @RC00155 TM DCBRECFM(RDCB),B'10000000' 0180 00505000 BNO @RF00180 0180 00506000 TM DCBRECFM(RDCB),B'01000000' 0180 00507000 BNZ @RF00180 0180 00508000 TM DCBMACRF+1(RDCB),B'01100000' 0180 00509000 BZ @RF00180 0180 00510000 * RPLOPT3(3) = '1'B ; /* YES,INDICATE IN RPL YM7855*/ 00511000 OI RPLOPT3(RRPL),B'00100000' 0181 00512000 * ELSE; /* NO YM7855*/ 00513000 @RF00180 DS 0H 0183 00514000 * RPLID = '00'X; /* SET RPL ID */ 00515000 MVI RPLID(RRPL),X'00' 0183 00516000 * RPLSTYP = '00'X; /* SET RPL SUBTYPE */ 00517000 MVI RPLSTYP(RRPL),X'00' 0184 00518000 * RPLLEN = LENGTH(IFGRPL); /* SET LENGTH OF RPL */ 00519000 * 0185 00520000 MVI RPLLEN(RRPL),X'4C' 0185 00521000 * RPLERMSA = ADDR(CIFDBCK); /* ADDR OF ERROR MESSAGE */ 00522000 LA @11,CIFDBCK(,RCICB) 0186 00523000 ST @11,RPLERMSA(,RRPL) 0186 00524000 * RPLDACB = ADDR (CIACBD); /* ADDR OF DATA ACB */ 00525000 * 0187 00526000 LA @11,CIACBD(,RCICB) 0187 00527000 ST @11,RPLDACB(,RRPL) 0187 00528000 * /* INDICATE SYNCHRONOUS REQUEST */ 00529000 * RPLOPTCD(5) = '0'B; 0188 00530000 * 0188 00531000 * /* INDICATE SEQUENTIAL PROCESSING */ 00532000 * RPLOPTCD(4) = '0'B; 0189 00533000 * 0189 00534000 * /* INDICATE PHYSICAL PROCESSING */ 00535000 * RPLOPTCD(3) = '1'B; 0190 00536000 OI RPLOPTCD(RRPL),B'00100000' 0190 00537000 NI RPLOPTCD(RRPL),B'11100111' 0190 00538000 * 0191 00539000 * /***********************************************************/ 00540000 * /* SET BUFFER LENGTH IN RPL */ 00541000 * /***********************************************************/ 00542000 * 0191 00543000 * IF DCBRECFM(1:2) = '01'B /* V,VB RECORDS ? */ 00544000 * THEN /* YES * 00545000 TM DCBRECFM(RDCB),B'01000000' 0191 00546000 BNO @RF00191 0191 00547000 TM DCBRECFM(RDCB),B'10000000' 0191 00548000 BNZ @RF00191 0191 00549000 * RPLBUFL = DCBBLKSI - 8; /* SET BUFFER LENGTH * 00550000 LH @11,DCBBLKSI(,RDCB) 0192 00551000 N @11,@CF00434 0192 00552000 SL @11,@CF00056 0192 00553000 ST @11,RPLBUFL(,RRPL) 0192 00554000 * ELSE /* NOT V,VB RECORDS * 00555000 * 0193 00556000 * IF DCBRECFM(1:2) = '10'B /* F OR FB RECORDS? */ 00557000 * THEN DO; /* YES */ 00558000 B @RC00191 0193 00559000 @RF00191 TM DCBRECFM(RDCB),B'10000000' 0193 00560000 BNO @RF00193 0193 00561000 TM DCBRECFM(RDCB),B'01000000' 0193 00562000 BNZ @RF00193 0193 00563000 * RPLBUFL = DCBLRECL; /* SET BUFFER LENGTH */ 00564000 LH @11,DCBLRECL(,RDCB) 0195 00565000 N @11,@CF00434 0195 00566000 ST @11,RPLBUFL(,RRPL) 0195 00567000 * RPLRLEN = RPLBUFL; /* AND RECORD LENGTH */ 00568000 ST @11,RPLRLEN(,RRPL) 0196 00569000 * END; 0197 00570000 * 0197 00571000 * ELSE 0198 00572000 * RPLBUFL = DCBBLKSI; /* ALL OTHER CASES */ 00573000 * 0198 00574000 * 0198 00575000 B @RC00193 0198 00576000 @RF00193 LH @11,DCBBLKSI(,RDCB) 0198 00577000 N @11,@CF00434 0198 00578000 ST @11,RPLBUFL(,RRPL) 0198 00579000 * CIRPLCIC = RCICB; /* ADDR OF CICB IN RPL 0199 00580000 * EXTENSION */ 00581000 @RC00193 DS 0H 0199 00582000 @RC00191 ST RCICB,CIRPLCIC(,RCICB) 0199 00583000 * /***********************************************************/ 00584000 *SPANRECD:/* TEST FOR BSAM VARIABLE LENGTH SPANNED RECORDS */ 00585000 * /***********************************************************/ 00586000 * 0200 00587000 * IF DCBCIND2(8) = '0'B /* BSAM SPECIFIED ? */ 00588000 * THEN /* YES */ 00589000 SPANRECD TM DCBCIND2(RDCB),B'00000001' 0200 00590000 BNZ @RF00200 0200 00591000 * /* SPANNED RECORDS ? */ 00592000 * IF DCBRECFM(1:2) = '01'B & DCBRECFM(5) = '1'B 0201 00593000 * THEN /* YES, VS FORMAT */ 00594000 TM DCBRECFM(RDCB),B'01000000' 0201 00595000 BNO @RF00201 0201 00596000 TM DCBRECFM(RDCB),B'10000000' 0201 00597000 BNZ @RF00201 0201 00598000 TM DCBRECFM(RDCB),B'00001000' 0201 00599000 BNO @RF00201 0201 00600000 * DO; /* SET UP A RECORD AREA */ 00601000 * IF DCBLRECL = 0 /* LOGICAL REC LEN AVAIL?*/ 00602000 * THEN RSIZE = 120; /* NO, USE STD PRINT LINE*/ 00603000 LH @11,DCBLRECL(,RDCB) 0203 00604000 N @11,@CF00434 0203 00605000 LTR @11,@11 0203 00606000 BNZ @RF00203 0203 00607000 LA RSIZE,120 0204 00608000 * ELSE RSIZE = DCBLRECL;/* YES, USE IT */ 00609000 B @RC00203 0205 00610000 @RF00203 LH RSIZE,DCBLRECL(,RDCB) 0205 00611000 N RSIZE,@CF00434 0205 00612000 * CILWAREA = RSIZE; /* SIZE OF RECORD AREA */ 00613000 @RC00203 ST RSIZE,CILWAREA(,RCICB) 0206 00614000 * CIFRAGM = '1'B; /* SET SPANREC FLAG */ 00615000 OI CIFRAGM(RCICB),B'00100000' 0207 00616000 * GO TO GETCORE; /* GET CORE FOR RECD AREA*/ 00617000 B GETCORE 0208 00618000 * END; /* END OF SPANREC DO GRP */ 00619000 * ELSE; /* NOT SPANNED RECORDS */ 00620000 @RF00201 DS 0H 0211 00621000 * ELSE; /* NOT BSAM */ 00622000 @RF00200 DS 0H 0212 00623000 * GEN (EJECT); /* SKIP TO A NEW PAGE */ 00624000 EJECT 00625000 * /***********************************************************/ 00626000 * /* */ 00627000 * /* SET UP TO XCTL TO NEXT CI OPEN EXECUTOR */ 00628000 * /* */ 00629000 * /***********************************************************/ 00630000 * 0213 00631000 *ZROCHAIN: 0213 00632000 * 0213 00633000 * /***********************************************************/ 00634000 * /* DATA MANAGEMENT KEY REQUIRED FOR ZROCHAIN ROUTINE */ 00635000 * /***********************************************************/ 00636000 * GEN (MODESET EXTKEY=DATAMGT); /* Y02082*/ 00637000 * 0213 00638000 ZROCHAIN MODESET EXTKEY=DATAMGT 00639000 * XCTLREG = ADDR (IBMCLOSE); /* ENTRY IN XCTL TABLE */ 00640000 * 0214 00641000 LA XCTLREG,IBMCLOSE 0214 00642000 * /* MOVE ID OF NEXT LOAD INTO WTG TABLE */ 00643000 * WTGCID = XCTLID; 0215 00644000 * 0215 00645000 MVC WTGCID(2,RWTGC),XCTLID(XCTLREG) 0215 00646000 * /* MOVE TTR OF NEXT LOAD INTO WTG TABLE */ 00647000 * WTGCTTR = XCTLTTR; 0216 00648000 * 0216 00649000 MVC WTGCTTR(3,RWTGC),XCTLTTR(XCTLREG) 0216 00650000 * /* RESET BASE FOR CICB */ 00651000 * RCICB = DCBCICB; 0217 00652000 * 0217 00653000 L RCICB,DCBCICB(,RDCB) 0217 00654000 *NEXTNTRY:/* EXAMINE THE REMAINING ENTRIES IN THE WTG TABLE AND OPEN */ 00655000 * /* PARAMETER LIST TO DETERMINE IF THIS MODULE IS NEEDED. */ 00656000 * 0218 00657000 * RWTGC = RWTGC + 8; /* NEXT ENTRY IN WTG TABL*/ 00658000 NEXTNTRY LA RWTGC,8(,RWTGC) 0218 00659000 * RPARC = RPARC + 4; /* NEXT ENTRY IN PARM LST*/ 00660000 * 0219 00661000 LA RPARC,4(,RPARC) 0219 00662000 * /* IS THIS MODULE NEEDED */ 00663000 * 0220 00664000 * IF WTGCID = '9W' 0220 00665000 * THEN /* YES */ 00666000 CLC WTGCID(2,RWTGC),@CC00426 0220 00667000 BE @RT00220 0220 00668000 * GO TO PROCESS; /* GO PROCESS THE DCB */ 00669000 * 0221 00670000 * ELSE 0222 00671000 * /* IS THIS THE END OF THE WTG TABLE */ 00672000 * 0222 00673000 * IF WTGCID = '0S' 0222 00674000 * THEN /* YES */ 00675000 CLC WTGCID(2,RWTGC),@CC00427 0222 00676000 BE @RT00222 0222 00677000 * GO TO TRANSFER; /* GO TO TRANSFER CONTROL*/ 00678000 * 0223 00679000 * ELSE /* NO */ 00680000 * GO TO NEXTNTRY; /* GO CHECK ENTRY ID */ 00681000 * 0224 00682000 B NEXTNTRY 0224 00683000 *TRANSFER:/* RESET POINTERS IN THE WTG TABLE AND PARM LIST TO THE */ 00684000 * /* FIRST ENTRIES, AND PREPARE TO TRANSFER CONTROL TO THE */ 00685000 * /* NEXT LOAD. */ 00686000 * 0225 00687000 * /* FIRST ENTRY IN THE WTG TABLE */ 00688000 * RWTGC = RWTG + 32; 0225 00689000 * 0225 00690000 TRANSFER LA RWTGC,32(,RWTG) 0225 00691000 * /* FIRST ENTRY IN PARM LIST */ 00692000 * RPARC = RPAR; 0226 00693000 * 0226 00694000 LR RPARC,RPAR 0226 00695000 *CHECKID: /* CHECK THE ENTRIES IN THE WTG TABLE FOR A NON-ZERO ID */ 00696000 * 0227 00697000 * /* IS ID OF CURRENT ENTRY IN WTG TABLE ZERO ? */ 00698000 * 0227 00699000 * IF WTGCID(1) = '00'X 0227 00700000 * THEN /* YES */ 00701000 CHECKID CLI WTGCID(RWTGC),X'00' 0227 00702000 BNE @RF00227 0227 00703000 * DO; /* STEP TO NEXT ENTRY */ 00704000 * RWTGC = RWTGC + 8; /* NEXT WTG-TBL ENTRY */ 00705000 LA RWTGC,8(,RWTGC) 0229 00706000 * RPARC = RPARC + 4; /* NEXT PARM-LIST ENTRY */ 00707000 LA RPARC,4(,RPARC) 0230 00708000 * GO TO CHECKID; /* GO CHECK NEXT ENTRY */ 00709000 B CHECKID 0231 00710000 * END; 0232 00711000 * 0232 00712000 * ELSE /* ID IS NOT ZERO */ 00713000 * DO; 0233 00714000 @RF00227 DS 0H 0234 00715000 * WTGID = WTGCID; /* MOVE ID TO BASIC SECTN*/ 00716000 MVC WTGID(2,RWTG),WTGCID(RWTGC) 0234 00717000 * WTGTTR = WTGCTTR; /* MOVE TTR */ 00718000 MVC WTGTTR(3,RWTG),WTGCTTR(RWTGC) 0235 00719000 * END; 0236 00720000 * 0236 00721000 * R15 = ADDR (DXCCW(1)); /* PARM LIST ADDR Y02082*/ 00722000 L R15,WTGCWA-1(,RWTGC) 0237 00723000 LA R15,0(,R15) 0237 00724000 LA R15,DXCCW(,R15) 0237 00725000 * GEN (XCTL EPLOC=(RWTG),SF=(E,(15)),DCB=0);/*TRANSFER Y02082*/ 00726000 XCTL EPLOC=(RWTG),SF=(E,(15)),DCB=0 00727000 * /* TO THE NEXT LOAD */ 00728000 * 0239 00729000 * END IGG0199W /* END OF IGG0199W MODULE */ 00730000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. * 00731000 */*%INCLUDE SYSLIB (IFGSDCB ) * 00732000 */*%INCLUDE SYSLIB (IFGJCICB) * 00733000 */*%INCLUDE SYSLIB (IFGRPL ) * 00734000 *; 0239 00735000 @EL00001 DS 0H 0239 00736000 @EF00001 DS 0H 0239 00737000 @ER00001 BR @14 0239 00738000 @DATA DS 0H 00739000 @DATD DSECT 00740000 DS 0F 00741000 @ZTEMPS DS C 00742000 @ZTEMPND EQU * 00743000 @ZLEN EQU @ZTEMPND-@ZTEMPS 00744000 @TEMPS EQU @ZTEMPS 00745000 @L EQU @ZLEN 00746000 IGG0199W CSECT 00747000 DS 0F 00748000 @CF00082 DC F'1' 00749000 @CF00056 DC F'8' 00750000 @CF00434 DC XL4'0000FFFF' 00751000 @DATD DSECT 00752000 DS 0D 00753000 IGG0199W CSECT 00754000 DS 0F 00755000 @SIZDATD DC AL1(0) 00756000 DC AL3(@ENDDATD-@DATD) 00757000 @SIZ001 EQU @SIZDATD 00758000 DS 0D 00759000 @CC00426 DC C'9W' 00760000 @CC00427 DC C'0S' 00761000 @DATD DSECT 00762000 IGG0199W CSECT 00763000 ORG IGG0199W+1116 SET ORIGIN FOR XCTL TABLE 00764000 XCTLTABL EQU * 00765000 IBMCLOSE DC C'8L' ID OF NEXT LOAD 00766000 DC X'00000000' TTR OF NEXT LOAD 00767000 DC X'0000' END OF TABLE 00768000 DC XL4'0' PAD TO LEAVE 4 BYTES 00769000 DC C'019' SVC CODE 00770000 DC X'7E' DISPLACEMENT TO TABLE 00771000 @DATD DSECT 00772000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 00773000 @ENDDATD EQU * 00774000 @DATEND EQU * 00775000 IGG0199W CSECT 00776000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 00777000 @01 EQU 01 00778000 @02 EQU 02 00779000 @03 EQU 03 00780000 @04 EQU 04 00781000 @05 EQU 05 00782000 @06 EQU 06 00783000 @07 EQU 07 00784000 @08 EQU 08 00785000 @09 EQU 09 00786000 @10 EQU 10 00787000 @11 EQU 11 00788000 @12 EQU 12 00789000 @13 EQU 13 00790000 @14 EQU 14 00791000 @15 EQU 15 00792000 @0 EQU 00 00793000 @1 EQU 01 00794000 @2 EQU 02 00795000 @3 EQU 03 00796000 @4 EQU 04 00797000 @5 EQU 05 00798000 @6 EQU 06 00799000 @7 EQU 07 00800000 @8 EQU 08 00801000 @9 EQU 09 00802000 @A EQU 10 00803000 @B EQU 11 00804000 @C EQU 12 00805000 @D EQU 13 00806000 @E EQU 14 00807000 @F EQU 15 00808000 RDCBSAVE EQU @00 00809000 R1 EQU @01 00810000 RSIZE EQU @01 00811000 RDCB EQU @02 00812000 RUKEY EQU @02 00813000 RBUFNO EQU @03 00814000 RBUFL EQU @04 00815000 RPAR EQU @05 00816000 RWTG EQU @06 00817000 RPARC EQU @07 00818000 RWTGC EQU @08 00819000 RCICB EQU @09 00820000 XCTLREG EQU @09 00821000 RRPL EQU @10 00822000 R15 EQU @15 00823000 RACB EQU @04 00824000 RDATD EQU @12 00825000 RMOD EQU @04 00826000 R0 EQU @00 00827000 R13 EQU @13 00828000 WTG EQU 0 00829000 WTGMDNAM EQU WTG 00830000 WTGID EQU WTGMDNAM+6 00831000 WTGTTR EQU WTG+14 00832000 WTGC EQU 0 00833000 WTGCID EQU WTGC 00834000 WTGCTTR EQU WTGC+2 00835000 WTGCWA EQU WTGC+5 00836000 IECDSECT EQU 0 00837000 DXCCW EQU IECDSECT+368 00838000 DXUKEY EQU IECDSECT+526 00839000 PARCNTRY EQU 0 00840000 PARCDCB EQU PARCNTRY 00841000 XCTLNTRY EQU 0 00842000 XCTLID EQU XCTLNTRY 00843000 XCTLTTR EQU XCTLNTRY+2 00844000 IFGSDCB EQU 0 00845000 DCBBUFCB EQU IFGSDCB+20 00846000 DCBBUFNO EQU DCBBUFCB 00847000 DCBBUFL EQU IFGSDCB+24 00848000 DCBIOBAD EQU IFGSDCB+28 00849000 @NM00011 EQU IFGSDCB+32 00850000 DCBHIARC EQU @NM00011 00851000 DCBBFTEK EQU DCBHIARC 00852000 DCBBFALN EQU DCBBFTEK 00853000 DCBRECFM EQU IFGSDCB+36 00854000 DCBDDNAM EQU IFGSDCB+40 00855000 DCBMACRF EQU DCBDDNAM+2 00856000 DCBREAD EQU IFGSDCB+49 00857000 DCBWRITE EQU DCBREAD 00858000 DCBGET EQU DCBWRITE 00859000 DCBPUT EQU DCBGET 00860000 DCBCHECK EQU IFGSDCB+53 00861000 DCBGERR EQU DCBCHECK 00862000 DCBCIND2 EQU IFGSDCB+61 00863000 DCBBLKSI EQU IFGSDCB+62 00864000 DCBIOBA EQU IFGSDCB+68 00865000 DCBCICB EQU DCBIOBA 00866000 DCBEOBAD EQU IFGSDCB+72 00867000 DCBLCCW EQU DCBEOBAD 00868000 DCBEOBR EQU DCBLCCW 00869000 @NM00012 EQU IFGSDCB+76 00870000 DCBEOBW EQU @NM00012 00871000 DCBRECAD EQU DCBEOBW 00872000 DCBDIRCT EQU IFGSDCB+80 00873000 DCBLRECL EQU IFGSDCB+82 00874000 @NM00013 EQU IFGSDCB+84 00875000 DCBCNTRL EQU @NM00013+1 00876000 DCBNOTE EQU DCBCNTRL 00877000 IFGJCICB EQU 0 00878000 CIDUMIOB EQU IFGJCICB 00879000 CIACBD EQU IFGJCICB+32 00880000 CIREGSAV EQU IFGJCICB+116 00881000 CIFLAGS EQU IFGJCICB+188 00882000 CIFLAG2 EQU CIFLAGS+1 00883000 CIFLAG3 EQU CIFLAGS+2 00884000 CIFRAGM EQU CIFLAG3 00885000 CIRPL EQU IFGJCICB+192 00886000 CIRPLEXT EQU IFGJCICB+268 00887000 CIFDBCK EQU IFGJCICB+284 00888000 CILWAREA EQU IFGJCICB+304 00889000 CIIOCNT EQU IFGJCICB+308 00890000 CIRAREA EQU IFGJCICB+316 00891000 CIWK1 EQU IFGJCICB+328 00892000 CISVCLST EQU IFGJCICB+336 00893000 CISYNADA EQU CISVCLST 00894000 CIBLDL EQU CISVCLST+4 00895000 CIBSP EQU CISVCLST+8 00896000 CIFEOV EQU CISVCLST+12 00897000 CISTOW EQU CISVCLST+16 00898000 IFGRPL EQU 0 00899000 RPLCOMN EQU IFGRPL 00900000 RPLIDWD EQU RPLCOMN 00901000 RPLID EQU RPLIDWD 00902000 RPLSTYP EQU RPLIDWD+1 00903000 RPLLEN EQU RPLIDWD+3 00904000 RPLECB EQU RPLCOMN+8 00905000 RPLFDBWD EQU RPLCOMN+12 00906000 RPLFDBK EQU RPLFDBWD+1 00907000 RPLRTNCD EQU RPLFDBK 00908000 RPLCNDCD EQU RPLFDBK+1 00909000 RPLCMPON EQU RPLCNDCD 00910000 RPLFDB2 EQU RPLCMPON 00911000 RPLERRCD EQU RPLCNDCD+1 00912000 RPLFDB3 EQU RPLERRCD 00913000 RPLKEYLE EQU RPLCOMN+16 00914000 RPLDACB EQU RPLCOMN+24 00915000 RPLAREA EQU RPLCOMN+32 00916000 RPLARG EQU RPLCOMN+36 00917000 RPLOPTCD EQU RPLCOMN+40 00918000 RPLOPT1 EQU RPLOPTCD 00919000 RPLECBSW EQU RPLOPT1 00920000 RPLOPT2 EQU RPLOPTCD+1 00921000 RPLADR EQU RPLOPT2 00922000 RPLOPT3 EQU RPLOPTCD+2 00923000 RPLNXTRP EQU RPLCOMN+44 00924000 RPLRLEN EQU RPLCOMN+48 00925000 RPLBUFL EQU RPLCOMN+52 00926000 RPLOPTC2 EQU RPLCOMN+56 00927000 RPLOPT5 EQU RPLOPTC2 00928000 RPLWRTYP EQU RPLOPT5 00929000 RPLOPT6 EQU RPLOPTC2+1 00930000 RPLUNTYP EQU RPLOPT6 00931000 RPLOPT7 EQU RPLOPTC2+2 00932000 RPLCNOPT EQU RPLOPT7 00933000 RPLOPT8 EQU RPLOPTC2+3 00934000 RPLRBAR EQU RPLCOMN+60 00935000 RPLAIXID EQU RPLRBAR+2 00936000 RPLEXTDS EQU RPLCOMN+68 00937000 RPLEXTD1 EQU RPLEXTDS 00938000 RPLERMSA EQU RPLCOMN+72 00939000 BCB EQU 0 00940000 BCBFSBUF EQU BCB 00941000 BCBBUFNO EQU BCB+4 00942000 BCBBLDR EQU BCBBUFNO 00943000 BCBBUFL EQU BCB+6 00944000 BCBRECDA EQU BCB+8 00945000 BUFLINK EQU 0 00946000 BUFADDR EQU DCBBUFCB 00947000 CIRPLCIC EQU CIRPLEXT 00948000 * START UNREFERENCED COMPONENTS 00949000 RPLEMLEN EQU RPLCOMN+70 00950000 RPLACTIV EQU RPLCOMN+69 00951000 RPLBRANC EQU RPLEXTD1 00952000 RPLNIB EQU RPLEXTD1 00953000 @NM00023 EQU RPLEXTD1 00954000 RPLEXIT EQU RPLEXTD1 00955000 RPLNEXIT EQU RPLEXTD1 00956000 RPLEXSCH EQU RPLEXTD1 00957000 RPLDDDD EQU RPLRBAR+4 00958000 @NM00022 EQU RPLRBAR+3 00959000 @NM00021 EQU RPLAIXID 00960000 RPLAXPKP EQU RPLAIXID 00961000 RPLAIXPC EQU RPLRBAR 00962000 RPLRSV88 EQU RPLOPT8 00963000 RPLUNCON EQU RPLOPT8 00964000 RPLACTV EQU RPLOPT8 00965000 RPLSESS EQU RPLOPT8 00966000 RPLPEND EQU RPLOPT8 00967000 RPLODPRM EQU RPLOPT8 00968000 RPLODACP EQU RPLOPT8 00969000 RPLODACQ EQU RPLOPT8 00970000 RPLRSV78 EQU RPLOPT7 00971000 RPLRSV77 EQU RPLOPT7 00972000 RPLRLSOP EQU RPLOPT7 00973000 RPLTPOST EQU RPLOPT7 00974000 RPLQOPT EQU RPLOPT7 00975000 RPLCNIMM EQU RPLCNOPT 00976000 RPLCNANY EQU RPLCNOPT 00977000 RPLCNALL EQU RPLCNOPT 00978000 RPLRSV68 EQU RPLOPT6 00979000 RPLRSV67 EQU RPLOPT6 00980000 RPLLOCK EQU RPLOPT6 00981000 RPLNCOND EQU RPLOPT6 00982000 RPLCOND EQU RPLOPT6 00983000 RPLEOT EQU RPLUNTYP 00984000 RPLEOM EQU RPLUNTYP 00985000 RPLEOB EQU RPLUNTYP 00986000 RPLWROPT EQU RPLOPT5 00987000 RPLNODE EQU RPLOPT5 00988000 RPLERACE EQU RPLWRTYP 00989000 RPLEAU EQU RPLWRTYP 00990000 RPLNERAS EQU RPLWRTYP 00991000 RPLPSOPT EQU RPLOPT5 00992000 RPLSSNIN EQU RPLOPT5 00993000 RPLDLGIN EQU RPLOPT5 00994000 RPLCHAIN EQU RPLNXTRP 00995000 RPLOPT4 EQU RPLOPTCD+3 00996000 RPLALIGN EQU RPLOPT3 00997000 RPLFMT EQU RPLOPT3 00998000 RPLFLD EQU RPLOPT3 00999000 RPLVFY EQU RPLOPT3 01000000 RPLBLK EQU RPLOPT3 01001000 RPLSFORM EQU RPLOPT3 01002000 RPLEODS EQU RPLOPT3 01003000 RPLNSP EQU RPLOPT2 01004000 RPLUPD EQU RPLOPT2 01005000 RPLWAITX EQU RPLOPT2 01006000 RPLLRD EQU RPLOPT2 01007000 RPLBWD EQU RPLOPT2 01008000 RPLCNV EQU RPLOPT2 01009000 RPLADD EQU RPLADR 01010000 RPLKEY EQU RPLOPT2 01011000 RPLECBIN EQU RPLECBSW 01012000 RPLGEN EQU RPLOPT1 01013000 RPLKGE EQU RPLOPT1 01014000 RPLASY EQU RPLOPT1 01015000 RPLSKP EQU RPLOPT1 01016000 RPLSEQ EQU RPLOPT1 01017000 RPLDIR EQU RPLOPT1 01018000 RPLLOC EQU RPLOPT1 01019000 RPLDAF EQU RPLARG+2 01020000 RPLSAF EQU RPLARG 01021000 RPLTCBPT EQU RPLCOMN+28 01022000 RPLCCHAR EQU RPLCOMN+20 01023000 RPLSTRID EQU RPLCOMN+18 01024000 RPLKEYL EQU RPLKEYLE 01025000 RPLRDSOH EQU RPLFDB3 01026000 RPLRLG EQU RPLFDB3 01027000 RPLLGFRC EQU RPLFDB3 01028000 RPLREOT EQU RPLFDB3 01029000 RPLREOM EQU RPLFDB3 01030000 RPLREOB EQU RPLFDB3 01031000 RPLSV32 EQU RPLFDB3 01032000 RPLUINPT EQU RPLFDB3 01033000 RPLSTSAV EQU RPLFDB2 01034000 RPLCUERR EQU RPLFDB2 01035000 RPLDLGFL EQU RPLFDB2 01036000 RPLIOERR EQU RPLFDB2 01037000 RPLDVUNS EQU RPLFDB2 01038000 RPLATND EQU RPLFDB2 01039000 RPLRVID EQU RPLFDB2 01040000 RPLERLK EQU RPLFDB2 01041000 RPLERREG EQU RPLRTNCD 01042000 RPLSTAT EQU RPLFDBWD 01043000 RPLPOST EQU RPLECB 01044000 RPLWAIT EQU RPLECB 01045000 RPLPLHPT EQU RPLCOMN+4 01046000 RPLLEN2 EQU RPLLEN 01047000 RPLREQ EQU RPLIDWD+2 01048000 CISTOWRC EQU CISTOW 01049000 CIFEOVRC EQU CIFEOV 01050000 CIBSPRC EQU CIBSP 01051000 CIBLDLRC EQU CIBLDL 01052000 CISYNRC EQU CISYNADA 01053000 CIWK2 EQU IFGJCICB+332 01054000 CISAMWA EQU IFGJCICB+324 01055000 CIRECPTR EQU IFGJCICB+320 01056000 CIBLKPTR EQU IFGJCICB+312 01057000 CISEGLEN EQU CIIOCNT 01058000 CIFLAG4 EQU CIFLAGS+3 01059000 @NM00020 EQU CIFLAG3 01060000 CIFPOINT EQU CIFLAG3 01061000 CIFERROR EQU CIFLAG3 01062000 CIFVSEOB EQU CIFLAG3 01063000 CIFVSRI EQU CIFLAG3 01064000 CIFCLOSE EQU CIFLAG3 01065000 CIFFSTP EQU CIFLAG3 01066000 @NM00019 EQU CIFLAG2 01067000 CIFMDEVT EQU CIFLAG2 01068000 CIFMDSOR EQU CIFLAG2 01069000 CIFLAG1 EQU CIFLAGS 01070000 CIREGS EQU CIREGSAV+12 01071000 CIREGFC EQU CIREGSAV+8 01072000 CIREGBC EQU CIREGSAV+4 01073000 @NM00018 EQU CIREGSAV 01074000 CISYNNAM EQU IFGJCICB+108 01075000 CIACBED EQU IFGJCICB+88 01076000 CIDCBPTR EQU CIDUMIOB+28 01077000 @NM00017 EQU CIDUMIOB+24 01078000 CIRESID EQU CIDUMIOB+20 01079000 @NM00016 EQU CIDUMIOB+16 01080000 CIECBPTR EQU CIDUMIOB+12 01081000 CIIOB EQU CIDUMIOB+8 01082000 @NM00015 EQU CIDUMIOB+5 01083000 CIECBCD EQU CIDUMIOB+4 01084000 CINXTIOB EQU CIDUMIOB 01085000 DCBEOB EQU IFGSDCB+92 01086000 DCBPRECL EQU IFGSDCB+90 01087000 @NM00014 EQU IFGSDCB+88 01088000 DCBPOINT EQU DCBNOTE 01089000 DCBEROPT EQU @NM00013 01090000 DCBQSWS EQU DCBDIRCT 01091000 DCBCCCW EQU DCBRECAD 01092000 DCBNCP EQU DCBEOBR 01093000 DCBOFFSW EQU IFGSDCB+67 01094000 DCBOFFSR EQU IFGSDCB+66 01095000 DCBWCPL EQU IFGSDCB+65 01096000 DCBWCPO EQU IFGSDCB+64 01097000 DCBCIND1 EQU IFGSDCB+60 01098000 DCBSYNAD EQU IFGSDCB+57 01099000 DCBIOBL EQU IFGSDCB+56 01100000 DCBPERR EQU DCBGERR 01101000 DCBOPTCD EQU IFGSDCB+52 01102000 DCBMACR EQU DCBPUT+1 01103000 DCBIFLG EQU DCBPUT 01104000 DCBOFLGS EQU IFGSDCB+48 01105000 DCBDEBAD EQU DCBDDNAM+5 01106000 DCBIFLGS EQU DCBDDNAM+4 01107000 DCBTIOT EQU DCBDDNAM 01108000 DCBEXLST EQU IFGSDCB+37 01109000 DCBEODAD EQU IFGSDCB+33 01110000 DCBSVCXL EQU DCBIOBAD 01111000 DCBDSORG EQU IFGSDCB+26 01112000 @NM00010 EQU IFGSDCB+16 01113000 @NM00009 EQU IFGSDCB 01114000 PARCOPT EQU PARCDCB 01115000 DXATEXC2 EQU IECDSECT+608 01116000 DXATEXC1 EQU IECDSECT+604 01117000 @NM00008 EQU IECDSECT+572 01118000 DXUDCBAD EQU IECDSECT+568 01119000 @NM00007 EQU IECDSECT+527 01120000 @NM00006 EQU IECDSECT+458 01121000 DXCALLID EQU IECDSECT+456 01122000 @NM00005 EQU IECDSECT+440 01123000 @NM00004 EQU IECDSECT+276 01124000 IECJFCB EQU IECDSECT+100 01125000 @NM00003 EQU IECDSECT 01126000 @NM00002 EQU WTG+8 01127000 @NM00001 EQU WTGMDNAM 01128000 * END UNREFERENCED COMPONENTS 01129000 @RF00078 EQU INITRPL 01130000 @RT00095 EQU INITRPL 01131000 @RC00171 EQU @RC00155 01132000 @RT00220 EQU PROCESS 01133000 @RT00222 EQU TRANSFER 01134000 @RF00222 EQU NEXTNTRY 01135000 @RT00172 EQU @RC00171 01136000 @EL01 EQU @EL00001 01137000 @ENDDATA EQU * 01138000 END IGG0199W,(C'PLS1154',0701,78025) 01139000