Files
DUTAS/Batch/DTSBA602.cob
2025-07-21 11:20:11 -04:00

387 lines
30 KiB
COBOL

00001 IDENTIFICATION DIVISION. 03/17/08
00002 PROGRAM-ID. DTSBA602. DTSBA602
00003 AUTHOR. NGC. LV001
00004 DATE-WRITTEN. FEBRUARY 2008. DTSBA602
00005 DATE-COMPILED. DTSBA602
00006 SKIP3 DTSBA602
00007 ***** DTSBA602
00008 * DTSBA602
00009 * FUNCTION: AUDIT ASSIGNMENTS: READ FLAT FILE CONTAINING DTSBA602
00010 * MFAS RECORDS OUTPUT BY DTSBR602, AND WRITE DTSBA602
00011 * TO MASTER FILE. DTSBA602
00012 * DTSBA602
00013 ***** DTSBA602
00014 SKIP3 DTSBA602
00015 ENVIRONMENT DIVISION. DTSBA602
00016 INPUT-OUTPUT SECTION. DTSBA602
00017 DTSBA602
00018 FILE-CONTROL. DTSBA602
00019 SELECT FAS-IN-FILE ASSIGN TO RPT602F3 DTSBA602
00020 FILE STATUS IS FAS-STATUS. DTSBA602
00021 DTSBA602
00022 SKIP2 DTSBA602
00023 DATA DIVISION. DTSBA602
00024 FILE SECTION. DTSBA602
00025 DTSBA602
00026 FD FAS-IN-FILE DTSBA602
00027 RECORDING MODE IS F. DTSBA602
00028 01 FAS-IN-REC PIC X(1064). DTSBA602
00029 DTSBA602
00030 SKIP3 DTSBA602
00031 EJECT DTSBA602
00032 WORKING-STORAGE SECTION. DTSBA602
000325 77 PAN-VALET PICTURE X(24) VALUE '001DTSBA602 03/17/08'. DTSBA602
00033 SKIP3 DTSBA602
00034 01 WRK-AREA. DTSBA602
00035 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +602.DTSBA602
00036 05 ABEND-MSG PIC X(60). DTSBA602
00037 DTSBA602
00038 05 WRK-MOD-NAME PIC X(08) VALUE 'DTSBA602'.DTSBA602
00039 05 WRK-TRACE-IND PIC X(01) VALUE 'N'. DTSBA602
00040 DTSBA602
00041 05 FAS-STATUS PIC X(02). DTSBA602
00042 88 FAS-STATUS-OK-88 VALUE '00'. DTSBA602
00043 88 FAS-STATUS-EOF-88 VALUE '10'. DTSBA602
00044 DTSBA602
00045 05 WRK-ERROR-IND PIC X(01) VALUE 'N'. DTSBA602
00046 88 WRK-ERROR-YES-88 VALUE 'Y'. DTSBA602
00047 88 WRK-ERROR-NO-88 VALUE 'N'. DTSBA602
00048 DTSBA602
00049 05 WRK-FAS-IN-CNT PIC S9(07) COMP-3 VALUE +0. DTSBA602
00050 DTSBA602
00051 05 WRK-MFAS-OUT-CNT PIC S9(07) COMP-3 VALUE +0. DTSBA602
00052 DTSBA602
00053 05 WRK-ASSIGN-START-DATE PIC S9(09) COMP-3. DTSBA602
00054 05 WRK-ASSIGN-DUE-DATE PIC S9(09) COMP-3. DTSBA602
00055 DTSBA602
00056 05 WRK-ASSIGN-NO PIC 9(09) VALUE ZEROS. DTSBA602
00057 DTSBA602
00058 05 WRK-START-YRQ PIC S9(05) COMP-3. DTSBA602
00059 05 WRK-END-YRQ PIC S9(05) COMP-3. DTSBA602
00060 DTSBA602
00061 05 AMT-DISP1 PIC Z(08)9.99-. DTSBA602
00062 05 AMT-DISP2 PIC Z(08)9.99-. DTSBA602
00063 05 AMT-DISP3 PIC Z(08)9.99-. DTSBA602
00064 DTSBA602
00065 DTSBA602
00066 01 L001-LINK-AREA. DTSBA602
00067 ++INCLUDE DTSIL001 DTSBA602
00068 EJECT DTSBA602
00069 DTSBA602
00070 01 L910-LINK-AREA. DTSBA602
00071 ++INCLUDE DTSIL910 DTSBA602
00072 EJECT DTSBA602
00073 01 MSKL-REC. DTSBA602
00074 ++INCLUDE DTSIMSKL DTSBA602
00075 EJECT DTSBA602
00076 01 MHDR-REC. DTSBA602
00077 ++INCLUDE DTSIMHDR DTSBA602
00078 EJECT DTSBA602
00079 01 MPRF-REC. DTSBA602
00080 ++INCLUDE DTSIMPRF DTSBA602
00081 EJECT DTSBA602
00082 01 MFAS-REC. DTSBA602
00083 ++INCLUDE DTSIMFAS DTSBA602
00084 EJECT DTSBA602
00085 01 L921-LINK-AREA. DTSBA602
00086 ++INCLUDE DTSIL921 DTSBA602
00087 EJECT DTSBA602
00088 01 ISKL-REC. DTSBA602
00089 ++INCLUDE DTSIISKL DTSBA602
00090 EJECT DTSBA602
00091 01 L931-LINK-AREA. DTSBA602
00092 ++INCLUDE DTSIL931 DTSBA602
00093 EJECT DTSBA602
00094 01 FSKL-REC. DTSBA602
00095 ++INCLUDE DTSIFSKL DTSBA602
00096 DTSBA602
00097 01 FFAZ-REC. DTSBA602
00098 ++INCLUDE DTSIFFAZ DTSBA602
00099 DTSBA602
00100 01 L004-COMM-AREA. DTSBA602
00101 ++INCLUDE DTSIL004 DTSBA602
00102 EJECT DTSBA602
00103 PROCEDURE DIVISION. DTSBA602
00104 SKIP2 DTSBA602
00105 PERFORM I0000-INITIATE THRU I0000-EXIT. DTSBA602
00106 IF WRK-ERROR-NO-88 DTSBA602
00107 PERFORM P0000-PROCESS THRU P0000-EXIT DTSBA602
00108 PERFORM T0000-TERMINATE THRU T0000-EXIT DTSBA602
00109 END-IF. DTSBA602
00110 DTSBA602
00111 GOBACK. DTSBA602
00112 EJECT DTSBA602
00113 I0000-INITIATE. DTSBA602
00114 SKIP2 DTSBA602
00115 MOVE 'N' TO WRK-TRACE-IND. DTSBA602
00116 DTSBA602
00117 PERFORM I2000-OPEN-FILES-1 THRU I2000-EXIT. DTSBA602
00118 DTSBA602
00119 PERFORM I3000-READ-MHDR THRU I3000-EXIT. DTSBA602
00120 DTSBA602
00121 I0000-EXIT. DTSBA602
00122 EXIT. DTSBA602
00123 I2000-OPEN-FILES-1. DTSBA602
00124 MOVE WRK-TRACE-IND TO L910-TRACE-IND. DTSBA602
00125 DTSBA602
00126 MOVE WRK-MOD-NAME TO L910-MOD-NAME. DTSBA602
00127 DTSBA602
00128 OPEN INPUT FAS-IN-FILE. DTSBA602
00129 IF NOT FAS-STATUS-OK-88 DTSBA602
00130 DISPLAY 'CANNOT OPEN FAS FILE ' FAS-STATUS DTSBA602
00131 SET WRK-ERROR-YES-88 TO TRUE DTSBA602
00132 GO TO I2000-EXIT DTSBA602
00133 END-IF. DTSBA602
00134 DTSBA602
00135 PERFORM S910-OPEN-UPDATE THRU S910-EXIT. DTSBA602
00136 PERFORM S921-OPEN-UPDATE THRU S921-EXIT. DTSBA602
00137 PERFORM S931-OPEN-READ THRU S931-EXIT. DTSBA602
00138 DTSBA602
00139 I2000-EXIT. DTSBA602
00140 EXIT. DTSBA602
00141 DTSBA602
00142 I3000-READ-MHDR. DTSBA602
00143 MOVE LOW-VALUES TO MSKL-REC. DTSBA602
00144 MOVE +0 TO MSKL-EMP-NO. DTSBA602
00145 SET MSKL-HDR-88 TO TRUE. DTSBA602
00146 DTSBA602
00147 PERFORM S910-READ THRU S910-EXIT. DTSBA602
00148 IF L910-NO-REC-88 DTSBA602
00149 MOVE 'MHDR RECORD IS MISSING' DTSBA602
00150 TO ABEND-MSG DTSBA602
00151 PERFORM S999-ABEND THRU S999-EXIT DTSBA602
00152 END-IF. DTSBA602
00153 DTSBA602
00154 MOVE MSKL-REC TO MHDR-REC. DTSBA602
00155 DTSBA602
00156 MOVE MHDR-CURR-RUN-DATE TO L004-DATE. DTSBA602
00157 SET L004-FROM-DATE TO TRUE. DTSBA602
00158 PERFORM S004-EDIT-QTR THRU S004-EXIT. DTSBA602
00159 ADD +1 TO L004-ABS-QTR. DTSBA602
00160 SET L004-FROM-ABS TO TRUE. DTSBA602
00161 PERFORM S004-EDIT-QTR THRU S004-EXIT. DTSBA602
00162 MOVE L004-QTR-START-DATE TO WRK-ASSIGN-START-DATE DTSBA602
00163 L001-FED-8-DATE-9. DTSBA602
00164 DTSBA602
00165 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBA602
00166 ADD 90 TO L001-JUL-ABS-DAY. DTSBA602
00167 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBA602
00168 MOVE L001-FED-8-DATE-9 TO WRK-ASSIGN-DUE-DATE. DTSBA602
00169 DTSBA602
00170 ** START AND END QUARTERS SET IN BR602 FROM FSEL DTSBA602
00171 ** MOVE MHDR-CURR-RUN-DATE TO L001-FED-8-DATE-9. DTSBA602
00172 * MOVE L001-FED-8-YR TO L004-QTR-5-YR. DTSBA602
00173 * IF L001-FED-8-MO > 4 DTSBA602
00174 * SUBTRACT 1 FROM L004-QTR-5-YR DTSBA602
00175 * MOVE 1 TO L004-QTR-5-Q DTSBA602
00176 * MOVE L004-QTR-5-9 TO WRK-START-YRQ DTSBA602
00177 * MOVE 4 TO L004-QTR-5-Q DTSBA602
00178 * MOVE L004-QTR-5-9 TO WRK-END-YRQ DTSBA602
00179 * ELSE DTSBA602
00180 * SUBTRACT 2 FROM L004-QTR-5-YR DTSBA602
00181 * MOVE 1 TO L004-QTR-5-Q DTSBA602
00182 * MOVE L004-QTR-5-9 TO WRK-START-YRQ DTSBA602
00183 * MOVE 4 TO L004-QTR-5-Q DTSBA602
00184 * MOVE L004-QTR-5-9 TO WRK-END-YRQ DTSBA602
00185 ** END-IF. DTSBA602
00186 DTSBA602
00187 DISPLAY ' ASSIGN START DATE: ' WRK-ASSIGN-START-DATE. DTSBA602
00188 DISPLAY ' ASSIGN DUE DATE : ' WRK-ASSIGN-DUE-DATE. DTSBA602
00189 * DISPLAY ' START YRQ : ' WRK-START-YRQ. DTSBA602
00190 * DISPLAY ' END YRQ : ' WRK-END-YRQ. DTSBA602
00191 DTSBA602
00192 I3000-EXIT. DTSBA602
00193 EXIT. DTSBA602
00194 DTSBA602
00195 DTSBA602
00196 EJECT DTSBA602
00197 P0000-PROCESS. DTSBA602
00198 READ FAS-IN-FILE INTO MFAS-REC. DTSBA602
00199 IF FAS-STATUS-EOF-88 DTSBA602
00200 DISPLAY 'NO AUDIT ASSIGNMENTS TO PROCESS' DTSBA602
00201 GO TO P0000-EXIT DTSBA602
00202 END-IF. DTSBA602
00203 DTSBA602
00204 PERFORM DTSBA602
00205 UNTIL FAS-STATUS-EOF-88 DTSBA602
00206 OR WRK-ERROR-YES-88 DTSBA602
00207 ADD +1 TO WRK-FAS-IN-CNT DTSBA602
00208 PERFORM P1000-COMPLETE-MFAS THRU P1000-EXIT DTSBA602
00209 PERFORM P2000-WRITE-MFAS THRU P2000-EXIT DTSBA602
00210 READ FAS-IN-FILE INTO MFAS-REC DTSBA602
00211 END-PERFORM. DTSBA602
00212 DTSBA602
00213 P0000-EXIT. DTSBA602
00214 EXIT. DTSBA602
00215 DTSBA602
00216 P1000-COMPLETE-MFAS. DTSBA602
00217 IF MFAS-ASSIGN-NO > WRK-ASSIGN-NO DTSBA602
00218 MOVE MFAS-ASSIGN-NO TO WRK-ASSIGN-NO DTSBA602
00219 END-IF. DTSBA602
00220 DTSBA602
00221 ** MOVE WRK-START-YRQ TO MFAS-START-YRQ. DTSBA602
00222 ** MOVE WRK-END-YRQ TO MFAS-END-YRQ. DTSBA602
00223 MOVE WRK-ASSIGN-START-DATE TO MFAS-START-DATE. DTSBA602
00224 MOVE WRK-ASSIGN-DUE-DATE TO MFAS-DUE-DATE. DTSBA602
00225 MOVE MHDR-PRIOR-RUN-DATE TO MFAS-ESTB-DATE DTSBA602
00226 MFAS-CHNG-DATE. DTSBA602
00227 P1000-EXIT. DTSBA602
00228 EXIT. DTSBA602
00229 DTSBA602
00230 P2000-WRITE-MFAS. DTSBA602
00231 MOVE MFAS-REC TO MSKL-REC. DTSBA602
00232 PERFORM S910-WRITE THRU S910-EXIT. DTSBA602
00233 ADD +1 TO WRK-MFAS-OUT-CNT. DTSBA602
00234 DTSBA602
00235 P2000-EXIT. DTSBA602
00236 EXIT. DTSBA602
00237 DTSBA602
00238 DTSBA602
00239 T0000-TERMINATE. DTSBA602
00240 PERFORM T1000-UPDATE-HEADER THRU T1000-EXIT. DTSBA602
00241 DTSBA602
00242 DISPLAY ' '. DTSBA602
00243 DTSBA602
00244 DISPLAY '*** DTSBA602 TERMINATION STATISTICS ***'. DTSBA602
00245 DTSBA602
00246 DISPLAY ' '. DTSBA602
00247 DTSBA602
00248 DISPLAY 'R602 ASSIGNMENTS READ: ' DTSBA602
00249 WRK-FAS-IN-CNT. DTSBA602
00250 DISPLAY 'MFAS RECORDS WRITTEN: ' DTSBA602
00251 WRK-MFAS-OUT-CNT. DTSBA602
00252 DISPLAY 'LAST ASSIGNMENT NO: ' DTSBA602
00253 WRK-ASSIGN-NO. DTSBA602
00254 DTSBA602
00255 CLOSE FAS-IN-FILE. DTSBA602
00256 PERFORM S910-CLOSE THRU S910-EXIT. DTSBA602
00257 PERFORM S921-CLOSE THRU S921-EXIT. DTSBA602
00258 * PERFORM S931-CLOSE THRU S931-EXIT. DTSBA602
00259 DTSBA602
00260 T0000-EXIT. DTSBA602
00261 EXIT. DTSBA602
00262 DTSBA602
00263 T1000-UPDATE-HEADER. DTSBA602
00264 MOVE MHDR-KEY-AREA TO MSKL-KEY-AREA. DTSBA602
00265 DTSBA602
00266 PERFORM S910-READ THRU S910-EXIT. DTSBA602
00267 DTSBA602
00268 IF L910-NO-REC-88 DTSBA602
00269 MOVE 'LOGIC ERROR T1000-1' TO ABEND-MSG DTSBA602
00270 PERFORM S999-ABEND THRU S999-EXIT DTSBA602
00271 END-IF. DTSBA602
00272 DTSBA602
00273 MOVE MSKL-REC TO MHDR-REC. DTSBA602
00274 MOVE WRK-ASSIGN-NO TO MHDR-LAST-USED-ASSIGN-NO. DTSBA602
00275 MOVE MHDR-REC TO MSKL-REC. DTSBA602
00276 PERFORM S910-REWRITE THRU S910-EXIT. DTSBA602
00277 DTSBA602
00278 T1000-EXIT. DTSBA602
00279 EXIT. DTSBA602
00280 DTSBA602
00281 S001-FROM-FED-8. DTSBA602
00282 SET L001-FROM-FED-8 TO TRUE. DTSBA602
00283 GO TO S001-DATE. DTSBA602
00284 DTSBA602
00285 S001-FROM-ABS-DAY. DTSBA602
00286 SET L001-FROM-ABS-DAY TO TRUE. DTSBA602
00287 GO TO S001-DATE. DTSBA602
00288 DTSBA602
00289 S001-DATE. DTSBA602
00290 CALL 'DTSBU001' USING L001-LINK-AREA. DTSBA602
00291 S001-EXIT. DTSBA602
00292 EXIT. DTSBA602
00293 DTSBA602
00294 S004-EDIT-QTR. DTSBA602
00295 CALL 'DTSBU004' USING L004-COMM-AREA. DTSBA602
00296 DTSBA602
00297 S004-EXIT. DTSBA602
00298 EXIT. DTSBA602
00299 SKIP3 DTSBA602
00300 S910-OPEN-READ. DTSBA602
00301 SET L910-OPEN-READ-88 TO TRUE. DTSBA602
00302 GO TO S910-MSTR-IO. DTSBA602
00303 DTSBA602
00304 S910-OPEN-UPDATE. DTSBA602
00305 SET L910-OPEN-UPDATE-88 TO TRUE. DTSBA602
00306 GO TO S910-MSTR-IO. DTSBA602
00307 DTSBA602
00308 S910-OPEN-UPDATE-NO-AIX. DTSBA602
00309 SET L910-OPEN-UPDATE-NO-AIX-88 TO TRUE. DTSBA602
00310 GO TO S910-MSTR-IO. DTSBA602
00311 DTSBA602
00312 S910-READ. DTSBA602
00313 SET L910-READ-88 TO TRUE. DTSBA602
00314 GO TO S910-MSTR-IO. DTSBA602
00315 DTSBA602
00316 S910-START-BROWSE. DTSBA602
00317 SET L910-START-BROWSE-88 TO TRUE. DTSBA602
00318 GO TO S910-MSTR-IO. DTSBA602
00319 DTSBA602
00320 S910-READ-NEXT. DTSBA602
00321 SET L910-READ-NEXT-88 TO TRUE. DTSBA602
00322 GO TO S910-MSTR-IO. DTSBA602
00323 DTSBA602
00324 S910-COUNT. DTSBA602
00325 SET L910-COUNT-88 TO TRUE. DTSBA602
00326 GO TO S910-MSTR-IO. DTSBA602
00327 DTSBA602
00328 S910-REWRITE. DTSBA602
00329 SET L910-REWRITE-88 TO TRUE. DTSBA602
00330 GO TO S910-MSTR-IO. DTSBA602
00331 DTSBA602
00332 S910-WRITE. DTSBA602
00333 SET L910-WRITE-88 TO TRUE. DTSBA602
00334 GO TO S910-MSTR-IO. DTSBA602
00335 DTSBA602
00336 S910-DELETE. DTSBA602
00337 SET L910-DELETE-88 TO TRUE. DTSBA602
00338 GO TO S910-MSTR-IO. DTSBA602
00339 DTSBA602
00340 S910-CLOSE. DTSBA602
00341 SET L910-CLOSE-88 TO TRUE. DTSBA602
00342 GO TO S910-MSTR-IO. DTSBA602
00343 DTSBA602
00344 S910-MSTR-IO. DTSBA602
00345 CALL 'DTSBU910' USING L910-LINK-AREA DTSBA602
00346 MSKL-REC. DTSBA602
00347 S910-EXIT. DTSBA602
00348 EXIT. DTSBA602
00349 DTSBA602
00350 S921-OPEN-UPDATE. DTSBA602
00351 SET L921-OPEN-UPDATE-88 TO TRUE. DTSBA602
00352 GO TO S921-AIX-IO. DTSBA602
00353 DTSBA602
00354 S921-OPEN-READ. DTSBA602
00355 SET L921-OPEN-READ-88 TO TRUE. DTSBA602
00356 GO TO S921-AIX-IO. DTSBA602
00357 DTSBA602
00358 S921-CLOSE. DTSBA602
00359 SET L921-CLOSE-88 TO TRUE. DTSBA602
00360 GO TO S921-AIX-IO. DTSBA602
00361 DTSBA602
00362 S921-AIX-IO. DTSBA602
00363 CALL 'DTSBU921' USING L921-LINK-AREA DTSBA602
00364 ISKL-REC. DTSBA602
00365 S921-EXIT. DTSBA602
00366 EXIT. DTSBA602
00367 DTSBA602
00368 S931-OPEN-READ. DTSBA602
00369 SET L931-OPEN-READ-88 TO TRUE. DTSBA602
00370 GO TO S931-REF-IO. DTSBA602
00371 DTSBA602
00372 S931-CLOSE. DTSBA602
00373 SET L931-CLOSE-88 TO TRUE. DTSBA602
00374 GO TO S931-REF-IO. DTSBA602
00375 DTSBA602
00376 S931-REF-IO. DTSBA602
00377 CALL 'DTSBU931' USING L931-LINK-AREA DTSBA602
00378 FSKL-REC. DTSBA602
00379 S931-EXIT. DTSBA602
00380 EXIT. DTSBA602
00381 DTSBA602
00382 S999-ABEND. DTSBA602
00383 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBA602
00384 S999-EXIT. DTSBA602
00385 EXIT. DTSBA602