696 lines
55 KiB
COBOL
696 lines
55 KiB
COBOL
00001 IDENTIFICATION DIVISION. 10/04/06
|
|
00002 PROGRAM-ID. DTSBD800. DTSBD800
|
|
00003 AUTHOR. MT DEPT OF LABOR/UI PROGRAMMING SECTION LV025
|
|
00004 DATE-WRITTEN. JULY 1994. DTSBD800
|
|
00005 DATE-COMPILED. DTSBD800
|
|
00006 DTSBD800
|
|
00007 ***** DTSBD800
|
|
00008 * DTSBD800
|
|
00009 * FUNCTION: REPORT DRIVER MODULE. DTSBD800
|
|
00010 * DTSBD800
|
|
00011 * DTSBD800
|
|
00012 * MODIFICATION HISTORY: DTSBD800
|
|
00013 * DTSBD800
|
|
00014 * 03/07/2000 ENLARGE TO HANDLE DTSBR980. DTSBD800
|
|
00015 * REFERENCE: NEEDED FOR OPS BY CLIENT : JHP DTSBD800
|
|
00016 * DTSBD800
|
|
00017 * 07-18-94 INITIAL DEVELOPMENT DTSBD800
|
|
00018 * REFERENCE RFP #RAP AUTHOR OF CHANGE - SFW DTSBD800
|
|
00019 * DTSBD800
|
|
00020 * 11-05-97 MODIFY LITERAL PLACED IN LRCM-AGY-NAME-LINE2 TO DTSBD800
|
|
00021 * REFLECT MOVE OF UI TAX SYSTEM FROM DLI TO DOR. DTSBD800
|
|
00022 * REFERENCE RFP #TCL 208 AUTHOR OF CHANGE - EHH DTSBD800
|
|
00023 * DTSBD800
|
|
00024 * 10/06/1998 REVIEWED AND MODIFIED FOR DC. DTSBD800
|
|
00025 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH DTSBD800
|
|
00026 * DTSBD800
|
|
00027 * 07/14/1999 INITIALIZE LRCM-PICKUP-DIR. DTSBD800
|
|
00028 * REFERENCE: PICKUP DIR PROGRAMMER: DVS DTSBD800
|
|
00029 * DTSBD800
|
|
00030 * 08/21/2006 MODIFIED TO OPEN AND CLOSE TAX MASTER FILE. DTSBD800
|
|
00031 * BOTH DTSBR319 AND DTSBR325 NEED TO READ THE DTSBD800
|
|
00032 * MASTER FILE. DTSBD800
|
|
00033 * REFERENCE: PROGRAMMER: DTSBD800
|
|
00034 * DTSBD800
|
|
00035 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBD800
|
|
00036 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBD800
|
|
00037 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSBD800
|
|
00038 * DTSBD800
|
|
00039 * DTSBD800
|
|
00040 * DESCRIPTION: DTSBD800
|
|
00041 * DTSBD800
|
|
00042 * THE FUNCTION OF DTSBD800 IS TO READ THE SORTED INCOMING DTSBD800
|
|
00043 * REPORT RECORD FILE AND CALL THE APPROPRIATE MODULE TO DTSBD800
|
|
00044 * PROCESS EACH REPORT RECORD. THE RECORD TYPE IS APPENDED DTSBD800
|
|
00045 * TO THE CONSTANT 'DTSBR' TO FORM THE LOAD MODULE NAME DTSBD800
|
|
00046 * ASSOCIATED WITH THE RECORD. DTSBD800
|
|
00047 * DTSBD800
|
|
00048 * TWO TYPES OF PARAMETER FILES ARE INPUT: DTSBD800
|
|
00049 * DTSBD800
|
|
00050 * - ONE PARAMETER FILE (CALLED PARM-FILE) SPECIFIES WHICH OF DTSBD800
|
|
00051 * THE INCOMING REPORT RECORD TYPES ARE TO BE PROCESSED, THIS DTSBD800
|
|
00052 * IS DONE BY EITHER SPECIFYING: DTSBD800
|
|
00053 * A: REPORT RECORD TYPES TO BE INCLUDED (PROCESSED) DTSBD800
|
|
00054 * OR DTSBD800
|
|
00055 * B: REPORT RECORD TYPES TO BE EXCLUDED (NOT PROCESSED). DTSBD800
|
|
00056 * DTSBD800
|
|
00057 * - THE OTHER PARAMETER FILE (CALLED ATLEAST-ONCE-FILE) DTSBD800
|
|
00058 * SPECIFIES THE REPORT RECORD TYPES CORRESPONDING TO ALL DTSBD800
|
|
00059 * REPORT MODULES WHICH MUST BE EXECUTED AT LEAST ONCE. DTSBD800
|
|
00060 * DTSBD800
|
|
00061 * DTSBD800
|
|
00062 * - THE TABLE INTRODUCED FOR DTSBR980 IS 999 ENTRIES LONG DTSBD800
|
|
00063 * TO HANDLE EVERY POSSIBLE REPORT PROGRAM DTSBD800
|
|
00064 * (DTSBR001 TO DTSBR999). DTSBD800
|
|
00065 * DTSBD800
|
|
00066 * DTSBD800
|
|
00067 * MODULES CALLED: DTSBD800
|
|
00068 * DTSBD800
|
|
00069 * DTSBR980 REPORT CONTROL LIST DTSBD800
|
|
00070 * DTSBU001 DATE MODULE DTSBD800
|
|
00071 * DTSBU119 AGENCY FACTS MODULE DTSBD800
|
|
00072 * DTSBU931 REFERENCE FILE I-O MODULE DTSBD800
|
|
00073 * DTSBU941 REPORT FILE SEQUENTIAL INPUT MODULE DTSBD800
|
|
00074 * DTSBU999 ABEND MODULE DTSBD800
|
|
00075 * DTSBD800
|
|
00076 ***** DTSBD800
|
|
00077 EJECT DTSBD800
|
|
00078 ENVIRONMENT DIVISION. DTSBD800
|
|
00079 DTSBD800
|
|
00080 INPUT-OUTPUT SECTION. DTSBD800
|
|
00081 DTSBD800
|
|
00082 FILE-CONTROL. DTSBD800
|
|
00083 SELECT PARM-FILE ASSIGN TO PARMIN. DTSBD800
|
|
00084 SELECT ATLEAST-ONCE-FILE ASSIGN TO ATLSTIN. DTSBD800
|
|
00085 DTSBD800
|
|
00086 DATA DIVISION. DTSBD800
|
|
00087 DTSBD800
|
|
00088 FILE SECTION. DTSBD800
|
|
00089 DTSBD800
|
|
00090 FD PARM-FILE DTSBD800
|
|
00091 LABEL RECORDS ARE STANDARD. DTSBD800
|
|
00092 DTSBD800
|
|
00093 01 PARM-REC. DTSBD800
|
|
00094 05 PARM-MOD-NAME PIC X(08). DTSBD800
|
|
00095 05 FILLER PIC X(01). DTSBD800
|
|
00096 05 PARM-CONTROL-TYPE PIC X(03). DTSBD800
|
|
00097 05 PARM-RPT-TYPE-AREA OCCURS 15 TIMES DTSBD800
|
|
00098 INDEXED BY PARM-RPT-IDX. DTSBD800
|
|
00099 10 FILLER PIC X(01). DTSBD800
|
|
00100 10 PARM-RPT-TYPE PIC X(03). DTSBD800
|
|
00101 05 FILLER PIC X(08). DTSBD800
|
|
00102 DTSBD800
|
|
00103 DTSBD800
|
|
00104 DTSBD800
|
|
00105 FD ATLEAST-ONCE-FILE DTSBD800
|
|
00106 LABEL RECORDS ARE STANDARD. DTSBD800
|
|
00107 DTSBD800
|
|
00108 01 ATLEAST-ONCE-REC. DTSBD800
|
|
00109 05 ATLEAST-ONCE-MOD-NAME PIC X(08). DTSBD800
|
|
00110 05 ATLEAST-ONCE-RPT-TYPE-AREA OCCURS 15 TIMES DTSBD800
|
|
00111 INDEXED BY ATLEAST-ONCE-RPT-IDX. DTSBD800
|
|
00112 10 FILLER PIC X(01). DTSBD800
|
|
00113 10 ATLEAST-ONCE-RPT-TYPE PIC X(03). DTSBD800
|
|
00114 05 FILLER PIC X(12). DTSBD800
|
|
00115 EJECT DTSBD800
|
|
00116 WORKING-STORAGE SECTION. DTSBD800
|
|
001165 77 PAN-VALET PICTURE X(24) VALUE '025DTSBD800 10/04/06'. DTSBD800
|
|
00117 DTSBD800
|
|
00118 01 WRK-AREA. DTSBD800
|
|
00119 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +800.DTSBD800
|
|
00120 DTSBD800
|
|
00121 05 ABEND-MSG PIC X(50). DTSBD800
|
|
00122 DTSBD800
|
|
00123 05 INCLUDE-REC-CNT PIC S9(07) COMP-3. DTSBD800
|
|
00124 DTSBD800
|
|
00125 05 EXCLUDE-REC-CNT PIC S9(07) COMP-3. DTSBD800
|
|
00126 DTSBD800
|
|
00127 05 PARM-REC-CNT PIC S9(04) COMP. DTSBD800
|
|
00128 DTSBD800
|
|
00129 05 PARM-EOF-IND PIC X(01). DTSBD800
|
|
00130 DTSBD800
|
|
00131 05 ATLEAST-ONCE-REC-CNT PIC S9(04) COMP. DTSBD800
|
|
00132 DTSBD800
|
|
00133 05 ATLEAST-ONCE-EOF-IND PIC X(01). DTSBD800
|
|
00134 DTSBD800
|
|
00135 05 NDX-1 PIC S9(04) COMP. DTSBD800
|
|
00136 DTSBD800
|
|
00137 05 SYS-TIME. DTSBD800
|
|
00138 10 SYS-H PIC X(02). DTSBD800
|
|
00139 10 SYS-M PIC X(02). DTSBD800
|
|
00140 10 SYS-S PIC X(02). DTSBD800
|
|
00141 10 FILLER PIC X(02). DTSBD800
|
|
00142 DTSBD800
|
|
00143 05 DISP-TIME. DTSBD800
|
|
00144 10 DISP-H PIC X(02). DTSBD800
|
|
00145 10 FILLER PIC X(01) VALUE '.'. DTSBD800
|
|
00146 10 DISP-M PIC X(02). DTSBD800
|
|
00147 10 FILLER PIC X(01) VALUE '.'. DTSBD800
|
|
00148 10 DISP-S PIC X(02). DTSBD800
|
|
00149 EJECT DTSBD800
|
|
00150 05 WRK-CONTROL-CNT PIC S9(04) COMP. DTSBD800
|
|
00151 DTSBD800
|
|
00152 05 WRK-CONTROL-TYPE PIC X(03). DTSBD800
|
|
00153 88 WRK-INCLUDE-88 VALUE 'INC'. DTSBD800
|
|
00154 88 WRK-EXCLUDE-88 VALUE 'EXC'. DTSBD800
|
|
00155 DTSBD800
|
|
00156 05 WRK-CONTROL-REC-TYPE OCCURS 15 TIMES DTSBD800
|
|
00157 INDEXED BY WRK-CONTROL-REC-IDX DTSBD800
|
|
00158 PIC X(03). DTSBD800
|
|
00159 DTSBD800
|
|
00160 DTSBD800
|
|
00161 DTSBD800
|
|
00162 05 WRK-SELECT-IND PIC X(01). DTSBD800
|
|
00163 DTSBD800
|
|
00164 DTSBD800
|
|
00165 DTSBD800
|
|
00166 05 WRK-ATLEAST-ONCE-CNT PIC S9(04) COMP. DTSBD800
|
|
00167 DTSBD800
|
|
00168 05 WRK-ATLEAST-ONCE-OCCURS OCCURS 15 TIMES DTSBD800
|
|
00169 INDEXED BY WRK-ATLEAST-ONCE-IDX. DTSBD800
|
|
00170 10 WRK-ATLEAST-ONCE-REC-TYPE DTSBD800
|
|
00171 PIC X(03). DTSBD800
|
|
00172 10 WRK-ATLEAST-ONCE-CALLED-IND DTSBD800
|
|
00173 PIC X(01). DTSBD800
|
|
00174 88 WRK-ATLEAST-ONCE-CALLED-88 VALUE 'Y'. DTSBD800
|
|
00175 DTSBD800
|
|
00176 DTSBD800
|
|
00177 DTSBD800
|
|
00178 05 HOLD-REC-TYPE PIC X(03) VALUE ZEROES. DTSBD800
|
|
00179 05 HOLD-REC-TYPE-9 REDEFINES HOLD-REC-TYPE DTSBD800
|
|
00180 PIC 9(03). DTSBD800
|
|
00181 DTSBD800
|
|
00182 05 HOLD-REC-CNT PIC S9(07) COMP-3. DTSBD800
|
|
00183 DTSBD800
|
|
00184 05 PRINT-MODULE. DTSBD800
|
|
00185 10 FILLER PIC X(05) VALUE 'DTSBR'. DTSBD800
|
|
00186 10 PRINT-TYPE PIC X(03) VALUE SPACES. DTSBD800
|
|
00187 EJECT DTSBD800
|
|
00188 01 L001-LINK-AREA. DTSBD800
|
|
00189 ++INCLUDE DTSIL001 DTSBD800
|
|
00190 EJECT DTSBD800
|
|
00191 01 L119-LINK-AREA. DTSBD800
|
|
00192 ++INCLUDE DTSIL119 DTSBD800
|
|
00193 EJECT DTSBD800
|
|
00194 01 L931-LINK-AREA. DTSBD800
|
|
00195 ++INCLUDE DTSIL931 DTSBD800
|
|
00196 EJECT DTSBD800
|
|
00197 01 L941-LINK-AREA. DTSBD800
|
|
00198 ++INCLUDE DTSIL941 DTSBD800
|
|
00199 EJECT DTSBD800
|
|
00200 01 L980-LINK-AREA. DTSBD800
|
|
00201 ++INCLUDE DTSIL980 DTSBD800
|
|
00202 EJECT DTSBD800
|
|
00203 01 RSK3-REC. DTSBD800
|
|
00204 ++INCLUDE DTSIRSK3 DTSBD800
|
|
00205 EJECT DTSBD800
|
|
00206 01 L910-LINK-AREA. DTSBD800
|
|
00207 ++INCLUDE DTSIL910 DTSBD800
|
|
00208 DTSBD800
|
|
00209 01 MSKL-REC. DTSBD800
|
|
00210 ++INCLUDE DTSIMSKL DTSBD800
|
|
00211 EJECT DTSBD800
|
|
00212 01 LRCM-LINK-AREA. DTSBD800
|
|
00213 ++INCLUDE DTSILRCM DTSBD800
|
|
00214 EJECT DTSBD800
|
|
00215 01 FSKL-REC. DTSBD800
|
|
00216 ++INCLUDE DTSIFSKL DTSBD800
|
|
00217 EJECT DTSBD800
|
|
00218 PROCEDURE DIVISION. DTSBD800
|
|
00219 DTSBD800
|
|
00220 PERFORM I0000-INITIATE THRU I0000-EXIT. DTSBD800
|
|
00221 DTSBD800
|
|
00222 PERFORM P0000-PROCESS THRU P0000-EXIT. DTSBD800
|
|
00223 DTSBD800
|
|
00224 PERFORM T0000-TERMINATE THRU T0000-EXIT. DTSBD800
|
|
00225 DTSBD800
|
|
00226 GOBACK. DTSBD800
|
|
00227 EJECT DTSBD800
|
|
00228 I0000-INITIATE. DTSBD800
|
|
00229 PERFORM I1000-OPEN-FILES THRU I1000-EXIT. DTSBD800
|
|
00230 DTSBD800
|
|
00231 PERFORM I2000-PARM THRU I2000-EXIT. DTSBD800
|
|
00232 DTSBD800
|
|
00233 PERFORM I3000-ATLEAST-ONCE THRU I3000-EXIT. DTSBD800
|
|
00234 DTSBD800
|
|
00235 PERFORM I4000-INIT-LRCM THRU I4000-EXIT. DTSBD800
|
|
00236 I0000-EXIT. DTSBD800
|
|
00237 EXIT. DTSBD800
|
|
00238 DTSBD800
|
|
00239 DTSBD800
|
|
00240 DTSBD800
|
|
00241 I1000-OPEN-FILES. DTSBD800
|
|
00242 SET L931-OPEN-READ-88 TO TRUE. DTSBD800
|
|
00243 DTSBD800
|
|
00244 PERFORM S931-REF-IO THRU S931-EXIT. DTSBD800
|
|
00245 DTSBD800
|
|
00246 SET L941-OPEN-READ-88 TO TRUE. DTSBD800
|
|
00247 DTSBD800
|
|
00248 PERFORM S941-RPT-I THRU S941-EXIT. DTSBD800
|
|
00249 DTSBD800
|
|
00250 PERFORM S910-OPEN-READ THRU S910-EXIT. DTSBD800
|
|
00251 DTSBD800
|
|
00252 I1000-EXIT. DTSBD800
|
|
00253 EXIT. DTSBD800
|
|
00254 DTSBD800
|
|
00255 DTSBD800
|
|
00256 DTSBD800
|
|
00257 I2000-PARM. DTSBD800
|
|
00258 OPEN INPUT PARM-FILE. DTSBD800
|
|
00259 DTSBD800
|
|
00260 MOVE 'N' TO PARM-EOF-IND. DTSBD800
|
|
00261 DTSBD800
|
|
00262 MOVE +0 TO PARM-REC-CNT. DTSBD800
|
|
00263 DTSBD800
|
|
00264 DISPLAY ' '. DTSBD800
|
|
00265 DTSBD800
|
|
00266 DISPLAY '*** DTSBD800 PARAMETERS'. DTSBD800
|
|
00267 DTSBD800
|
|
00268 PERFORM I2100-READ-PARM THRU I2100-EXIT DTSBD800
|
|
00269 UNTIL PARM-EOF-IND = 'Y'. DTSBD800
|
|
00270 DTSBD800
|
|
00271 IF PARM-REC-CNT = +0 DTSBD800
|
|
00272 SET WRK-EXCLUDE-88 TO TRUE DTSBD800
|
|
00273 MOVE +0 TO WRK-CONTROL-CNT DTSBD800
|
|
00274 DISPLAY ' (NONE)' DTSBD800
|
|
00275 ELSE DTSBD800
|
|
00276 IF PARM-REC-CNT > +1 DTSBD800
|
|
00277 MOVE 'NO MORE THAN ONE PARM RECORD ALLOWED' DTSBD800
|
|
00278 TO ABEND-MSG DTSBD800
|
|
00279 PERFORM S999-ABEND THRU S999-EXIT. DTSBD800
|
|
00280 DTSBD800
|
|
00281 DISPLAY ' '. DTSBD800
|
|
00282 DTSBD800
|
|
00283 CLOSE PARM-FILE. DTSBD800
|
|
00284 I2000-EXIT. DTSBD800
|
|
00285 EXIT. DTSBD800
|
|
00286 DTSBD800
|
|
00287 DTSBD800
|
|
00288 DTSBD800
|
|
00289 I2100-READ-PARM. DTSBD800
|
|
00290 READ PARM-FILE DTSBD800
|
|
00291 AT END DTSBD800
|
|
00292 MOVE 'Y' TO PARM-EOF-IND DTSBD800
|
|
00293 GO TO I2100-EXIT. DTSBD800
|
|
00294 DTSBD800
|
|
00295 DISPLAY '*** ' PARM-REC. DTSBD800
|
|
00296 DTSBD800
|
|
00297 ADD +1 TO PARM-REC-CNT. DTSBD800
|
|
00298 DTSBD800
|
|
00299 IF PARM-MOD-NAME NOT = 'DTSBD800' DTSBD800
|
|
00300 MOVE 'INVALID PARM MODULE NAME' TO ABEND-MSG DTSBD800
|
|
00301 PERFORM S999-ABEND THRU S999-EXIT. DTSBD800
|
|
00302 DTSBD800
|
|
00303 MOVE PARM-CONTROL-TYPE TO WRK-CONTROL-TYPE. DTSBD800
|
|
00304 DTSBD800
|
|
00305 IF WRK-INCLUDE-88 OR WRK-EXCLUDE-88 DTSBD800
|
|
00306 NEXT SENTENCE DTSBD800
|
|
00307 ELSE DTSBD800
|
|
00308 MOVE 'INVALID PARM CONTROL TYPE' TO ABEND-MSG DTSBD800
|
|
00309 PERFORM S999-ABEND THRU S999-EXIT. DTSBD800
|
|
00310 DTSBD800
|
|
00311 MOVE +0 TO WRK-CONTROL-CNT. DTSBD800
|
|
00312 DTSBD800
|
|
00313 PERFORM I2110-RPT-TYPE-LOOP THRU I2110-EXIT DTSBD800
|
|
00314 VARYING PARM-RPT-IDX FROM 1 BY 1 DTSBD800
|
|
00315 UNTIL PARM-RPT-IDX > 15. DTSBD800
|
|
00316 DTSBD800
|
|
00317 IF (WRK-INCLUDE-88) AND (WRK-CONTROL-CNT = +0) DTSBD800
|
|
00318 MOVE 'AT LEAST ONE PARM REC TYPE REQUIRED FOR INCLUDING' DTSBD800
|
|
00319 TO ABEND-MSG DTSBD800
|
|
00320 PERFORM S999-ABEND THRU S999-EXIT. DTSBD800
|
|
00321 I2100-EXIT. DTSBD800
|
|
00322 EXIT. DTSBD800
|
|
00323 DTSBD800
|
|
00324 DTSBD800
|
|
00325 DTSBD800
|
|
00326 I2110-RPT-TYPE-LOOP. DTSBD800
|
|
00327 IF PARM-RPT-TYPE (PARM-RPT-IDX) = SPACES DTSBD800
|
|
00328 NEXT SENTENCE DTSBD800
|
|
00329 ELSE DTSBD800
|
|
00330 ADD +1 TO WRK-CONTROL-CNT DTSBD800
|
|
00331 MOVE PARM-RPT-TYPE (PARM-RPT-IDX) DTSBD800
|
|
00332 TO WRK-CONTROL-REC-TYPE (WRK-CONTROL-CNT). DTSBD800
|
|
00333 I2110-EXIT. DTSBD800
|
|
00334 EXIT. DTSBD800
|
|
00335 EJECT DTSBD800
|
|
00336 I3000-ATLEAST-ONCE. DTSBD800
|
|
00337 OPEN INPUT ATLEAST-ONCE-FILE. DTSBD800
|
|
00338 DTSBD800
|
|
00339 MOVE 'N' TO ATLEAST-ONCE-EOF-IND. DTSBD800
|
|
00340 DTSBD800
|
|
00341 MOVE +0 TO ATLEAST-ONCE-REC-CNT. DTSBD800
|
|
00342 DTSBD800
|
|
00343 DISPLAY ' '. DTSBD800
|
|
00344 DTSBD800
|
|
00345 DISPLAY '*** DTSBD800 AT LEAST ONCE PARAMETERS'. DTSBD800
|
|
00346 DTSBD800
|
|
00347 PERFORM I3100-READ-ATLEAST-ONCE-FILE THRU I3100-EXIT DTSBD800
|
|
00348 UNTIL ATLEAST-ONCE-EOF-IND = 'Y'. DTSBD800
|
|
00349 DTSBD800
|
|
00350 IF ATLEAST-ONCE-REC-CNT = +0 DTSBD800
|
|
00351 MOVE +0 TO WRK-ATLEAST-ONCE-CNT DTSBD800
|
|
00352 DISPLAY ' (NONE)' DTSBD800
|
|
00353 ELSE DTSBD800
|
|
00354 IF ATLEAST-ONCE-REC-CNT > +1 DTSBD800
|
|
00355 MOVE 'NO MORE THAN ONE AT LEAST ONCE RECORD ALLOWED' DTSBD800
|
|
00356 TO ABEND-MSG DTSBD800
|
|
00357 PERFORM S999-ABEND THRU S999-EXIT. DTSBD800
|
|
00358 DTSBD800
|
|
00359 DISPLAY ' '. DTSBD800
|
|
00360 DTSBD800
|
|
00361 CLOSE ATLEAST-ONCE-FILE. DTSBD800
|
|
00362 I3000-EXIT. DTSBD800
|
|
00363 EXIT. DTSBD800
|
|
00364 DTSBD800
|
|
00365 DTSBD800
|
|
00366 DTSBD800
|
|
00367 I3100-READ-ATLEAST-ONCE-FILE. DTSBD800
|
|
00368 READ ATLEAST-ONCE-FILE DTSBD800
|
|
00369 AT END DTSBD800
|
|
00370 MOVE 'Y' TO ATLEAST-ONCE-EOF-IND DTSBD800
|
|
00371 GO TO I3100-EXIT. DTSBD800
|
|
00372 DTSBD800
|
|
00373 DISPLAY '*** ' ATLEAST-ONCE-REC. DTSBD800
|
|
00374 DTSBD800
|
|
00375 ADD +1 TO ATLEAST-ONCE-REC-CNT. DTSBD800
|
|
00376 DTSBD800
|
|
00377 IF ATLEAST-ONCE-MOD-NAME NOT = 'DTSBD800' DTSBD800
|
|
00378 MOVE 'INVALID AT LEAST ONCE MODULE NAME' TO ABEND-MSG DTSBD800
|
|
00379 PERFORM S999-ABEND THRU S999-EXIT. DTSBD800
|
|
00380 DTSBD800
|
|
00381 MOVE +0 TO WRK-ATLEAST-ONCE-CNT. DTSBD800
|
|
00382 DTSBD800
|
|
00383 PERFORM I3110-RPT-TYPE-LOOP DTSBD800
|
|
00384 THRU I3110-EXIT DTSBD800
|
|
00385 VARYING ATLEAST-ONCE-RPT-IDX FROM 1 BY 1 DTSBD800
|
|
00386 UNTIL ATLEAST-ONCE-RPT-IDX > 15. DTSBD800
|
|
00387 I3100-EXIT. DTSBD800
|
|
00388 EXIT. DTSBD800
|
|
00389 DTSBD800
|
|
00390 DTSBD800
|
|
00391 DTSBD800
|
|
00392 I3110-RPT-TYPE-LOOP. DTSBD800
|
|
00393 IF ATLEAST-ONCE-RPT-TYPE (ATLEAST-ONCE-RPT-IDX) NOT = SPACES DTSBD800
|
|
00394 ADD +1 TO WRK-ATLEAST-ONCE-CNT DTSBD800
|
|
00395 MOVE ATLEAST-ONCE-RPT-TYPE (ATLEAST-ONCE-RPT-IDX) DTSBD800
|
|
00396 TO WRK-ATLEAST-ONCE-REC-TYPE (WRK-ATLEAST-ONCE-CNT) DTSBD800
|
|
00397 MOVE 'N' DTSBD800
|
|
00398 TO WRK-ATLEAST-ONCE-CALLED-IND (WRK-ATLEAST-ONCE-CNT). DTSBD800
|
|
00399 I3110-EXIT. DTSBD800
|
|
00400 EXIT. DTSBD800
|
|
00401 EJECT DTSBD800
|
|
00402 I4000-INIT-LRCM. DTSBD800
|
|
00403 MOVE SPACES TO LRCM-LINK-AREA. DTSBD800
|
|
00404 DTSBD800
|
|
00405 PERFORM I4010-INIT-L980 THRU I4010-EXIT DTSBD800
|
|
00406 VARYING NDX-1 FROM 1 BY 1 DTSBD800
|
|
00407 UNTIL NDX-1 > 999. DTSBD800
|
|
00408 DTSBD800
|
|
00409 SET L001-FROM-FED-6 TO TRUE. DTSBD800
|
|
00410 DTSBD800
|
|
00411 ACCEPT L001-FED-6-DATE-9 FROM DATE. DTSBD800
|
|
00412 DTSBD800
|
|
00413 PERFORM S001-CONVERT-DATE THRU S001-EXIT. DTSBD800
|
|
00414 DTSBD800
|
|
00415 MOVE L001-SLASH-DATE TO LRCM-SYS-DATE. DTSBD800
|
|
00416 DTSBD800
|
|
00417 MOVE L001-SLASH-8-DATE TO LRCM-SYS-8-DATE. DTSBD800
|
|
00418 DTSBD800
|
|
00419 DTSBD800
|
|
00420 SET L119-REQ-MIXED-88 TO TRUE. DTSBD800
|
|
00421 DTSBD800
|
|
00422 SET L119-REQ-NO-UNIT-88 TO TRUE. DTSBD800
|
|
00423 DTSBD800
|
|
00424 PERFORM S119-AGENCY-FACTS THRU S119-EXIT. DTSBD800
|
|
00425 DTSBD800
|
|
00426 MOVE L119-UC-OFFICE-NAME TO LRCM-DEFAULT-NAME. DTSBD800
|
|
00427 DTSBD800
|
|
00428 MOVE L119-UC-OFFICE-VOICE TO LRCM-DEFAULT-VOICE. DTSBD800
|
|
00429 DTSBD800
|
|
00430 DTSBD800
|
|
00431 ACCEPT SYS-TIME FROM TIME. DTSBD800
|
|
00432 DTSBD800
|
|
00433 MOVE SYS-H TO DISP-H. DTSBD800
|
|
00434 DTSBD800
|
|
00435 MOVE SYS-M TO DISP-M. DTSBD800
|
|
00436 DTSBD800
|
|
00437 MOVE SYS-S TO DISP-S. DTSBD800
|
|
00438 DTSBD800
|
|
00439 MOVE DISP-TIME TO LRCM-SYS-TIME. DTSBD800
|
|
00440 DTSBD800
|
|
00441 MOVE +19924 TO LRCM-PICKUP-YRQ. DTSBD800
|
|
00442 DTSBD800
|
|
00443 DTSBD800
|
|
00444 MOVE ' DISTRICT OF COLUMBIA ' DTSBD800
|
|
00445 TO LRCM-AGY-NAME-LINE1. DTSBD800
|
|
00446 DTSBD800
|
|
00447 MOVE ' TAX DIVISION ' DTSBD800
|
|
00448 TO LRCM-AGY-NAME-LINE2. DTSBD800
|
|
00449 I4000-EXIT. DTSBD800
|
|
00450 EXIT. DTSBD800
|
|
00451 I4010-INIT-L980. DTSBD800
|
|
00452 MOVE ZERO TO L980-REC-CNT (NDX-1). DTSBD800
|
|
00453 I4010-EXIT. DTSBD800
|
|
00454 EXIT. DTSBD800
|
|
00455 EJECT DTSBD800
|
|
00456 P0000-PROCESS. DTSBD800
|
|
00457 MOVE +0 TO INCLUDE-REC-CNT DTSBD800
|
|
00458 EXCLUDE-REC-CNT. DTSBD800
|
|
00459 DTSBD800
|
|
00460 DISPLAY ' '. DTSBD800
|
|
00461 DTSBD800
|
|
00462 DISPLAY '*** DTSBD800 STATISTICS'. DTSBD800
|
|
00463 DTSBD800
|
|
00464 SET L941-READ-NEXT-88 TO TRUE. DTSBD800
|
|
00465 DTSBD800
|
|
00466 PERFORM S941-RPT-I THRU S941-EXIT. DTSBD800
|
|
00467 DTSBD800
|
|
00468 IF L941-NO-REC-88 DTSBD800
|
|
00469 GO TO P0000-EXIT. DTSBD800
|
|
00470 DTSBD800
|
|
00471 DTSBD800
|
|
00472 PERFORM P1000-PROCESS-RETURN THRU P1000-EXIT DTSBD800
|
|
00473 UNTIL L941-NO-REC-88. DTSBD800
|
|
00474 DTSBD800
|
|
00475 DTSBD800
|
|
00476 IF WRK-SELECT-IND = 'I' DTSBD800
|
|
00477 PERFORM P1500-TERM-REC-TYPE THRU P1500-EXIT. DTSBD800
|
|
00478 P0000-EXIT. DTSBD800
|
|
00479 EXIT. DTSBD800
|
|
00480 DTSBD800
|
|
00481 DTSBD800
|
|
00482 DTSBD800
|
|
00483 P1000-PROCESS-RETURN. DTSBD800
|
|
00484 IF RSK3-REC-TYPE NOT = HOLD-REC-TYPE DTSBD800
|
|
00485 IF HOLD-REC-TYPE = SPACES DTSBD800
|
|
00486 PERFORM P1100-INIT-REC-TYPE THRU P1100-EXIT DTSBD800
|
|
00487 ELSE DTSBD800
|
|
00488 IF WRK-SELECT-IND = 'I' DTSBD800
|
|
00489 PERFORM P1500-TERM-REC-TYPE THRU P1500-EXIT DTSBD800
|
|
00490 ELSE DTSBD800
|
|
00491 CONTINUE DTSBD800
|
|
00492 END-IF DTSBD800
|
|
00493 PERFORM P1100-INIT-REC-TYPE THRU P1100-EXIT. DTSBD800
|
|
00494 DTSBD800
|
|
00495 IF WRK-SELECT-IND = 'I' DTSBD800
|
|
00496 ADD +1 TO INCLUDE-REC-CNT DTSBD800
|
|
00497 HOLD-REC-CNT DTSBD800
|
|
00498 PERFORM S1000-CALL-R-MOD THRU S1000-EXIT DTSBD800
|
|
00499 ELSE DTSBD800
|
|
00500 ADD +1 TO EXCLUDE-REC-CNT. DTSBD800
|
|
00501 DTSBD800
|
|
00502 SET L941-READ-NEXT-88 TO TRUE. DTSBD800
|
|
00503 DTSBD800
|
|
00504 PERFORM S941-RPT-I THRU S941-EXIT. DTSBD800
|
|
00505 P1000-EXIT. DTSBD800
|
|
00506 EXIT. DTSBD800
|
|
00507 EJECT DTSBD800
|
|
00508 P1100-INIT-REC-TYPE. DTSBD800
|
|
00509 MOVE RSK3-REC-TYPE TO HOLD-REC-TYPE. DTSBD800
|
|
00510 DTSBD800
|
|
00511 IF WRK-EXCLUDE-88 DTSBD800
|
|
00512 IF WRK-CONTROL-CNT = +0 DTSBD800
|
|
00513 MOVE 'I' TO WRK-SELECT-IND DTSBD800
|
|
00514 ELSE DTSBD800
|
|
00515 MOVE 'I' TO WRK-SELECT-IND DTSBD800
|
|
00516 PERFORM P1110-EXCLUDE THRU P1110-EXIT DTSBD800
|
|
00517 VARYING WRK-CONTROL-REC-IDX FROM 1 BY 1 DTSBD800
|
|
00518 UNTIL (WRK-CONTROL-REC-IDX > WRK-CONTROL-CNT) DTSBD800
|
|
00519 OR DTSBD800
|
|
00520 (WRK-SELECT-IND = 'E') DTSBD800
|
|
00521 ELSE DTSBD800
|
|
00522 MOVE 'E' TO WRK-SELECT-IND DTSBD800
|
|
00523 PERFORM P1120-INCLUDE THRU P1120-EXIT DTSBD800
|
|
00524 VARYING WRK-CONTROL-REC-IDX FROM 1 BY 1 DTSBD800
|
|
00525 UNTIL (WRK-CONTROL-REC-IDX > WRK-CONTROL-CNT) DTSBD800
|
|
00526 OR DTSBD800
|
|
00527 (WRK-SELECT-IND = 'I'). DTSBD800
|
|
00528 DTSBD800
|
|
00529 IF WRK-SELECT-IND = 'E' DTSBD800
|
|
00530 GO TO P1100-EXIT. DTSBD800
|
|
00531 DTSBD800
|
|
00532 IF WRK-ATLEAST-ONCE-CNT = +0 DTSBD800
|
|
00533 NEXT SENTENCE DTSBD800
|
|
00534 ELSE DTSBD800
|
|
00535 PERFORM P1130-UPDT-ATLEAST-ONCE-CALLED THRU P1130-EXIT DTSBD800
|
|
00536 VARYING WRK-ATLEAST-ONCE-IDX FROM 1 BY 1 DTSBD800
|
|
00537 UNTIL (WRK-ATLEAST-ONCE-IDX > WRK-ATLEAST-ONCE-CNT). DTSBD800
|
|
00538 DTSBD800
|
|
00539 MOVE HOLD-REC-TYPE TO PRINT-TYPE. DTSBD800
|
|
00540 DTSBD800
|
|
00541 MOVE +0 TO HOLD-REC-CNT. DTSBD800
|
|
00542 DTSBD800
|
|
00543 MOVE 'N' TO LRCM-EOR-IND. DTSBD800
|
|
00544 P1100-EXIT. DTSBD800
|
|
00545 EXIT. DTSBD800
|
|
00546 DTSBD800
|
|
00547 DTSBD800
|
|
00548 DTSBD800
|
|
00549 P1110-EXCLUDE. DTSBD800
|
|
00550 IF RSK3-REC-TYPE = WRK-CONTROL-REC-TYPE (WRK-CONTROL-REC-IDX)DTSBD800
|
|
00551 MOVE 'E' TO WRK-SELECT-IND. DTSBD800
|
|
00552 P1110-EXIT. DTSBD800
|
|
00553 EXIT. DTSBD800
|
|
00554 DTSBD800
|
|
00555 DTSBD800
|
|
00556 DTSBD800
|
|
00557 P1120-INCLUDE. DTSBD800
|
|
00558 IF RSK3-REC-TYPE = WRK-CONTROL-REC-TYPE (WRK-CONTROL-REC-IDX)DTSBD800
|
|
00559 MOVE 'I' TO WRK-SELECT-IND. DTSBD800
|
|
00560 P1120-EXIT. DTSBD800
|
|
00561 EXIT. DTSBD800
|
|
00562 DTSBD800
|
|
00563 DTSBD800
|
|
00564 DTSBD800
|
|
00565 P1130-UPDT-ATLEAST-ONCE-CALLED. DTSBD800
|
|
00566 IF RSK3-REC-TYPE DTSBD800
|
|
00567 = WRK-ATLEAST-ONCE-REC-TYPE (WRK-ATLEAST-ONCE-IDX) DTSBD800
|
|
00568 MOVE 'Y' DTSBD800
|
|
00569 TO WRK-ATLEAST-ONCE-CALLED-IND (WRK-ATLEAST-ONCE-IDX) DTSBD800
|
|
00570 SET WRK-ATLEAST-ONCE-IDX TO WRK-ATLEAST-ONCE-CNT. DTSBD800
|
|
00571 P1130-EXIT. DTSBD800
|
|
00572 EXIT. DTSBD800
|
|
00573 EJECT DTSBD800
|
|
00574 P1500-TERM-REC-TYPE. DTSBD800
|
|
00575 MOVE 'Y' TO LRCM-EOR-IND. DTSBD800
|
|
00576 DTSBD800
|
|
00577 PERFORM S1000-CALL-R-MOD THRU S1000-EXIT. DTSBD800
|
|
00578 DTSBD800
|
|
00579 DISPLAY HOLD-REC-CNT DTSBD800
|
|
00580 ' RECORD TYPE ' DTSBD800
|
|
00581 HOLD-REC-TYPE DTSBD800
|
|
00582 ' RECORDS PROCESSED'. DTSBD800
|
|
00583 DTSBD800
|
|
00584 MOVE HOLD-REC-CNT TO L980-REC-CNT (HOLD-REC-TYPE-9). DTSBD800
|
|
00585 DTSBD800
|
|
00586 CANCEL PRINT-MODULE. DTSBD800
|
|
00587 P1500-EXIT. DTSBD800
|
|
00588 EXIT. DTSBD800
|
|
00589 EJECT DTSBD800
|
|
00590 T0000-TERMINATE. DTSBD800
|
|
00591 DISPLAY ' '. DTSBD800
|
|
00592 DTSBD800
|
|
00593 DISPLAY '*** DTSBD800 TERMINATION STATISTICS'. DTSBD800
|
|
00594 DTSBD800
|
|
00595 DISPLAY INCLUDE-REC-CNT DTSBD800
|
|
00596 ' RECORDS INCLUDED'. DTSBD800
|
|
00597 DTSBD800
|
|
00598 DISPLAY EXCLUDE-REC-CNT DTSBD800
|
|
00599 ' RECORDS EXCLUDED'. DTSBD800
|
|
00600 DTSBD800
|
|
00601 DTSBD800
|
|
00602 IF WRK-ATLEAST-ONCE-CNT = +0 DTSBD800
|
|
00603 NEXT SENTENCE DTSBD800
|
|
00604 ELSE DTSBD800
|
|
00605 PERFORM T1000-CHK-ATLEAST-ONCE-CALLED THRU T1000-EXIT DTSBD800
|
|
00606 VARYING WRK-ATLEAST-ONCE-IDX FROM 1 BY 1 DTSBD800
|
|
00607 UNTIL (WRK-ATLEAST-ONCE-IDX > WRK-ATLEAST-ONCE-CNT). DTSBD800
|
|
00608 DTSBD800
|
|
00609 DTSBD800
|
|
00610 SET L931-CLOSE-88 TO TRUE. DTSBD800
|
|
00611 DTSBD800
|
|
00612 PERFORM S931-REF-IO THRU S931-EXIT. DTSBD800
|
|
00613 DTSBD800
|
|
00614 SET L941-CLOSE-88 TO TRUE. DTSBD800
|
|
00615 DTSBD800
|
|
00616 PERFORM S941-RPT-I THRU S941-EXIT. DTSBD800
|
|
00617 DTSBD800
|
|
00618 PERFORM S980-CTRL-RPT-O THRU S980-EXIT. DTSBD800
|
|
00619 DTSBD800
|
|
00620 PERFORM S910-CLOSE THRU S910-EXIT. DTSBD800
|
|
00621 DTSBD800
|
|
00622 T0000-EXIT. DTSBD800
|
|
00623 EXIT. DTSBD800
|
|
00624 DTSBD800
|
|
00625 DTSBD800
|
|
00626 T1000-CHK-ATLEAST-ONCE-CALLED. DTSBD800
|
|
00627 IF WRK-ATLEAST-ONCE-CALLED-88 (WRK-ATLEAST-ONCE-IDX) DTSBD800
|
|
00628 NEXT SENTENCE DTSBD800
|
|
00629 ELSE DTSBD800
|
|
00630 MOVE WRK-ATLEAST-ONCE-REC-TYPE (WRK-ATLEAST-ONCE-IDX) DTSBD800
|
|
00631 TO PRINT-TYPE DTSBD800
|
|
00632 MOVE 'Y' TO LRCM-EOR-IND DTSBD800
|
|
00633 PERFORM S1000-CALL-R-MOD THRU S1000-EXIT DTSBD800
|
|
00634 CANCEL PRINT-MODULE. DTSBD800
|
|
00635 T1000-EXIT. DTSBD800
|
|
00636 EXIT. DTSBD800
|
|
00637 EJECT DTSBD800
|
|
00638 S1000-CALL-R-MOD. DTSBD800
|
|
00639 CALL PRINT-MODULE USING LRCM-LINK-AREA DTSBD800
|
|
00640 RSK3-REC. DTSBD800
|
|
00641 S1000-EXIT. DTSBD800
|
|
00642 EXIT. DTSBD800
|
|
00643 EJECT DTSBD800
|
|
00644 S001-CONVERT-DATE. DTSBD800
|
|
00645 CALL 'DTSBU001' USING L001-LINK-AREA. DTSBD800
|
|
00646 S001-EXIT. DTSBD800
|
|
00647 EXIT. DTSBD800
|
|
00648 DTSBD800
|
|
00649 DTSBD800
|
|
00650 S119-AGENCY-FACTS. DTSBD800
|
|
00651 CALL 'DTSBU119' USING L119-LINK-AREA. DTSBD800
|
|
00652 S119-EXIT. DTSBD800
|
|
00653 EXIT. DTSBD800
|
|
00654 DTSBD800
|
|
00655 DTSBD800
|
|
00656 S931-REF-IO. DTSBD800
|
|
00657 CALL 'DTSBU931' USING L931-LINK-AREA DTSBD800
|
|
00658 FSKL-REC. DTSBD800
|
|
00659 S931-EXIT. DTSBD800
|
|
00660 EXIT. DTSBD800
|
|
00661 DTSBD800
|
|
00662 DTSBD800
|
|
00663 S941-RPT-I. DTSBD800
|
|
00664 CALL 'DTSBU941' USING L941-LINK-AREA DTSBD800
|
|
00665 RSK3-REC. DTSBD800
|
|
00666 S941-EXIT. DTSBD800
|
|
00667 EXIT. DTSBD800
|
|
00668 DTSBD800
|
|
00669 DTSBD800
|
|
00670 S980-CTRL-RPT-O. DTSBD800
|
|
00671 CALL 'DTSBR980' USING LRCM-LINK-AREA, DTSBD800
|
|
00672 L980-LINK-AREA. DTSBD800
|
|
00673 S980-EXIT. DTSBD800
|
|
00674 EXIT. DTSBD800
|
|
00675 DTSBD800
|
|
00676 S910-OPEN-READ. DTSBD800
|
|
00677 SET L910-OPEN-READ-88 TO TRUE. DTSBD800
|
|
00678 GO TO S910-MSTR-IO. DTSBD800
|
|
00679 DTSBD800
|
|
00680 S910-CLOSE. DTSBD800
|
|
00681 SET L910-CLOSE-88 TO TRUE DTSBD800
|
|
00682 GO TO S910-MSTR-IO. DTSBD800
|
|
00683 S910-MSTR-IO. DTSBD800
|
|
00684 CALL 'DTSBU910' USING L910-LINK-AREA DTSBD800
|
|
00685 MSKL-REC. DTSBD800
|
|
00686 S910-EXIT. DTSBD800
|
|
00687 EXIT. DTSBD800
|
|
00688 DTSBD800
|
|
00689 S999-ABEND. DTSBD800
|
|
00690 DISPLAY '*** DTSBD800 ABENDING - ' ABEND-MSG. DTSBD800
|
|
00691 DTSBD800
|
|
00692 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBD800
|
|
00693 S999-EXIT. DTSBD800
|
|
00694 EXIT. DTSBD800
|