00001 IDENTIFICATION DIVISION. 11/18/04 00002 PROGRAM-ID. DTSBU911. DTSBU911 00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV008 00004 DATE-WRITTEN. SEPT 2004. CL**8 00005 DATE-COMPILED. DTSBU911 00006 SKIP3 DTSBU911 00007 ***** DTSBU911 00008 * DTSBU911 00009 * FUNCTION: MASTER FILE INPUT/OUTPUT.(OLD VERSION NO H OR I) CL**8 00010 * DTSBU911 00011 ******** THIS IS A COPY OF PROGRAM DTSBU910 ************** CL**8 00012 ******** DOES NOT CONTAIN NEW FILES MSTH MSTI ************** CL**8 00013 * DTSBU911 00014 * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE DTSBU911 00015 * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE DTSBU911 00016 * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE DTSBU911 00017 * DTSBU911 00018 * SPECIFY TRUNC(OPT) DURING COMPILE OF DTSBU910. TRUNC DTSBU911 00019 * (OPT) REDUCES CPU RESOUCE USAGE DURING COMPRESSION/ DTSBU911 00020 * EXPANSION BY 50% (VS TRUNC(STD)). DTSBU911 00021 * DTSBU911 00022 * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE DTSBU911 00023 * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE DTSBU911 00024 * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE DTSBU911 00025 * DTSBU911 00026 * DTSBU911 00027 * MODIFICATION LOG: DTSBU911 00028 * DTSBU911 00029 * 07/09/94 INITIAL DEVELOPMENT. DTSBU911 00030 * WORK ORDER: PROGRAMMER: EHH DTSBU911 00031 * DTSBU911 00032 * 09/18/95 ADD IWHO RECORD CONSTRUCTION. DTSBU911 00033 * WORK ORDER: JR PROGRAMMER: EHH DTSBU911 00034 * DTSBU911 00035 * 06-18-96 RE-COMPILED TO INCORPORATE CHANGES TO DTSIMLEN DTSBU911 00036 * AND DTSIMSKL. DTSBU911 00037 * REFERENCE RFP: WARP II PROGRAMMER: MJA DTSBU911 00038 * DTSBU911 00039 * 09/29/1998 REVIEWED AND MODIFIED FOR DC. DTSBU911 00040 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH DTSBU911 00041 * DTSBU911 00042 * 04/18/2003 MODIFIED FOR NEW ELECTRONIC PAYMENT AIX RECORDS DTSBU911 00043 * DTSIITRT AND DTSIITRE. DTSBU911 00044 * REFERENCE: EFT PROGRAMMER: GD DTSBU911 00045 * DTSBU911 00046 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU911 00047 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU911 00048 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSBU911 00049 * DTSBU911 00050 * DTSBU911 00051 * DESCRIPTION: DTSBU911 00052 * DTSBU911 00053 * PERFORMS ALL MSTER FILE I/O. DTSBU911 00054 * DTSBU911 00055 ***** DTSBU911 00056 SKIP3 DTSBU911 00057 ENVIRONMENT DIVISION. DTSBU911 00058 SKIP2 DTSBU911 00059 INPUT-OUTPUT SECTION. DTSBU911 00060 DTSBU911 00061 FILE-CONTROL. DTSBU911 00062 SELECT MSTA-FILE ASSIGN TO DTSFMSTA DTSBU911 00063 ORGANIZATION IS INDEXED DTSBU911 00064 RECORD KEY IS MSKL-KEY-AREA OF MSTA-SKL-REC DTSBU911 00065 FILE STATUS IS FILE-STATUS DTSBU911 00066 ACCESS IS DYNAMIC. DTSBU911 00067 SELECT MSTB-FILE ASSIGN TO DTSFMSTB DTSBU911 00068 ORGANIZATION IS INDEXED DTSBU911 00069 RECORD KEY IS MSKL-KEY-AREA OF MSTB-SKL-REC DTSBU911 00070 FILE STATUS IS FILE-STATUS DTSBU911 00071 ACCESS IS DYNAMIC. DTSBU911 00072 SELECT MSTC-FILE ASSIGN TO DTSFMSTC DTSBU911 00073 ORGANIZATION IS INDEXED DTSBU911 00074 RECORD KEY IS MSKL-KEY-AREA OF MSTC-SKL-REC DTSBU911 00075 FILE STATUS IS FILE-STATUS DTSBU911 00076 ACCESS IS DYNAMIC. DTSBU911 00077 SELECT MSTD-FILE ASSIGN TO DTSFMSTD DTSBU911 00078 ORGANIZATION IS INDEXED DTSBU911 00079 RECORD KEY IS MSKL-KEY-AREA OF MSTD-SKL-REC DTSBU911 00080 FILE STATUS IS FILE-STATUS DTSBU911 00081 ACCESS IS DYNAMIC. DTSBU911 00082 SKIP3 DTSBU911 00083 DATA DIVISION. DTSBU911 00084 SKIP3 DTSBU911 00085 FILE SECTION. DTSBU911 00086 SKIP3 DTSBU911 00087 FD MSTA-FILE. DTSBU911 00088 DTSBU911 00089 01 MSTA-SKL-REC. DTSBU911 00090 ++INCLUDE DTSIMSKL DTSBU911 00091 SKIP3 DTSBU911 00092 01 MSTA-VAR-REC. DTSBU911 00093 05 MSTA-VAR-CHAR OCCURS 16 TO 1536 TIMES DTSBU911 00094 DEPENDING ON MIO-REC-LENGTH DTSBU911 00095 PIC X(01). DTSBU911 00096 SKIP3 DTSBU911 00097 FD MSTB-FILE. DTSBU911 00098 DTSBU911 00099 01 MSTB-SKL-REC. DTSBU911 00100 ++INCLUDE DTSIMSKL DTSBU911 00101 SKIP3 DTSBU911 00102 01 MSTB-VAR-REC. DTSBU911 00103 05 MSTB-VAR-CHAR OCCURS 16 TO 1536 TIMES DTSBU911 00104 DEPENDING ON MIO-REC-LENGTH DTSBU911 00105 PIC X(01). DTSBU911 00106 SKIP3 DTSBU911 00107 FD MSTC-FILE. DTSBU911 00108 DTSBU911 00109 01 MSTC-SKL-REC. DTSBU911 00110 ++INCLUDE DTSIMSKL DTSBU911 00111 SKIP3 DTSBU911 00112 01 MSTC-VAR-REC. DTSBU911 00113 05 MSTC-VAR-CHAR OCCURS 16 TO 1536 TIMES DTSBU911 00114 DEPENDING ON MIO-REC-LENGTH DTSBU911 00115 PIC X(01). DTSBU911 00116 SKIP3 DTSBU911 00117 FD MSTD-FILE. DTSBU911 00118 DTSBU911 00119 01 MSTD-SKL-REC. DTSBU911 00120 ++INCLUDE DTSIMSKL DTSBU911 00121 SKIP3 DTSBU911 00122 01 MSTD-VAR-REC. DTSBU911 00123 05 MSTD-VAR-CHAR OCCURS 16 TO 1536 TIMES DTSBU911 00124 DEPENDING ON MIO-REC-LENGTH DTSBU911 00125 PIC X(01). DTSBU911 00126 EJECT DTSBU911 00127 WORKING-STORAGE SECTION. DTSBU911 001275 77 PAN-VALET PICTURE X(24) VALUE '008DTSBU911 11/18/04'. DTSBU911 00128 DTSBU911 00129 01 WRK-AREA. DTSBU911 00130 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +910.DTSBU911 00131 DTSBU911 00132 05 WRK-MOD-NAME PIC X(08) VALUE 'DTSBU910'.DTSBU911 00133 DTSBU911 00134 DTSBU911 00135 05 FILE-STATE PIC X(03) VALUE 'CL '. DTSBU911 00136 88 FILE-OPEN-READ-88 VALUE 'OPR'. DTSBU911 00137 88 FILE-OPEN-UPDATE-88 VALUE 'OPU'. DTSBU911 00138 88 FILE-OPEN-UPDATE-HDR-88 VALUE 'OPH'. DTSBU911 00139 88 FILE-OPEN-UPDATE-NO-AIX-88 VALUE 'OPA'. DTSBU911 00140 88 FILE-CLOSE-88 VALUE 'CL '. DTSBU911 00141 DTSBU911 00142 DTSBU911 00143 05 FILE-STATUS PIC X(02). DTSBU911 00144 88 FILE-OK-88 VALUE '00'. DTSBU911 00145 88 FILE-NO-REC-88 VALUE '10' '23'. DTSBU911 00146 88 FILE-VERIFY-88 VALUE '97'. DTSBU911 00147 DTSBU911 00148 DTSBU911 00149 05 WRK-FILE-SUFFIXES. DTSBU911 00150 10 FILLER PIC X(04) VALUE 'MSTA'. DTSBU911 00151 10 FILLER PIC X(04) VALUE 'MSTB'. DTSBU911 00152 10 FILLER PIC X(04) VALUE 'MSTC'. DTSBU911 00153 10 FILLER PIC X(04) VALUE 'MSTD'. DTSBU911 00154 05 FILLER REDEFINES WRK-FILE-SUFFIXES. DTSBU911 00155 10 WRK-FILE-SUFFIX OCCURS 4 TIMES DTSBU911 00156 PIC X(04). DTSBU911 00157 DTSBU911 00158 DTSBU911 00159 05 WRK-FILE-NAME-SUFFIX PIC X(04). DTSBU911 00160 DTSBU911 00161 DTSBU911 00162 05 WRK-REC-PREFIX PIC X(04). DTSBU911 00163 DTSBU911 00164 DTSBU911 00165 05 REC-TYPE-SUB PIC S9(04) COMP. DTSBU911 00166 DTSBU911 00167 05 FILE-SUB PIC S9(04) COMP. DTSBU911 00168 DTSBU911 00169 DTSBU911 00170 05 MIO-REC-LENGTH PIC S9(04) COMP. DTSBU911 00171 DTSBU911 00172 05 MIO-KEY-LENGTH PIC S9(04) COMP. DTSBU911 00173 DTSBU911 00174 05 MIO-KEY-FILLER-LENGTH PIC S9(04) COMP. DTSBU911 00175 DTSBU911 00176 05 MIO-KEY-FILLER-START PIC S9(04) COMP. DTSBU911 00177 DTSBU911 00178 05 WRK-REC-LENGTH PIC S9(04) COMP. DTSBU911 00179 DTSBU911 00180 05 WRK-DATA-LENGTH PIC S9(04) COMP. DTSBU911 00181 DTSBU911 00182 05 OCC-COUNT-START PIC S9(04) COMP. DTSBU911 00183 DTSBU911 00184 05 OCC-COUNT-X PIC X(02). DTSBU911 00185 05 OCC-COUNT REDEFINES OCC-COUNT-X DTSBU911 00186 PIC S9(04) COMP. DTSBU911 00187 DTSBU911 00188 DTSBU911 00189 05 COUNT-COMPLETE-IND PIC X(01). DTSBU911 00190 EJECT DTSBU911 00191 01 MCMP-WORK-AREA. DTSBU911 00192 ++INCLUDE DTSICCMP DTSBU911 00193 EJECT DTSBU911 00194 01 MLEN-LENGTH-LITERALS. DTSBU911 00195 ++INCLUDE DTSIMLEN DTSBU911 00196 EJECT DTSBU911 00197 01 MIO-REC. DTSBU911 00198 ++INCLUDE DTSIMIO DTSBU911 00199 EJECT DTSBU911 00200 01 WRK-REC. DTSBU911 00201 ++INCLUDE DTSIMSKL DTSBU911 00202 SKIP3 DTSBU911 00203 10 WRK-DATA-AREA REDEFINES MSKL-DATA-AREA. DTSBU911 00204 15 WRK-DATA-CHAR OCCURS 1515 TIMES DTSBU911 00205 INDEXED BY WRK-DATA-IDX DTSBU911 00206 PIC X(01). DTSBU911 00207 SKIP3 DTSBU911 00208 01 MPRF-REC REDEFINES WRK-REC. DTSBU911 00209 ++INCLUDE DTSIMPRF DTSBU911 00210 SKIP3 DTSBU911 00211 01 MBAA-REC REDEFINES WRK-REC. DTSBU911 00212 ++INCLUDE DTSIMBAA DTSBU911 00213 SKIP3 DTSBU911 00214 01 MFAS-REC REDEFINES WRK-REC. DTSBU911 00215 ++INCLUDE DTSIMFAS DTSBU911 00216 SKIP3 DTSBU911 00217 01 MOPO-REC REDEFINES WRK-REC. DTSBU911 00218 ++INCLUDE DTSIMOPO DTSBU911 00219 SKIP3 DTSBU911 00220 01 MPAY-REC REDEFINES WRK-REC. DTSBU911 00221 ++INCLUDE DTSIMPAY DTSBU911 00222 SKIP3 DTSBU911 00223 01 MREL-REC REDEFINES WRK-REC. DTSBU911 00224 ++INCLUDE DTSIMREL DTSBU911 00225 SKIP3 DTSBU911 00226 01 MRPT-REC REDEFINES WRK-REC. DTSBU911 00227 ++INCLUDE DTSIMRPT DTSBU911 00228 SKIP3 DTSBU911 00229 01 MTCK-REC REDEFINES WRK-REC. DTSBU911 00230 ++INCLUDE DTSIMTCK DTSBU911 00231 SKIP3 DTSBU911 00232 01 MTAA-REC REDEFINES WRK-REC. DTSBU911 00233 ++INCLUDE DTSIMTAA DTSBU911 00234 EJECT DTSBU911 00235 01 AIX-WORK-AREA. DTSBU911 00236 ++INCLUDE DTSIXAIX DTSBU911 00237 EJECT DTSBU911 00238 01 L921-LINK-AREA. DTSBU911 00239 ++INCLUDE DTSIL921 DTSBU911 00240 SKIP3 DTSBU911 00241 01 ISKL-REC. DTSBU911 00242 ++INCLUDE DTSIISKL DTSBU911 00243 SKIP3 DTSBU911 00244 01 IBTB-REC REDEFINES ISKL-REC. DTSBU911 00245 ++INCLUDE DTSIIBTB DTSBU911 00246 SKIP3 DTSBU911 00247 01 IEIN-REC REDEFINES ISKL-REC. DTSBU911 00248 ++INCLUDE DTSIIEIN DTSBU911 00249 SKIP3 DTSBU911 00250 01 IFAN-REC REDEFINES ISKL-REC. DTSBU911 00251 ++INCLUDE DTSIIFAN DTSBU911 00252 SKIP3 DTSBU911 00253 01 IFID-REC REDEFINES ISKL-REC. DTSBU911 00254 ++INCLUDE DTSIIFID DTSBU911 00255 SKIP3 DTSBU911 00256 01 IOPN-REC REDEFINES ISKL-REC. DTSBU911 00257 ++INCLUDE DTSIIOPN DTSBU911 00258 SKIP3 DTSBU911 00259 01 IOPS-REC REDEFINES ISKL-REC. DTSBU911 00260 ++INCLUDE DTSIIOPS DTSBU911 00261 SKIP3 DTSBU911 00262 01 IPES-REC REDEFINES ISKL-REC. DTSBU911 00263 ++INCLUDE DTSIIPES DTSBU911 00264 SKIP3 DTSBU911 00265 01 ITDS-REC REDEFINES ISKL-REC. DTSBU911 00266 ++INCLUDE DTSIITDS DTSBU911 00267 SKIP3 DTSBU911 00268 01 IZIP-REC REDEFINES ISKL-REC. DTSBU911 00269 ++INCLUDE DTSIIZIP DTSBU911 00270 SKIP3 DTSBU911 00271 01 IBTN-REC REDEFINES ISKL-REC. DTSBU911 00272 ++INCLUDE DTSIIBTN DTSBU911 00273 DTSBU911 00274 01 ITRT-REC REDEFINES ISKL-REC. DTSBU911 00275 ++INCLUDE DTSIITRT DTSBU911 00276 DTSBU911 00277 01 ITRE-REC REDEFINES ISKL-REC. DTSBU911 00278 ++INCLUDE DTSIITRE DTSBU911 00279 EJECT DTSBU911 00280 01 L991-LINK-AREA. DTSBU911 00281 ++INCLUDE DTSIL991 DTSBU911 00282 EJECT DTSBU911 00283 LINKAGE SECTION. DTSBU911 00284 SKIP3 DTSBU911 00285 01 L910-LINK-AREA. DTSBU911 00286 ++INCLUDE DTSIL910 DTSBU911 00287 SKIP3 DTSBU911 00288 01 LINK-REC. DTSBU911 00289 ++INCLUDE DTSIMSKL DTSBU911 00290 EJECT DTSBU911 00291 PROCEDURE DIVISION USING L910-LINK-AREA DTSBU911 00292 LINK-REC. DTSBU911 00293 DTSBU911 00294 DTSBU911 00295 MOVE +0 TO L910-RECORD-CNT. DTSBU911 00296 DTSBU911 00297 SET L910-OK-88 TO TRUE. DTSBU911 00298 DTSBU911 00299 MOVE +0 TO FILE-SUB DTSBU911 00300 REC-TYPE-SUB. DTSBU911 00301 DTSBU911 00302 IF L910-TRACE-88 DTSBU911 00303 PERFORM S9100-PRE-DISPLAY THRU S9100-EXIT. DTSBU911 00304 DTSBU911 00305 IF L910-OPEN-88 DTSBU911 00306 PERFORM P4100-OPEN THRU P4100-EXIT DTSBU911 00307 ELSE DTSBU911 00308 IF L910-CLOSE-88 DTSBU911 00309 PERFORM P4200-CLOSE THRU P4200-EXIT DTSBU911 00310 ELSE DTSBU911 00311 PERFORM P0100-REC-TYPE THRU P0100-EXIT DTSBU911 00312 IF L910-READ-88 DTSBU911 00313 PERFORM P1100-READ THRU P1100-EXIT DTSBU911 00314 ELSE DTSBU911 00315 IF L910-START-BROWSE-88 DTSBU911 00316 PERFORM P1200-START-BROWSE THRU P1200-EXIT DTSBU911 00317 ELSE DTSBU911 00318 IF L910-READ-NEXT-88 DTSBU911 00319 PERFORM P1300-READ-NEXT THRU P1300-EXIT DTSBU911 00320 ELSE DTSBU911 00321 IF L910-COUNT-88 DTSBU911 00322 PERFORM P1500-COUNT THRU P1500-EXIT DTSBU911 00323 ELSE DTSBU911 00324 IF L910-WRITE-88 DTSBU911 00325 PERFORM P2100-WRITE THRU P2100-EXIT DTSBU911 00326 ELSE DTSBU911 00327 IF L910-REWRITE-88 DTSBU911 00328 PERFORM P2200-REWRITE THRU P2200-EXIT DTSBU911 00329 ELSE DTSBU911 00330 IF L910-DELETE-88 DTSBU911 00331 PERFORM P2300-DELETE THRU P2300-EXIT DTSBU911 00332 ELSE DTSBU911 00333 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00334 DTSBU911 00335 IF L910-TRACE-88 DTSBU911 00336 PERFORM S9200-POST-DISPLAY THRU S9200-EXIT. DTSBU911 00337 DTSBU911 00338 DTSBU911 00339 GOBACK. DTSBU911 00340 EJECT DTSBU911 00341 P0100-REC-TYPE. DTSBU911 00342 MOVE MSKL-REC-TYPE OF LINK-REC TO REC-TYPE-SUB. DTSBU911 00343 DTSBU911 00344 IF (REC-TYPE-SUB < +1) DTSBU911 00345 OR DTSBU911 00346 (REC-TYPE-SUB > MLEN-MAX-REC-TYPE) DTSBU911 00347 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00348 DTSBU911 00349 MOVE MLEN-FILE-ID (REC-TYPE-SUB) TO FILE-SUB. DTSBU911 00350 DTSBU911 00351 IF FILE-SUB = +0 DTSBU911 00352 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00353 P0100-EXIT. DTSBU911 00354 EXIT. DTSBU911 00355 EJECT DTSBU911 00356 P1100-READ. DTSBU911 00357 IF FILE-SUB = +1 DTSBU911 00358 MOVE MSKL-KEY-AREA OF LINK-REC DTSBU911 00359 TO MSKL-KEY-AREA OF MSTA-SKL-REC DTSBU911 00360 READ MSTA-FILE INTO MIO-REC DTSBU911 00361 ELSE DTSBU911 00362 IF FILE-SUB = +2 DTSBU911 00363 MOVE MSKL-KEY-AREA OF LINK-REC DTSBU911 00364 TO MSKL-KEY-AREA OF MSTB-SKL-REC DTSBU911 00365 READ MSTB-FILE INTO MIO-REC DTSBU911 00366 ELSE DTSBU911 00367 IF FILE-SUB = +3 DTSBU911 00368 MOVE MSKL-KEY-AREA OF LINK-REC DTSBU911 00369 TO MSKL-KEY-AREA OF MSTC-SKL-REC DTSBU911 00370 READ MSTC-FILE INTO MIO-REC DTSBU911 00371 ELSE DTSBU911 00372 IF FILE-SUB = +4 DTSBU911 00373 MOVE MSKL-KEY-AREA OF LINK-REC DTSBU911 00374 TO MSKL-KEY-AREA OF MSTD-SKL-REC DTSBU911 00375 READ MSTD-FILE INTO MIO-REC DTSBU911 00376 ELSE DTSBU911 00377 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00378 DTSBU911 00379 IF FILE-NO-REC-88 DTSBU911 00380 PERFORM S1100-NO-REC THRU S1100-EXIT DTSBU911 00381 GO TO P1100-EXIT. DTSBU911 00382 DTSBU911 00383 IF FILE-OK-88 DTSBU911 00384 PERFORM S2100-IO-TO-LINK THRU S2100-EXIT DTSBU911 00385 ELSE DTSBU911 00386 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00387 P1100-EXIT. DTSBU911 00388 EXIT. DTSBU911 00389 EJECT DTSBU911 00390 P1200-START-BROWSE. DTSBU911 00391 IF FILE-SUB = +1 DTSBU911 00392 MOVE MSKL-KEY-AREA OF LINK-REC DTSBU911 00393 TO MSKL-KEY-AREA OF MSTA-SKL-REC DTSBU911 00394 START MSTA-FILE DTSBU911 00395 KEY IS NOT < MSKL-KEY-AREA OF MSTA-SKL-REC DTSBU911 00396 ELSE DTSBU911 00397 IF FILE-SUB = +2 DTSBU911 00398 MOVE MSKL-KEY-AREA OF LINK-REC DTSBU911 00399 TO MSKL-KEY-AREA OF MSTB-SKL-REC DTSBU911 00400 START MSTB-FILE DTSBU911 00401 KEY IS NOT < MSKL-KEY-AREA OF MSTB-SKL-REC DTSBU911 00402 ELSE DTSBU911 00403 IF FILE-SUB = +3 DTSBU911 00404 MOVE MSKL-KEY-AREA OF LINK-REC DTSBU911 00405 TO MSKL-KEY-AREA OF MSTC-SKL-REC DTSBU911 00406 START MSTC-FILE DTSBU911 00407 KEY IS NOT < MSKL-KEY-AREA OF MSTC-SKL-REC DTSBU911 00408 ELSE DTSBU911 00409 IF FILE-SUB = +4 DTSBU911 00410 MOVE MSKL-KEY-AREA OF LINK-REC DTSBU911 00411 TO MSKL-KEY-AREA OF MSTD-SKL-REC DTSBU911 00412 START MSTD-FILE DTSBU911 00413 KEY IS NOT < MSKL-KEY-AREA OF MSTD-SKL-REC DTSBU911 00414 ELSE DTSBU911 00415 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00416 DTSBU911 00417 IF FILE-NO-REC-88 DTSBU911 00418 PERFORM S1100-NO-REC THRU S1100-EXIT DTSBU911 00419 GO TO P1200-EXIT. DTSBU911 00420 DTSBU911 00421 IF FILE-OK-88 DTSBU911 00422 PERFORM P1300-READ-NEXT THRU P1300-EXIT DTSBU911 00423 ELSE DTSBU911 00424 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00425 P1200-EXIT. DTSBU911 00426 EXIT. DTSBU911 00427 EJECT DTSBU911 00428 P1300-READ-NEXT. DTSBU911 00429 IF FILE-SUB = +1 DTSBU911 00430 READ MSTA-FILE NEXT INTO MIO-REC DTSBU911 00431 ELSE DTSBU911 00432 IF FILE-SUB = +2 DTSBU911 00433 READ MSTB-FILE NEXT INTO MIO-REC DTSBU911 00434 ELSE DTSBU911 00435 IF FILE-SUB = +3 DTSBU911 00436 READ MSTC-FILE NEXT INTO MIO-REC DTSBU911 00437 ELSE DTSBU911 00438 IF FILE-SUB = +4 DTSBU911 00439 READ MSTD-FILE NEXT INTO MIO-REC DTSBU911 00440 ELSE DTSBU911 00441 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00442 DTSBU911 00443 IF FILE-NO-REC-88 DTSBU911 00444 PERFORM S1100-NO-REC THRU S1100-EXIT DTSBU911 00445 GO TO P1300-EXIT. DTSBU911 00446 DTSBU911 00447 IF FILE-OK-88 DTSBU911 00448 NEXT SENTENCE DTSBU911 00449 ELSE DTSBU911 00450 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00451 DTSBU911 00452 IF MSKL-PRF-88 OF LINK-REC DTSBU911 00453 PERFORM S2100-IO-TO-LINK THRU S2100-EXIT DTSBU911 00454 GO TO P1300-EXIT. DTSBU911 00455 DTSBU911 00456 IF (MIO-EMP-NO = MSKL-EMP-NO OF LINK-REC) DTSBU911 00457 AND DTSBU911 00458 (MIO-REC-TYPE = MSKL-REC-TYPE OF LINK-REC) DTSBU911 00459 PERFORM S2100-IO-TO-LINK THRU S2100-EXIT DTSBU911 00460 ELSE DTSBU911 00461 PERFORM S1100-NO-REC THRU S1100-EXIT. DTSBU911 00462 P1300-EXIT. DTSBU911 00463 EXIT. DTSBU911 00464 EJECT DTSBU911 00465 P1500-COUNT. DTSBU911 00466 MOVE MSKL-KEY-AREA OF LINK-REC TO MIO-KEY-AREA. DTSBU911 00467 DTSBU911 00468 IF MSKL-AUY-88 OF LINK-REC OR MSKL-FAR-88 OF LINK-REC DTSBU911 00469 MOVE LOW-VALUES TO MIO-KEY-AREA (12:5) DTSBU911 00470 ELSE DTSBU911 00471 MOVE LOW-VALUES TO MIO-KEY-FILLER. DTSBU911 00472 DTSBU911 00473 IF FILE-SUB = +1 DTSBU911 00474 MOVE MIO-KEY-AREA DTSBU911 00475 TO MSKL-KEY-AREA OF MSTA-SKL-REC DTSBU911 00476 START MSTA-FILE DTSBU911 00477 KEY IS NOT < MSKL-KEY-AREA OF MSTA-SKL-REC DTSBU911 00478 ELSE DTSBU911 00479 IF FILE-SUB = +2 DTSBU911 00480 MOVE MIO-KEY-AREA DTSBU911 00481 TO MSKL-KEY-AREA OF MSTB-SKL-REC DTSBU911 00482 START MSTB-FILE DTSBU911 00483 KEY IS NOT < MSKL-KEY-AREA OF MSTB-SKL-REC DTSBU911 00484 ELSE DTSBU911 00485 IF FILE-SUB = +3 DTSBU911 00486 MOVE MIO-KEY-AREA DTSBU911 00487 TO MSKL-KEY-AREA OF MSTC-SKL-REC DTSBU911 00488 START MSTC-FILE DTSBU911 00489 KEY IS NOT < MSKL-KEY-AREA OF MSTC-SKL-REC DTSBU911 00490 ELSE DTSBU911 00491 IF FILE-SUB = +4 DTSBU911 00492 MOVE MIO-KEY-AREA DTSBU911 00493 TO MSKL-KEY-AREA OF MSTD-SKL-REC DTSBU911 00494 START MSTD-FILE DTSBU911 00495 KEY IS NOT < MSKL-KEY-AREA OF MSTD-SKL-REC DTSBU911 00496 ELSE DTSBU911 00497 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00498 DTSBU911 00499 SET L910-NO-REC-88 TO TRUE. DTSBU911 00500 DTSBU911 00501 IF FILE-NO-REC-88 DTSBU911 00502 MOVE +0 TO L910-RECORD-CNT DTSBU911 00503 GO TO P1500-EXIT. DTSBU911 00504 DTSBU911 00505 IF FILE-OK-88 DTSBU911 00506 NEXT SENTENCE DTSBU911 00507 ELSE DTSBU911 00508 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00509 DTSBU911 00510 MOVE +0 TO L910-RECORD-CNT. DTSBU911 00511 DTSBU911 00512 MOVE 'N' TO COUNT-COMPLETE-IND. DTSBU911 00513 DTSBU911 00514 PERFORM P1510-COUNT-LOOP THRU P1510-EXIT DTSBU911 00515 UNTIL COUNT-COMPLETE-IND = 'Y'. DTSBU911 00516 P1500-EXIT. DTSBU911 00517 EXIT. DTSBU911 00518 SKIP3 DTSBU911 00519 P1510-COUNT-LOOP. DTSBU911 00520 IF FILE-SUB = +1 DTSBU911 00521 READ MSTA-FILE NEXT INTO MIO-REC DTSBU911 00522 ELSE DTSBU911 00523 IF FILE-SUB = +2 DTSBU911 00524 READ MSTB-FILE NEXT INTO MIO-REC DTSBU911 00525 ELSE DTSBU911 00526 IF FILE-SUB = +3 DTSBU911 00527 READ MSTC-FILE NEXT INTO MIO-REC DTSBU911 00528 ELSE DTSBU911 00529 IF FILE-SUB = +4 DTSBU911 00530 READ MSTD-FILE NEXT INTO MIO-REC DTSBU911 00531 ELSE DTSBU911 00532 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00533 DTSBU911 00534 IF FILE-NO-REC-88 DTSBU911 00535 MOVE 'Y' TO COUNT-COMPLETE-IND DTSBU911 00536 GO TO P1510-EXIT. DTSBU911 00537 DTSBU911 00538 IF FILE-OK-88 DTSBU911 00539 NEXT SENTENCE DTSBU911 00540 ELSE DTSBU911 00541 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00542 DTSBU911 00543 IF MSKL-AUY-88 OF LINK-REC OR MSKL-FAR-88 OF LINK-REC DTSBU911 00544 IF MIO-KEY-AREA (1:11) DTSBU911 00545 = MSKL-KEY-AREA OF LINK-REC (1:11) DTSBU911 00546 ADD +1 TO L910-RECORD-CNT DTSBU911 00547 SET L910-OK-88 TO TRUE DTSBU911 00548 MOVE MIO-KEY-AREA TO MSKL-KEY-AREA OF LINK-REC DTSBU911 00549 ELSE DTSBU911 00550 MOVE 'Y' TO COUNT-COMPLETE-IND DTSBU911 00551 ELSE DTSBU911 00552 IF (MIO-EMP-NO = MSKL-EMP-NO OF LINK-REC) DTSBU911 00553 AND DTSBU911 00554 (MIO-REC-TYPE = MSKL-REC-TYPE OF LINK-REC) DTSBU911 00555 ADD +1 TO L910-RECORD-CNT DTSBU911 00556 SET L910-OK-88 TO TRUE DTSBU911 00557 MOVE MIO-KEY-AREA TO MSKL-KEY-AREA OF LINK-REC DTSBU911 00558 ELSE DTSBU911 00559 MOVE 'Y' TO COUNT-COMPLETE-IND. DTSBU911 00560 P1510-EXIT. DTSBU911 00561 EXIT. DTSBU911 00562 EJECT DTSBU911 00563 P2100-WRITE. DTSBU911 00564 IF FILE-OPEN-UPDATE-HDR-88 DTSBU911 00565 IF MSKL-HDR-88 OF LINK-REC DTSBU911 00566 NEXT SENTENCE DTSBU911 00567 ELSE DTSBU911 00568 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00569 DTSBU911 00570 PERFORM S2200-LINK-TO-IO THRU S2200-EXIT. DTSBU911 00571 DTSBU911 00572 PERFORM P2110-INITIALIZE-KEY-FILLER THRU P2110-EXIT. DTSBU911 00573 DTSBU911 00574 IF FILE-SUB = +1 DTSBU911 00575 WRITE MSTA-VAR-REC FROM MIO-REC DTSBU911 00576 ELSE DTSBU911 00577 IF FILE-SUB = +2 DTSBU911 00578 WRITE MSTB-VAR-REC FROM MIO-REC DTSBU911 00579 ELSE DTSBU911 00580 IF FILE-SUB = +3 DTSBU911 00581 WRITE MSTC-VAR-REC FROM MIO-REC DTSBU911 00582 ELSE DTSBU911 00583 IF FILE-SUB = +4 DTSBU911 00584 WRITE MSTD-VAR-REC FROM MIO-REC DTSBU911 00585 ELSE DTSBU911 00586 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00587 DTSBU911 00588 IF FILE-OK-88 DTSBU911 00589 NEXT SENTENCE DTSBU911 00590 ELSE DTSBU911 00591 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00592 DTSBU911 00593 IF FILE-OPEN-UPDATE-NO-AIX-88 DTSBU911 00594 GO TO P2100-EXIT. DTSBU911 00595 DTSBU911 00596 MOVE LOW-VALUES TO PRE-UPDATE-AIX-RECS. DTSBU911 00597 DTSBU911 00598 PERFORM S3200-CONSTRUCT-IPOST THRU S3200-EXIT. DTSBU911 00599 DTSBU911 00600 PERFORM S3300-UPDATE-AIX THRU S3300-EXIT. DTSBU911 00601 P2100-EXIT. DTSBU911 00602 EXIT. DTSBU911 00603 SKIP3 DTSBU911 00604 P2110-INITIALIZE-KEY-FILLER. DTSBU911 00605 COMPUTE MIO-KEY-FILLER-START DTSBU911 00606 = MLEN-KEY-LEN (REC-TYPE-SUB) + 1. DTSBU911 00607 DTSBU911 00608 COMPUTE MIO-KEY-FILLER-LENGTH DTSBU911 00609 = MLEN-MAX-KEY-LEN - MLEN-KEY-LEN (REC-TYPE-SUB). DTSBU911 00610 DTSBU911 00611 IF MIO-KEY-FILLER-LENGTH > +0 DTSBU911 00612 MOVE LOW-VALUES DTSBU911 00613 TO MIO-KEY-AREA DTSBU911 00614 (MIO-KEY-FILLER-START:MIO-KEY-FILLER-LENGTH). DTSBU911 00615 P2110-EXIT. DTSBU911 00616 EXIT. DTSBU911 00617 EJECT DTSBU911 00618 P2200-REWRITE. DTSBU911 00619 IF FILE-OPEN-UPDATE-HDR-88 DTSBU911 00620 IF MSKL-HDR-88 OF LINK-REC DTSBU911 00621 NEXT SENTENCE DTSBU911 00622 ELSE DTSBU911 00623 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00624 DTSBU911 00625 PERFORM P2900-PREPARE-FOR-UPDATE THRU P2900-EXIT. DTSBU911 00626 DTSBU911 00627 IF L910-NO-REC-88 DTSBU911 00628 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00629 DTSBU911 00630 PERFORM S2200-LINK-TO-IO THRU S2200-EXIT. DTSBU911 00631 DTSBU911 00632 IF FILE-SUB = +1 DTSBU911 00633 REWRITE MSTA-VAR-REC FROM MIO-REC DTSBU911 00634 ELSE DTSBU911 00635 IF FILE-SUB = +2 DTSBU911 00636 REWRITE MSTB-VAR-REC FROM MIO-REC DTSBU911 00637 ELSE DTSBU911 00638 IF FILE-SUB = +3 DTSBU911 00639 REWRITE MSTC-VAR-REC FROM MIO-REC DTSBU911 00640 ELSE DTSBU911 00641 IF FILE-SUB = +4 DTSBU911 00642 REWRITE MSTD-VAR-REC FROM MIO-REC DTSBU911 00643 ELSE DTSBU911 00644 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00645 DTSBU911 00646 IF FILE-OK-88 DTSBU911 00647 NEXT SENTENCE DTSBU911 00648 ELSE DTSBU911 00649 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00650 DTSBU911 00651 IF FILE-OPEN-UPDATE-NO-AIX-88 DTSBU911 00652 GO TO P2200-EXIT. DTSBU911 00653 DTSBU911 00654 PERFORM S3200-CONSTRUCT-IPOST THRU S3200-EXIT. DTSBU911 00655 DTSBU911 00656 PERFORM S3300-UPDATE-AIX THRU S3300-EXIT. DTSBU911 00657 P2200-EXIT. DTSBU911 00658 EXIT. DTSBU911 00659 EJECT DTSBU911 00660 P2300-DELETE. DTSBU911 00661 IF FILE-OPEN-UPDATE-HDR-88 DTSBU911 00662 IF MSKL-HDR-88 OF LINK-REC DTSBU911 00663 NEXT SENTENCE DTSBU911 00664 ELSE DTSBU911 00665 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00666 DTSBU911 00667 PERFORM P2900-PREPARE-FOR-UPDATE THRU P2900-EXIT. DTSBU911 00668 DTSBU911 00669 IF L910-NO-REC-88 DTSBU911 00670 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00671 DTSBU911 00672 IF FILE-SUB = +1 DTSBU911 00673 DELETE MSTA-FILE RECORD DTSBU911 00674 ELSE DTSBU911 00675 IF FILE-SUB = +2 DTSBU911 00676 DELETE MSTB-FILE RECORD DTSBU911 00677 ELSE DTSBU911 00678 IF FILE-SUB = +3 DTSBU911 00679 DELETE MSTC-FILE RECORD DTSBU911 00680 ELSE DTSBU911 00681 IF FILE-SUB = +4 DTSBU911 00682 DELETE MSTD-FILE RECORD DTSBU911 00683 ELSE DTSBU911 00684 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00685 DTSBU911 00686 IF FILE-OK-88 DTSBU911 00687 NEXT SENTENCE DTSBU911 00688 ELSE DTSBU911 00689 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00690 DTSBU911 00691 IF FILE-OPEN-UPDATE-NO-AIX-88 DTSBU911 00692 GO TO P2300-EXIT. DTSBU911 00693 DTSBU911 00694 MOVE LOW-VALUES TO POST-UPDATE-AIX-RECS. DTSBU911 00695 DTSBU911 00696 PERFORM S3300-UPDATE-AIX THRU S3300-EXIT. DTSBU911 00697 P2300-EXIT. DTSBU911 00698 EXIT. DTSBU911 00699 EJECT DTSBU911 00700 P2900-PREPARE-FOR-UPDATE. DTSBU911 00701 IF FILE-SUB = +1 DTSBU911 00702 MOVE MSKL-KEY-AREA OF LINK-REC DTSBU911 00703 TO MSKL-KEY-AREA OF MSTA-SKL-REC DTSBU911 00704 READ MSTA-FILE INTO MIO-REC DTSBU911 00705 ELSE DTSBU911 00706 IF FILE-SUB = +2 DTSBU911 00707 MOVE MSKL-KEY-AREA OF LINK-REC DTSBU911 00708 TO MSKL-KEY-AREA OF MSTB-SKL-REC DTSBU911 00709 READ MSTB-FILE INTO MIO-REC DTSBU911 00710 ELSE DTSBU911 00711 IF FILE-SUB = +3 DTSBU911 00712 MOVE MSKL-KEY-AREA OF LINK-REC DTSBU911 00713 TO MSKL-KEY-AREA OF MSTC-SKL-REC DTSBU911 00714 READ MSTC-FILE INTO MIO-REC DTSBU911 00715 ELSE DTSBU911 00716 IF FILE-SUB = +4 DTSBU911 00717 MOVE MSKL-KEY-AREA OF LINK-REC DTSBU911 00718 TO MSKL-KEY-AREA OF MSTD-SKL-REC DTSBU911 00719 READ MSTD-FILE INTO MIO-REC DTSBU911 00720 ELSE DTSBU911 00721 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00722 DTSBU911 00723 IF FILE-NO-REC-88 DTSBU911 00724 PERFORM S1100-NO-REC THRU S1100-EXIT DTSBU911 00725 GO TO P2900-EXIT. DTSBU911 00726 DTSBU911 00727 IF FILE-OK-88 DTSBU911 00728 NEXT SENTENCE DTSBU911 00729 ELSE DTSBU911 00730 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00731 DTSBU911 00732 IF FILE-OPEN-UPDATE-NO-AIX-88 DTSBU911 00733 MOVE LOW-VALUES TO PRE-UPDATE-AIX-RECS DTSBU911 00734 ELSE DTSBU911 00735 IF MLEN-AIX-YES-88 (REC-TYPE-SUB) DTSBU911 00736 PERFORM S2110-IO-TO-WRK THRU S2110-EXIT DTSBU911 00737 PERFORM S3100-CONSTRUCT-IPRE THRU S3100-EXIT DTSBU911 00738 ELSE DTSBU911 00739 MOVE LOW-VALUES TO PRE-UPDATE-AIX-RECS. DTSBU911 00740 P2900-EXIT. DTSBU911 00741 EXIT. DTSBU911 00742 EJECT DTSBU911 00743 P4100-OPEN. DTSBU911 00744 IF L910-OPEN-READ-88 DTSBU911 00745 OR DTSBU911 00746 L910-OPEN-UPDATE-88 DTSBU911 00747 OR DTSBU911 00748 L910-OPEN-UPDATE-HDR-88 DTSBU911 00749 OR DTSBU911 00750 L910-OPEN-UPDATE-NO-AIX-88 DTSBU911 00751 NEXT SENTENCE DTSBU911 00752 ELSE DTSBU911 00753 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00754 DTSBU911 00755 MOVE L910-CMND-CD TO FILE-STATE. DTSBU911 00756 DTSBU911 00757 DTSBU911 00758 MOVE +1 TO FILE-SUB. DTSBU911 00759 DTSBU911 00760 IF FILE-OPEN-READ-88 DTSBU911 00761 OPEN INPUT MSTA-FILE DTSBU911 00762 ELSE DTSBU911 00763 OPEN I-O MSTA-FILE. DTSBU911 00764 DTSBU911 00765 IF FILE-OK-88 OR FILE-VERIFY-88 DTSBU911 00766 NEXT SENTENCE DTSBU911 00767 ELSE DTSBU911 00768 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00769 DTSBU911 00770 DTSBU911 00771 MOVE +2 TO FILE-SUB. DTSBU911 00772 DTSBU911 00773 IF FILE-OPEN-READ-88 OR FILE-OPEN-UPDATE-HDR-88 DTSBU911 00774 OPEN INPUT MSTB-FILE DTSBU911 00775 ELSE DTSBU911 00776 OPEN I-O MSTB-FILE. DTSBU911 00777 DTSBU911 00778 IF FILE-OK-88 OR FILE-VERIFY-88 DTSBU911 00779 NEXT SENTENCE DTSBU911 00780 ELSE DTSBU911 00781 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00782 DTSBU911 00783 DTSBU911 00784 MOVE +3 TO FILE-SUB. DTSBU911 00785 DTSBU911 00786 IF FILE-OPEN-READ-88 OR FILE-OPEN-UPDATE-HDR-88 DTSBU911 00787 OPEN INPUT MSTC-FILE DTSBU911 00788 ELSE DTSBU911 00789 OPEN I-O MSTC-FILE. DTSBU911 00790 DTSBU911 00791 IF FILE-OK-88 OR FILE-VERIFY-88 DTSBU911 00792 NEXT SENTENCE DTSBU911 00793 ELSE DTSBU911 00794 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00795 DTSBU911 00796 DTSBU911 00797 MOVE +4 TO FILE-SUB. DTSBU911 00798 DTSBU911 00799 IF FILE-OPEN-READ-88 OR FILE-OPEN-UPDATE-HDR-88 DTSBU911 00800 OPEN INPUT MSTD-FILE DTSBU911 00801 ELSE DTSBU911 00802 OPEN I-O MSTD-FILE. DTSBU911 00803 DTSBU911 00804 IF FILE-OK-88 OR FILE-VERIFY-88 DTSBU911 00805 NEXT SENTENCE DTSBU911 00806 ELSE DTSBU911 00807 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00808 P4100-EXIT. DTSBU911 00809 EXIT. DTSBU911 00810 EJECT DTSBU911 00811 P4200-CLOSE. DTSBU911 00812 MOVE L910-CMND-CD TO FILE-STATE. DTSBU911 00813 DTSBU911 00814 DTSBU911 00815 MOVE +1 TO FILE-SUB. DTSBU911 00816 DTSBU911 00817 CLOSE MSTA-FILE. DTSBU911 00818 DTSBU911 00819 IF FILE-OK-88 DTSBU911 00820 NEXT SENTENCE DTSBU911 00821 ELSE DTSBU911 00822 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00823 DTSBU911 00824 DTSBU911 00825 MOVE +2 TO FILE-SUB. DTSBU911 00826 DTSBU911 00827 CLOSE MSTB-FILE. DTSBU911 00828 DTSBU911 00829 IF FILE-OK-88 DTSBU911 00830 NEXT SENTENCE DTSBU911 00831 ELSE DTSBU911 00832 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00833 DTSBU911 00834 DTSBU911 00835 MOVE +3 TO FILE-SUB. DTSBU911 00836 DTSBU911 00837 CLOSE MSTC-FILE. DTSBU911 00838 DTSBU911 00839 IF FILE-OK-88 DTSBU911 00840 NEXT SENTENCE DTSBU911 00841 ELSE DTSBU911 00842 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00843 DTSBU911 00844 DTSBU911 00845 MOVE +4 TO FILE-SUB. DTSBU911 00846 DTSBU911 00847 CLOSE MSTD-FILE. DTSBU911 00848 DTSBU911 00849 IF FILE-OK-88 DTSBU911 00850 NEXT SENTENCE DTSBU911 00851 ELSE DTSBU911 00852 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00853 P4200-EXIT. DTSBU911 00854 EXIT. DTSBU911 00855 EJECT DTSBU911 00856 S1100-NO-REC. DTSBU911 00857 SET L910-NO-REC-88 TO TRUE. DTSBU911 00858 S1100-EXIT. DTSBU911 00859 EXIT. DTSBU911 00860 EJECT DTSBU911 00861 S2100-IO-TO-LINK. DTSBU911 00862 PERFORM S2110-IO-TO-WRK THRU S2110-EXIT. DTSBU911 00863 DTSBU911 00864 MOVE WRK-REC (1:WRK-REC-LENGTH) DTSBU911 00865 TO LINK-REC (1:WRK-REC-LENGTH). DTSBU911 00866 S2100-EXIT. DTSBU911 00867 EXIT. DTSBU911 00868 SKIP3 DTSBU911 00869 S2110-IO-TO-WRK. DTSBU911 00870 MOVE MIO-KEY-AREA TO MSKL-KEY-AREA OF WRK-REC. DTSBU911 00871 DTSBU911 00872 MOVE +0 TO MSKL-PURGE-DATE OF WRK-REC. DTSBU911 00873 DTSBU911 00874 PERFORM S7000-IO-DATA-TO-WRK-DATA THRU S7000-EXIT. DTSBU911 00875 DTSBU911 00876 COMPUTE WRK-REC-LENGTH DTSBU911 00877 = MLEN-MSKL-NONDATA-LEN + WRK-DATA-LENGTH. DTSBU911 00878 S2110-EXIT. DTSBU911 00879 EXIT. DTSBU911 00880 EJECT DTSBU911 00881 S2200-LINK-TO-IO. DTSBU911 00882 PERFORM S2210-LINK-TO-WRK THRU S2210-EXIT. DTSBU911 00883 DTSBU911 00884 MOVE MSKL-KEY-AREA OF WRK-REC TO MIO-KEY-AREA. DTSBU911 00885 DTSBU911 00886 PERFORM S6000-WRK-DATA-TO-IO-DATA THRU S6000-EXIT. DTSBU911 00887 DTSBU911 00888 COMPUTE MIO-REC-LENGTH DTSBU911 00889 = MLEN-MIO-NONDATA-LEN + MIO-DATA-LENGTH. DTSBU911 00890 S2200-EXIT. DTSBU911 00891 EXIT. DTSBU911 00892 SKIP3 DTSBU911 00893 S2210-LINK-TO-WRK. DTSBU911 00894 MOVE MLEN-MSKL-NONDATA-LEN TO WRK-REC-LENGTH. DTSBU911 00895 DTSBU911 00896 SET MLEN-IDX TO REC-TYPE-SUB. DTSBU911 00897 DTSBU911 00898 MOVE MLEN-FIX-LEN (MLEN-IDX) TO WRK-DATA-LENGTH. DTSBU911 00899 DTSBU911 00900 IF MLEN-OCC-MAX (MLEN-IDX) = +0 DTSBU911 00901 ADD WRK-DATA-LENGTH TO WRK-REC-LENGTH DTSBU911 00902 MOVE LINK-REC (1:WRK-REC-LENGTH) DTSBU911 00903 TO WRK-REC (1:WRK-REC-LENGTH) DTSBU911 00904 GO TO S2210-EXIT. DTSBU911 00905 DTSBU911 00906 COMPUTE OCC-COUNT-START = WRK-DATA-LENGTH - 1. DTSBU911 00907 DTSBU911 00908 MOVE MSKL-DATA-AREA OF LINK-REC (OCC-COUNT-START:2) DTSBU911 00909 TO OCC-COUNT-X. DTSBU911 00910 DTSBU911 00911 IF (OCC-COUNT < +0) DTSBU911 00912 OR DTSBU911 00913 (OCC-COUNT > MLEN-OCC-MAX (MLEN-IDX)) DTSBU911 00914 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00915 DTSBU911 00916 COMPUTE WRK-DATA-LENGTH = WRK-DATA-LENGTH DTSBU911 00917 + (OCC-COUNT * MLEN-VAR-LEN (MLEN-IDX)). DTSBU911 00918 DTSBU911 00919 IF WRK-DATA-LENGTH > MLEN-MAX-MSKL-DATA-LEN DTSBU911 00920 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 00921 DTSBU911 00922 ADD WRK-DATA-LENGTH TO WRK-REC-LENGTH. DTSBU911 00923 DTSBU911 00924 MOVE LINK-REC (1:WRK-REC-LENGTH) DTSBU911 00925 TO WRK-REC (1:WRK-REC-LENGTH). DTSBU911 00926 S2210-EXIT. DTSBU911 00927 EXIT. DTSBU911 00928 EJECT DTSBU911 00929 ++INCLUDE DTSIP001 DTSBU911 00930 EJECT DTSBU911 00931 ++INCLUDE DTSIP002 DTSBU911 00932 EJECT DTSBU911 00933 S3300-UPDATE-AIX. DTSBU911 00934 MOVE WRK-MOD-NAME TO L921-MOD-NAME. DTSBU911 00935 DTSBU911 00936 MOVE L910-TRACE-IND TO L921-TRACE-IND. DTSBU911 00937 DTSBU911 00938 PERFORM S3310-AIX-LOOP THRU S3310-EXIT DTSBU911 00939 VARYING AIX-REC-SUB FROM 1 BY 1 DTSBU911 00940 UNTIL (AIX-REC-SUB > AIX-REC-MAX). DTSBU911 00941 S3300-EXIT. DTSBU911 00942 EXIT. DTSBU911 00943 SKIP3 DTSBU911 00944 S3310-AIX-LOOP. DTSBU911 00945 IF PRE-UPDATE-AIX-REC (AIX-REC-SUB) DTSBU911 00946 = POST-UPDATE-AIX-REC (AIX-REC-SUB) DTSBU911 00947 GO TO S3310-EXIT. DTSBU911 00948 DTSBU911 00949 IF PRE-UPDATE-AIX-REC (AIX-REC-SUB) NOT = LOW-VALUES DTSBU911 00950 MOVE PRE-UPDATE-AIX-REC (AIX-REC-SUB) TO ISKL-REC DTSBU911 00951 PERFORM S3311-AIX-DELETE THRU S3311-EXIT. DTSBU911 00952 DTSBU911 00953 IF POST-UPDATE-AIX-REC (AIX-REC-SUB) NOT = LOW-VALUES DTSBU911 00954 MOVE POST-UPDATE-AIX-REC (AIX-REC-SUB) TO ISKL-REC DTSBU911 00955 PERFORM S3312-AIX-WRITE THRU S3312-EXIT. DTSBU911 00956 S3310-EXIT. DTSBU911 00957 EXIT. DTSBU911 00958 SKIP3 DTSBU911 00959 S3311-AIX-DELETE. DTSBU911 00960 PERFORM S921-AIX-READ THRU S921-EXIT. DTSBU911 00961 DTSBU911 00962 IF L921-NO-REC-88 DTSBU911 00963 GO TO S3311-EXIT. DTSBU911 00964 DTSBU911 00965 PERFORM S921-AIX-DELETE THRU S921-EXIT. DTSBU911 00966 S3311-EXIT. DTSBU911 00967 EXIT. DTSBU911 00968 SKIP3 DTSBU911 00969 S3312-AIX-WRITE. DTSBU911 00970 PERFORM S921-AIX-READ THRU S921-EXIT. DTSBU911 00971 DTSBU911 00972 IF NOT L921-NO-REC-88 DTSBU911 00973 GO TO S3312-EXIT. DTSBU911 00974 DTSBU911 00975 PERFORM S921-AIX-WRITE THRU S921-EXIT. DTSBU911 00976 S3312-EXIT. DTSBU911 00977 EXIT. DTSBU911 00978 EJECT DTSBU911 00979 ++INCLUDE DTSIP003 DTSBU911 00980 EJECT DTSBU911 00981 ++INCLUDE DTSIP006 DTSBU911 00982 EJECT DTSBU911 00983 ++INCLUDE DTSIP007 DTSBU911 00984 EJECT DTSBU911 00985 S9100-PRE-DISPLAY. DTSBU911 00986 DISPLAY ' '. DTSBU911 00987 DTSBU911 00988 DISPLAY ' '. DTSBU911 00989 DTSBU911 00990 DISPLAY '*** DTSBU910 PRE TRACE DISPLAY ***'. DTSBU911 00991 DTSBU911 00992 DISPLAY L910-MOD-NAME DTSBU911 00993 ' = L910-MOD-NAME'. DTSBU911 00994 DTSBU911 00995 DISPLAY L910-CMND-CD DTSBU911 00996 ' = L910-CMND-CD'. DTSBU911 00997 DTSBU911 00998 PERFORM S9300-REC-DISPLAY THRU S9300-EXIT. DTSBU911 00999 S9100-EXIT. DTSBU911 01000 EXIT. DTSBU911 01001 SKIP3 DTSBU911 01002 S9200-POST-DISPLAY. DTSBU911 01003 DISPLAY ' '. DTSBU911 01004 DTSBU911 01005 DISPLAY ' '. DTSBU911 01006 DTSBU911 01007 DISPLAY '*** DTSBU910 POST TRACE DISPLAY ***'. DTSBU911 01008 DTSBU911 01009 DISPLAY L910-RESULT-IND DTSBU911 01010 ' = L910-RESULT-IND'. DTSBU911 01011 DTSBU911 01012 PERFORM S9300-REC-DISPLAY THRU S9300-EXIT. DTSBU911 01013 S9200-EXIT. DTSBU911 01014 EXIT. DTSBU911 01015 SKIP3 DTSBU911 01016 S9300-REC-DISPLAY. DTSBU911 01017 DISPLAY ' '. DTSBU911 01018 DTSBU911 01019 IF (MSKL-REC-TYPE OF LINK-REC < +1) DTSBU911 01020 OR DTSBU911 01021 (MSKL-REC-TYPE OF LINK-REC > MLEN-MAX-REC-TYPE) DTSBU911 01022 MOVE SPACES TO WRK-REC-PREFIX DTSBU911 01023 ELSE DTSBU911 01024 MOVE MLEN-PREFIX (MSKL-REC-TYPE OF LINK-REC) DTSBU911 01025 TO WRK-REC-PREFIX. DTSBU911 01026 DTSBU911 01027 IF WRK-REC-PREFIX = SPACES DTSBU911 01028 MOVE '????' TO WRK-REC-PREFIX. DTSBU911 01029 DTSBU911 01030 MOVE MLEN-MAX-KEY-LEN TO L991-REQ-CHAR-CNT. DTSBU911 01031 DTSBU911 01032 MOVE MSKL-KEY-AREA OF LINK-REC TO L991-REQ-AREA. DTSBU911 01033 DTSBU911 01034 PERFORM S991-HEX-FORMAT THRU S991-EXIT. DTSBU911 01035 DTSBU911 01036 DISPLAY 'REC TYPE = ' DTSBU911 01037 WRK-REC-PREFIX. DTSBU911 01038 DISPLAY 'KEY AREA = ' DTSBU911 01039 L991-REPLY-HEX-1-AREA. DTSBU911 01040 DISPLAY ' ' DTSBU911 01041 L991-REPLY-HEX-2-AREA. DTSBU911 01042 DISPLAY ' ' DTSBU911 01043 L991-REPLY-AN-AREA. DTSBU911 01044 S9300-EXIT. DTSBU911 01045 EXIT. DTSBU911 01046 EJECT DTSBU911 01047 S899-ABEND. DTSBU911 01048 PERFORM S999-ABEND THRU S999-EXIT. DTSBU911 01049 S899-EXIT. DTSBU911 01050 EXIT. DTSBU911 01051 SKIP3 DTSBU911 01052 S921-AIX-READ. DTSBU911 01053 SET L921-READ-88 TO TRUE. DTSBU911 01054 GO TO S921-AIX-IO. DTSBU911 01055 DTSBU911 01056 S921-AIX-DELETE. DTSBU911 01057 SET L921-DELETE-88 TO TRUE. DTSBU911 01058 GO TO S921-AIX-IO. DTSBU911 01059 DTSBU911 01060 S921-AIX-WRITE. DTSBU911 01061 SET L921-WRITE-88 TO TRUE. DTSBU911 01062 GO TO S921-AIX-IO. DTSBU911 01063 DTSBU911 01064 S921-AIX-IO. DTSBU911 01065 DTSBU911 01066 CALL 'DTSBU921' USING L921-LINK-AREA DTSBU911 01067 ISKL-REC. DTSBU911 01068 DTSBU911 01069 S921-EXIT. DTSBU911 01070 EXIT. DTSBU911 01071 SKIP3 DTSBU911 01072 S991-HEX-FORMAT. DTSBU911 01073 CALL 'DTSBU991' USING L991-LINK-AREA. DTSBU911 01074 S991-EXIT. DTSBU911 01075 EXIT. DTSBU911 01076 SKIP3 DTSBU911 01077 S999-ABEND. DTSBU911 01078 DISPLAY '*** MASTER FILE I/O MODULE ABENDING'. DTSBU911 01079 DTSBU911 01080 DISPLAY '*** CMND-CD = ' L910-CMND-CD. DTSBU911 01081 DTSBU911 01082 IF (FILE-SUB < +1) DTSBU911 01083 OR DTSBU911 01084 (FILE-SUB > +4) DTSBU911 01085 MOVE '????' TO WRK-FILE-NAME-SUFFIX DTSBU911 01086 ELSE DTSBU911 01087 MOVE WRK-FILE-SUFFIX (FILE-SUB) DTSBU911 01088 TO WRK-FILE-NAME-SUFFIX. DTSBU911 01089 DTSBU911 01090 DISPLAY '*** FILE NAME = ' WRK-FILE-NAME-SUFFIX. DTSBU911 01091 DTSBU911 01092 DISPLAY '*** FILE STATUS = ' FILE-STATUS. DTSBU911 01093 DTSBU911 01094 DISPLAY '*** CALLING MODULE = ' L910-MOD-NAME. DTSBU911 01095 DTSBU911 01096 PERFORM S9300-REC-DISPLAY THRU S9300-EXIT. DTSBU911 01097 DTSBU911 01098 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBU911 01099 S999-EXIT. DTSBU911 01100 EXIT. DTSBU911