Files
DUTAS/CICS/DTSCU003.cob
2025-07-21 11:20:11 -04:00

499 lines
39 KiB
COBOL

00001 IDENTIFICATION DIVISION. 03/12/12
00002 PROGRAM-ID. DTSCU003. DTSCU003
00003 AUTHOR. NGC. LV003
00004 DATE-WRITTEN. NOVEMBER 2009. DTSCU003
00005 DATE-COMPILED. DTSCU003
00006 SKIP3 DTSCU003
00007 ***** DTSCU003
00008 * DTSCU003
00009 * FUNCTION: WORK DAYS. DTSCU003
00010 * DTSCU003
00011 * DTSCU003
00012 * MODIFICATION LOG: DTSCU003
00013 * DTSCU003
00014 * 11/25/2009 INITIAL DEVELOPMENT - CLONED FROM DTSBU003. DTSCU003
00015 * WORK ORDER: PROGRAMMER: GD DTSCU003
00016 * DTSCU003
00017 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSCU003
00018 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSCU003
00019 * DTSCU003
00020 * DTSCU003
00021 * DESCRIPTION: DTSCU003
00022 * DTSCU003
00023 * DETERMINE WHETHER A GIVEN DATE IS AN AGENCY WORK DAY. DTSCU003
00024 * DTSCU003
00025 ***** DTSCU003
00026 SKIP3 DTSCU003
00027 ENVIRONMENT DIVISION. DTSCU003
00028 SKIP3 DTSCU003
00029 DATA DIVISION. DTSCU003
00030 SKIP3 DTSCU003
00031 WORKING-STORAGE SECTION. DTSCU003
000315 77 PAN-VALET PICTURE X(24) VALUE '003DTSCU003 03/12/12'. DTSCU003
00032 SKIP3 DTSCU003
00033 01 WRK-AREA. DTSCU003
00034 05 WRK-ABEND-CD PIC X(04) VALUE 'U003'. DTSCU003
00035 DTSCU003
00036 05 HOLIDAY-AREA. DTSCU003
00037 10 HOLIDAY-YEAR PIC 9(04). DTSCU003
00038 DTSCU003
00039 10 HOLIDAYS-IN-YEAR. DTSCU003
00040 15 NEW-YEARS-DAY PIC S9(09) COMP-3. DTSCU003
00041 15 MARTIN-LUTHER-KING-DAY PIC S9(09) COMP-3. DTSCU003
00042 15 PRESIDENTS-DAY PIC S9(09) COMP-3. DTSCU003
00043 15 INAGURATION-DAY PIC S9(09) COMP-3. DTSCU003
00044 15 MEMORIAL-DAY PIC S9(09) COMP-3. DTSCU003
00045 15 INDEPENDENCE-DAY PIC S9(09) COMP-3. DTSCU003
00046 15 LABOR-DAY PIC S9(09) COMP-3. DTSCU003
00047 15 COLUMBUS-DAY PIC S9(09) COMP-3. DTSCU003
00048 15 VETERANS-DAY PIC S9(09) COMP-3. DTSCU003
00049 15 THANKSGIVING-DAY PIC S9(09) COMP-3. DTSCU003
00050 15 CHRISTMAS-DAY PIC S9(09) COMP-3. DTSCU003
00051 15 NEW-YEARS-EVE PIC S9(09) COMP-3. DTSCU003
00052 DTSCU003
00053 10 FILLER REDEFINES HOLIDAYS-IN-YEAR. DTSCU003
00054 15 HOLIDAY-DATE DTSCU003
00055 OCCURS 12 TIMES DTSCU003
00056 INDEXED BY HOLIDAY-IDX PIC S9(09) COMP-3. DTSCU003
00057 DTSCU003
00058 10 HOLIDAY-CNT PIC S9(04) COMP DTSCU003
00059 VALUE +12. DTSCU003
00060 DTSCU003
00061 05 WRK-RESULT PIC S9(05) COMP-3. DTSCU003
00062 DTSCU003
00063 05 WRK-REMAINDER PIC S9(05) COMP-3. DTSCU003
00064 EJECT DTSCU003
00065 01 L001-LINK-AREA. DTSCU003
00066 ++INCLUDE DTSIL001 DTSCU003
00067 EJECT DTSCU003
00068 01 L005-LINK-AREA. DTSCU003
00069 ++INCLUDE DTSIL005 DTSCU003
00070 EJECT DTSCU003
00071 LINKAGE SECTION. DTSCU003
00072 SKIP3 DTSCU003
00073 01 DFHCOMMAREA. DTSCU003
00074 ++INCLUDE DTSIL003 DTSCU003
00075 EJECT DTSCU003
00076 PROCEDURE DIVISION. DTSCU003
00077 DTSCU003
00078 PERFORM I0000-INITIALIZE THRU I0000-EXIT. DTSCU003
00079 DTSCU003
00080 IF L003-AGENCY-DAY DTSCU003
00081 PERFORM P0000-PROCESS THRU P0000-EXIT DTSCU003
00082 ELSE DTSCU003
00083 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00084 END-IF. DTSCU003
00085 DTSCU003
00086 GOBACK. DTSCU003
00087 EJECT DTSCU003
00088 I0000-INITIALIZE. DTSCU003
00089 MOVE L003-DATE TO L001-FED-8-DATE-9. DTSCU003
00090 DTSCU003
00091 MOVE L001-FED-8-YR TO HOLIDAY-YEAR. DTSCU003
00092 DTSCU003
00093 PERFORM S1000-DETERMINE-HOLIDAYS THRU S1000-EXIT. DTSCU003
00094 DTSCU003
00095 DTSCU003
00096 I0000-EXIT. DTSCU003
00097 EXIT. DTSCU003
00098 EJECT DTSCU003
00099 P0000-PROCESS. DTSCU003
00100 MOVE L003-DATE TO L001-FED-8-DATE-9. DTSCU003
00101 DTSCU003
00102 SET L001-FROM-FED-8 TO TRUE. DTSCU003
00103 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00104 DTSCU003
00105 IF L001-INVALID-DATE DTSCU003
00106 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00107 END-IF. DTSCU003
00108 DTSCU003
00109 IF L001-SATURDAY OR L001-SUNDAY DTSCU003
00110 SET L003-NOT-WORK-DAY TO TRUE DTSCU003
00111 ELSE DTSCU003
00112 SET L003-IS-WORK-DAY TO TRUE DTSCU003
00113 PERFORM P1000-CHECK-FOR-HOLIDAY THRU P1000-EXIT DTSCU003
00114 END-IF. DTSCU003
00115 DTSCU003
00116 P0000-EXIT. DTSCU003
00117 EXIT. DTSCU003
00118 DTSCU003
00119 P1000-CHECK-FOR-HOLIDAY. DTSCU003
00120 MOVE L003-DATE TO L001-FED-8-DATE-9. DTSCU003
00121 DTSCU003
00122 IF L001-FED-8-YR = HOLIDAY-YEAR DTSCU003
00123 NEXT SENTENCE DTSCU003
00124 ELSE DTSCU003
00125 MOVE L001-FED-8-YR TO HOLIDAY-YEAR DTSCU003
00126 PERFORM S1000-DETERMINE-HOLIDAYS THRU S1000-EXIT. DTSCU003
00127 DTSCU003
00128 PERFORM DTSCU003
00129 VARYING HOLIDAY-IDX FROM 1 BY 1 DTSCU003
00130 UNTIL HOLIDAY-IDX > HOLIDAY-CNT DTSCU003
00131 IF HOLIDAY-DATE (HOLIDAY-IDX) = L003-DATE DTSCU003
00132 SET L003-NOT-WORK-DAY TO TRUE DTSCU003
00133 END-IF DTSCU003
00134 END-PERFORM. DTSCU003
00135 P1000-EXIT. DTSCU003
00136 EXIT. DTSCU003
00137 EJECT DTSCU003
00138 S1000-DETERMINE-HOLIDAYS. DTSCU003
00139 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSCU003
00140 DTSCU003
00141 MOVE 01 TO L001-FED-8-MO. DTSCU003
00142 DTSCU003
00143 MOVE 01 TO L001-FED-8-DA. DTSCU003
00144 DTSCU003
00145 SET L001-FROM-FED-8 TO TRUE. DTSCU003
00146 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00147 DTSCU003
00148 IF L001-INVALID-DATE DTSCU003
00149 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00150 END-IF. DTSCU003
00151 DTSCU003
00152 IF L001-SUNDAY DTSCU003
00153 MOVE 02 TO L001-FED-8-DA DTSCU003
00154 MOVE L001-FED-8-DATE-9 TO NEW-YEARS-DAY DTSCU003
00155 ELSE DTSCU003
00156 IF L001-SATURDAY DTSCU003
00157 MOVE 0 TO NEW-YEARS-DAY DTSCU003
00158 ELSE DTSCU003
00159 MOVE L001-FED-8-DATE-9 TO NEW-YEARS-DAY DTSCU003
00160 END-IF DTSCU003
00161 END-IF. DTSCU003
00162 DTSCU003
00163 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSCU003
00164 DTSCU003
00165 MOVE 01 TO L001-FED-8-MO. DTSCU003
00166 DTSCU003
00167 MOVE 21 TO L001-FED-8-DA. DTSCU003
00168 DTSCU003
00169 SET L001-FROM-FED-8 TO TRUE. DTSCU003
00170 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00171 DTSCU003
00172 IF L001-INVALID-DATE DTSCU003
00173 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00174 END-IF. DTSCU003
00175 DTSCU003
00176 IF L001-MONDAY DTSCU003
00177 NEXT SENTENCE DTSCU003
00178 ELSE DTSCU003
00179 IF L001-SUNDAY DTSCU003
00180 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 6 DTSCU003
00181 ELSE DTSCU003
00182 COMPUTE L001-JUL-ABS-DAY DTSCU003
00183 = L001-JUL-ABS-DAY - (L001-DAY-OF-WEEK - 2) DTSCU003
00184 END-IF. DTSCU003
00185 DTSCU003
00186 SET L001-FROM-ABS-DAY TO TRUE. DTSCU003
00187 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00188 DTSCU003
00189 IF L001-INVALID-DATE DTSCU003
00190 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00191 END-IF. DTSCU003
00192 DTSCU003
00193 MOVE L001-FED-8-DATE-9 TO MARTIN-LUTHER-KING-DAY. DTSCU003
00194 DTSCU003
00195 DTSCU003
00196 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSCU003
00197 DTSCU003
00198 MOVE 01 TO L001-FED-8-MO. DTSCU003
00199 DTSCU003
00200 MOVE 20 TO L001-FED-8-DA. DTSCU003
00201 DTSCU003
00202 SET L001-FROM-FED-8 TO TRUE. DTSCU003
00203 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00204 DTSCU003
00205 IF L001-INVALID-DATE DTSCU003
00206 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00207 END-IF. DTSCU003
00208 DTSCU003
00209 DIVIDE L001-FED-8-YR BY 4 DTSCU003
00210 GIVING WRK-RESULT DTSCU003
00211 REMAINDER WRK-REMAINDER. DTSCU003
00212 DTSCU003
00213 IF (WRK-REMAINDER NOT = 1) DTSCU003
00214 OR DTSCU003
00215 (L001-SATURDAY) DTSCU003
00216 OR DTSCU003
00217 (L001-SUNDAY) DTSCU003
00218 OR DTSCU003
00219 (L001-FED-8-DATE-9 = MARTIN-LUTHER-KING-DAY) DTSCU003
00220 MOVE +0 TO INAGURATION-DAY DTSCU003
00221 ELSE DTSCU003
00222 MOVE L001-FED-8-DATE-9 TO INAGURATION-DAY DTSCU003
00223 END-IF. DTSCU003
00224 DTSCU003
00225 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSCU003
00226 DTSCU003
00227 MOVE 02 TO L001-FED-8-MO. DTSCU003
00228 DTSCU003
00229 MOVE 01 TO L001-FED-8-DA. DTSCU003
00230 DTSCU003
00231 SET L001-FROM-FED-8 TO TRUE. DTSCU003
00232 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00233 DTSCU003
00234 IF L001-INVALID-DATE DTSCU003
00235 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00236 END-IF. DTSCU003
00237 DTSCU003
00238 IF L001-DAY-OF-WEEK < 3 DTSCU003
00239 COMPUTE L001-JUL-ABS-DAY DTSCU003
00240 = L001-JUL-ABS-DAY + 16 - L001-DAY-OF-WEEK DTSCU003
00241 ELSE DTSCU003
00242 COMPUTE L001-JUL-ABS-DAY DTSCU003
00243 = L001-JUL-ABS-DAY + 23 - L001-DAY-OF-WEEK. DTSCU003
00244 DTSCU003
00245 SET L001-FROM-ABS-DAY TO TRUE. DTSCU003
00246 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00247 DTSCU003
00248 IF L001-INVALID-DATE DTSCU003
00249 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00250 END-IF. DTSCU003
00251 DTSCU003
00252 MOVE L001-FED-8-DATE-9 TO PRESIDENTS-DAY. DTSCU003
00253 DTSCU003
00254 DTSCU003
00255 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSCU003
00256 DTSCU003
00257 MOVE 05 TO L001-FED-8-MO. DTSCU003
00258 DTSCU003
00259 MOVE 31 TO L001-FED-8-DA. DTSCU003
00260 DTSCU003
00261 SET L001-FROM-FED-8 TO TRUE. DTSCU003
00262 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00263 DTSCU003
00264 IF L001-INVALID-DATE DTSCU003
00265 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00266 END-IF. DTSCU003
00267 DTSCU003
00268 IF L001-MONDAY DTSCU003
00269 NEXT SENTENCE DTSCU003
00270 ELSE DTSCU003
00271 IF L001-SUNDAY DTSCU003
00272 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 6 DTSCU003
00273 ELSE DTSCU003
00274 COMPUTE L001-JUL-ABS-DAY DTSCU003
00275 = L001-JUL-ABS-DAY - (L001-DAY-OF-WEEK - 2). DTSCU003
00276 DTSCU003
00277 SET L001-FROM-ABS-DAY TO TRUE. DTSCU003
00278 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00279 DTSCU003
00280 IF L001-INVALID-DATE DTSCU003
00281 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00282 END-IF. DTSCU003
00283 DTSCU003
00284 MOVE L001-FED-8-DATE-9 TO MEMORIAL-DAY. DTSCU003
00285 DTSCU003
00286 DTSCU003
00287 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSCU003
00288 DTSCU003
00289 MOVE 07 TO L001-FED-8-MO. DTSCU003
00290 DTSCU003
00291 MOVE 04 TO L001-FED-8-DA. DTSCU003
00292 DTSCU003
00293 SET L001-FROM-FED-8 TO TRUE. DTSCU003
00294 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00295 DTSCU003
00296 IF L001-INVALID-DATE DTSCU003
00297 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00298 END-IF. DTSCU003
00299 DTSCU003
00300 IF L001-SUNDAY DTSCU003
00301 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY + 1 DTSCU003
00302 ELSE DTSCU003
00303 IF L001-SATURDAY DTSCU003
00304 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 1. DTSCU003
00305 DTSCU003
00306 SET L001-FROM-ABS-DAY TO TRUE. DTSCU003
00307 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00308 DTSCU003
00309 IF L001-INVALID-DATE DTSCU003
00310 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00311 END-IF. DTSCU003
00312 DTSCU003
00313 MOVE L001-FED-8-DATE-9 TO INDEPENDENCE-DAY. DTSCU003
00314 DTSCU003
00315 DTSCU003
00316 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSCU003
00317 DTSCU003
00318 MOVE 09 TO L001-FED-8-MO. DTSCU003
00319 DTSCU003
00320 MOVE 01 TO L001-FED-8-DA. DTSCU003
00321 DTSCU003
00322 SET L001-FROM-FED-8 TO TRUE. DTSCU003
00323 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00324 DTSCU003
00325 IF L001-INVALID-DATE DTSCU003
00326 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00327 END-IF. DTSCU003
00328 DTSCU003
00329 IF L001-DAY-OF-WEEK < 3 DTSCU003
00330 COMPUTE L001-JUL-ABS-DAY DTSCU003
00331 = L001-JUL-ABS-DAY + 2 - L001-DAY-OF-WEEK DTSCU003
00332 ELSE DTSCU003
00333 COMPUTE L001-JUL-ABS-DAY DTSCU003
00334 = L001-JUL-ABS-DAY + 9 - L001-DAY-OF-WEEK. DTSCU003
00335 DTSCU003
00336 SET L001-FROM-ABS-DAY TO TRUE. DTSCU003
00337 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00338 DTSCU003
00339 IF L001-INVALID-DATE DTSCU003
00340 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00341 END-IF. DTSCU003
00342 DTSCU003
00343 MOVE L001-FED-8-DATE-9 TO LABOR-DAY. DTSCU003
00344 DTSCU003
00345 DTSCU003
00346 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSCU003
00347 DTSCU003
00348 MOVE 10 TO L001-FED-8-MO. DTSCU003
00349 DTSCU003
00350 MOVE 01 TO L001-FED-8-DA. DTSCU003
00351 DTSCU003
00352 SET L001-FROM-FED-8 TO TRUE. DTSCU003
00353 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00354 DTSCU003
00355 IF L001-INVALID-DATE DTSCU003
00356 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00357 END-IF. DTSCU003
00358 DTSCU003
00359 IF L001-DAY-OF-WEEK < 3 DTSCU003
00360 COMPUTE L001-JUL-ABS-DAY DTSCU003
00361 = L001-JUL-ABS-DAY + 9 - L001-DAY-OF-WEEK DTSCU003
00362 ELSE DTSCU003
00363 COMPUTE L001-JUL-ABS-DAY DTSCU003
00364 = L001-JUL-ABS-DAY + 16 - L001-DAY-OF-WEEK. DTSCU003
00365 DTSCU003
00366 SET L001-FROM-ABS-DAY TO TRUE. DTSCU003
00367 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00368 DTSCU003
00369 IF L001-INVALID-DATE DTSCU003
00370 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00371 END-IF. DTSCU003
00372 DTSCU003
00373 MOVE L001-FED-8-DATE-9 TO COLUMBUS-DAY. DTSCU003
00374 DTSCU003
00375 DTSCU003
00376 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSCU003
00377 DTSCU003
00378 MOVE 11 TO L001-FED-8-MO. DTSCU003
00379 DTSCU003
00380 MOVE 11 TO L001-FED-8-DA. DTSCU003
00381 DTSCU003
00382 SET L001-FROM-FED-8 TO TRUE. DTSCU003
00383 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00384 DTSCU003
00385 IF L001-INVALID-DATE DTSCU003
00386 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00387 END-IF. DTSCU003
00388 DTSCU003
00389 IF L001-SUNDAY DTSCU003
00390 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY + 1 DTSCU003
00391 ELSE DTSCU003
00392 IF L001-SATURDAY DTSCU003
00393 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 1. DTSCU003
00394 DTSCU003
00395 SET L001-FROM-ABS-DAY TO TRUE. DTSCU003
00396 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00397 DTSCU003
00398 IF L001-INVALID-DATE DTSCU003
00399 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00400 END-IF. DTSCU003
00401 DTSCU003
00402 MOVE L001-FED-8-DATE-9 TO VETERANS-DAY. DTSCU003
00403 DTSCU003
00404 DTSCU003
00405 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSCU003
00406 DTSCU003
00407 MOVE 11 TO L001-FED-8-MO. DTSCU003
00408 DTSCU003
00409 MOVE 01 TO L001-FED-8-DA. DTSCU003
00410 DTSCU003
00411 SET L001-FROM-FED-8 TO TRUE. DTSCU003
00412 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00413 DTSCU003
00414 IF L001-INVALID-DATE DTSCU003
00415 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00416 END-IF. DTSCU003
00417 DTSCU003
00418 IF L001-DAY-OF-WEEK < 6 DTSCU003
00419 COMPUTE L001-JUL-ABS-DAY DTSCU003
00420 = L001-JUL-ABS-DAY + 26 - L001-DAY-OF-WEEK DTSCU003
00421 ELSE DTSCU003
00422 COMPUTE L001-JUL-ABS-DAY DTSCU003
00423 = L001-JUL-ABS-DAY + 33 - L001-DAY-OF-WEEK. DTSCU003
00424 DTSCU003
00425 SET L001-FROM-ABS-DAY TO TRUE. DTSCU003
00426 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00427 DTSCU003
00428 IF L001-INVALID-DATE DTSCU003
00429 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00430 END-IF. DTSCU003
00431 DTSCU003
00432 MOVE L001-FED-8-DATE-9 TO THANKSGIVING-DAY. DTSCU003
00433 DTSCU003
00434 DTSCU003
00435 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSCU003
00436 DTSCU003
00437 MOVE 12 TO L001-FED-8-MO. DTSCU003
00438 DTSCU003
00439 MOVE 25 TO L001-FED-8-DA. DTSCU003
00440 DTSCU003
00441 SET L001-FROM-FED-8 TO TRUE. DTSCU003
00442 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00443 DTSCU003
00444 IF L001-INVALID-DATE DTSCU003
00445 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00446 END-IF. DTSCU003
00447 DTSCU003
00448 IF L001-SUNDAY DTSCU003
00449 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY + 1 DTSCU003
00450 ELSE DTSCU003
00451 IF L001-SATURDAY DTSCU003
00452 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 1. DTSCU003
00453 DTSCU003
00454 SET L001-FROM-ABS-DAY TO TRUE. DTSCU003
00455 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00456 DTSCU003
00457 IF L001-INVALID-DATE DTSCU003
00458 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00459 END-IF. DTSCU003
00460 DTSCU003
00461 MOVE L001-FED-8-DATE-9 TO CHRISTMAS-DAY. DTSCU003
00462 DTSCU003
00463 DTSCU003
00464 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSCU003
00465 DTSCU003
00466 ADD +1 TO L001-FED-8-YR. DTSCU003
00467 DTSCU003
00468 MOVE 01 TO L001-FED-8-MO. DTSCU003
00469 DTSCU003
00470 MOVE 01 TO L001-FED-8-DA. DTSCU003
00471 DTSCU003
00472 SET L001-FROM-FED-8 TO TRUE. DTSCU003
00473 PERFORM S001-DATE-CONVERT THRU S001-EXIT. DTSCU003
00474 DTSCU003
00475 IF L001-INVALID-DATE DTSCU003
00476 EXEC CICS ABEND ABCODE (WRK-ABEND-CD) END-EXEC DTSCU003
00477 END-IF. DTSCU003
00478 DTSCU003
00479 IF L001-SATURDAY DTSCU003
00480 MOVE HOLIDAY-YEAR TO L001-FED-8-YR DTSCU003
00481 MOVE 12 TO L001-FED-8-MO DTSCU003
00482 MOVE 31 TO L001-FED-8-DA DTSCU003
00483 MOVE L001-FED-8-DATE-9 TO NEW-YEARS-EVE DTSCU003
00484 ELSE DTSCU003
00485 MOVE +0 TO NEW-YEARS-EVE. DTSCU003
00486 S1000-EXIT. DTSCU003
00487 EXIT. DTSCU003
00488 DTSCU003
00489 S001-DATE-CONVERT. DTSCU003
00490 EXEC CICS DTSCU003
00491 LINK DTSCU003
00492 PROGRAM ('DTSCU001') DTSCU003
00493 COMMAREA (L001-LINK-AREA) DTSCU003
00494 END-EXEC. DTSCU003
00495 DTSCU003
00496 S001-EXIT. DTSCU003
00497 EXIT. DTSCU003