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

374 lines
30 KiB
COBOL

00001 IDENTIFICATION DIVISION. 11/11/02
00002 PROGRAM-ID. DTSCU054. DTSCU054
00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV011
00004 DATE-WRITTEN. NOVEMBER 1991. DTSCU054
00005 DATE-COMPILED. DTSCU054
00006 SKIP3 DTSCU054
00007 ***** DTSCU054
00008 * DTSCU054
00009 * FUNCTION: UI RATE DETERMINATION. DTSCU054
00010 * DTSCU054
00011 * DTSCU054
00012 * MODIFICATION LOG: DTSCU054
00013 * DTSCU054
00014 * 11/25/91 INITIAL DEVELOPMENT. DTSCU054
00015 * WORK ORDER: PROGRAMMER: TCL DTSCU054
00016 * DTSCU054
00017 * 11/09/1998 REVIEWED AND MODIFIED FOR DC. DTSCU054
00018 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH DTSCU054
00019 * DTSCU054
00020 * 07/11/2002 MODIFIED FOR ESTIMATED RATE REQUIREMENT FOR DTSCU054
00021 * HOUSEHOLD EMPLOYERS FILING ANNUALLY. DTSCU054
00022 * REFERENCE: HOUSEHOLD PROGRAMMER: GD DTSCU054
00023 * DTSCU054
00024 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSCU054
00025 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSCU054
00026 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSCU054
00027 * DTSCU054
00028 * DTSCU054
00029 * DESCRIPTION: DTSCU054
00030 * DTSCU054
00031 * INTERPRETS INFORMATION IN AN MRCT RECORD. DTSCU054
00032 * DTSCU054
00033 ***** DTSCU054
00034 SKIP3 DTSCU054
00035 ENVIRONMENT DIVISION. DTSCU054
00036 SKIP3 DTSCU054
00037 DATA DIVISION. DTSCU054
00038 SKIP3 DTSCU054
00039 WORKING-STORAGE SECTION. DTSCU054
000395 77 PAN-VALET PICTURE X(24) VALUE '011DTSCU054 11/11/02'. DTSCU054
00040 SKIP3 DTSCU054
00041 01 WRK-AREA. DTSCU054
00042 05 WRK-ABEND-CODE PIC X(04) VALUE 'U054'. DTSCU054
00043 DTSCU054
00044 05 WRK-RESP-CODE PIC S9(08) COMP. DTSCU054
00045 DTSCU054
00046 DTSCU054
00047 05 WRK-TAX-WAGE PIC S9(11)V9(02) COMP-3. DTSCU054
00048 DTSCU054
00049 05 WRK-TRUNCATE-RATIO PIC SV9(03) COMP-3. DTSCU054
00050 EJECT DTSCU054
00051 01 L053-COMM-AREA. DTSCU054
00052 ++INCLUDE DTSIL053 DTSCU054
00053 EJECT DTSCU054
00054 01 L055-COMM-AREA. DTSCU054
00055 ++INCLUDE DTSIL055 DTSCU054
00056 EJECT DTSCU054
00057 01 L831-COMM-AREA. DTSCU054
00058 05 L831-CONTROL-BLOCK. DTSCU054
00059 ++INCLUDE DTSIL831 DTSCU054
00060 SKIP3 DTSCU054
00061 05 FSKL-REC. DTSCU054
00062 ++INCLUDE DTSIFSKL DTSCU054
00063 SKIP3 DTSCU054
00064 05 FUIR-REC REDEFINES FSKL-REC. DTSCU054
00065 ++INCLUDE DTSIFUIR DTSCU054
00066 EJECT DTSCU054
00067 01 MMAX-LITERALS. DTSCU054
00068 ++INCLUDE DTSIMMAX DTSCU054
00069 EJECT DTSCU054
00070 LINKAGE SECTION. DTSCU054
00071 SKIP3 DTSCU054
00072 01 DFHCOMMAREA. DTSCU054
00073 05 L054-CONTROL-AREA. DTSCU054
00074 ++INCLUDE DTSIL054 DTSCU054
00075 SKIP3 DTSCU054
00076 05 MRCT-REC. DTSCU054
00077 ++INCLUDE DTSIMRCT DTSCU054
00078 EJECT DTSCU054
00079 PROCEDURE DIVISION. DTSCU054
00080 DTSCU054
00081 DTSCU054
00082 SET L054-OK-88 TO TRUE. DTSCU054
00083 DTSCU054
00084 MOVE +0 TO L054-CURRENT-RESERVE-AMT DTSCU054
00085 L054-AVG-TAX-WAGE DTSCU054
00086 L054-RATIO. DTSCU054
00087 DTSCU054
00088 MOVE SPACE TO L054-UI-RATE-CATEGORY. DTSCU054
00089 DTSCU054
00090 MOVE +0 TO L054-UI-CALC-RATE. DTSCU054
00091 DTSCU054
00092 SET L054-UI-PEN-RATE-NO-88 TO TRUE. DTSCU054
00093 DTSCU054
00094 MOVE +0 TO L054-UI-PEN-RATE. DTSCU054
00095 DTSCU054
00096 MOVE SPACES TO L054-MSG-AREA. DTSCU054
00097 DTSCU054
00098 DTSCU054
00099 PERFORM P1000-FIND-RATE-CATEGORY THRU P1000-EXIT. DTSCU054
00100 DTSCU054
00101 IF L054-RATE-LOOKUP-YES-88 DTSCU054
00102 PERFORM P2000-LOOKUP-RATE THRU P2000-EXIT DTSCU054
00103 ELSE DTSCU054
00104 PERFORM P2200-PENALTY-RATE THRU P2200-EXIT. DTSCU054
00105 DTSCU054
00106 DTSCU054
00107 EXEC CICS DTSCU054
00108 RETURN DTSCU054
00109 END-EXEC. DTSCU054
00110 DTSCU054
00111 DTSCU054
00112 GOBACK. DTSCU054
00113 EJECT DTSCU054
00114 P1000-FIND-RATE-CATEGORY. DTSCU054
00115 COMPUTE L054-CURRENT-RESERVE-AMT DTSCU054
00116 = MRCT-PRIOR-RESERVE-AMT DTSCU054
00117 + MRCT-UI-TAX-PAID-AMT DTSCU054
00118 + MRCT-TRUST-FUND-INTEREST-AMT DTSCU054
00119 - MRCT-BENEFITS-CHARGED-AMT. DTSCU054
00120 DTSCU054
00121 MOVE MRCT-EFF-YRQ TO L055-EFF-YRQ. DTSCU054
00122 DTSCU054
00123 PERFORM S055-FROM-EFF-YRQ THRU S055-EXIT. DTSCU054
00124 DTSCU054
00125 DTSCU054
00126 IF MRCT-EARLIEST-LIAB-DATE = +0 DTSCU054
00127 SET L054-NONCLASSIFIED-88 TO TRUE DTSCU054
00128 ELSE DTSCU054
00129 IF MRCT-EARLIEST-LIAB-DATE < L055-NONCLASSIFIED-FROM-DATE DTSCU054
00130 IF (MRCT-TOT-WAGE (2) > +0.00) DTSCU054
00131 OR DTSCU054
00132 (MRCT-TOT-WAGE (3) > +0.00) DTSCU054
00133 SET L054-CLASSIFIED-88 TO TRUE DTSCU054
00134 ELSE DTSCU054
00135 SET L054-NONCLASSIFIED-88 TO TRUE DTSCU054
00136 ELSE DTSCU054
00137 SET L054-NONCLASSIFIED-88 TO TRUE. DTSCU054
00138 DTSCU054
00139 MOVE +0 TO WRK-TAX-WAGE. DTSCU054
00140 DTSCU054
00141 PERFORM DTSCU054
00142 VARYING MRCT-WAGES-IDX FROM 1 BY 1 DTSCU054
00143 UNTIL MRCT-WAGES-IDX > MMAX-RCT-EXP-MAX DTSCU054
00144 COMPUTE WRK-TAX-WAGE DTSCU054
00145 = WRK-TAX-WAGE + MRCT-TAX-WAGE (MRCT-WAGES-IDX) DTSCU054
00146 END-PERFORM. DTSCU054
00147 DTSCU054
00148 IF L054-CLASSIFIED-88 DTSCU054
00149 IF L054-ESTIMATED-RATE-YES-88 DTSCU054
00150 ADD MRCT-QTR1-ESTIM-TAX-WAGE TO WRK-TAX-WAGE. DTSCU054
00151 DTSCU054
00152 IF WRK-TAX-WAGE < +0.00 DTSCU054
00153 MOVE +0.00 TO WRK-TAX-WAGE. DTSCU054
00154 DTSCU054
00155 COMPUTE L054-AVG-TAX-WAGE ROUNDED DTSCU054
00156 = WRK-TAX-WAGE / MMAX-RCT-EXP-MAX DTSCU054
00157 ON SIZE ERROR DTSCU054
00158 MOVE +0 TO L054-AVG-TAX-WAGE. DTSCU054
00159 DTSCU054
00160 DTSCU054
00161 PERFORM P1100-COMPUTE-RATIO THRU P1100-EXIT. DTSCU054
00162 DTSCU054
00163 DTSCU054
00164 P1000-EXIT. DTSCU054
00165 EXIT. DTSCU054
00166 P1100-COMPUTE-RATIO. DTSCU054
00167 ***** DTSCU054
00168 * DTSCU054
00169 * THE RATHER ODD RESERVE RATIO COMPUTATION PERFORMED IN DTSCU054
00170 * THIS PARAGRAPH IS COMPATIBLE WITH HOW RESERVE RATIO VALUES DTSCU054
00171 * ARE STORED IN THE FUIR RECORD AND WITH THE DISPLAY OF RESERVEDTSCU054
00172 * RATIO VALUES ON SCREENS AND ON PRINTED OUTPUTS. THIS DTSCU054
00173 * PARAGRAPH ENFORCES THE FOLLOWING RULES. DTSCU054
00174 * DTSCU054
00175 * 1. THE MAXIMUM RESERVE RATIO VALUE ALLOWED IS +99.9% DTSCU054
00176 * (00.99900). DTSCU054
00177 * DTSCU054
00178 * 2. THE MINIMUM RESERVE RATIO VALUE ALLOWED IS -99.9% DTSCU054
00179 * (00.99900-). DTSCU054
00180 * DTSCU054
00181 * 3. RESERVE RATIO VALUES ARE ROUNDED AND STORED TO THE DTSCU054
00182 * NEAREST TENTH OF A PERCENT (00.NNN00). DTSCU054
00183 * DTSCU054
00184 ***** DTSCU054
00185 DTSCU054
00186 IF L054-CURRENT-RESERVE-AMT = +0.00 DTSCU054
00187 MOVE +0 TO L054-RATIO DTSCU054
00188 GO TO P1100-EXIT. DTSCU054
00189 DTSCU054
00190 IF L054-CURRENT-RESERVE-AMT > +0.00 DTSCU054
00191 IF L054-CURRENT-RESERVE-AMT >= L054-AVG-TAX-WAGE DTSCU054
00192 MOVE +00.99900 TO L054-RATIO DTSCU054
00193 GO TO P1100-EXIT DTSCU054
00194 ELSE DTSCU054
00195 CONTINUE DTSCU054
00196 ELSE DTSCU054
00197 IF L054-CURRENT-RESERVE-AMT <= (L054-AVG-TAX-WAGE * -1) DTSCU054
00198 MOVE -00.99900 TO L054-RATIO DTSCU054
00199 GO TO P1100-EXIT DTSCU054
00200 ELSE DTSCU054
00201 CONTINUE. DTSCU054
00202 DTSCU054
00203 COMPUTE L054-RATIO ROUNDED DTSCU054
00204 = L054-CURRENT-RESERVE-AMT / L054-AVG-TAX-WAGE DTSCU054
00205 ON SIZE ERROR DTSCU054
00206 MOVE +0 TO L054-RATIO. DTSCU054
00207 DTSCU054
00208 IF L054-RATIO >= +0 DTSCU054
00209 ADD +00.00050 TO L054-RATIO DTSCU054
00210 IF L054-RATIO > +00.99900 DTSCU054
00211 MOVE +00.99900 TO L054-RATIO DTSCU054
00212 ELSE DTSCU054
00213 MOVE L054-RATIO TO WRK-TRUNCATE-RATIO DTSCU054
00214 MOVE WRK-TRUNCATE-RATIO TO L054-RATIO DTSCU054
00215 ELSE DTSCU054
00216 ADD -00.00050 TO L054-RATIO DTSCU054
00217 IF L054-RATIO < -00.99900 DTSCU054
00218 MOVE -00.99900 TO L054-RATIO DTSCU054
00219 ELSE DTSCU054
00220 MOVE L054-RATIO TO WRK-TRUNCATE-RATIO DTSCU054
00221 MOVE WRK-TRUNCATE-RATIO TO L054-RATIO. DTSCU054
00222 P1100-EXIT. DTSCU054
00223 EXIT. DTSCU054
00224 EJECT DTSCU054
00225 P2000-LOOKUP-RATE. DTSCU054
00226 PERFORM P2100-COMPUTED-RATE THRU P2100-EXIT. DTSCU054
00227 DTSCU054
00228 IF L054-FILE-CLOSED-88 DTSCU054
00229 GO TO P2000-EXIT. DTSCU054
00230 DTSCU054
00231 PERFORM P2200-PENALTY-RATE THRU P2200-EXIT. DTSCU054
00232 P2000-EXIT. DTSCU054
00233 EXIT. DTSCU054
00234 SKIP3 DTSCU054
00235 P2100-COMPUTED-RATE. DTSCU054
00236 MOVE MRCT-EFF-YRQ TO L053-EFF-YRQ. DTSCU054
00237 DTSCU054
00238 IF L054-CLASSIFIED-88 DTSCU054
00239 SET L053-CLASSIFIED-88 TO TRUE DTSCU054
00240 ELSE DTSCU054
00241 SET L053-NONCLASSIFIED-88 TO TRUE. DTSCU054
00242 DTSCU054
00243 SET L053-STANDARD-LOOKUP-88 TO TRUE. DTSCU054
00244 DTSCU054
00245 MOVE L054-RATIO TO L053-RATIO. DTSCU054
00246 DTSCU054
00247 PERFORM S053-RATE-LOOKUP THRU S053-EXIT. DTSCU054
00248 DTSCU054
00249 IF L053-FILE-CLOSED DTSCU054
00250 SET L054-FILE-CLOSED-88 TO TRUE DTSCU054
00251 MOVE L053-MSG-AREA TO L054-MSG-AREA DTSCU054
00252 ELSE DTSCU054
00253 IF L053-RATE-FOUND DTSCU054
00254 MOVE L053-UI-RATE TO L054-UI-CALC-RATE DTSCU054
00255 ELSE DTSCU054
00256 SET L054-NO-FUIR-88 TO TRUE. DTSCU054
00257 P2100-EXIT. DTSCU054
00258 EXIT. DTSCU054
00259 SKIP3 DTSCU054
00260 P2200-PENALTY-RATE. DTSCU054
00261 IF (MRCT-MISS-RPT-CNT = +0) DTSCU054
00262 AND DTSCU054
00263 (MRCT-TOT-UI-TAX-BALANCE-AMT = +0) DTSCU054
00264 SET L054-UI-PEN-RATE-NO-88 TO TRUE DTSCU054
00265 GO TO P2200-EXIT. DTSCU054
00266 DTSCU054
00267 DTSCU054
00268 MOVE LOW-VALUES TO FUIR-KEY-AREA. DTSCU054
00269 DTSCU054
00270 SET FUIR-UIR-88 TO TRUE. DTSCU054
00271 DTSCU054
00272 MOVE MRCT-EFF-YRQ TO FUIR-EFF-YRQ. DTSCU054
00273 DTSCU054
00274 SET L831-READ-88 TO TRUE. DTSCU054
00275 DTSCU054
00276 PERFORM S831-REF-IO THRU S831-EXIT. DTSCU054
00277 DTSCU054
00278 IF L831-FILE-CLOSED-88 DTSCU054
00279 MOVE L831-MSG-AREA TO L054-MSG-AREA DTSCU054
00280 SET L054-FILE-CLOSED-88 TO TRUE DTSCU054
00281 GO TO P2200-EXIT. DTSCU054
00282 DTSCU054
00283 IF L831-NO-REC-88 DTSCU054
00284 SET L054-UI-PEN-RATE-UNDETER-88 TO TRUE DTSCU054
00285 GO TO P2200-EXIT. DTSCU054
00286 DTSCU054
00287 DTSCU054
00288 IF (MRCT-MISS-RPT-CNT < FUIR-MIN-MISS-RPT-CNT) DTSCU054
00289 AND DTSCU054
00290 (MRCT-TOT-UI-TAX-BALANCE-AMT < FUIR-MIN-TAX-BAL-DUE-AMT) DTSCU054
00291 SET L054-UI-PEN-RATE-NO-88 TO TRUE DTSCU054
00292 GO TO P2200-EXIT. DTSCU054
00293 DTSCU054
00294 DTSCU054
00295 IF L054-RATE-LOOKUP-NO-88 DTSCU054
00296 SET L054-UI-PEN-RATE-UNDETER-88 TO TRUE DTSCU054
00297 GO TO P2200-EXIT. DTSCU054
00298 DTSCU054
00299 DTSCU054
00300 IF L054-NO-FUIR-88 DTSCU054
00301 SET L054-UI-PEN-RATE-UNDETER-88 TO TRUE DTSCU054
00302 GO TO P2200-EXIT. DTSCU054
00303 DTSCU054
00304 DTSCU054
00305 MOVE MRCT-EFF-YRQ TO L053-EFF-YRQ. DTSCU054
00306 DTSCU054
00307 IF L054-CLASSIFIED-88 DTSCU054
00308 SET L053-CLASSIFIED-88 TO TRUE DTSCU054
00309 ELSE DTSCU054
00310 SET L053-NONCLASSIFIED-88 TO TRUE. DTSCU054
00311 DTSCU054
00312 SET L053-PENALTY-LOOKUP-88 TO TRUE. DTSCU054
00313 DTSCU054
00314 MOVE L054-RATIO TO L053-RATIO. DTSCU054
00315 DTSCU054
00316 PERFORM S053-RATE-LOOKUP THRU S053-EXIT. DTSCU054
00317 DTSCU054
00318 IF L053-FILE-CLOSED DTSCU054
00319 MOVE L053-MSG-AREA TO L054-MSG-AREA DTSCU054
00320 SET L054-FILE-CLOSED-88 TO TRUE DTSCU054
00321 GO TO P2200-EXIT. DTSCU054
00322 DTSCU054
00323 IF L053-RATE-NOT-FOUND DTSCU054
00324 SET L054-UI-PEN-RATE-UNDETER-88 TO TRUE DTSCU054
00325 GO TO P2200-EXIT. DTSCU054
00326 DTSCU054
00327 IF L053-UI-RATE > L054-UI-CALC-RATE DTSCU054
00328 SET L054-UI-PEN-RATE-YES-88 TO TRUE DTSCU054
00329 MOVE L053-UI-RATE TO L054-UI-PEN-RATE DTSCU054
00330 ELSE DTSCU054
00331 SET L054-UI-PEN-RATE-INEFF-88 TO TRUE. DTSCU054
00332 P2200-EXIT. DTSCU054
00333 EXIT. DTSCU054
00334 EJECT DTSCU054
00335 S053-RATE-LOOKUP. DTSCU054
00336 EXEC CICS DTSCU054
00337 LINK DTSCU054
00338 PROGRAM('DTSCU053') DTSCU054
00339 COMMAREA(L053-COMM-AREA) DTSCU054
00340 END-EXEC. DTSCU054
00341 S053-EXIT. DTSCU054
00342 EXIT. DTSCU054
00343 SKIP3 DTSCU054
00344 S055-FROM-EFF-YRQ. DTSCU054
00345 SET L055-FROM-EFF-YRQ-88 TO TRUE. DTSCU054
00346 GO TO S055-EXP-PERIOD. DTSCU054
00347 DTSCU054
00348 S055-EXP-PERIOD. DTSCU054
00349 EXEC CICS DTSCU054
00350 LINK DTSCU054
00351 PROGRAM('DTSCU055') DTSCU054
00352 COMMAREA(L055-COMM-AREA) DTSCU054
00353 END-EXEC. DTSCU054
00354 S055-EXIT. DTSCU054
00355 EXIT. DTSCU054
00356 SKIP3 DTSCU054
00357 S831-REF-IO. DTSCU054
00358 EXEC CICS DTSCU054
00359 LINK DTSCU054
00360 PROGRAM('DTSCU831') DTSCU054
00361 COMMAREA(L831-COMM-AREA) DTSCU054
00362 END-EXEC. DTSCU054
00363 S831-EXIT. DTSCU054
00364 EXIT. DTSCU054
00365 SKIP3 DTSCU054
00366 S899-ABEND. DTSCU054
00367 EXEC CICS DTSCU054
00368 ABEND DTSCU054
00369 ABCODE (WRK-ABEND-CODE) DTSCU054
00370 END-EXEC. DTSCU054
00371 S899-EXIT. DTSCU054
00372 EXIT. DTSCU054