00001 IDENTIFICATION DIVISION. 10/10/03 00002 PROGRAM-ID. DTSBE609. DTSBE609 00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV009 00004 DATE-WRITTEN. SEPTEMBER 1994. DTSBE609 00005 DATE-COMPILED. DTSBE609 00006 SKIP3 DTSBE609 00007 ***** DTSBE609 00008 * DTSBE609 00009 * FUNCTION: FIELD ASSIGNMENT MANAGEMENT DETAIL REPORT DTSBE609 00010 * EXTRACT. DTSBE609 00011 * DTSBE609 00012 * DTSBE609 00013 * MODIFICATION LOG: DTSBE609 00014 * DTSBE609 00015 * 09/16/94 INITIAL DEVELOPMENT. DTSBE609 00016 * WORK ORDER: PROGRAMMER: RHC DTSBE609 00017 * DTSBE609 00018 * 01/18/95 DROP SECOND SET OF REPORT RECORDS. DTSBE609 00019 * WORK ORDER: PROGRAMMER: RHC DTSBE609 00020 * DTSBE609 00021 * 11/25/98 MODIFIED TO MEET DUTAS PROGRAMMING SPECIFICATION DTSBE609 00022 * WORK ORDER: PROGRAMMER: DVS DTSBE609 00023 * DTSBE609 00024 * XX/XX/XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBE609 00025 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBE609 00026 * WORK ORDER: PROGRAMMER: XXX DTSBE609 00027 * DTSBE609 00028 * DTSBE609 00029 * DESCRIPTION: DTSBE609 00030 * DTSBE609 00031 * DTSBE609 00032 * INITIATION: DTSBE609 00033 * DTSBE609 00034 * SET LECM-MST-OPEN-READ-88 TO TRUE. DTSBE609 00035 * SET LECM-REF-OPEN-READ-88 TO TRUE. DTSBE609 00036 * DTSBE609 00037 * EDIT PARAMTERS (SEE 609R1). DTSBE609 00038 * DTSBE609 00039 * DTSBE609 00040 * PROCESSING: DTSBE609 00041 * DTSBE609 00042 * SEE PRINTED OUTPUTS DESCRIPTION AND LAYOUTS (609R1). DTSBE609 00043 * DTSBE609 00044 * DTSBE609 00045 * TERMINATION: DTSBE609 00046 * DTSBE609 00047 * NONE. DTSBE609 00048 * DTSBE609 00049 * DTSBE609 00050 * RECORDS READ: DTSBE609 00051 * DTSBE609 00052 * MASTER: DTSBE609 00053 * DTSBE609 00054 * MFAS DTSBE609 00055 * DTSBE609 00056 * DTSBE609 00057 * ALTERNATE INDEX: DTSBE609 00058 * DTSBE609 00059 * NONE. DTSBE609 00060 * DTSBE609 00061 * DTSBE609 00062 * REFERENCE: DTSBE609 00063 * DTSBE609 00064 * NONE. DTSBE609 00065 * DTSBE609 00066 * DTSBE609 00067 * RECORDS UPDATED: DTSBE609 00068 * DTSBE609 00069 * NONE. DTSBE609 00070 * DTSBE609 00071 * DTSBE609 00072 * REPORT RECORDS WRITTEN: DTSBE609 00073 * DTSBE609 00074 * R609 FIELD ASSIGNMENT MANAGEMENT DETAIL REPORT. DTSBE609 00075 * DTSBE609 00076 * DTSBE609 00077 * BATCH TRANSACTION COLLECTION RECORDS WRITTEN: DTSBE609 00078 * DTSBE609 00079 * NONE. DTSBE609 00080 * DTSBE609 00081 * DTSBE609 00082 * MODULES CALLED: DTSBE609 00083 * DTSBE609 00084 * DTSBU001 DATE CONVERSION/EDIT. DTSBE609 00085 * DTSBU910 MASTER FILE I/O. DTSBE609 00086 * DTSBU946 VARIABLE LENGTH RECORDS SEQUENTIAL OUTPUT 1. DTSBE609 00087 * DTSBE609 00088 * DTSBE609 00089 * VERMONT REFERENCE: DTSBE609 00090 * DTSBE609 00091 * TXBE361 DTSBE609 00092 * DTSBE609 00093 ***** DTSBE609 00094 SKIP3 DTSBE609 00095 ENVIRONMENT DIVISION. DTSBE609 00096 SKIP3 DTSBE609 00097 DATA DIVISION. DTSBE609 00098 EJECT DTSBE609 00099 WORKING-STORAGE SECTION. DTSBE609 000995 77 PAN-VALET PICTURE X(24) VALUE '009DTSBE609 10/10/03'. DTSBE609 00100 SKIP3 DTSBE609 00101 01 WRK-AREA. DTSBE609 00102 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +609.DTSBE609 00103 05 WRK-MOD-NAME PIC X(08) VALUE 'DTSBE609'.DTSBE609 00104 DTSBE609 00105 05 ABEND-MSG PIC X(60). DTSBE609 00106 SKIP3 DTSBE609 00107 SKIP3 DTSBE609 00108 DTSBE609 00109 EJECT DTSBE609 00110 01 L001-LINK-AREA. DTSBE609 00111 ++INCLUDE DTSIL001 DTSBE609 00112 EJECT DTSBE609 00113 01 L910-LINK-AREA. DTSBE609 00114 ++INCLUDE DTSIL910 DTSBE609 00115 SKIP3 DTSBE609 00116 01 MSKL-REC. DTSBE609 00117 ++INCLUDE DTSIMSKL DTSBE609 00118 SKIP3 DTSBE609 00119 01 MFAS-REC. DTSBE609 00120 ++INCLUDE DTSIMFAS DTSBE609 00121 EJECT DTSBE609 00122 01 R609-REC. DTSBE609 00123 ++INCLUDE DTSIR609 DTSBE609 00124 EJECT DTSBE609 00125 ++INCLUDE OJRWE609 DTSBE609 00126 EJECT DTSBE609 00127 LINKAGE SECTION. DTSBE609 00128 SKIP3 DTSBE609 00129 01 LECM-LINK-AREA. DTSBE609 00130 ++INCLUDE DTSILECM DTSBE609 00131 SKIP3 DTSBE609 00132 10 FILLER REDEFINES LECM-EXTRACT-PARMS. DTSBE609 00133 15 LECM-PARM-PRINT-DETAIL-IND PIC X(01). DTSBE609 00134 15 FILLER PIC X(01). DTSBE609 00135 15 LECM-PARM-PERIOD-START-DATE PIC X(06). DTSBE609 00136 15 FILLER PIC X(01). DTSBE609 00137 15 LECM-PARM-PERIOD-END-DATE PIC X(06). DTSBE609 00138 15 FILLER PIC X(01). DTSBE609 00139 15 LECM-FLD-REP-ID-AREA DTSBE609 00140 OCCURS 10 TIMES DTSBE609 00141 INDEXED BY LECM-PARM-FLD-REP-IDX. DTSBE609 00142 20 LECM-PARM-FLD-REP-ID PIC X(02). DTSBE609 00143 20 FILLER PIC X(01). DTSBE609 00144 15 FILLER PIC X(22). DTSBE609 00145 EJECT DTSBE609 00146 01 MPRF-LINK-REC. DTSBE609 00147 ++INCLUDE DTSIMPRF DTSBE609 00148 EJECT DTSBE609 00149 PROCEDURE DIVISION USING LECM-LINK-AREA DTSBE609 00150 MPRF-LINK-REC. DTSBE609 00151 EVALUATE TRUE DTSBE609 00152 WHEN LECM-PROCESS-88 DTSBE609 00153 PERFORM P0000-PROCESS THRU P0000-EXIT DTSBE609 00154 DTSBE609 00155 WHEN LECM-INITIALIZE-88 DTSBE609 00156 SET WRK-EDIT-PASSED-88 TO TRUE DTSBE609 00157 PERFORM I0000-INITIALIZE THRU I0000-EXIT DTSBE609 00158 IF WRK-EDIT-FAILED-88 DTSBE609 00159 PERFORM S999-ABEND THRU S999-EXIT DTSBE609 00160 END-IF DTSBE609 00161 DTSBE609 00162 WHEN LECM-TERMINATE-88 DTSBE609 00163 PERFORM T0000-TERMINATE THRU T0000-EXIT DTSBE609 00164 DTSBE609 00165 WHEN OTHER DTSBE609 00166 MOVE 'INVALID LECM-CALL-TYPE-IND ENCOUNTERED' DTSBE609 00167 TO ABEND-MSG DTSBE609 00168 PERFORM S999-ABEND THRU S999-EXIT. DTSBE609 00169 SKIP2 DTSBE609 00170 GOBACK. DTSBE609 00171 EJECT DTSBE609 00172 I0000-INITIALIZE. DTSBE609 00173 SKIP2 DTSBE609 00174 MOVE LENGTH OF R609-REC TO R609-LENGTH. DTSBE609 00175 MOVE '609' TO R609-REC-TYPE. DTSBE609 00176 MOVE LECM-PARM-PRINT-DETAIL-IND TO DTSBE609 00177 OJR-PARM-PRINT-DETAIL-IND. DTSBE609 00178 DTSBE609 00179 MOVE LECM-PARM-PERIOD-START-DATE TO DTSBE609 00180 OJR-PARM-PERIOD-START-DATE. DTSBE609 00181 DTSBE609 00182 MOVE LECM-PARM-PERIOD-END-DATE TO DTSBE609 00183 OJR-PARM-PERIOD-END-DATE. DTSBE609 00184 DTSBE609 00185 *& DTSBE609 00186 DISPLAY 'BE609 PARM START ' OJR-PARM-PERIOD-START-DATE DTSBE609 00187 ' END ' OJR-PARM-PERIOD-END-DATE. DTSBE609 00188 *& DTSBE609 00189 MOVE LECM-PERIOD-START-DATE TO DTSBE609 00190 OJR-PERIOD-START-DATE. DTSBE609 00191 DTSBE609 00192 MOVE LECM-PERIOD-END-DATE TO DTSBE609 00193 OJR-PERIOD-END-DATE. DTSBE609 00194 DTSBE609 00195 DTSBE609 00196 PERFORM I0001-MOVE-FLD-REP THRU I0001-EXIT DTSBE609 00197 VARYING OJR-PARM-FLD-REP-IDX DTSBE609 00198 FROM 1 BY 1 UNTIL DTSBE609 00199 OJR-PARM-FLD-REP-IDX > +10. DTSBE609 00200 DTSBE609 00201 MOVE LECM-TRACE-IND TO L910-TRACE-IND. DTSBE609 00202 MOVE WRK-MOD-NAME TO L910-MOD-NAME. DTSBE609 00203 DTSBE609 00204 PERFORM I1000-EDIT-AND-DEFAULT-PARMS THRU I1000-EXIT. DTSBE609 00205 DTSBE609 00206 SET LECM-MST-OPEN-READ-88 TO TRUE. DTSBE609 00207 SET LECM-REF-OPEN-READ-88 TO TRUE. DTSBE609 00208 SKIP2 DTSBE609 00209 I0000-EXIT. DTSBE609 00210 EXIT. DTSBE609 00211 DTSBE609 00212 I0001-MOVE-FLD-REP. DTSBE609 00213 DTSBE609 00214 MOVE LECM-PARM-FLD-REP-ID (OJR-PARM-FLD-REP-IDX) TO DTSBE609 00215 OJR-PARM-FLD-REP-ID (OJR-PARM-FLD-REP-IDX). DTSBE609 00216 DTSBE609 00217 I0001-EXIT. DTSBE609 00218 EXIT. DTSBE609 00219 DTSBE609 00220 ++INCLUDE OJRPE609 DTSBE609 00221 P0000-PROCESS. DTSBE609 00222 IF MPRF-NO-MFAS-88 DTSBE609 00223 GO TO P0000-EXIT. DTSBE609 00224 DTSBE609 00225 MOVE LOW-VALUES TO MFAS-KEY-AREA. DTSBE609 00226 MOVE MPRF-EMP-NO TO MFAS-EMP-NO. DTSBE609 00227 SET MFAS-FAS-88 TO TRUE. DTSBE609 00228 MOVE MFAS-KEY-AREA TO MSKL-KEY-AREA. DTSBE609 00229 PERFORM S910-START-BROWSE THRU S910-EXIT. DTSBE609 00230 PERFORM P1000-SCAN-MFAS THRU P1000-EXIT DTSBE609 00231 UNTIL L910-NO-REC-88. DTSBE609 00232 P0000-EXIT. DTSBE609 00233 EXIT. DTSBE609 00234 SKIP3 DTSBE609 00235 P1000-SCAN-MFAS. DTSBE609 00236 MOVE MSKL-REC TO MFAS-REC. DTSBE609 00237 DTSBE609 00238 PERFORM P1100-PROCESS-MFAS THRU P1100-EXIT. DTSBE609 00239 DTSBE609 00240 MOVE MFAS-KEY-AREA TO MSKL-KEY-AREA. DTSBE609 00241 PERFORM S910-READ THRU S910-EXIT. DTSBE609 00242 IF L910-NO-REC-88 DTSBE609 00243 MOVE 'LOGIC ERROR IN P1000' TO ABEND-MSG DTSBE609 00244 PERFORM S999-ABEND THRU S999-EXIT. DTSBE609 00245 DTSBE609 00246 PERFORM S910-READ-NEXT THRU S910-EXIT. DTSBE609 00247 P1000-EXIT. DTSBE609 00248 EXIT. DTSBE609 00249 EJECT DTSBE609 00250 P1100-PROCESS-MFAS. DTSBE609 00251 MOVE 'N' TO WRK-FLD-REP-ID-IND. DTSBE609 00252 DTSBE609 00253 IF WRK-PARM-FLD-REP-ID-CNT = +0 DTSBE609 00254 MOVE 'Y' TO WRK-FLD-REP-ID-IND DTSBE609 00255 ELSE DTSBE609 00256 PERFORM P1110-CHECK-FLD-REP-ID THRU P1110-EXIT DTSBE609 00257 VARYING WRK-PARM-FLD-REP-IDX FROM 1 BY 1 DTSBE609 00258 UNTIL (WRK-FLD-REP-ID-IND = 'Y') DTSBE609 00259 OR DTSBE609 00260 (WRK-PARM-FLD-REP-IDX DTSBE609 00261 > WRK-PARM-FLD-REP-ID-CNT). DTSBE609 00262 DTSBE609 00263 IF WRK-FLD-REP-ID-IND = 'Y' DTSBE609 00264 MOVE MFAS-FLD-REP-ID TO R609-FIELD-REP-ID DTSBE609 00265 ELSE DTSBE609 00266 GO TO P1100-EXIT. DTSBE609 00267 SKIP3 DTSBE609 00268 IF MFAS-STATUS-ACTIVE-88 DTSBE609 00269 IF MFAS-DUE-DATE > WRK-PARM-PERIOD-END-DATE DTSBE609 00270 SET R609-STATUS-ACTIVE-88 TO TRUE DTSBE609 00271 ELSE DTSBE609 00272 SET R609-STATUS-BACK-LOGGED-88 TO TRUE DTSBE609 00273 ELSE DTSBE609 00274 IF MFAS-STATUS-COMPLETE-88 OR MFAS-STATUS-PROCESSED-88 DTSBE609 00275 IF (MFAS-COMPLETED-DATE < WRK-PARM-PERIOD-START-DATE) DTSBE609 00276 OR DTSBE609 00277 (MFAS-COMPLETED-DATE > WRK-PARM-PERIOD-END-DATE) DTSBE609 00278 GO TO P1100-EXIT DTSBE609 00279 ELSE DTSBE609 00280 SET R609-STATUS-COMPLETED-88 TO TRUE DTSBE609 00281 ELSE DTSBE609 00282 IF MFAS-STATUS-HELD-88 DTSBE609 00283 SET R609-STATUS-HELD-88 TO TRUE DTSBE609 00284 ELSE DTSBE609 00285 GO TO P1100-EXIT. DTSBE609 00286 SKIP3 DTSBE609 00287 MOVE MFAS-ASSIGN-TYPE TO R609-ASSIGN-TYPE. DTSBE609 00288 MOVE MFAS-ASSIGN-NO TO R609-ASSIGN-NO. DTSBE609 00289 MOVE MFAS-EMP-NO TO R609-EMP-NO. DTSBE609 00290 IF WRK-PARM-PRINT-DETAIL-YES DTSBE609 00291 SET R609-PRINT-DETAIL-TOO-88 TO TRUE DTSBE609 00292 ELSE DTSBE609 00293 SET R609-PRINT-TOTAL-ONLY-88 TO TRUE. DTSBE609 00294 MOVE WRK-PARM-PERIOD-START-DATE TO R609-PERIOD-START-DATE. DTSBE609 00295 MOVE WRK-PARM-PERIOD-END-DATE TO R609-PERIOD-END-DATE. DTSBE609 00296 MOVE MPRF-PRIMARY-NAME TO R609-PRIMARY-NAME. DTSBE609 00297 SKIP3 DTSBE609 00298 IF R609-STATUS-BACK-LOGGED-88 DTSBE609 00299 MOVE MFAS-DUE-DATE TO L001-FED-8-DATE-9 DTSBE609 00300 PERFORM S001-FROM-FED-8 THRU S001-EXIT DTSBE609 00301 MOVE L001-JUL-ABS-DAY TO WRK-DUE-ABS-DAY DTSBE609 00302 DTSBE609 00303 MOVE WRK-PARM-PERIOD-END-DATE TO L001-FED-8-DATE-9 DTSBE609 00304 PERFORM S001-FROM-FED-8 THRU S001-EXIT DTSBE609 00305 SUBTRACT L001-JUL-ABS-DAY FROM WRK-DUE-ABS-DAY DTSBE609 00306 GIVING R609-BACK-LOGGED-DAYS DTSBE609 00307 ELSE DTSBE609 00308 MOVE +0 TO R609-BACK-LOGGED-DAYS. DTSBE609 00309 SKIP3 DTSBE609 00310 IF MFAS-STATUS-PROCESSED-88 DTSBE609 00311 SET R609-PROCESSED-YES-88 TO TRUE DTSBE609 00312 ELSE DTSBE609 00313 SET R609-PROCESSED-NO-88 TO TRUE. DTSBE609 00314 SKIP3 DTSBE609 00315 PERFORM S946-WRITE-R609 THRU S946-EXIT. DTSBE609 00316 P1100-EXIT. DTSBE609 00317 EXIT. DTSBE609 00318 SKIP3 DTSBE609 00319 P1110-CHECK-FLD-REP-ID. DTSBE609 00320 IF MFAS-FLD-REP-ID DTSBE609 00321 = WRK-PARM-FLD-REP-ID (WRK-PARM-FLD-REP-IDX) DTSBE609 00322 MOVE 'Y' TO WRK-FLD-REP-ID-IND. DTSBE609 00323 P1110-EXIT. DTSBE609 00324 EXIT. DTSBE609 00325 EJECT DTSBE609 00326 S001-FROM-FED-8. DTSBE609 00327 SET L001-FROM-FED-8 TO TRUE. DTSBE609 00328 GO TO S001-DATE. DTSBE609 00329 SKIP1 DTSBE609 00330 S001-FROM-CAL-6. DTSBE609 00331 SET L001-FROM-CAL-6 TO TRUE. DTSBE609 00332 GO TO S001-DATE. DTSBE609 00333 SKIP1 DTSBE609 00334 S001-DATE. DTSBE609 00335 CALL 'DTSBU001' USING L001-LINK-AREA. DTSBE609 00336 S001-EXIT. DTSBE609 00337 EXIT. DTSBE609 00338 SKIP3 DTSBE609 00339 S910-READ. DTSBE609 00340 SET L910-READ-88 TO TRUE. DTSBE609 00341 GO TO S910-MSTR-IO. DTSBE609 00342 SKIP1 DTSBE609 00343 S910-START-BROWSE. DTSBE609 00344 SET L910-START-BROWSE-88 TO TRUE. DTSBE609 00345 GO TO S910-MSTR-IO. DTSBE609 00346 SKIP1 DTSBE609 00347 S910-READ-NEXT. DTSBE609 00348 SET L910-READ-NEXT-88 TO TRUE. DTSBE609 00349 GO TO S910-MSTR-IO. DTSBE609 00350 SKIP1 DTSBE609 00351 *S910-COUNT. DTSBE609 00352 * SET L910-COUNT-88 TO TRUE. DTSBE609 00353 * GO TO S910-MSTR-IO. DTSBE609 00354 SKIP1 DTSBE609 00355 S910-MSTR-IO. DTSBE609 00356 CALL 'DTSBU910' USING L910-LINK-AREA DTSBE609 00357 MSKL-REC. DTSBE609 00358 S910-EXIT. DTSBE609 00359 EXIT. DTSBE609 00360 SKIP3 DTSBE609 00361 S946-WRITE-R609. DTSBE609 00362 CALL 'DTSBU946' USING R609-REC. DTSBE609 00363 S946-EXIT. DTSBE609 00364 EXIT. DTSBE609 00365 SKIP3 DTSBE609 00366 S999-ABEND. DTSBE609 00367 DISPLAY '*** DTSBE609 ABENDING. ' ABEND-MSG. DTSBE609 00368 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBE609 00369 S999-EXIT. DTSBE609 00370 EXIT. DTSBE609 00371 EJECT DTSBE609 00372 T0000-TERMINATE. DTSBE609 00373 SKIP1 DTSBE609 00374 CONTINUE. DTSBE609 00375 SKIP1 DTSBE609 00376 T0000-EXIT. DTSBE609 00377 EXIT. DTSBE609