DUTAS re-platformed to Raincode - Initial Source Code

This commit is contained in:
Neeraj Kumar
2025-07-21 07:44:09 -04:00
commit ca3572c5df
2773 changed files with 798221 additions and 0 deletions

332
Batch/DTSBU004.cob Normal file
View File

@ -0,0 +1,332 @@
00001 IDENTIFICATION DIVISION. 08/17/05
00002 PROGRAM-ID. DTSBU004 DTSBU004
00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV011
00004 DATE-WRITTEN JULY 1994. DTSBU004
00005 DATE-COMPILED. DTSBU004
00006 SKIP3 DTSBU004
00007 ***** DTSBU004
00008 * DTSBU004
00009 * FUNCTION: QUARTER EDIT/CONVERSION MODULE DTSBU004
00010 * DTSBU004
00011 * DTSBU004
00012 * MODIFICATION LOG: DTSBU004
00013 * DTSBU004
00014 * 08/04/98 CLONED FROM MACCU004. DTSBU004
00015 * WORK ORDER: PROGRAMMER: ZL1. DTSBU004
00016 * DTSBU004
00017 * 09/29/1998 ADDED L004-SLASH-5-QTR RELATED CODE. DTSBU004
00018 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH DTSBU004
00019 * DTSBU004
00020 * 08/16/2005 MODIFIED P0100: GO TO EXIT IF YEAR IS INVALID. DTSBU004
00021 * REFERENCE: PROGRAMMER: GD DTSBU004
00022 * DTSBU004
00023 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU004
00024 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU004
00025 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSBU004
00026 * DTSBU004
00027 * DTSBU004
00028 * DESCRIPTION: DTSBU004
00029 * DTSBU004
00030 * THE FUNCTION OF DTSBU004 IS TO VALIDATE QUARTER DATES DTSBU004
00031 * AND CONVERT AMONG VARIOUS QUARTER REPRESENTATIONS. DTSBU004
00032 * DTSBU004
00033 * EVERY CALL RETURNS THE FOLLOWING. DTSBU004
00034 * DTSBU004
00035 * 1. QUARTER DATE - YYYY Q DTSBU004
00036 * 2. QUARTER DATE - YY Q DTSBU004
00037 * 3. NINES COMPLEMENT OF QUARTER DATE 1 DTSBU004
00038 * 4. ABSOLUTE QUARTERS SINCE 1930 DTSBU004
00039 * 5. QUARTER START DATE - YYYYMMDD DTSBU004
00040 * 6. QUARTER END DATE - YYYYMMDD DTSBU004
00041 * 7. DEFAULT REPORT DUE DATE - YYYYMMDD DTSBU004
00042 * DTSBU004
00043 ***** DTSBU004
00044 SKIP3 DTSBU004
00045 ENVIRONMENT DIVISION. DTSBU004
00046 DATA DIVISION. DTSBU004
00047 SKIP3 DTSBU004
00048 WORKING-STORAGE SECTION. DTSBU004
000485 77 PAN-VALET PICTURE X(24) VALUE '011DTSBU004 08/17/05'. DTSBU004
00049 01 WRK-AREA. DTSBU004
00050 05 WRK-ABEND-CD PIC S9(04) COMP DTSBU004
00051 VALUE +004. DTSBU004
00052 05 WS-QTR-YEAR. DTSBU004
00053 10 WS-QTR-CENTURY PIC 9(02). DTSBU004
00054 10 WS-QTR-YR PIC 9(02). DTSBU004
00055 05 WS-STARTING-DATE-X. DTSBU004
00056 10 WS-STARTING-YR PIC 9(04). DTSBU004
00057 10 WS-STARTING-MO PIC 9(02). DTSBU004
00058 10 WS-STARTING-DA PIC 9(02) DTSBU004
00059 VALUE 01. DTSBU004
00060 05 WS-STARTING-DATE-9 REDEFINES WS-STARTING-DATE-X DTSBU004
00061 PIC 9(08). DTSBU004
00062 05 WS-END-DATE-X. DTSBU004
00063 10 WS-END-YR PIC 9(04). DTSBU004
00064 10 WS-END-MO PIC 9(02). DTSBU004
00065 10 WS-END-DA PIC 9(02). DTSBU004
00066 05 WS-END-DATE-9 REDEFINES WS-END-DATE-X DTSBU004
00067 PIC 9(08). DTSBU004
00068 05 WS-DUE-DATE-X. DTSBU004
00069 10 WS-DUE-YR PIC 9(04). DTSBU004
00070 10 WS-DUE-MO PIC 9(02). DTSBU004
00071 10 WS-DUE-DA PIC 9(02). DTSBU004
00072 05 WS-DUE-DATE-9 REDEFINES WS-DUE-DATE-X DTSBU004
00073 PIC 9(08). DTSBU004
00074 05 WS-ANN-DUE-DATE-X. DTSBU004
00075 10 WS-ANN-DUE-YR PIC 9(04). DTSBU004
00076 10 WS-ANN-DUE-MO PIC 9(02). DTSBU004
00077 10 WS-ANN-DUE-DA PIC 9(02). DTSBU004
00078 05 WS-ANN-DUE-DATE-9 REDEFINES WS-ANN-DUE-DATE-X DTSBU004
00079 PIC 9(08). DTSBU004
00080 01 L001-LINK-AREA. DTSBU004
00081 ++INCLUDE DTSIL001 DTSBU004
00082 DTSBU004
00083 LINKAGE SECTION. DTSBU004
00084 01 L004-LINK-AREA. DTSBU004
00085 ++INCLUDE DTSIL004 DTSBU004
00086 PROCEDURE DIVISION DTSBU004
00087 USING L004-LINK-AREA. DTSBU004
00088 SKIP3 DTSBU004
00089 MOVE '0' TO L004-RETURN-CODE. DTSBU004
00090 IF L004-FROM-5 DTSBU004
00091 PERFORM P0100-FROM-5 THRU P0100-FROM-5-EXIT DTSBU004
00092 ELSE DTSBU004
00093 IF L004-FROM-3 DTSBU004
00094 PERFORM P0200-FROM-3 THRU P0200-FROM-3-EXIT DTSBU004
00095 ELSE DTSBU004
00096 IF L004-FROM-ABS DTSBU004
00097 PERFORM P0300-FROM-ABS THRU P0300-FROM-ABS-EXIT DTSBU004
00098 ELSE DTSBU004
00099 IF L004-FROM-DATE DTSBU004
00100 PERFORM P0400-FROM-DATE THRU P0400-FROM-DATE-EXIT DTSBU004
00101 ELSE DTSBU004
00102 IF L004-FROM-NINES-COMPLEMENT DTSBU004
00103 PERFORM P0500-FROM-COMP THRU P0500-FROM-COMP-EXIT DTSBU004
00104 ELSE DTSBU004
00105 PERFORM S999-ABEND THRU S999-ABEND-EXIT. DTSBU004
00106 INIT0199-GO-BACK. DTSBU004
00107 GOBACK. DTSBU004
00108 SKIP3 DTSBU004
00109 P0100-FROM-5. DTSBU004
00110 IF L004-QTR-5-X NOT NUMERIC DTSBU004
00111 PERFORM P0600-INVALID-ENTRY THRU DTSBU004
00112 P0600-INVALID-ENTRY-EXIT DTSBU004
00113 GO TO P0100-FROM-5-EXIT. DTSBU004
00114 DTSBU004
00115 IF L004-QTR-5-Q < 1 OR DTSBU004
00116 L004-QTR-5-Q > 4 DTSBU004
00117 PERFORM P0600-INVALID-ENTRY THRU DTSBU004
00118 P0600-INVALID-ENTRY-EXIT DTSBU004
00119 GO TO P0100-FROM-5-EXIT. DTSBU004
00120 DTSBU004
00121 PERFORM P0700-CHECK-YR THRU DTSBU004
00122 P0700-CHECK-YR-EXIT. DTSBU004
00123 IF L004-RETURN-CODE = '1' DTSBU004
00124 GO TO P0100-FROM-5-EXIT. DTSBU004
00125 DTSBU004
00126 MOVE L004-QTR-5-YR TO WS-QTR-YEAR. DTSBU004
00127 MOVE WS-QTR-YR TO L004-QTR-3-YR. DTSBU004
00128 MOVE L004-QTR-5-Q TO L004-QTR-3-Q. DTSBU004
00129 PERFORM P2000-CAL-COMP THRU DTSBU004
00130 P2000-CAL-COMP-EXIT. DTSBU004
00131 PERFORM P3000-CAL-ABS THRU DTSBU004
00132 P3000-CAL-ABS-EXIT. DTSBU004
00133 PERFORM P4000-SLASH-QTR THRU DTSBU004
00134 P4000-SLASH-QTR-EXIT. DTSBU004
00135 PERFORM P5000-START-END-DATES THRU DTSBU004
00136 P5000-START-END-DATES-EXIT. DTSBU004
00137 DTSBU004
00138 MOVE WS-STARTING-DATE-9 TO L004-QTR-START-DATE. DTSBU004
00139 MOVE WS-END-DATE-9 TO L004-QTR-END-DATE. DTSBU004
00140 MOVE WS-DUE-DATE-9 TO L004-QTR-DEFAULT-DUE-DATE. DTSBU004
00141 MOVE WS-ANN-DUE-DATE-9 TO L004-ANN-DEFAULT-DUE-DATE. DTSBU004
00142 P0100-FROM-5-EXIT. EXIT. DTSBU004
00143 SKIP3. DTSBU004
00144 P0200-FROM-3. DTSBU004
00145 IF L004-QTR-3-X NOT NUMERIC DTSBU004
00146 PERFORM P0600-INVALID-ENTRY THRU DTSBU004
00147 P0600-INVALID-ENTRY-EXIT DTSBU004
00148 GO TO P0200-FROM-3-EXIT. DTSBU004
00149 DTSBU004
00150 IF L004-QTR-3-Q < 1 OR DTSBU004
00151 L004-QTR-3-Q > 4 DTSBU004
00152 PERFORM P0600-INVALID-ENTRY THRU DTSBU004
00153 P0600-INVALID-ENTRY-EXIT DTSBU004
00154 GO TO P0200-FROM-3-EXIT. DTSBU004
00155 MOVE L004-QTR-3-Q TO L004-QTR-5-Q. DTSBU004
00156 DTSBU004
00157 IF L004-QTR-3-YR < 30 DTSBU004
00158 ADD L004-QTR-3-YR 2000 GIVING L004-QTR-5-YR DTSBU004
00159 ELSE DTSBU004
00160 ADD L004-QTR-3-YR 1900 GIVING L004-QTR-5-YR. DTSBU004
00161 DTSBU004
00162 PERFORM P2000-CAL-COMP THRU DTSBU004
00163 P2000-CAL-COMP-EXIT. DTSBU004
00164 PERFORM P3000-CAL-ABS THRU DTSBU004
00165 P3000-CAL-ABS-EXIT. DTSBU004
00166 PERFORM P4000-SLASH-QTR THRU DTSBU004
00167 P4000-SLASH-QTR-EXIT. DTSBU004
00168 PERFORM P5000-START-END-DATES THRU DTSBU004
00169 P5000-START-END-DATES-EXIT. DTSBU004
00170 DTSBU004
00171 MOVE WS-STARTING-DATE-9 TO L004-QTR-START-DATE. DTSBU004
00172 MOVE WS-END-DATE-9 TO L004-QTR-END-DATE. DTSBU004
00173 MOVE WS-DUE-DATE-9 TO L004-QTR-DEFAULT-DUE-DATE. DTSBU004
00174 MOVE WS-ANN-DUE-DATE-9 TO L004-ANN-DEFAULT-DUE-DATE. DTSBU004
00175 P0200-FROM-3-EXIT. EXIT. DTSBU004
00176 SKIP3. DTSBU004
00177 P0300-FROM-ABS. DTSBU004
00178 IF (L004-ABS-QTR < +1) OR DTSBU004
00179 (L004-ABS-QTR > +400) DTSBU004
00180 PERFORM P0600-INVALID-ENTRY THRU DTSBU004
00181 P0600-INVALID-ENTRY-EXIT DTSBU004
00182 GO TO P0300-FROM-ABS-EXIT. DTSBU004
00183 DTSBU004
00184 DIVIDE 4 INTO L004-ABS-QTR GIVING WS-END-YR DTSBU004
00185 REMAINDER L004-QTR-5-Q. DTSBU004
00186 ADD WS-END-YR 1930 GIVING L004-QTR-5-YR. DTSBU004
00187 DTSBU004
00188 IF L004-QTR-5-Q = 0 DTSBU004
00189 MOVE 4 TO L004-QTR-5-Q DTSBU004
00190 SUBTRACT 1 FROM L004-QTR-5-YR. DTSBU004
00191 PERFORM P0100-FROM-5 THRU DTSBU004
00192 P0100-FROM-5-EXIT. DTSBU004
00193 P0300-FROM-ABS-EXIT. EXIT. DTSBU004
00194 SKIP3 DTSBU004
00195 P0400-FROM-DATE. DTSBU004
00196 MOVE L004-DATE TO WS-DUE-DATE-9. DTSBU004
00197 MOVE WS-DUE-YR TO L004-QTR-5-YR. DTSBU004
00198 IF WS-DUE-MO < 04 DTSBU004
00199 MOVE 1 TO L004-QTR-5-Q DTSBU004
00200 ELSE DTSBU004
00201 IF WS-DUE-MO < 07 DTSBU004
00202 MOVE 2 TO L004-QTR-5-Q DTSBU004
00203 ELSE DTSBU004
00204 IF WS-DUE-MO < 10 DTSBU004
00205 MOVE 3 TO L004-QTR-5-Q DTSBU004
00206 ELSE DTSBU004
00207 MOVE 4 TO L004-QTR-5-Q. DTSBU004
00208 PERFORM P0100-FROM-5 THRU DTSBU004
00209 P0100-FROM-5-EXIT. DTSBU004
00210 P0400-FROM-DATE-EXIT. EXIT. DTSBU004
00211 SKIP3 DTSBU004
00212 P0500-FROM-COMP. DTSBU004
00213 IF (L004-NINES-COMPLEMENT-QTR NOT NUMERIC) OR DTSBU004
00214 (L004-NINES-COMPLEMENT-QTR NOT > 0) DTSBU004
00215 PERFORM P0600-INVALID-ENTRY THRU DTSBU004
00216 P0600-INVALID-ENTRY-EXIT DTSBU004
00217 GO TO P0500-FROM-COMP-EXIT. DTSBU004
00218 DTSBU004
00219 COMPUTE L004-QTR-5-9 DTSBU004
00220 = 99999 - L004-NINES-COMPLEMENT-QTR. DTSBU004
00221 PERFORM P0100-FROM-5 THRU DTSBU004
00222 P0100-FROM-5-EXIT. DTSBU004
00223 DTSBU004
00224 P0500-FROM-COMP-EXIT. EXIT. DTSBU004
00225 SKIP3 DTSBU004
00226 P0600-INVALID-ENTRY. DTSBU004
00227 MOVE '1' TO L004-RETURN-CODE. DTSBU004
00228 MOVE ZERO TO DTSBU004
00229 L004-NINES-COMPLEMENT-QTR DTSBU004
00230 L004-ABS-QTR DTSBU004
00231 L004-DATE DTSBU004
00232 L004-QTR-START-DATE DTSBU004
00233 L004-QTR-END-DATE DTSBU004
00234 L004-QTR-DEFAULT-DUE-DATE DTSBU004
00235 L004-ANN-DEFAULT-DUE-DATE. DTSBU004
00236 P0600-INVALID-ENTRY-EXIT. EXIT. DTSBU004
00237 SKIP3 DTSBU004
00238 P0700-CHECK-YR. DTSBU004
00239 IF L004-QTR-5-YR < 1930 OR DTSBU004
00240 L004-QTR-5-YR > 2029 DTSBU004
00241 PERFORM P0600-INVALID-ENTRY THRU DTSBU004
00242 P0600-INVALID-ENTRY-EXIT. DTSBU004
00243 P0700-CHECK-YR-EXIT. EXIT. DTSBU004
00244 SKIP3 DTSBU004
00245 P2000-CAL-COMP. DTSBU004
00246 COMPUTE L004-NINES-COMPLEMENT-QTR DTSBU004
00247 = 99999 - L004-QTR-5-9. DTSBU004
00248 P2000-CAL-COMP-EXIT. EXIT. DTSBU004
00249 SKIP3 DTSBU004
00250 P3000-CAL-ABS. DTSBU004
00251 COMPUTE L004-ABS-QTR = DTSBU004
00252 ((L004-QTR-5-YR - 1930) * 4) + L004-QTR-5-Q. DTSBU004
00253 P3000-CAL-ABS-EXIT. EXIT. DTSBU004
00254 SKIP3 DTSBU004
00255 P4000-SLASH-QTR. DTSBU004
00256 MOVE '/' TO L004-SLASH-LIT. DTSBU004
00257 MOVE L004-QTR-3-Q TO L004-SLASH-Q. DTSBU004
00258 MOVE L004-QTR-3-YR TO L004-SLASH-YR. DTSBU004
00259 DTSBU004
00260 MOVE '/' TO L004-SLASH-5-LIT. DTSBU004
00261 MOVE L004-QTR-5-Q TO L004-SLASH-5-Q. DTSBU004
00262 MOVE L004-QTR-5-YR TO L004-SLASH-5-YR. DTSBU004
00263 P4000-SLASH-QTR-EXIT. EXIT. DTSBU004
00264 SKIP3 DTSBU004
00265 P5000-START-END-DATES. DTSBU004
00266 MOVE L004-QTR-5-YR TO DTSBU004
00267 WS-STARTING-YR DTSBU004
00268 WS-END-YR DTSBU004
00269 WS-DUE-YR. DTSBU004
00270 IF L004-QTR-5-Q = 1 DTSBU004
00271 MOVE 01 TO WS-STARTING-MO DTSBU004
00272 MOVE 03 TO WS-END-MO DTSBU004
00273 MOVE 04 TO WS-DUE-MO DTSBU004
00274 MOVE 31 TO WS-END-DA DTSBU004
00275 MOVE 30 TO WS-DUE-DA DTSBU004
00276 ELSE DTSBU004
00277 IF L004-QTR-5-Q = 2 DTSBU004
00278 MOVE 04 TO WS-STARTING-MO DTSBU004
00279 MOVE 06 TO WS-END-MO DTSBU004
00280 MOVE 07 TO WS-DUE-MO DTSBU004
00281 MOVE 30 TO WS-END-DA DTSBU004
00282 MOVE 31 TO WS-DUE-DA DTSBU004
00283 ELSE DTSBU004
00284 IF L004-QTR-5-Q = 3 DTSBU004
00285 MOVE 07 TO WS-STARTING-MO DTSBU004
00286 MOVE 09 TO WS-END-MO DTSBU004
00287 MOVE 10 TO WS-DUE-MO DTSBU004
00288 MOVE 30 TO WS-END-DA DTSBU004
00289 MOVE 31 TO WS-DUE-DA DTSBU004
00290 ELSE DTSBU004
00291 MOVE 10 TO WS-STARTING-MO DTSBU004
00292 MOVE 12 TO WS-END-MO DTSBU004
00293 MOVE 01 TO WS-DUE-MO DTSBU004
00294 MOVE 31 TO WS-END-DA DTSBU004
00295 MOVE 31 TO WS-DUE-DA DTSBU004
00296 ADD +1 TO WS-DUE-YR. DTSBU004
00297 DTSBU004
00298 COMPUTE WS-ANN-DUE-YR = (L004-QTR-5-YR + 1). DTSBU004
00299 MOVE 04 TO WS-ANN-DUE-MO. DTSBU004
00300 MOVE 15 TO WS-ANN-DUE-DA. DTSBU004
00301 DTSBU004
00302 MOVE WS-ANN-DUE-DATE-9 TO L001-FED-8-DATE-X. DTSBU004
00303 PERFORM S001-FROM-FED-8 THRU S001-EXIT. DTSBU004
00304 IF L001-INVALID-DATE DTSBU004
00305 PERFORM S999-ABEND THRU S999-ABEND-EXIT DTSBU004
00306 ELSE DTSBU004
00307 IF L001-SUNDAY DTSBU004
00308 ADD +1 TO L001-JUL-ABS-DAY DTSBU004
00309 PERFORM S001-FROM-ABS-DAY THRU S001-EXIT DTSBU004
00310 MOVE L001-FED-8-DATE-X TO WS-ANN-DUE-DATE-X. DTSBU004
00311 P5000-START-END-DATES-EXIT. EXIT. DTSBU004
00312 SKIP3. DTSBU004
00313 S001-FROM-FED-8. DTSBU004
00314 SET L001-FROM-FED-8 TO TRUE. DTSBU004
00315 GO TO S001-DATE. DTSBU004
00316 DTSBU004
00317 S001-FROM-ABS-DAY. DTSBU004
00318 SET L001-FROM-ABS-DAY TO TRUE. DTSBU004
00319 GO TO S001-DATE. DTSBU004
00320 DTSBU004
00321 S001-DATE. DTSBU004
00322 CALL 'DTSBU001' USING L001-LINK-AREA. DTSBU004
00323 S001-EXIT. DTSBU004
00324 EXIT. DTSBU004
00325 DTSBU004
00326 S999-ABEND. DTSBU004
00327 SKIP1 DTSBU004
00328 CALL 'DTSBU999' DTSBU004
00329 USING WRK-ABEND-CD. DTSBU004
00330 SKIP1 DTSBU004
00331 S999-ABEND-EXIT. EXIT. DTSBU004