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
