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