839 lines
66 KiB
COBOL
839 lines
66 KiB
COBOL
00001 IDENTIFICATION DIVISION. 05/28/14
|
|
00002 PROGRAM-ID. DTSBU003. DTSBU003
|
|
00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV020
|
|
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 * 05/20/2012 REVIEWED AND MODIFIED FOR DC HOLIDAY DTSBU003
|
|
00026 * EMNCIPATION DAY APRIL 16 DTSBU003
|
|
00027 * REFERENCE: DC DEVELOPMENT PROGRAMMER: NH1 DTSBU003
|
|
00028 * DTSBU003
|
|
00029 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU003
|
|
00030 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSBU003
|
|
00031 * DTSBU003
|
|
00032 * DTSBU003
|
|
00033 * DESCRIPTION: DTSBU003
|
|
00034 * DTSBU003
|
|
00035 * DETERMINE WHETHER A GIVEN DATE IS AN AGENCY WORK DAY. DTSBU003
|
|
00036 * DTSBU003
|
|
00037 ***** DTSBU003
|
|
00038 SKIP3 DTSBU003
|
|
00039 ENVIRONMENT DIVISION. DTSBU003
|
|
00040 INPUT-OUTPUT SECTION. DTSBU003
|
|
00041 DTSBU003
|
|
00042 FILE-CONTROL. DTSBU003
|
|
00043 SELECT HDAY-FILE ASSIGN TO DTS003F1. DTSBU003
|
|
00044 DTSBU003
|
|
00045 DATA DIVISION. DTSBU003
|
|
00046 DTSBU003
|
|
00047 FILE SECTION. DTSBU003
|
|
00048 FD HDAY-FILE DTSBU003
|
|
00049 RECORDING MODE IS F. DTSBU003
|
|
00050 01 HDAY-DATA PIC X(80). DTSBU003
|
|
00051 DTSBU003
|
|
00052 SKIP3 DTSBU003
|
|
00053 WORKING-STORAGE SECTION. DTSBU003
|
|
000535 77 PAN-VALET PICTURE X(24) VALUE '020DTSBU003 05/28/14'. DTSBU003
|
|
00054 77 PAN-VALET PICTURE X(24) VALUE '024DTSBU003 05/28/14'. DTSBU003
|
|
00055 SKIP3 DTSBU003
|
|
00056 01 WRK-AREA. DTSBU003
|
|
00057 05 WRK-HDAY-AREA. DTSBU003
|
|
00058 10 HDAY-YEAR PIC 9(04). DTSBU003
|
|
00059 10 FILLER PIC X(01) VALUE ','. DTSBU003
|
|
00060 10 HDAY-DAY-FILLER PIC X(24). DTSBU003
|
|
00061 10 HDAY-DAY PIC X(26). DTSBU003
|
|
00062 10 FILLER PIC X(01) VALUE ','. DTSBU003
|
|
00063 10 HDAY-DATE PIC X(10). DTSBU003
|
|
00064 10 FILLER2 PIC X(14). DTSBU003
|
|
00065 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +003. DTSBU003
|
|
00066 DTSBU003
|
|
00067 05 WRK-MODULE-NAME PIC X(08) VALUE 'DTSBU003'. DTSBU003
|
|
00068 05 WRK-OPTION PIC X(01) VALUE SPACES. DTSBU003
|
|
00069 DTSBU003
|
|
00070 05 WRK-ABEND-MSG PIC X(60). DTSBU003
|
|
00071 SKIP3 DTSBU003
|
|
00072 05 FIRST-TIME-IND PIC X(01) VALUE 'Y'. DTSBU003
|
|
00073 SKIP3 DTSBU003
|
|
00074 05 HOLIDAY-AREA. DTSBU003
|
|
00075 10 HOLIDAY-YEAR PIC 9(04). DTSBU003
|
|
00076 DTSBU003
|
|
00077 10 HOLIDAYS-IN-YEAR. DTSBU003
|
|
00078 15 NEW-YEARS-DAY PIC S9(09) COMP-3. DTSBU003
|
|
00079 15 MARTIN-LUTHER-KING-DAY PIC S9(09) COMP-3. DTSBU003
|
|
00080 15 PRESIDENTS-DAY PIC S9(09) COMP-3. DTSBU003
|
|
00081 15 INAGURATION-DAY PIC S9(09) COMP-3. DTSBU003
|
|
00082 15 MEMORIAL-DAY PIC S9(09) COMP-3. DTSBU003
|
|
00083 ** 15 EMANCIPATION-DAY PIC S9(09) COMP-3. DTSBU003
|
|
00084 15 INDEPENDENCE-DAY PIC S9(09) COMP-3. DTSBU003
|
|
00085 15 LABOR-DAY PIC S9(09) COMP-3. DTSBU003
|
|
00086 15 COLUMBUS-DAY PIC S9(09) COMP-3. DTSBU003
|
|
00087 15 VETERANS-DAY PIC S9(09) COMP-3. DTSBU003
|
|
00088 15 THANKSGIVING-DAY PIC S9(09) COMP-3. DTSBU003
|
|
00089 15 CHRISTMAS-DAY PIC S9(09) COMP-3. DTSBU003
|
|
00090 15 NEW-YEARS-EVE PIC S9(09) COMP-3. DTSBU003
|
|
00091 DTSBU003
|
|
00092 10 FILLER REDEFINES HOLIDAYS-IN-YEAR. DTSBU003
|
|
00093 15 HOLIDAY-DATE DTSBU003
|
|
00094 ** OCCURS 13 TIMES DTSBU003
|
|
00095 OCCURS 12 TIMES DTSBU003
|
|
00096 INDEXED BY HOLIDAY-IDX PIC S9(09) COMP-3. DTSBU003
|
|
00097 DTSBU003
|
|
00098 10 HOLIDAY-CNT PIC S9(04) COMP DTSBU003
|
|
00099 ** VALUE +13. DTSBU003
|
|
00100 VALUE +12. DTSBU003
|
|
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 EMANCIPATION-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00212 DTSBU003
|
|
00213 ** PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00214 DTSBU003
|
|
00215 ** DISPLAY ' EMANCIPATION DAY: ' DTSBU003
|
|
00216 ** L001-SLASH-8-DATE. DTSBU003
|
|
00217 DTSBU003
|
|
00218 DTSBU003
|
|
00219 MOVE MEMORIAL-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00220 DTSBU003
|
|
00221 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00222 DTSBU003
|
|
00223 DISPLAY ' MEMORIAL DAY: ' DTSBU003
|
|
00224 L001-SLASH-8-DATE. DTSBU003
|
|
00225 DTSBU003
|
|
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-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00268 DTSBU003
|
|
00269 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00270 DTSBU003
|
|
00271 DISPLAY ' CHRISTMAS DAY: ' DTSBU003
|
|
00272 L001-SLASH-8-DATE. DTSBU003
|
|
00273 DTSBU003
|
|
00274 DTSBU003
|
|
00275 MOVE NEW-YEARS-EVE TO L001-FED-8-DATE-9. DTSBU003
|
|
00276 DTSBU003
|
|
00277 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00278 DTSBU003
|
|
00279 DISPLAY ' NEW YEARS EVE: ' DTSBU003
|
|
00280 L001-SLASH-8-DATE. DTSBU003
|
|
00281 DTSBU003
|
|
00282 DTSBU003
|
|
00283 DISPLAY ' '. DTSBU003
|
|
00284 DTSBU003
|
|
00285 DISPLAY '*** IF ANY OF THE ABOVE DATES ARE NOT CORRECT, ' DTSBU003
|
|
00286 'CONTACT UI TAX PROGRAMMER IMMEDIATELY.'. DTSBU003
|
|
00287 I1000-EXIT. DTSBU003
|
|
00288 EXIT. DTSBU003
|
|
00289 EJECT DTSBU003
|
|
00290 I1100-WRITE-HOLIDAYS. DTSBU003
|
|
00291 MOVE SPACES TO HDAY-DAY-FILLER FILLER2. DTSBU003
|
|
00292 MOVE NEW-YEARS-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00293 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00294 MOVE ' NEW YEARS DAY' TO HDAY-DAY DTSBU003
|
|
00295 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
|
|
00296 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
|
|
00297 DTSBU003
|
|
00298 MOVE MARTIN-LUTHER-KING-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00299 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00300 MOVE ' MARTIN LUTHER KING DAY' TO HDAY-DAY. DTSBU003
|
|
00301 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
|
|
00302 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
|
|
00303 DTSBU003
|
|
00304 MOVE INAGURATION-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00305 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00306 MOVE ' INAGURATION DAY' TO HDAY-DAY. DTSBU003
|
|
00307 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
|
|
00308 IF HDAY-DATE = '0000000000' DTSBU003
|
|
00309 MOVE SPACES TO HDAY-DATE. DTSBU003
|
|
00310 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
|
|
00311 DTSBU003
|
|
00312 MOVE PRESIDENTS-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00313 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00314 MOVE ' PRESIDENTS DAY' TO HDAY-DAY. DTSBU003
|
|
00315 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
|
|
00316 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
|
|
00317 DTSBU003
|
|
00318 ** MOVE EMANCIPATION-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00319 ** PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00320 ** MOVE ' EMANCIPATION DAY' TO HDAY-DAY. DTSBU003
|
|
00321 ** MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
|
|
00322 ** IF HDAY-DATE = '0000000000' DTSBU003
|
|
00323 ** MOVE SPACES TO HDAY-DATE. DTSBU003
|
|
00324 ** WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
|
|
00325 DTSBU003
|
|
00326 DTSBU003
|
|
00327 MOVE MEMORIAL-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00328 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00329 MOVE ' MEMORIAL DAY' TO HDAY-DAY. DTSBU003
|
|
00330 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
|
|
00331 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
|
|
00332 DTSBU003
|
|
00333 DTSBU003
|
|
00334 MOVE INDEPENDENCE-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00335 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00336 MOVE ' INDEPENDENCE DAY' TO HDAY-DAY. DTSBU003
|
|
00337 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
|
|
00338 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
|
|
00339 DTSBU003
|
|
00340 DTSBU003
|
|
00341 MOVE LABOR-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00342 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00343 MOVE ' LABOR DAY' TO HDAY-DAY. DTSBU003
|
|
00344 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
|
|
00345 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
|
|
00346 DTSBU003
|
|
00347 DTSBU003
|
|
00348 MOVE COLUMBUS-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00349 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00350 MOVE ' COLUMBUS DAY' TO HDAY-DAY. DTSBU003
|
|
00351 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
|
|
00352 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
|
|
00353 DTSBU003
|
|
00354 DTSBU003
|
|
00355 MOVE VETERANS-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00356 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00357 MOVE ' VETERANS DAY' TO HDAY-DAY. DTSBU003
|
|
00358 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
|
|
00359 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
|
|
00360 DTSBU003
|
|
00361 DTSBU003
|
|
00362 MOVE THANKSGIVING-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00363 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00364 MOVE ' THANKSGIVING DAY' TO HDAY-DAY. DTSBU003
|
|
00365 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
|
|
00366 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
|
|
00367 DTSBU003
|
|
00368 DTSBU003
|
|
00369 MOVE CHRISTMAS-DAY TO L001-FED-8-DATE-9. DTSBU003
|
|
00370 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00371 MOVE ' CHRISTMAS DAY' TO HDAY-DAY. DTSBU003
|
|
00372 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
|
|
00373 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
|
|
00374 DTSBU003
|
|
00375 DTSBU003
|
|
00376 MOVE NEW-YEARS-EVE TO L001-FED-8-DATE-9. DTSBU003
|
|
00377 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00378 MOVE ' NEW YEARS EVE' TO HDAY-DAY. DTSBU003
|
|
00379 MOVE L001-SLASH-8-DATE TO HDAY-DATE. DTSBU003
|
|
00380 IF HDAY-DATE = '0000000000' DTSBU003
|
|
00381 MOVE SPACES TO HDAY-DATE. DTSBU003
|
|
00382 WRITE HDAY-DATA FROM WRK-HDAY-AREA. DTSBU003
|
|
00383 CLOSE HDAY-FILE. DTSBU003
|
|
00384 I1100-EXIT. DTSBU003
|
|
00385 EXIT. DTSBU003
|
|
00386 EJECT DTSBU003
|
|
00387 P0000-PROCESS. DTSBU003
|
|
00388 MOVE L003-DATE TO L001-FED-8-DATE-9. DTSBU003
|
|
00389 DTSBU003
|
|
00390 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00391 DTSBU003
|
|
00392 IF L001-INVALID-DATE DTSBU003
|
|
00393 MOVE 'L003-DATE IS NOT A VALID DATE' DTSBU003
|
|
00394 TO WRK-ABEND-MSG DTSBU003
|
|
00395 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00396 DTSBU003
|
|
00397 DTSBU003
|
|
00398 IF L001-SATURDAY OR L001-SUNDAY DTSBU003
|
|
00399 SET L003-NOT-WORK-DAY TO TRUE DTSBU003
|
|
00400 ELSE DTSBU003
|
|
00401 SET L003-IS-WORK-DAY TO TRUE DTSBU003
|
|
00402 PERFORM P1000-CHECK-FOR-HOLIDAY THRU P1000-EXIT. DTSBU003
|
|
00403 P0000-EXIT. DTSBU003
|
|
00404 EXIT. DTSBU003
|
|
00405 EJECT DTSBU003
|
|
00406 P1000-CHECK-FOR-HOLIDAY. DTSBU003
|
|
00407 MOVE L003-DATE TO L001-FED-8-DATE-9. DTSBU003
|
|
00408 DTSBU003
|
|
00409 IF L001-FED-8-YR = HOLIDAY-YEAR DTSBU003
|
|
00410 NEXT SENTENCE DTSBU003
|
|
00411 ELSE DTSBU003
|
|
00412 MOVE L001-FED-8-YR TO HOLIDAY-YEAR DTSBU003
|
|
00413 PERFORM S1000-DETERMINE-HOLIDAYS THRU S1000-EXIT. DTSBU003
|
|
00414 DTSBU003
|
|
00415 PERFORM DTSBU003
|
|
00416 VARYING HOLIDAY-IDX FROM 1 BY 1 DTSBU003
|
|
00417 UNTIL HOLIDAY-IDX > HOLIDAY-CNT DTSBU003
|
|
00418 IF HOLIDAY-DATE (HOLIDAY-IDX) = L003-DATE DTSBU003
|
|
00419 SET L003-NOT-WORK-DAY TO TRUE DTSBU003
|
|
00420 END-IF DTSBU003
|
|
00421 END-PERFORM. DTSBU003
|
|
00422 P1000-EXIT. DTSBU003
|
|
00423 EXIT. DTSBU003
|
|
00424 EJECT DTSBU003
|
|
00425 S1000-DETERMINE-HOLIDAYS. DTSBU003
|
|
00426 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
|
|
00427 DTSBU003
|
|
00428 MOVE 01 TO L001-FED-8-MO. DTSBU003
|
|
00429 DTSBU003
|
|
00430 MOVE 01 TO L001-FED-8-DA. DTSBU003
|
|
00431 DTSBU003
|
|
00432 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00433 DTSBU003
|
|
00434 IF L001-INVALID-DATE DTSBU003
|
|
00435 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:001' DTSBU003
|
|
00436 TO WRK-ABEND-MSG DTSBU003
|
|
00437 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00438 DTSBU003
|
|
00439 IF L001-SUNDAY DTSBU003
|
|
00440 MOVE 02 TO L001-FED-8-DA DTSBU003
|
|
00441 MOVE L001-FED-8-DATE-9 DTSBU003
|
|
00442 TO NEW-YEARS-DAY DTSBU003
|
|
00443 ELSE DTSBU003
|
|
00444 IF L001-SATURDAY DTSBU003
|
|
00445 MOVE 0 TO NEW-YEARS-DAY DTSBU003
|
|
00446 ELSE DTSBU003
|
|
00447 MOVE L001-FED-8-DATE-9 TO NEW-YEARS-DAY. DTSBU003
|
|
00448 DTSBU003
|
|
00449 DTSBU003
|
|
00450 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
|
|
00451 DTSBU003
|
|
00452 MOVE 01 TO L001-FED-8-MO. DTSBU003
|
|
00453 DTSBU003
|
|
00454 MOVE 21 TO L001-FED-8-DA. DTSBU003
|
|
00455 DTSBU003
|
|
00456 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00457 DTSBU003
|
|
00458 IF L001-INVALID-DATE DTSBU003
|
|
00459 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:002' DTSBU003
|
|
00460 TO WRK-ABEND-MSG DTSBU003
|
|
00461 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00462 DTSBU003
|
|
00463 IF L001-MONDAY DTSBU003
|
|
00464 NEXT SENTENCE DTSBU003
|
|
00465 ELSE DTSBU003
|
|
00466 IF L001-SUNDAY DTSBU003
|
|
00467 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 6 DTSBU003
|
|
00468 ELSE DTSBU003
|
|
00469 COMPUTE L001-JUL-ABS-DAY DTSBU003
|
|
00470 = L001-JUL-ABS-DAY - (L001-DAY-OF-WEEK - 2). DTSBU003
|
|
00471 DTSBU003
|
|
00472 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
|
|
00473 DTSBU003
|
|
00474 IF L001-INVALID-DATE DTSBU003
|
|
00475 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:003' DTSBU003
|
|
00476 TO WRK-ABEND-MSG DTSBU003
|
|
00477 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00478 DTSBU003
|
|
00479 MOVE L001-FED-8-DATE-9 TO MARTIN-LUTHER-KING-DAY. DTSBU003
|
|
00480 DTSBU003
|
|
00481 DTSBU003
|
|
00482 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
|
|
00483 DTSBU003
|
|
00484 MOVE 01 TO L001-FED-8-MO. DTSBU003
|
|
00485 DTSBU003
|
|
00486 MOVE 20 TO L001-FED-8-DA. DTSBU003
|
|
00487 DTSBU003
|
|
00488 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00489 DTSBU003
|
|
00490 IF L001-INVALID-DATE DTSBU003
|
|
00491 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:004' DTSBU003
|
|
00492 TO WRK-ABEND-MSG DTSBU003
|
|
00493 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00494 DTSBU003
|
|
00495 DIVIDE L001-FED-8-YR BY 4 DTSBU003
|
|
00496 GIVING WRK-RESULT DTSBU003
|
|
00497 REMAINDER WRK-REMAINDER. DTSBU003
|
|
00498 DTSBU003
|
|
00499 IF (WRK-REMAINDER NOT = 1) DTSBU003
|
|
00500 OR DTSBU003
|
|
00501 (L001-SATURDAY) DTSBU003
|
|
00502 OR DTSBU003
|
|
00503 (L001-SUNDAY) DTSBU003
|
|
00504 OR DTSBU003
|
|
00505 (L001-FED-8-DATE-9 = MARTIN-LUTHER-KING-DAY) DTSBU003
|
|
00506 MOVE +0 TO INAGURATION-DAY DTSBU003
|
|
00507 ELSE DTSBU003
|
|
00508 MOVE L001-FED-8-DATE-9 TO INAGURATION-DAY. DTSBU003
|
|
00509 DTSBU003
|
|
00510 DTSBU003
|
|
00511 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
|
|
00512 DTSBU003
|
|
00513 MOVE 02 TO L001-FED-8-MO. DTSBU003
|
|
00514 DTSBU003
|
|
00515 MOVE 01 TO L001-FED-8-DA. DTSBU003
|
|
00516 DTSBU003
|
|
00517 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00518 DTSBU003
|
|
00519 IF L001-INVALID-DATE DTSBU003
|
|
00520 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:005' DTSBU003
|
|
00521 TO WRK-ABEND-MSG DTSBU003
|
|
00522 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00523 DTSBU003
|
|
00524 IF L001-DAY-OF-WEEK < 3 DTSBU003
|
|
00525 COMPUTE L001-JUL-ABS-DAY DTSBU003
|
|
00526 = L001-JUL-ABS-DAY + 16 - L001-DAY-OF-WEEK DTSBU003
|
|
00527 ELSE DTSBU003
|
|
00528 COMPUTE L001-JUL-ABS-DAY DTSBU003
|
|
00529 = L001-JUL-ABS-DAY + 23 - L001-DAY-OF-WEEK. DTSBU003
|
|
00530 DTSBU003
|
|
00531 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
|
|
00532 DTSBU003
|
|
00533 IF L001-INVALID-DATE DTSBU003
|
|
00534 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:006' DTSBU003
|
|
00535 TO WRK-ABEND-MSG DTSBU003
|
|
00536 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00537 DTSBU003
|
|
00538 MOVE L001-FED-8-DATE-9 TO PRESIDENTS-DAY. DTSBU003
|
|
00539 DTSBU003
|
|
00540 DTSBU003
|
|
00541 ** MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
|
|
00542 DTSBU003
|
|
00543 ** MOVE 04 TO L001-FED-8-MO. DTSBU003
|
|
00544 DTSBU003
|
|
00545 ** MOVE 16 TO L001-FED-8-DA. DTSBU003
|
|
00546 DTSBU003
|
|
00547 ** PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00548 DTSBU003
|
|
00549 ** IF L001-INVALID-DATE DTSBU003
|
|
00550 ** MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:007' DTSBU003
|
|
00551 ** TO WRK-ABEND-MSG DTSBU003
|
|
00552 ** PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00553 DTSBU003
|
|
00554 DTSBU003
|
|
00555 ** IF L001-SUNDAY DTSBU003
|
|
00556 ** COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY + 1 DTSBU003
|
|
00557 ** ELSE DTSBU003
|
|
00558 ** IF L001-SATURDAY DTSBU003
|
|
00559 ** COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 1. DTSBU003
|
|
00560 DTSBU003
|
|
00561 DTSBU003
|
|
00562 ** PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
|
|
00563 DTSBU003
|
|
00564 ** IF L001-INVALID-DATE DTSBU003
|
|
00565 ** MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:008' DTSBU003
|
|
00566 ** TO WRK-ABEND-MSG DTSBU003
|
|
00567 ** PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00568 DTSBU003
|
|
00569 ** MOVE L001-FED-8-DATE-9 TO EMANCIPATION-DAY. DTSBU003
|
|
00570 DTSBU003
|
|
00571 DTSBU003
|
|
00572 DTSBU003
|
|
00573 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
|
|
00574 DTSBU003
|
|
00575 MOVE 05 TO L001-FED-8-MO. DTSBU003
|
|
00576 DTSBU003
|
|
00577 MOVE 31 TO L001-FED-8-DA. DTSBU003
|
|
00578 DTSBU003
|
|
00579 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00580 DTSBU003
|
|
00581 IF L001-INVALID-DATE DTSBU003
|
|
00582 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:007' DTSBU003
|
|
00583 TO WRK-ABEND-MSG DTSBU003
|
|
00584 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00585 DTSBU003
|
|
00586 IF L001-MONDAY DTSBU003
|
|
00587 NEXT SENTENCE DTSBU003
|
|
00588 ELSE DTSBU003
|
|
00589 IF L001-SUNDAY DTSBU003
|
|
00590 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 6 DTSBU003
|
|
00591 ELSE DTSBU003
|
|
00592 COMPUTE L001-JUL-ABS-DAY DTSBU003
|
|
00593 = L001-JUL-ABS-DAY - (L001-DAY-OF-WEEK - 2). DTSBU003
|
|
00594 DTSBU003
|
|
00595 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
|
|
00596 DTSBU003
|
|
00597 IF L001-INVALID-DATE DTSBU003
|
|
00598 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:008' DTSBU003
|
|
00599 TO WRK-ABEND-MSG DTSBU003
|
|
00600 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00601 DTSBU003
|
|
00602 MOVE L001-FED-8-DATE-9 TO MEMORIAL-DAY. DTSBU003
|
|
00603 DTSBU003
|
|
00604 DTSBU003
|
|
00605 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
|
|
00606 DTSBU003
|
|
00607 MOVE 07 TO L001-FED-8-MO. DTSBU003
|
|
00608 DTSBU003
|
|
00609 MOVE 04 TO L001-FED-8-DA. DTSBU003
|
|
00610 DTSBU003
|
|
00611 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00612 DTSBU003
|
|
00613 IF L001-INVALID-DATE DTSBU003
|
|
00614 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:009' DTSBU003
|
|
00615 TO WRK-ABEND-MSG DTSBU003
|
|
00616 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00617 DTSBU003
|
|
00618 IF L001-SUNDAY DTSBU003
|
|
00619 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY + 1 DTSBU003
|
|
00620 ELSE DTSBU003
|
|
00621 IF L001-SATURDAY DTSBU003
|
|
00622 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 1. DTSBU003
|
|
00623 DTSBU003
|
|
00624 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
|
|
00625 DTSBU003
|
|
00626 IF L001-INVALID-DATE DTSBU003
|
|
00627 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:010' DTSBU003
|
|
00628 TO WRK-ABEND-MSG DTSBU003
|
|
00629 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00630 DTSBU003
|
|
00631 MOVE L001-FED-8-DATE-9 TO INDEPENDENCE-DAY. DTSBU003
|
|
00632 DTSBU003
|
|
00633 DTSBU003
|
|
00634 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
|
|
00635 DTSBU003
|
|
00636 MOVE 09 TO L001-FED-8-MO. DTSBU003
|
|
00637 DTSBU003
|
|
00638 MOVE 01 TO L001-FED-8-DA. DTSBU003
|
|
00639 DTSBU003
|
|
00640 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00641 DTSBU003
|
|
00642 IF L001-INVALID-DATE DTSBU003
|
|
00643 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:011' DTSBU003
|
|
00644 TO WRK-ABEND-MSG DTSBU003
|
|
00645 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00646 DTSBU003
|
|
00647 IF L001-DAY-OF-WEEK < 3 DTSBU003
|
|
00648 COMPUTE L001-JUL-ABS-DAY DTSBU003
|
|
00649 = L001-JUL-ABS-DAY + 2 - L001-DAY-OF-WEEK DTSBU003
|
|
00650 ELSE DTSBU003
|
|
00651 COMPUTE L001-JUL-ABS-DAY DTSBU003
|
|
00652 = L001-JUL-ABS-DAY + 9 - L001-DAY-OF-WEEK. DTSBU003
|
|
00653 DTSBU003
|
|
00654 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
|
|
00655 DTSBU003
|
|
00656 IF L001-INVALID-DATE DTSBU003
|
|
00657 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:012' DTSBU003
|
|
00658 TO WRK-ABEND-MSG DTSBU003
|
|
00659 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00660 DTSBU003
|
|
00661 MOVE L001-FED-8-DATE-9 TO LABOR-DAY. DTSBU003
|
|
00662 DTSBU003
|
|
00663 DTSBU003
|
|
00664 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
|
|
00665 DTSBU003
|
|
00666 MOVE 10 TO L001-FED-8-MO. DTSBU003
|
|
00667 DTSBU003
|
|
00668 MOVE 01 TO L001-FED-8-DA. DTSBU003
|
|
00669 DTSBU003
|
|
00670 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00671 DTSBU003
|
|
00672 IF L001-INVALID-DATE DTSBU003
|
|
00673 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:013' DTSBU003
|
|
00674 TO WRK-ABEND-MSG DTSBU003
|
|
00675 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00676 DTSBU003
|
|
00677 IF L001-DAY-OF-WEEK < 3 DTSBU003
|
|
00678 COMPUTE L001-JUL-ABS-DAY DTSBU003
|
|
00679 = L001-JUL-ABS-DAY + 9 - L001-DAY-OF-WEEK DTSBU003
|
|
00680 ELSE DTSBU003
|
|
00681 COMPUTE L001-JUL-ABS-DAY DTSBU003
|
|
00682 = L001-JUL-ABS-DAY + 16 - L001-DAY-OF-WEEK. DTSBU003
|
|
00683 DTSBU003
|
|
00684 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
|
|
00685 DTSBU003
|
|
00686 IF L001-INVALID-DATE DTSBU003
|
|
00687 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:012' DTSBU003
|
|
00688 TO WRK-ABEND-MSG DTSBU003
|
|
00689 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00690 DTSBU003
|
|
00691 MOVE L001-FED-8-DATE-9 TO COLUMBUS-DAY. DTSBU003
|
|
00692 DTSBU003
|
|
00693 DTSBU003
|
|
00694 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
|
|
00695 DTSBU003
|
|
00696 MOVE 11 TO L001-FED-8-MO. DTSBU003
|
|
00697 DTSBU003
|
|
00698 MOVE 11 TO L001-FED-8-DA. DTSBU003
|
|
00699 DTSBU003
|
|
00700 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00701 DTSBU003
|
|
00702 IF L001-INVALID-DATE DTSBU003
|
|
00703 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:014' DTSBU003
|
|
00704 TO WRK-ABEND-MSG DTSBU003
|
|
00705 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00706 DTSBU003
|
|
00707 IF L001-SUNDAY DTSBU003
|
|
00708 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY + 1 DTSBU003
|
|
00709 ELSE DTSBU003
|
|
00710 IF L001-SATURDAY DTSBU003
|
|
00711 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 1. DTSBU003
|
|
00712 DTSBU003
|
|
00713 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
|
|
00714 DTSBU003
|
|
00715 IF L001-INVALID-DATE DTSBU003
|
|
00716 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:015' DTSBU003
|
|
00717 TO WRK-ABEND-MSG DTSBU003
|
|
00718 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00719 DTSBU003
|
|
00720 MOVE L001-FED-8-DATE-9 TO VETERANS-DAY. DTSBU003
|
|
00721 DTSBU003
|
|
00722 DTSBU003
|
|
00723 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
|
|
00724 DTSBU003
|
|
00725 MOVE 11 TO L001-FED-8-MO. DTSBU003
|
|
00726 DTSBU003
|
|
00727 MOVE 01 TO L001-FED-8-DA. DTSBU003
|
|
00728 DTSBU003
|
|
00729 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00730 DTSBU003
|
|
00731 IF L001-INVALID-DATE DTSBU003
|
|
00732 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:016' DTSBU003
|
|
00733 TO WRK-ABEND-MSG DTSBU003
|
|
00734 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00735 DTSBU003
|
|
00736 IF L001-DAY-OF-WEEK < 6 DTSBU003
|
|
00737 COMPUTE L001-JUL-ABS-DAY DTSBU003
|
|
00738 = L001-JUL-ABS-DAY + 26 - L001-DAY-OF-WEEK DTSBU003
|
|
00739 ELSE DTSBU003
|
|
00740 COMPUTE L001-JUL-ABS-DAY DTSBU003
|
|
00741 = L001-JUL-ABS-DAY + 33 - L001-DAY-OF-WEEK. DTSBU003
|
|
00742 DTSBU003
|
|
00743 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
|
|
00744 DTSBU003
|
|
00745 IF L001-INVALID-DATE DTSBU003
|
|
00746 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:017' DTSBU003
|
|
00747 TO WRK-ABEND-MSG DTSBU003
|
|
00748 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00749 DTSBU003
|
|
00750 MOVE L001-FED-8-DATE-9 TO THANKSGIVING-DAY. DTSBU003
|
|
00751 DTSBU003
|
|
00752 DTSBU003
|
|
00753 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
|
|
00754 DTSBU003
|
|
00755 MOVE 12 TO L001-FED-8-MO. DTSBU003
|
|
00756 DTSBU003
|
|
00757 MOVE 25 TO L001-FED-8-DA. DTSBU003
|
|
00758 DTSBU003
|
|
00759 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00760 DTSBU003
|
|
00761 IF L001-INVALID-DATE DTSBU003
|
|
00762 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:018' DTSBU003
|
|
00763 TO WRK-ABEND-MSG DTSBU003
|
|
00764 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00765 DTSBU003
|
|
00766 IF L001-SUNDAY DTSBU003
|
|
00767 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY + 1 DTSBU003
|
|
00768 ELSE DTSBU003
|
|
00769 IF L001-SATURDAY DTSBU003
|
|
00770 COMPUTE L001-JUL-ABS-DAY = L001-JUL-ABS-DAY - 1. DTSBU003
|
|
00771 DTSBU003
|
|
00772 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT. DTSBU003
|
|
00773 DTSBU003
|
|
00774 IF L001-INVALID-DATE DTSBU003
|
|
00775 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:019' DTSBU003
|
|
00776 TO WRK-ABEND-MSG DTSBU003
|
|
00777 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00778 DTSBU003
|
|
00779 MOVE L001-FED-8-DATE-9 TO CHRISTMAS-DAY. DTSBU003
|
|
00780 DTSBU003
|
|
00781 DTSBU003
|
|
00782 MOVE HOLIDAY-YEAR TO L001-FED-8-YR. DTSBU003
|
|
00783 DTSBU003
|
|
00784 ADD +1 TO L001-FED-8-YR. DTSBU003
|
|
00785 DTSBU003
|
|
00786 MOVE 01 TO L001-FED-8-MO. DTSBU003
|
|
00787 DTSBU003
|
|
00788 MOVE 01 TO L001-FED-8-DA. DTSBU003
|
|
00789 DTSBU003
|
|
00790 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU003
|
|
00791 DTSBU003
|
|
00792 IF L001-INVALID-DATE DTSBU003
|
|
00793 MOVE 'UNEXPECTED L001-INVALID-DATE AT S1000:020' DTSBU003
|
|
00794 TO WRK-ABEND-MSG DTSBU003
|
|
00795 PERFORM S999-ABEND THRU S999-EXIT. DTSBU003
|
|
00796 DTSBU003
|
|
00797 IF L001-SATURDAY DTSBU003
|
|
00798 MOVE HOLIDAY-YEAR TO L001-FED-8-YR DTSBU003
|
|
00799 MOVE 12 TO L001-FED-8-MO DTSBU003
|
|
00800 MOVE 31 TO L001-FED-8-DA DTSBU003
|
|
00801 MOVE L001-FED-8-DATE-9 TO NEW-YEARS-EVE DTSBU003
|
|
00802 ELSE DTSBU003
|
|
00803 MOVE +0 TO NEW-YEARS-EVE. DTSBU003
|
|
00804 S1000-EXIT. DTSBU003
|
|
00805 EXIT. DTSBU003
|
|
00806 EJECT DTSBU003
|
|
00807 S001-FROM-FED-8. DTSBU003
|
|
00808 SET L001-FROM-FED-8 TO TRUE. DTSBU003
|
|
00809 GO TO S001-DATE-CONVERT. DTSBU003
|
|
00810 DTSBU003
|
|
00811 S001-FROM-ABS-DAY. DTSBU003
|
|
00812 SET L001-FROM-ABS-DAY TO TRUE. DTSBU003
|
|
00813 GO TO S001-DATE-CONVERT. DTSBU003
|
|
00814 DTSBU003
|
|
00815 S001-DATE-CONVERT. DTSBU003
|
|
00816 CALL 'DTSBU001' USING L001-LINK-AREA. DTSBU003
|
|
00817 S001-EXIT. DTSBU003
|
|
00818 EXIT. DTSBU003
|
|
00819 SKIP3 DTSBU003
|
|
00820 S005-FROM-SYS. DTSBU003
|
|
00821 SET L005-FROM-SYS TO TRUE. DTSBU003
|
|
00822 GO TO S005-ABSTIME. DTSBU003
|
|
00823 DTSBU003
|
|
00824 S005-ABSTIME. DTSBU003
|
|
00825 CALL 'DTSBU005' USING L005-LINK-AREA. DTSBU003
|
|
00826 S005-EXIT. DTSBU003
|
|
00827 EXIT. DTSBU003
|
|
00828 SKIP3 DTSBU003
|
|
00829 S999-ABEND. DTSBU003
|
|
00830 DISPLAY '*** ' DTSBU003
|
|
00831 WRK-MODULE-NAME DTSBU003
|
|
00832 ' IS ABENDING: ' DTSBU003
|
|
00833 WRK-ABEND-MSG. DTSBU003
|
|
00834 DTSBU003
|
|
00835 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBU003
|
|
00836 S999-EXIT. DTSBU003
|
|
00837 EXIT. DTSBU003
|