Files
DUTAS/Batch/DTSBU003.cob

883 lines
70 KiB
COBOL

00001 IDENTIFICATION DIVISION. 12/21/24
00002 PROGRAM-ID. DTSBU003. DTSBU003
00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV008
00004 DATE-WRITTEN. JULY 1994. DTSBU003
00005 DATE-COMPILED. DTSBU003
00006 SKIP3 DTSBU003
00007 ***** DTSBU003
00008 * DTSBU003
00009 * FUNCTION: WORK DAYS. DTSBU003
00010 * DTSBU003
00011 * DTSBU003
00012 * MODIFICATION LOG: DTSBU003
00013 * DTSBU003
00014 * 07/07/94 INITIAL DEVELOPMENT. DTSBU003
00015 * WORK ORDER: PROGRAMMER: RHC DTSBU003
00016 * DTSBU003
00017 * 07/26/1999 REVIEWED AND MODIFIED FOR DC. DTSBU003
00018 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH DTSBU003
00019 * DTSBU003
00020 * DTSBU003
00021 * 02/08/2012 REVIEWED AND MODIFIED FOR DC HOLIDAY DTSBU003
00022 * EMNCIPATION DAY APRIL 16 DTSBU003
00023 * REFERENCE: DC DEVELOPMENT PROGRAMMER: ZL1 DTSBU003
00024 * DTSBU003
00025 * CL**2
00026 * 06/10/2022 REVIEWED AND MODIFIED FOR FEDERAL HOLIDAY CL**2
00027 * JUNETEENTH DAY JUNE 19 CL**2
00028 * REFERENCE: DC DEVELOPMENT PROGRAMMER: ZL1 CL**2
00029 * CL**2
00030 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU003
00031 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSBU003
00032 * DTSBU003
00033 * DTSBU003
00034 * DESCRIPTION: DTSBU003
00035 * DTSBU003
00036 * DETERMINE WHETHER A GIVEN DATE IS AN AGENCY WORK DAY. DTSBU003
00037 * DTSBU003
00038 ***** DTSBU003
00039 SKIP3 DTSBU003
00040 ENVIRONMENT DIVISION. DTSBU003
00041 INPUT-OUTPUT SECTION. DTSBU003
00042 DTSBU003
00043 FILE-CONTROL. DTSBU003
00044 SELECT HDAY-FILE ASSIGN TO DTS003F1. DTSBU003
00045 DTSBU003
00046 DATA DIVISION. DTSBU003
00047 DTSBU003
00048 FILE SECTION. DTSBU003
00049 FD HDAY-FILE DTSBU003
00050 RECORDING MODE IS F. DTSBU003
00051 01 HDAY-DATA PIC X(80). DTSBU003
00052 DTSBU003
00053 SKIP3 DTSBU003
00054 WORKING-STORAGE SECTION. DTSBU003
000545 77 PAN-VALET PICTURE X(24) VALUE '008DTSBU003 12/21/24'. DTSBU003
00055 77 PAN-VALET PICTURE X(24) VALUE '016DTSBU003 02/13/12'. DTSBU003
00056 SKIP3 DTSBU003
00057 01 WRK-AREA. DTSBU003
00058 05 WRK-HDAY-AREA. DTSBU003
00059 10 HDAY-YEAR PIC 9(04). DTSBU003
00060 10 FILLER PIC X(01) VALUE ','. DTSBU003
00061 10 HDAY-DAY-FILLER PIC X(24). DTSBU003
00062 10 HDAY-DAY PIC X(26). DTSBU003
00063 10 FILLER PIC X(01) VALUE ','. DTSBU003
00064 10 HDAY-DATE PIC X(10). DTSBU003
00065 10 FILLER2 PIC X(14). DTSBU003
00066 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +003. DTSBU003
00067 DTSBU003
00068 05 WRK-MODULE-NAME PIC X(08) VALUE 'DTSBU003'. DTSBU003
00069 05 WRK-OPTION PIC X(01) VALUE SPACES. DTSBU003
00070 DTSBU003
00071 05 WRK-ABEND-MSG PIC X(60). DTSBU003
00072 SKIP3 DTSBU003
00073 05 FIRST-TIME-IND PIC X(01) VALUE 'Y'. DTSBU003
00074 SKIP3 DTSBU003
00075 05 HOLIDAY-AREA. DTSBU003
00076 10 HOLIDAY-YEAR PIC 9(04). DTSBU003
00077 DTSBU003
00078 10 HOLIDAYS-IN-YEAR. DTSBU003
00079 15 NEW-YEARS-DAY PIC S9(09) COMP-3. DTSBU003
00080 15 MARTIN-LUTHER-KING-DAY PIC S9(09) COMP-3. DTSBU003
00081 15 PRESIDENTS-DAY PIC S9(09) COMP-3. DTSBU003
00082 15 INAGURATION-DAY PIC S9(09) COMP-3. DTSBU003
00083 15 MEMORIAL-DAY PIC S9(09) COMP-3. DTSBU003
00084 15 JUNETEENTH-DAY PIC S9(09) COMP-3. CL**4
00085 15 INDEPENDENCE-DAY PIC S9(09) COMP-3. DTSBU003
00086 15 LABOR-DAY PIC S9(09) COMP-3. DTSBU003
00087 15 COLUMBUS-DAY PIC S9(09) COMP-3. DTSBU003
00088 15 VETERANS-DAY PIC S9(09) COMP-3. DTSBU003
00089 15 THANKSGIVING-DAY PIC S9(09) COMP-3. DTSBU003
00090 15 CHRISTMAS-EVE PIC S9(09) COMP-3. CL**6
00091 15 CHRISTMAS-DAY PIC S9(09) COMP-3. CL**6
00092 15 NEW-YEARS-EVE PIC S9(09) COMP-3. DTSBU003
00093 DTSBU003
00094 10 FILLER REDEFINES HOLIDAYS-IN-YEAR. DTSBU003
00095 15 HOLIDAY-DATE DTSBU003
00096 OCCURS 14 TIMES CL**6
00097 INDEXED BY HOLIDAY-IDX PIC S9(09) COMP-3. DTSBU003
00098 DTSBU003
00099 10 HOLIDAY-CNT PIC S9(04) COMP DTSBU003
00100 VALUE +14. CL**6
00101 SKIP3 DTSBU003
00102 05 WRK-RESULT PIC S9(05) COMP-3. DTSBU003
00103 DTSBU003
00104 05 WRK-REMAINDER PIC S9(05) COMP-3. DTSBU003
00105 EJECT DTSBU003
00106 01 L001-LINK-AREA. DTSBU003
00107 ++INCLUDE DTSIL001 DTSBU003
00108 EJECT DTSBU003
00109 01 L005-LINK-AREA. DTSBU003
00110 ++INCLUDE DTSIL005 DTSBU003
00111 EJECT DTSBU003
00112 LINKAGE SECTION. DTSBU003
00113 SKIP3 DTSBU003
00114 01 L003-LINK-AREA. DTSBU003
00115 ++INCLUDE DTSIL003 DTSBU003
00116 EJECT DTSBU003
00117 PROCEDURE DIVISION USING L003-LINK-AREA. DTSBU003
00118 DTSBU003
00119 DTSBU003
00120 IF L003-OPEN-FILE DTSBU003
00121 DISPLAY 'OPEN FILES FOR HOLIDAYS' DTSBU003
00122 MOVE '2' TO WRK-OPTION DTSBU003
00123 OPEN OUTPUT HDAY-FILE DTSBU003
00124 MOVE 'Y' TO FIRST-TIME-IND DTSBU003
00125 MOVE '1' TO L003-OPTION. DTSBU003
00126 DTSBU003
00127 IF FIRST-TIME-IND = 'Y' DTSBU003
00128 PERFORM I0000-INITIALIZE THRU I0000-EXIT DTSBU003
00129 MOVE 'N' TO FIRST-TIME-IND. DTSBU003
00130 DTSBU003
00131 DTSBU003
00132 IF L003-AGENCY-DAY DTSBU003
00133 PERFORM P0000-PROCESS THRU P0000-EXIT DTSBU003
00134 ELSE DTSBU003
00135 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00136 DTSBU003
00137 DTSBU003
00138 GOBACK. DTSBU003
00139 EJECT DTSBU003
00140 I0000-INITIALIZE. DTSBU003
00141 PERFORM S005-FROM-SYS THRU S005-EXIT. DTSBU003
00142 DTSBU003
00143 MOVE L005-DATE TO L001-FED-8-DATE-9. DTSBU003
00144 DTSBU003
00145 MOVE L001-FED-8-YR TO HOLIDAY-YEAR. DTSBU003
00146 DTSBU003
00147 PERFORM S1000-DETERMINE-HOLIDAYS THRU S1000-EXIT. DTSBU003
00148 DTSBU003
00149 PERFORM I1000-DISPLAY-HOLIDAYS THRU I1000-EXIT. DTSBU003
00150 DTSBU003
00151 MOVE L005-DATE TO L001-FED-8-DATE-9. DTSBU003
00152 DTSBU003
00153 MOVE L001-FED-8-YR TO HOLIDAY-YEAR. DTSBU003
00154 DTSBU003
00155 IF WRK-OPTION = '2' DTSBU003
00156 MOVE HOLIDAY-YEAR TO HDAY-YEAR DTSBU003
00157 PERFORM I1100-WRITE-HOLIDAYS THRU I1100-EXIT. DTSBU003
00158 DTSBU003
00159 ADD 1 TO HOLIDAY-YEAR. DTSBU003
00160 DTSBU003
00161 PERFORM S1000-DETERMINE-HOLIDAYS THRU S1000-EXIT. DTSBU003
00162 DTSBU003
00163 PERFORM DTSBU003
00164 8 TIMES DTSBU003
00165 DISPLAY ' ' DTSBU003
00166 END-PERFORM. DTSBU003
00167 DTSBU003
00168 PERFORM I1000-DISPLAY-HOLIDAYS THRU I1000-EXIT. DTSBU003
00169 I0000-EXIT. DTSBU003
00170 EXIT. DTSBU003
00171 I1000-DISPLAY-HOLIDAYS. DTSBU003
00172 DISPLAY '*** ' DTSBU003
00173 HOLIDAY-YEAR DTSBU003
00174 ' HOLIDAYS'. DTSBU003
00175 DTSBU003
00176 DISPLAY ' '. DTSBU003
00177 DTSBU003
00178 DTSBU003
00179 MOVE NEW-YEARS-DAY TO L001-FED-8-DATE-9. DTSBU003
00180 DTSBU003
00181 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00182 DTSBU003
00183 DISPLAY ' NEW YEARS DAY: ' DTSBU003
00184 L001-SLASH-8-DATE. DTSBU003
00185 DTSBU003
00186 DTSBU003
00187 MOVE MARTIN-LUTHER-KING-DAY TO L001-FED-8-DATE-9. DTSBU003
00188 DTSBU003
00189 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00190 DTSBU003
00191 DISPLAY ' MARTIN LUTHER KING DAY: ' DTSBU003
00192 L001-SLASH-8-DATE. DTSBU003
00193 DTSBU003
00194 DTSBU003
00195 MOVE INAGURATION-DAY TO L001-FED-8-DATE-9. DTSBU003
00196 DTSBU003
00197 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00198 DTSBU003
00199 DISPLAY ' INAGURATION DAY: ' DTSBU003
00200 L001-SLASH-8-DATE. DTSBU003
00201 DTSBU003
00202 DTSBU003
00203 MOVE PRESIDENTS-DAY TO L001-FED-8-DATE-9. DTSBU003
00204 DTSBU003
00205 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00206 DTSBU003
00207 DISPLAY ' PRESIDENTS DAY: ' DTSBU003
00208 L001-SLASH-8-DATE. DTSBU003
00209 DTSBU003
00210 DTSBU003
00211 MOVE MEMORIAL-DAY TO L001-FED-8-DATE-9. DTSBU003
00212 DTSBU003
00213 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00214 DTSBU003
00215 DISPLAY ' MEMORIAL DAY: ' DTSBU003
00216 L001-SLASH-8-DATE. DTSBU003
00217 DTSBU003
00218 CL**3
00219 MOVE JUNETEENTH-DAY TO L001-FED-8-DATE-9. CL**3
00220 CL**3
00221 PERFORM S001-FROM-FED-8 THRU S001-EXIT. CL**3
00222 CL**3
00223 DISPLAY ' JUNETEENTH DAY: ' CL**3
00224 L001-SLASH-8-DATE. CL**3
00225 CL**3
00226 DTSBU003
00227 MOVE INDEPENDENCE-DAY TO L001-FED-8-DATE-9. DTSBU003
00228 DTSBU003
00229 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00230 DTSBU003
00231 DISPLAY ' INDEPENDENCE DAY: ' DTSBU003
00232 L001-SLASH-8-DATE. DTSBU003
00233 DTSBU003
00234 DTSBU003
00235 MOVE LABOR-DAY TO L001-FED-8-DATE-9. DTSBU003
00236 DTSBU003
00237 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00238 DTSBU003
00239 DISPLAY ' LABOR DAY: ' DTSBU003
00240 L001-SLASH-8-DATE. DTSBU003
00241 DTSBU003
00242 DTSBU003
00243 MOVE COLUMBUS-DAY TO L001-FED-8-DATE-9. DTSBU003
00244 DTSBU003
00245 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00246 DTSBU003
00247 DISPLAY ' COLUMBUS DAY: ' DTSBU003
00248 L001-SLASH-8-DATE. DTSBU003
00249 DTSBU003
00250 DTSBU003
00251 MOVE VETERANS-DAY TO L001-FED-8-DATE-9. DTSBU003
00252 DTSBU003
00253 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00254 DTSBU003
00255 DISPLAY ' VETERANS DAY: ' DTSBU003
00256 L001-SLASH-8-DATE. DTSBU003
00257 DTSBU003
00258 DTSBU003
00259 MOVE THANKSGIVING-DAY TO L001-FED-8-DATE-9. DTSBU003
00260 DTSBU003
00261 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00262 DTSBU003
00263 DISPLAY ' THANKSGIVING DAY: ' DTSBU003
00264 L001-SLASH-8-DATE. DTSBU003
00265 DTSBU003
00266 DTSBU003
00267 MOVE CHRISTMAS-EVE TO L001-FED-8-DATE-9. CL**8
00268 DTSBU003
00269 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00270 DTSBU003
00271 DISPLAY ' CHRISTMAS EVE: ' CL**8
00272 L001-SLASH-8-DATE. DTSBU003
00273 DTSBU003
00274 CL**6
00275 MOVE CHRISTMAS-DAY TO L001-FED-8-DATE-9. CL**8
00276 CL**6
00277 PERFORM S001-FROM-FED-8 THRU S001-EXIT. CL**6
00278 CL**6
00279 DISPLAY ' CHRISTMAS DAY: ' CL**8
00280 L001-SLASH-8-DATE. CL**6
00281 CL**6
00282 DTSBU003
00283 MOVE NEW-YEARS-EVE TO L001-FED-8-DATE-9. DTSBU003
00284 DTSBU003
00285 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00286 DTSBU003
00287 DISPLAY ' NEW YEARS EVE: ' DTSBU003
00288 L001-SLASH-8-DATE. DTSBU003
00289 DTSBU003
00290 DTSBU003
00291 DISPLAY ' '. DTSBU003
00292 DTSBU003
00293 DISPLAY '*** IF ANY OF THE ABOVE DATES ARE NOT CORRECT, ' DTSBU003
00294 'CONTACT UI TAX PROGRAMMER IMMEDIATELY.'. DTSBU003
00295 I1000-EXIT. DTSBU003
00296 EXIT. DTSBU003
00297 EJECT DTSBU003
00298 I1100-WRITE-HOLIDAYS. DTSBU003
00299 MOVE SPACES TO HDAY-DAY-FILLER FILLER2. DTSBU003
00300 MOVE NEW-YEARS-DAY TO L001-FED-8-DATE-9. DTSBU003
00301 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00302 MOVE ' NEW YEARS DAY' TO HDAY-DAY DTSBU003
00303 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
00304 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
00305 DTSBU003
00306 MOVE MARTIN-LUTHER-KING-DAY TO L001-FED-8-DATE-9. DTSBU003
00307 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00308 MOVE ' MARTIN LUTHER KING DAY' TO HDAY-DAY. DTSBU003
00309 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
00310 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
00311 DTSBU003
00312 MOVE INAGURATION-DAY TO L001-FED-8-DATE-9. DTSBU003
00313 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00314 MOVE ' INAGURATION DAY' TO HDAY-DAY. DTSBU003
00315 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
00316 IF HDAY-DATE = '0000000000' DTSBU003
00317 MOVE SPACES TO HDAY-DATE. DTSBU003
00318 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
00319 DTSBU003
00320 MOVE PRESIDENTS-DAY TO L001-FED-8-DATE-9. DTSBU003
00321 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00322 MOVE ' PRESIDENTS DAY' TO HDAY-DAY. DTSBU003
00323 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
00324 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
00325 DTSBU003
00326 MOVE MEMORIAL-DAY TO L001-FED-8-DATE-9. DTSBU003
00327 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00328 MOVE ' MEMORIAL DAY' TO HDAY-DAY. DTSBU003
00329 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
00330 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
00331 DTSBU003
00332 CL**3
00333 MOVE JUNETEENTH-DAY TO L001-FED-8-DATE-9. CL**3
00334 PERFORM S001-FROM-FED-8 THRU S001-EXIT. CL**3
00335 MOVE ' JUNETEENTH DAY' TO HDAY-DAY. CL**3
00336 MOVE L001-SLASH-8-DATE TO HDAY-DATE. CL**3
00337 WRITE HDAY-DATA FROM WRK-HDAY-AREA. CL**3
00338 CL**3
00339 DTSBU003
00340 MOVE INDEPENDENCE-DAY TO L001-FED-8-DATE-9. DTSBU003
00341 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00342 MOVE ' INDEPENDENCE DAY' TO HDAY-DAY. DTSBU003
00343 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
00344 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
00345 DTSBU003
00346 DTSBU003
00347 MOVE LABOR-DAY TO L001-FED-8-DATE-9. DTSBU003
00348 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00349 MOVE ' LABOR DAY' TO HDAY-DAY. DTSBU003
00350 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
00351 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
00352 DTSBU003
00353 DTSBU003
00354 MOVE COLUMBUS-DAY TO L001-FED-8-DATE-9. DTSBU003
00355 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00356 MOVE ' COLUMBUS DAY' TO HDAY-DAY. DTSBU003
00357 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
00358 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
00359 DTSBU003
00360 DTSBU003
00361 MOVE VETERANS-DAY TO L001-FED-8-DATE-9. DTSBU003
00362 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00363 MOVE ' VETERANS DAY' TO HDAY-DAY. DTSBU003
00364 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
00365 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
00366 DTSBU003
00367 DTSBU003
00368 MOVE THANKSGIVING-DAY TO L001-FED-8-DATE-9. DTSBU003
00369 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00370 MOVE ' THANKSGIVING DAY' TO HDAY-DAY. DTSBU003
00371 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
00372 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
00373 DTSBU003
00374 DTSBU003
00375 MOVE CHRISTMAS-EVE TO L001-FED-8-DATE-9. CL**6
00376 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00377 MOVE ' CHRISTMAS EVE' TO HDAY-DAY. CL**6
00378 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
00379 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
00380 DTSBU003
00381 CL**6
00382 MOVE CHRISTMAS-DAY TO L001-FED-8-DATE-9. CL**6
00383 PERFORM S001-FROM-FED-8 THRU S001-EXIT. CL**6
00384 MOVE ' CHRISTMAS DAY' TO HDAY-DAY. CL**6
00385 MOVE L001-SLASH-8-DATE TO HDAY-DATE. CL**6
00386 WRITE HDAY-DATA FROM WRK-HDAY-AREA. CL**6
00387 CL**6
00388 DTSBU003
00389 MOVE NEW-YEARS-EVE TO L001-FED-8-DATE-9. DTSBU003
00390 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00391 MOVE ' NEW YEARS EVE' TO HDAY-DAY. DTSBU003
00392 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
00393 IF HDAY-DATE = '0000000000' DTSBU003
00394 MOVE SPACES TO HDAY-DATE. DTSBU003
00395 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
00396 CLOSE HDAY-FILE. DTSBU003
00397 I1100-EXIT. DTSBU003
00398 EXIT. DTSBU003
00399 EJECT DTSBU003
00400 P0000-PROCESS. DTSBU003
00401 MOVE L003-DATE TO L001-FED-8-DATE-9. DTSBU003
00402 DTSBU003
00403 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00404 DTSBU003
00405 IF L001-INVALID-DATE DTSBU003
00406 MOVE 'L003-DATE IS NOT A VALID DATE' DTSBU003
00407 TO WRK-ABEND-MSG DTSBU003
00408 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00409 DTSBU003
00410 DTSBU003
00411 IF L001-SATURDAY OR L001-SUNDAY DTSBU003
00412 SET L003-NOT-WORK-DAY TO TRUE DTSBU003
00413 ELSE DTSBU003
00414 SET L003-IS-WORK-DAY TO TRUE DTSBU003
00415 PERFORM P1000-CHECK-FOR-HOLIDAY THRU P1000-EXIT. DTSBU003
00416 P0000-EXIT. DTSBU003
00417 EXIT. DTSBU003
00418 EJECT DTSBU003
00419 P1000-CHECK-FOR-HOLIDAY. DTSBU003
00420 MOVE L003-DATE TO L001-FED-8-DATE-9. DTSBU003
00421 DTSBU003
00422 IF L001-FED-8-YR = HOLIDAY-YEAR DTSBU003
00423 NEXT SENTENCE DTSBU003
00424 ELSE DTSBU003
00425 MOVE L001-FED-8-YR TO HOLIDAY-YEAR DTSBU003
00426 PERFORM S1000-DETERMINE-HOLIDAYS THRU S1000-EXIT. DTSBU003
00427 DTSBU003
00428 PERFORM DTSBU003
00429 VARYING HOLIDAY-IDX FROM 1 BY 1 DTSBU003
00430 UNTIL HOLIDAY-IDX > HOLIDAY-CNT DTSBU003
00431 IF HOLIDAY-DATE (HOLIDAY-IDX) = L003-DATE DTSBU003
00432 SET L003-NOT-WORK-DAY TO TRUE DTSBU003
00433 END-IF DTSBU003
00434 END-PERFORM. DTSBU003
00435 P1000-EXIT. DTSBU003
00436 EXIT. DTSBU003
00437 EJECT DTSBU003
00438 S1000-DETERMINE-HOLIDAYS. DTSBU003
00439 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
00440 DTSBU003
00441 MOVE 01 TO L001-FED-8-MO. DTSBU003
00442 DTSBU003
00443 MOVE 01 TO L001-FED-8-DA. DTSBU003
00444 DTSBU003
00445 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00446 DTSBU003
00447 IF L001-INVALID-DATE DTSBU003
00448 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:001' DTSBU003
00449 TO WRK-ABEND-MSG DTSBU003
00450 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00451 DTSBU003
00452 IF L001-SUNDAY DTSBU003
00453 MOVE 02 TO L001-FED-8-DA DTSBU003
00454 MOVE L001-FED-8-DATE-9 DTSBU003
00455 TO NEW-YEARS-DAY DTSBU003
00456 ELSE DTSBU003
00457 IF L001-SATURDAY DTSBU003
00458 MOVE 0 TO NEW-YEARS-DAY DTSBU003
00459 ELSE DTSBU003
00460 MOVE L001-FED-8-DATE-9 TO NEW-YEARS-DAY. DTSBU003
00461 DTSBU003
00462 DTSBU003
00463 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
00464 DTSBU003
00465 MOVE 01 TO L001-FED-8-MO. DTSBU003
00466 DTSBU003
00467 MOVE 21 TO L001-FED-8-DA. DTSBU003
00468 DTSBU003
00469 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00470 DTSBU003
00471 IF L001-INVALID-DATE DTSBU003
00472 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:002' DTSBU003
00473 TO WRK-ABEND-MSG DTSBU003
00474 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00475 DTSBU003
00476 IF L001-MONDAY DTSBU003
00477 NEXT SENTENCE DTSBU003
00478 ELSE DTSBU003
00479 IF L001-SUNDAY DTSBU003
00480 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 6 DTSBU003
00481 ELSE DTSBU003
00482 COMPUTE L001-JUL-ABS-DAY DTSBU003
00483 = L001-JUL-ABS-DAY - (L001-DAY-OF-WEEK - 2). DTSBU003
00484 DTSBU003
00485 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
00486 DTSBU003
00487 IF L001-INVALID-DATE DTSBU003
00488 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:003' DTSBU003
00489 TO WRK-ABEND-MSG DTSBU003
00490 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00491 DTSBU003
00492 MOVE L001-FED-8-DATE-9 TO MARTIN-LUTHER-KING-DAY. DTSBU003
00493 DTSBU003
00494 DTSBU003
00495 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
00496 DTSBU003
00497 MOVE 01 TO L001-FED-8-MO. DTSBU003
00498 DTSBU003
00499 MOVE 20 TO L001-FED-8-DA. DTSBU003
00500 DTSBU003
00501 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00502 DTSBU003
00503 IF L001-INVALID-DATE DTSBU003
00504 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:004' DTSBU003
00505 TO WRK-ABEND-MSG DTSBU003
00506 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00507 DTSBU003
00508 DIVIDE L001-FED-8-YR BY 4 DTSBU003
00509 GIVING WRK-RESULT DTSBU003
00510 REMAINDER WRK-REMAINDER. DTSBU003
00511 DTSBU003
00512 IF (WRK-REMAINDER NOT = 1) DTSBU003
00513 OR DTSBU003
00514 (L001-SATURDAY) DTSBU003
00515 OR DTSBU003
00516 (L001-SUNDAY) DTSBU003
00517 OR DTSBU003
00518 (L001-FED-8-DATE-9 = MARTIN-LUTHER-KING-DAY) DTSBU003
00519 MOVE +0 TO INAGURATION-DAY DTSBU003
00520 ELSE DTSBU003
00521 MOVE L001-FED-8-DATE-9 TO INAGURATION-DAY. DTSBU003
00522 DTSBU003
00523 DTSBU003
00524 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
00525 DTSBU003
00526 MOVE 02 TO L001-FED-8-MO. DTSBU003
00527 DTSBU003
00528 MOVE 01 TO L001-FED-8-DA. DTSBU003
00529 DTSBU003
00530 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00531 DTSBU003
00532 IF L001-INVALID-DATE DTSBU003
00533 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:005' DTSBU003
00534 TO WRK-ABEND-MSG DTSBU003
00535 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00536 DTSBU003
00537 IF L001-DAY-OF-WEEK < 3 DTSBU003
00538 COMPUTE L001-JUL-ABS-DAY DTSBU003
00539 = L001-JUL-ABS-DAY + 16 - L001-DAY-OF-WEEK DTSBU003
00540 ELSE DTSBU003
00541 COMPUTE L001-JUL-ABS-DAY DTSBU003
00542 = L001-JUL-ABS-DAY + 23 - L001-DAY-OF-WEEK. DTSBU003
00543 DTSBU003
00544 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
00545 DTSBU003
00546 IF L001-INVALID-DATE DTSBU003
00547 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:006' DTSBU003
00548 TO WRK-ABEND-MSG DTSBU003
00549 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00550 DTSBU003
00551 MOVE L001-FED-8-DATE-9 TO PRESIDENTS-DAY. DTSBU003
00552 DTSBU003
00553 DTSBU003
00554 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
00555 DTSBU003
00556 MOVE 05 TO L001-FED-8-MO. DTSBU003
00557 DTSBU003
00558 MOVE 31 TO L001-FED-8-DA. DTSBU003
00559 DTSBU003
00560 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00561 DTSBU003
00562 IF L001-INVALID-DATE DTSBU003
00563 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:007' DTSBU003
00564 TO WRK-ABEND-MSG DTSBU003
00565 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00566 DTSBU003
00567 IF L001-MONDAY DTSBU003
00568 NEXT SENTENCE DTSBU003
00569 ELSE DTSBU003
00570 IF L001-SUNDAY DTSBU003
00571 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 6 DTSBU003
00572 ELSE DTSBU003
00573 COMPUTE L001-JUL-ABS-DAY DTSBU003
00574 = L001-JUL-ABS-DAY - (L001-DAY-OF-WEEK - 2). DTSBU003
00575 DTSBU003
00576 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
00577 DTSBU003
00578 IF L001-INVALID-DATE DTSBU003
00579 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:008' DTSBU003
00580 TO WRK-ABEND-MSG DTSBU003
00581 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00582 DTSBU003
00583 MOVE L001-FED-8-DATE-9 TO MEMORIAL-DAY. DTSBU003
00584 DTSBU003
00585 CL**2
00586 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. CL**2
00587 CL**2
00588 MOVE 06 TO L001-FED-8-MO. CL**2
00589 CL**2
00590 MOVE 19 TO L001-FED-8-DA. CL**2
00591 CL**2
00592 PERFORM S001-FROM-FED-8 THRU S001-EXIT. CL**2
00593 CL**2
00594 IF L001-INVALID-DATE CL**2
00595 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:007' CL**2
00596 TO WRK-ABEND-MSG CL**2
00597 PERFORM S999-ABEND THRU S999-EXIT. CL**2
00598 CL**2
00599 CL**2
00600 IF L001-SUNDAY CL**2
00601 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY + 1 CL**2
00602 ELSE CL**2
00603 IF L001-SATURDAY CL**2
00604 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 1. CL**2
00605 CL**2
00606 CL**2
00607 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. CL**2
00608 CL**2
00609 IF L001-INVALID-DATE CL**2
00610 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:008' CL**2
00611 TO WRK-ABEND-MSG CL**2
00612 PERFORM S999-ABEND THRU S999-EXIT. CL**2
00613 CL**2
00614 MOVE L001-FED-8-DATE-9 TO JUNETEENTH-DAY. CL**5
00615 CL**2
00616 CL**2
00617 DTSBU003
00618 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
00619 DTSBU003
00620 MOVE 07 TO L001-FED-8-MO. DTSBU003
00621 DTSBU003
00622 MOVE 04 TO L001-FED-8-DA. DTSBU003
00623 DTSBU003
00624 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00625 DTSBU003
00626 IF L001-INVALID-DATE DTSBU003
00627 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:009' DTSBU003
00628 TO WRK-ABEND-MSG DTSBU003
00629 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00630 DTSBU003
00631 IF L001-SUNDAY DTSBU003
00632 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY + 1 DTSBU003
00633 ELSE DTSBU003
00634 IF L001-SATURDAY DTSBU003
00635 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 1. DTSBU003
00636 DTSBU003
00637 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
00638 DTSBU003
00639 IF L001-INVALID-DATE DTSBU003
00640 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:010' DTSBU003
00641 TO WRK-ABEND-MSG DTSBU003
00642 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00643 DTSBU003
00644 MOVE L001-FED-8-DATE-9 TO INDEPENDENCE-DAY. DTSBU003
00645 DTSBU003
00646 DTSBU003
00647 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
00648 DTSBU003
00649 MOVE 09 TO L001-FED-8-MO. DTSBU003
00650 DTSBU003
00651 MOVE 01 TO L001-FED-8-DA. DTSBU003
00652 DTSBU003
00653 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00654 DTSBU003
00655 IF L001-INVALID-DATE DTSBU003
00656 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:011' DTSBU003
00657 TO WRK-ABEND-MSG DTSBU003
00658 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00659 DTSBU003
00660 IF L001-DAY-OF-WEEK < 3 DTSBU003
00661 COMPUTE L001-JUL-ABS-DAY DTSBU003
00662 = L001-JUL-ABS-DAY + 2 - L001-DAY-OF-WEEK DTSBU003
00663 ELSE DTSBU003
00664 COMPUTE L001-JUL-ABS-DAY DTSBU003
00665 = L001-JUL-ABS-DAY + 9 - L001-DAY-OF-WEEK. DTSBU003
00666 DTSBU003
00667 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
00668 DTSBU003
00669 IF L001-INVALID-DATE DTSBU003
00670 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:012' DTSBU003
00671 TO WRK-ABEND-MSG DTSBU003
00672 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00673 DTSBU003
00674 MOVE L001-FED-8-DATE-9 TO LABOR-DAY. DTSBU003
00675 DTSBU003
00676 DTSBU003
00677 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
00678 DTSBU003
00679 MOVE 10 TO L001-FED-8-MO. DTSBU003
00680 DTSBU003
00681 MOVE 01 TO L001-FED-8-DA. DTSBU003
00682 DTSBU003
00683 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00684 DTSBU003
00685 IF L001-INVALID-DATE DTSBU003
00686 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:013' DTSBU003
00687 TO WRK-ABEND-MSG DTSBU003
00688 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00689 DTSBU003
00690 IF L001-DAY-OF-WEEK < 3 DTSBU003
00691 COMPUTE L001-JUL-ABS-DAY DTSBU003
00692 = L001-JUL-ABS-DAY + 9 - L001-DAY-OF-WEEK DTSBU003
00693 ELSE DTSBU003
00694 COMPUTE L001-JUL-ABS-DAY DTSBU003
00695 = L001-JUL-ABS-DAY + 16 - L001-DAY-OF-WEEK. DTSBU003
00696 DTSBU003
00697 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
00698 DTSBU003
00699 IF L001-INVALID-DATE DTSBU003
00700 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:012' DTSBU003
00701 TO WRK-ABEND-MSG DTSBU003
00702 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00703 DTSBU003
00704 MOVE L001-FED-8-DATE-9 TO COLUMBUS-DAY. DTSBU003
00705 DTSBU003
00706 DTSBU003
00707 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
00708 DTSBU003
00709 MOVE 11 TO L001-FED-8-MO. DTSBU003
00710 DTSBU003
00711 MOVE 11 TO L001-FED-8-DA. DTSBU003
00712 DTSBU003
00713 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00714 DTSBU003
00715 IF L001-INVALID-DATE DTSBU003
00716 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:014' DTSBU003
00717 TO WRK-ABEND-MSG DTSBU003
00718 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00719 DTSBU003
00720 IF L001-SUNDAY DTSBU003
00721 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY + 1 DTSBU003
00722 ELSE DTSBU003
00723 IF L001-SATURDAY DTSBU003
00724 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 1. DTSBU003
00725 DTSBU003
00726 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
00727 DTSBU003
00728 IF L001-INVALID-DATE DTSBU003
00729 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:015' DTSBU003
00730 TO WRK-ABEND-MSG DTSBU003
00731 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00732 DTSBU003
00733 MOVE L001-FED-8-DATE-9 TO VETERANS-DAY. DTSBU003
00734 DTSBU003
00735 DTSBU003
00736 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
00737 DTSBU003
00738 MOVE 11 TO L001-FED-8-MO. DTSBU003
00739 DTSBU003
00740 MOVE 01 TO L001-FED-8-DA. DTSBU003
00741 DTSBU003
00742 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00743 DTSBU003
00744 IF L001-INVALID-DATE DTSBU003
00745 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:016' DTSBU003
00746 TO WRK-ABEND-MSG DTSBU003
00747 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00748 DTSBU003
00749 IF L001-DAY-OF-WEEK < 6 DTSBU003
00750 COMPUTE L001-JUL-ABS-DAY DTSBU003
00751 = L001-JUL-ABS-DAY + 26 - L001-DAY-OF-WEEK DTSBU003
00752 ELSE DTSBU003
00753 COMPUTE L001-JUL-ABS-DAY DTSBU003
00754 = L001-JUL-ABS-DAY + 33 - L001-DAY-OF-WEEK. DTSBU003
00755 DTSBU003
00756 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
00757 DTSBU003
00758 IF L001-INVALID-DATE DTSBU003
00759 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:017' DTSBU003
00760 TO WRK-ABEND-MSG DTSBU003
00761 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00762 DTSBU003
00763 MOVE L001-FED-8-DATE-9 TO THANKSGIVING-DAY. DTSBU003
00764 DTSBU003
00765 *CHRISTMAS EVE 2024 - FED HOLIDAY ZL1 CL**7
00766 CL**7
00767 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
00768 DTSBU003
00769 MOVE 12 TO L001-FED-8-MO. DTSBU003
00770 DTSBU003
00771 MOVE 24 TO L001-FED-8-DA. CL**7
00772 DTSBU003
00773 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00774 DTSBU003
00775 IF L001-INVALID-DATE DTSBU003
00776 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:018' DTSBU003
00777 TO WRK-ABEND-MSG DTSBU003
00778 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00779 DTSBU003
00780 IF L001-SUNDAY DTSBU003
00781 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY + 1 DTSBU003
00782 ELSE DTSBU003
00783 IF L001-SATURDAY DTSBU003
00784 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 1. DTSBU003
00785 DTSBU003
00786 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
00787 DTSBU003
00788 IF L001-INVALID-DATE DTSBU003
00789 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:019' DTSBU003
00790 TO WRK-ABEND-MSG DTSBU003
00791 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00792 DTSBU003
00793 MOVE L001-FED-8-DATE-9 TO CHRISTMAS-EVE. CL**7
00794 DTSBU003
00795 DTSBU003
00796 CL**7
00797 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. CL**7
00798 CL**7
00799 MOVE 12 TO L001-FED-8-MO. CL**7
00800 CL**7
00801 MOVE 25 TO L001-FED-8-DA. CL**7
00802 CL**7
00803 PERFORM S001-FROM-FED-8 THRU S001-EXIT. CL**7
00804 CL**7
00805 IF L001-INVALID-DATE CL**7
00806 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:018' CL**7
00807 TO WRK-ABEND-MSG CL**7
00808 PERFORM S999-ABEND THRU S999-EXIT. CL**7
00809 CL**7
00810 IF L001-SUNDAY CL**7
00811 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY + 1 CL**7
00812 ELSE CL**7
00813 IF L001-SATURDAY CL**7
00814 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 1. CL**7
00815 CL**7
00816 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. CL**7
00817 CL**7
00818 IF L001-INVALID-DATE CL**7
00819 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:019' CL**7
00820 TO WRK-ABEND-MSG CL**7
00821 PERFORM S999-ABEND THRU S999-EXIT. CL**7
00822 CL**7
00823 MOVE L001-FED-8-DATE-9 TO CHRISTMAS-DAY. CL**7
00824 CL**7
00825 CL**7
00826 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
00827 DTSBU003
00828 ADD +1 TO L001-FED-8-YR. DTSBU003
00829 DTSBU003
00830 MOVE 01 TO L001-FED-8-MO. DTSBU003
00831 DTSBU003
00832 MOVE 01 TO L001-FED-8-DA. DTSBU003
00833 DTSBU003
00834 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
00835 DTSBU003
00836 IF L001-INVALID-DATE DTSBU003
00837 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:020' DTSBU003
00838 TO WRK-ABEND-MSG DTSBU003
00839 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
00840 DTSBU003
00841 IF L001-SATURDAY DTSBU003
00842 MOVE HOLIDAY-YEAR TO L001-FED-8-YR DTSBU003
00843 MOVE 12 TO L001-FED-8-MO DTSBU003
00844 MOVE 31 TO L001-FED-8-DA DTSBU003
00845 MOVE L001-FED-8-DATE-9 TO NEW-YEARS-EVE DTSBU003
00846 ELSE DTSBU003
00847 MOVE +0 TO NEW-YEARS-EVE. DTSBU003
00848 S1000-EXIT. DTSBU003
00849 EXIT. DTSBU003
00850 EJECT DTSBU003
00851 S001-FROM-FED-8. DTSBU003
00852 SET L001-FROM-FED-8 TO TRUE. DTSBU003
00853 GO TO S001-DATE-CONVERT. DTSBU003
00854 DTSBU003
00855 S001-FROM-ABS-DAY. DTSBU003
00856 SET L001-FROM-ABS-DAY TO TRUE. DTSBU003
00857 GO TO S001-DATE-CONVERT. DTSBU003
00858 DTSBU003
00859 S001-DATE-CONVERT. DTSBU003
00860 CALL 'DTSBU001' USING L001-LINK-AREA. DTSBU003
00861 S001-EXIT. DTSBU003
00862 EXIT. DTSBU003
00863 SKIP3 DTSBU003
00864 S005-FROM-SYS. DTSBU003
00865 SET L005-FROM-SYS TO TRUE. DTSBU003
00866 GO TO S005-ABSTIME. DTSBU003
00867 DTSBU003
00868 S005-ABSTIME. DTSBU003
00869 CALL 'DTSBU005' USING L005-LINK-AREA. DTSBU003
00870 S005-EXIT. DTSBU003
00871 EXIT. DTSBU003
00872 SKIP3 DTSBU003
00873 S999-ABEND. DTSBU003
00874 DISPLAY '*** ' DTSBU003
00875 WRK-MODULE-NAME DTSBU003
00876 ' IS ABENDING: ' DTSBU003
00877 WRK-ABEND-MSG. DTSBU003
00878 DTSBU003
00879 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBU003
00880 S999-EXIT. DTSBU003
00881 EXIT. DTSBU003