00001 IDENTIFICATION DIVISION. 05/22/01 00002 PROGRAM-ID. DESBD992. DESBD992 00003 AUTHOR. TRW. LV001 00004 DATE-WRITTEN. MARCH 2001. DESBD992 00005 DATE-COMPILED. DESBD992 00006 SKIP3 DESBD992 00007 ***** DESBD992 00008 * DESBD992 00009 * FUNCTION: BUILD ELECTRONIC MEDIA ALTERNATE INDEX RECORDS DESBD992 00010 * DESBD992 00011 * DESBD992 00012 * DESBD992 00013 ***** DESBD992 00014 SKIP3 DESBD992 00015 ENVIRONMENT DIVISION. DESBD992 00016 INPUT-OUTPUT SECTION. DESBD992 00017 FILE-CONTROL. DESBD992 00018 SELECT AIXO-FILE ASSIGN TO DTSFAIXO DESBD992 00019 FILE STATUS IS FILE-STATUS. DESBD992 00020 DESBD992 00021 SKIP2 DESBD992 00022 DATA DIVISION. DESBD992 00023 FILE SECTION. DESBD992 00024 DESBD992 00025 FD AIXO-FILE DESBD992 00026 RECORDING MODE IS F DESBD992 00027 BLOCK CONTAINS 0 RECORDS. DESBD992 00028 DESBD992 00029 01 AIXO-REC PIC X(64). DESBD992 00030 DESBD992 00031 WORKING-STORAGE SECTION. DESBD992 000315 77 PAN-VALET PICTURE X(24) VALUE '001DESBD992 05/22/01'. DESBD992 00032 SKIP3 DESBD992 00033 01 WRK-AREA. DESBD992 00034 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +992. DESBD992 00035 DESBD992 00036 05 WRK-MOD-NAME PIC X(08) VALUE 'DESBD992'. DESBD992 00037 DESBD992 00038 05 FILE-STATUS PIC X(02). DESBD992 00039 88 FILE-OK-88 VALUE '00'. DESBD992 00040 DESBD992 00041 05 WRK-ERROR-IND PIC X(01). DESBD992 00042 88 WRK-ERROR-YES-88 VALUE 'Y'. DESBD992 00043 88 WRK-ERROR-NO-88 VALUE 'N'. DESBD992 00044 DESBD992 00045 05 REC-TYPE-SUB PIC S9(04) COMP. DESBD992 00046 DESBD992 00047 05 WRK-EPRF-CNT PIC 9(06) COMP-3 VALUE 0. DESBD992 00048 05 WRK-ELOG-CNT PIC 9(06) COMP-3 VALUE 0. DESBD992 00049 05 WRK-EEMH-CNT PIC 9(06) COMP-3 VALUE 0. DESBD992 00050 DESBD992 00051 05 WRK-TRACE-IND PIC X(01) VALUE 'T'. DESBD992 00052 DESBD992 00053 01 AIX-WORK-AREA. DESBD992 00054 ++INCLUDE DTSIXAIX DESBD992 00055 EJECT DESBD992 00056 01 ISKL-REC. DESBD992 00057 ++INCLUDE DTSIISKL DESBD992 00058 EJECT DESBD992 00059 01 IENM-REC. DESBD992 00060 ++INCLUDE DTSIIENM DESBD992 00061 EJECT DESBD992 00062 01 IEAL-REC. DESBD992 00063 ++INCLUDE DTSIIEAL DESBD992 00064 EJECT DESBD992 00065 01 IEAE-REC. DESBD992 00066 ++INCLUDE DTSIIEAE DESBD992 00067 EJECT DESBD992 00068 01 IEBX-REC. DESBD992 00069 ++INCLUDE DTSIIEBX DESBD992 00070 EJECT DESBD992 00071 01 IEOP-REC. DESBD992 00072 ++INCLUDE DTSIIEOP DESBD992 00073 EJECT DESBD992 00074 01 IESR-REC. DESBD992 00075 ++INCLUDE DTSIIESR DESBD992 00076 EJECT DESBD992 00077 01 IEER-REC. DESBD992 00078 ++INCLUDE DTSIIEER DESBD992 00079 EJECT DESBD992 00080 01 IEET-REC. DESBD992 00081 ++INCLUDE DTSIIEET DESBD992 00082 EJECT DESBD992 00083 01 IEPR-REC. DESBD992 00084 ++INCLUDE DTSIIEPR DESBD992 00085 EJECT DESBD992 00086 01 L910-LINK-AREA. DESBD992 00087 ++INCLUDE DTSIL910 DESBD992 00088 EJECT DESBD992 00089 01 MSKL-REC. DESBD992 00090 ++INCLUDE DTSIMSKL DESBD992 00091 EJECT DESBD992 00092 01 MPRF-REC. DESBD992 00093 ++INCLUDE DTSIMPRF DESBD992 00094 EJECT DESBD992 00095 01 L935-LINK-AREA. DESBD992 00096 ++INCLUDE DTSIL935 DESBD992 00097 EJECT DESBD992 00098 01 ELEN-REC. DESBD992 00099 ++INCLUDE DTSIELEN DESBD992 00100 EJECT DESBD992 00101 01 WRK-REC. DESBD992 00102 05 ESKL-REC. DESBD992 00103 ++INCLUDE DTSIESKL DESBD992 00104 EJECT DESBD992 00105 05 EPRF-REC REDEFINES ESKL-REC. DESBD992 00106 ++INCLUDE DTSIEPRF DESBD992 00107 EJECT DESBD992 00108 05 ELOG-REC REDEFINES ESKL-REC. DESBD992 00109 ++INCLUDE DTSIELOG DESBD992 00110 EJECT DESBD992 00111 05 EEMH-REC REDEFINES ESKL-REC. DESBD992 00112 ++INCLUDE DTSIEEMH DESBD992 00113 EJECT DESBD992 00114 PROCEDURE DIVISION. DESBD992 00115 DESBD992 00116 DESBD992-MAIN. DESBD992 00117 PERFORM I0000-INITIATE THRU I0000-EXIT. DESBD992 00118 IF WRK-ERROR-YES-88 DESBD992 00119 GO TO DESBD992-MAIN-EXIT. DESBD992 00120 DESBD992 00121 PERFORM P0000-PROCESS THRU P0000-EXIT. DESBD992 00122 DESBD992 00123 PERFORM T0000-TERMINATE THRU T0000-EXIT. DESBD992 00124 DESBD992 00125 DESBD992-MAIN-EXIT. DESBD992 00126 GOBACK. DESBD992 00127 EJECT DESBD992 00128 I0000-INITIATE. DESBD992 00129 SET WRK-ERROR-NO-88 TO TRUE. DESBD992 00130 DESBD992 00131 MOVE ' ' TO WRK-TRACE-IND. DESBD992 00132 DESBD992 00133 PERFORM I1000-OPEN-FILES THRU I1000-EXIT. DESBD992 00134 IF WRK-ERROR-YES-88 DESBD992 00135 GO TO I0000-EXIT. DESBD992 00136 DESBD992 00137 I0000-EXIT. DESBD992 00138 EXIT. DESBD992 00139 I1000-OPEN-FILES. DESBD992 00140 OPEN OUTPUT AIXO-FILE. DESBD992 00141 IF FILE-OK-88 DESBD992 00142 NEXT SENTENCE DESBD992 00143 ELSE DESBD992 00144 DISPLAY 'CANNOT OPEN AIXO ' DESBD992 00145 SET WRK-ERROR-YES-88 TO TRUE DESBD992 00146 GO TO I1000-EXIT. DESBD992 00147 DESBD992 00148 MOVE WRK-TRACE-IND TO L935-TRACE-IND DESBD992 00149 L910-TRACE-IND. DESBD992 00150 DESBD992 00151 MOVE WRK-MOD-NAME TO L935-MOD-NAME DESBD992 00152 L910-MOD-NAME. DESBD992 00153 DESBD992 00154 PERFORM S935-OPEN-READ THRU S935-EXIT. DESBD992 00155 PERFORM S910-OPEN-READ THRU S910-EXIT. DESBD992 00156 DESBD992 00157 I1000-EXIT. DESBD992 00158 EXIT. DESBD992 00159 DESBD992 00160 EJECT DESBD992 00161 P0000-PROCESS. DESBD992 00162 PERFORM P1000-SCAN-PRF THRU P1000-EXIT. DESBD992 00163 PERFORM P2000-SCAN-LOG THRU P2000-EXIT. DESBD992 00164 PERFORM P3000-SCAN-EMH THRU P3000-EXIT. DESBD992 00165 DESBD992 00166 P0000-EXIT. DESBD992 00167 EXIT. DESBD992 00168 EJECT DESBD992 00169 P1000-SCAN-PRF. DESBD992 00170 MOVE LOW-VALUES TO EPRF-REC. DESBD992 00171 DESBD992 00172 SET EPRF-PRF-88 TO TRUE. DESBD992 00173 MOVE EPRF-REC-TYPE TO REC-TYPE-SUB. DESBD992 00174 MOVE ZERO TO EPRF-ELF-ID DESBD992 00175 EPRF-DATA-TYPE-CD. DESBD992 00176 DESBD992 00177 PERFORM S935-START-BROWSE THRU S935-EXIT. DESBD992 00178 IF L935-OK-88 DESBD992 00179 PERFORM P1100-BUILD-AIX THRU P1100-EXIT DESBD992 00180 UNTIL L935-NO-REC-88 DESBD992 00181 ELSE DESBD992 00182 DISPLAY 'CANNOT READ PRF' DESBD992 00183 GO TO P1000-EXIT DESBD992 00184 END-IF. DESBD992 00185 DESBD992 00186 DESBD992 00187 P1000-EXIT. DESBD992 00188 EXIT. DESBD992 00189 DESBD992 00190 P1100-BUILD-AIX. DESBD992 00191 ADD 1 TO WRK-EPRF-CNT. DESBD992 00192 DESBD992 00193 PERFORM S3100-CONSTRUCT-IPRE THRU S3100-EXIT. DESBD992 00194 DESBD992 00195 PERFORM S4000-WRITE-AIX-RECS THRU S4000-EXIT. DESBD992 00196 DESBD992 00197 PERFORM S935-READ-NEXT THRU S935-EXIT. DESBD992 00198 DESBD992 00199 P1100-EXIT. DESBD992 00200 EXIT. DESBD992 00201 DESBD992 00202 P2000-SCAN-LOG. DESBD992 00203 MOVE LOW-VALUES TO ELOG-REC. DESBD992 00204 DESBD992 00205 SET ELOG-LOG-88 TO TRUE. DESBD992 00206 MOVE EPRF-REC-TYPE TO REC-TYPE-SUB. DESBD992 00207 MOVE ZERO TO ELOG-LOG-NO. DESBD992 00208 DESBD992 00209 PERFORM S935-START-BROWSE THRU S935-EXIT. DESBD992 00210 IF L935-OK-88 DESBD992 00211 PERFORM P2100-BUILD-AIX THRU P2100-EXIT DESBD992 00212 UNTIL L935-NO-REC-88 DESBD992 00213 ELSE DESBD992 00214 DISPLAY 'CANNOT READ LOG' DESBD992 00215 GO TO P2000-EXIT DESBD992 00216 END-IF. DESBD992 00217 DESBD992 00218 P2000-EXIT. DESBD992 00219 EXIT. DESBD992 00220 DESBD992 00221 DESBD992 00222 P2100-BUILD-AIX. DESBD992 00223 ADD 1 TO WRK-ELOG-CNT. DESBD992 00224 DESBD992 00225 PERFORM S3100-CONSTRUCT-IPRE THRU S3100-EXIT. DESBD992 00226 DESBD992 00227 PERFORM S4000-WRITE-AIX-RECS THRU S4000-EXIT. DESBD992 00228 DESBD992 00229 PERFORM S935-READ-NEXT THRU S935-EXIT. DESBD992 00230 DESBD992 00231 P2100-EXIT. DESBD992 00232 EXIT. DESBD992 00233 DESBD992 00234 P3000-SCAN-EMH. DESBD992 00235 MOVE LOW-VALUES TO MPRF-REC. DESBD992 00236 DESBD992 00237 SET MPRF-PRF-88 TO TRUE. DESBD992 00238 MOVE ZERO TO MPRF-EMP-NO DESBD992 00239 MOVE MPRF-KEY-AREA TO MSKL-KEY-AREA. DESBD992 00240 DESBD992 00241 PERFORM S910-START-BROWSE THRU S910-EXIT. DESBD992 00242 IF L910-OK-88 DESBD992 00243 PERFORM P3100-SCAN-MPRF THRU P3100-EXIT DESBD992 00244 UNTIL L910-NO-REC-88 DESBD992 00245 ELSE DESBD992 00246 DISPLAY 'CANNOT READ MPRF' DESBD992 00247 GO TO P3000-EXIT DESBD992 00248 END-IF. DESBD992 00249 DESBD992 00250 P3000-EXIT. DESBD992 00251 EXIT. DESBD992 00252 DESBD992 00253 P3100-SCAN-MPRF. DESBD992 00254 MOVE MSKL-REC TO MPRF-REC. DESBD992 00255 MOVE LOW-VALUES TO EEMH-REC. DESBD992 00256 DESBD992 00257 SET EEMH-EMH-88 TO TRUE. DESBD992 00258 MOVE MPRF-EMP-NO TO EEMH-EMP-NO DESBD992 00259 MOVE ZERO TO EEMH-REPORTING-DATE DESBD992 00260 EEMH-LOG-NO. DESBD992 00261 MOVE SPACES TO EEMH-DATA-TYPE-CD. DESBD992 00262 DESBD992 00263 DESBD992 00264 PERFORM S935-START-BROWSE THRU S935-EXIT. DESBD992 00265 IF L935-OK-88 DESBD992 00266 PERFORM P3110-BUILD-AIX THRU P3110-EXIT DESBD992 00267 UNTIL L935-NO-REC-88. DESBD992 00268 DESBD992 00269 PERFORM S910-READ-NEXT THRU S910-EXIT. DESBD992 00270 DESBD992 00271 P3100-EXIT. DESBD992 00272 EXIT. DESBD992 00273 DESBD992 00274 P3110-BUILD-AIX. DESBD992 00275 DISPLAY 'EEMH ' EEMH-EMP-NO. DESBD992 00276 DESBD992 00277 IF EEMH-LOG-NO = ZERO DESBD992 00278 DISPLAY 'EEMH LOG NO = ZERO ' DESBD992 00279 EEMH-EMP-NO ' ' EEMH-LOG-NO DESBD992 00280 PERFORM S935-READ-NEXT THRU S935-EXIT DESBD992 00281 GO TO P3110-EXIT. DESBD992 00282 DESBD992 00283 ADD 1 TO WRK-EEMH-CNT. DESBD992 00284 DESBD992 00285 PERFORM S3100-CONSTRUCT-IPRE THRU S3100-EXIT. DESBD992 00286 DESBD992 00287 PERFORM S4000-WRITE-AIX-RECS THRU S4000-EXIT. DESBD992 00288 DESBD992 00289 PERFORM S935-READ-NEXT THRU S935-EXIT. DESBD992 00290 DESBD992 00291 P3110-EXIT. DESBD992 00292 EXIT. DESBD992 00293 DESBD992 00294 T0000-TERMINATE. DESBD992 00295 DESBD992 00296 DISPLAY ' '. DESBD992 00297 DESBD992 00298 DISPLAY '*** DESBD992 TERMINATION STATISTICS ***'. DESBD992 00299 DESBD992 00300 DISPLAY ' '. DESBD992 00301 DESBD992 00302 DISPLAY 'EPRF RECORDS READ: ' DESBD992 00303 WRK-EPRF-CNT. DESBD992 00304 DESBD992 00305 DISPLAY 'ELOG RECORDS READ: ' DESBD992 00306 WRK-ELOG-CNT. DESBD992 00307 DESBD992 00308 DISPLAY 'EEMH RECORDS READ: ' DESBD992 00309 WRK-EEMH-CNT. DESBD992 00310 DESBD992 00311 DISPLAY SPACE. DESBD992 00312 DESBD992 00313 PERFORM S935-CLOSE THRU S935-EXIT. DESBD992 00314 PERFORM S910-CLOSE THRU S910-EXIT. DESBD992 00315 DESBD992 00316 T0000-EXIT. DESBD992 00317 EXIT. DESBD992 00318 EJECT DESBD992 00319 ++INCLUDE DTSIP011 DESBD992 00320 DESBD992 00321 ++INCLUDE DTSIP013 DESBD992 00322 DESBD992 00323 S4000-WRITE-AIX-RECS. DESBD992 00324 PERFORM DESBD992 00325 VARYING AIX-REC-SUB FROM 1 BY 1 DESBD992 00326 UNTIL AIX-REC-SUB > AIX-REC-MAX DESBD992 00327 IF PRE-UPDATE-AIX-REC (AIX-REC-SUB) NOT = LOW-VALUES DESBD992 00328 MOVE PRE-UPDATE-AIX-REC (AIX-REC-SUB) DESBD992 00329 TO AIXO-REC DESBD992 00330 PERFORM S4100-DISPLAY THRU S4100-EXIT DESBD992 00331 PERFORM S992-WRITE-AIX THRU S992-EXIT DESBD992 00332 END-IF DESBD992 00333 END-PERFORM. DESBD992 00334 DESBD992 00335 S4000-EXIT. DESBD992 00336 EXIT. DESBD992 00337 DESBD992 00338 S4100-DISPLAY. DESBD992 00339 MOVE AIXO-REC TO ISKL-REC. DESBD992 00340 DESBD992 00341 EVALUATE ISKL-REC-TYPE DESBD992 00342 WHEN +11 DESBD992 00343 MOVE ISKL-REC TO IENM-REC DESBD992 00344 DISPLAY 'IENM ' IENM-NAME ' ' IENM-ELF-ID DESBD992 00345 WHEN +12 DESBD992 00346 MOVE ISKL-REC TO IEAL-REC DESBD992 00347 DISPLAY 'IEAL ' IEAL-LOG-NO-SFX ' ' IEAL-LOG-NO DESBD992 00348 WHEN +13 DESBD992 00349 MOVE ISKL-REC TO IEAE-REC DESBD992 00350 DISPLAY 'IEAE ' IEAE-ELF-ID ' ' IEAE-LOG-NO DESBD992 00351 WHEN +14 DESBD992 00352 MOVE ISKL-REC TO IEBX-REC DESBD992 00353 DISPLAY 'IEBX ' IEBX-BOX-NO ' ' IEBX-LOG-NO DESBD992 00354 WHEN +15 DESBD992 00355 MOVE ISKL-REC TO IEOP-REC DESBD992 00356 DISPLAY 'IEOP ' IEOP-OPID ' ' IEOP-LOG-NO DESBD992 00357 WHEN +16 DESBD992 00358 MOVE ISKL-REC TO IESR-REC DESBD992 00359 DISPLAY 'IESR ' IESR-ELF-ID ' ' IESR-LOG-NO DESBD992 00360 WHEN +17 DESBD992 00361 MOVE ISKL-REC TO IEER-REC DESBD992 00362 DISPLAY 'IEER ' IEER-EMP-NO ' ' IEER-LOG-NO DESBD992 00363 WHEN +18 DESBD992 00364 MOVE ISKL-REC TO IEET-REC DESBD992 00365 DISPLAY 'IEET ' IEET-EMP-NO ' ' IEET-LOG-NO DESBD992 00366 WHEN +19 DESBD992 00367 MOVE ISKL-REC TO IEPR-REC DESBD992 00368 DISPLAY 'IEPR ' IEPR-ELF-ID DESBD992 00369 WHEN OTHER DESBD992 00370 DISPLAY 'UNKNOWN AIX TYPE ' ISKL-REC-TYPE DESBD992 00371 END-EVALUATE. DESBD992 00372 DESBD992 00373 S4100-EXIT. DESBD992 00374 EXIT. DESBD992 00375 DESBD992 00376 S910-OPEN-READ. DESBD992 00377 SET L910-OPEN-READ-88 TO TRUE. DESBD992 00378 GO TO S910-MSTR-IO. DESBD992 00379 DESBD992 00380 S910-START-BROWSE. DESBD992 00381 SET L910-START-BROWSE-88 TO TRUE. DESBD992 00382 GO TO S910-MSTR-IO. DESBD992 00383 DESBD992 00384 S910-READ-NEXT. DESBD992 00385 SET L910-READ-NEXT-88 TO TRUE. DESBD992 00386 GO TO S910-MSTR-IO. DESBD992 00387 DESBD992 00388 S910-CLOSE. DESBD992 00389 SET L910-CLOSE-88 TO TRUE. DESBD992 00390 GO TO S910-MSTR-IO. DESBD992 00391 DESBD992 00392 S910-MSTR-IO. DESBD992 00393 CALL 'DTSBU910' USING L910-LINK-AREA DESBD992 00394 MSKL-REC. DESBD992 00395 S910-EXIT. DESBD992 00396 EXIT. DESBD992 00397 DESBD992 00398 S935-OPEN-READ. DESBD992 00399 SET L935-OPEN-READ-88 TO TRUE. DESBD992 00400 GO TO S935-MSTR-IO. DESBD992 00401 DESBD992 00402 S935-OPEN-UPDATE. DESBD992 00403 SET L935-OPEN-UPDATE-88 TO TRUE. DESBD992 00404 GO TO S935-MSTR-IO. DESBD992 00405 DESBD992 00406 S935-OPEN-UPDATE-NO-AIX. DESBD992 00407 SET L935-OPEN-UPDATE-NO-AIX-88 TO TRUE. DESBD992 00408 GO TO S935-MSTR-IO. DESBD992 00409 DESBD992 00410 S935-READ. DESBD992 00411 SET L935-READ-88 TO TRUE. DESBD992 00412 GO TO S935-MSTR-IO. DESBD992 00413 DESBD992 00414 S935-START-BROWSE. DESBD992 00415 SET L935-START-BROWSE-88 TO TRUE. DESBD992 00416 GO TO S935-MSTR-IO. DESBD992 00417 DESBD992 00418 S935-READ-NEXT. DESBD992 00419 SET L935-READ-NEXT-88 TO TRUE. DESBD992 00420 GO TO S935-MSTR-IO. DESBD992 00421 DESBD992 00422 S935-DELETE. DESBD992 00423 SET L935-DELETE-88 TO TRUE. DESBD992 00424 GO TO S935-MSTR-IO. DESBD992 00425 DESBD992 00426 S935-WRITE. DESBD992 00427 SET L935-WRITE-88 TO TRUE. DESBD992 00428 GO TO S935-MSTR-IO. DESBD992 00429 DESBD992 00430 S935-REWRITE. DESBD992 00431 SET L935-REWRITE-88 TO TRUE. DESBD992 00432 GO TO S935-MSTR-IO. DESBD992 00433 DESBD992 00434 S935-CLOSE. DESBD992 00435 SET L935-CLOSE-88 TO TRUE. DESBD992 00436 GO TO S935-MSTR-IO. DESBD992 00437 DESBD992 00438 S935-MSTR-IO. DESBD992 00439 CALL 'DTSBU935' USING L935-LINK-AREA DESBD992 00440 ESKL-REC. DESBD992 00441 S935-EXIT. DESBD992 00442 EXIT. DESBD992 00443 DESBD992 00444 S992-WRITE-AIX. DESBD992 00445 WRITE AIXO-REC. DESBD992 00446 DESBD992 00447 IF FILE-OK-88 DESBD992 00448 NEXT SENTENCE DESBD992 00449 ELSE DESBD992 00450 PERFORM S999-ABEND THRU S999-EXIT. DESBD992 00451 DESBD992 00452 S992-EXIT. DESBD992 00453 EXIT. DESBD992 00454 DESBD992 00455 SKIP3 DESBD992 00456 S999-ABEND. DESBD992 00457 CALL 'DTSBU999' USING WRK-ABEND-CD. DESBD992 00458 S999-EXIT. DESBD992 00459 EXIT. DESBD992