00001 IDENTIFICATION DIVISION. 11/11/02 00002 PROGRAM-ID. DTSBU423. DTSBU423 00003 AUTHOR. TRW. LV001 00004 DATE-WRITTEN. FEBRUARY 2002. DTSBU423 00005 DATE-COMPILED. DTSBU423 00006 SKIP3 DTSBU423 00007 ***** DTSBU423 00008 * *** ANNUAL REPORT VERSION *** DTSBU423 00009 * DTSBU423 00010 * FUNCTION: RETURN TOTAL AND TAXABLE WAGES FOR A GIVEN SSN. DTSBU423 00011 * CALCULATE WAGE AMOUNTS FROM WWGH WAGE HISTORY DTSBU423 00012 * AND WAGES FROM A CURRENT REPORT PROVIDED IN DTSBU423 00013 * THE L423 LINKAGE AREA. DTSBU423 00014 * DTSBU423 00015 * THIS PROGRAM IS USED IN USED TO EDIT WAGE AMOUNTS DTSBU423 00016 * IN SUPPLEMENTAL CONTRIBUTION AND WAGE REPORTS. DTSBU423 00017 * DTSBU423 00018 * MODIFICATION LOG: DTSBU423 00019 * DTSBU423 00020 * 02/18/2002 INITIAL DEVELOPMENT. DTSBU423 00021 * WORK ORDER: PROGRAMMER: GD DTSBU423 00022 * DTSBU423 00023 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU423 00024 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU423 00025 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DTSBU423 00026 * DTSBU423 00027 * DTSBU423 00028 * DESCRIPTION: DTSBU423 00029 * DTSBU423 00030 * THIS PROGRAM WAS CLONED FROM DTSCU423 FOR THE BATCH DTSBU423 00031 * MODE TO CALCULATES AND RETURNS TAXABLE AND TOTAL DTSBU423 00032 * WAGES FOR A GIVEN SSN FOR ALL QUARTERS IN THE DTSBU423 00033 * CALENDAR YEAR. DTSBU423 00034 * DTSBU423 00035 * DTSBU423 00036 * GENERAL SPECIFICATIONS: DTSBU423 00037 * DTSBU423 00038 * COMMAND SPECIFIC SPECIFICATIONS: DTSBU423 00039 * DTSBU423 00040 * DTSBU423 00041 * MODULES CALLED: DTSBU423 00042 * DTSBU423 00043 * DTSBU001 DATE CONVERSION/EDIT. DTSBU423 00044 * DTSBU004 QUARTER CONVERSION/EDIT. DTSBU423 00045 * DTSBU910 MASTER FILE I/O DRIVER. DTSBU423 00046 * DTSBU931 REFERENCE FILE I/O DRIVER. DTSBU423 00047 * DTSBU946 VARIABLE LENGTH RECORDS SEQUENTIAL OUTPUT 1. DTSBU423 00048 * DTSBU423 00049 ***** DTSBU423 00050 SKIP3 DTSBU423 00051 DATA DIVISION. DTSBU423 00052 WORKING-STORAGE SECTION. DTSBU423 000525 77 PAN-VALET PICTURE X(24) VALUE '001DTSBU423 11/11/02'. DTSBU423 00053 SKIP3 DTSBU423 00054 01 WRK-AREA. DTSBU423 00055 05 WRK-ABEND-CD PIC X(04) VALUE 'U423'. DTSBU423 00056 DTSBU423 00057 05 WRK-MOD-NAME PIC X(08) VALUE 'DTSBU423'. DTSBU423 00058 DTSBU423 00059 05 ABEND-MSG PIC X(60). DTSBU423 00060 DTSBU423 00061 05 WRK-TAX-WAGE-BASE PIC S9(07)V99 COMP-3 VALUE +0. DTSBU423 00062 05 WRK-WAGE-BASE-REMAIN PIC S9(07)V99 COMP-3 VALUE +0. DTSBU423 00063 DTSBU423 00064 ** THE FOLLOWING DATA ELEMENTS CONTAIN THE WAGES TO BE PASSED DTSBU423 00065 ** TO P1900 THAT CALCULATES THE TAXABLE WAGE AMOUNT. DTSBU423 00066 05 WRK-WAGES. DTSBU423 00067 10 WRK-QTR1-WAGES PIC S9(09)V99 COMP-3 VALUE +0. DTSBU423 00068 10 WRK-QTR2-WAGES PIC S9(09)V99 COMP-3 VALUE +0. DTSBU423 00069 10 WRK-QTR3-WAGES PIC S9(09)V99 COMP-3 VALUE +0. DTSBU423 00070 10 WRK-QTR4-WAGES PIC S9(09)V99 COMP-3 VALUE +0. DTSBU423 00071 DTSBU423 00072 ** THE FOLLOWING DATA ELEMENTS CONTAIN THE TAXABLE WAGES DTSBU423 00073 ** THAT P1900 RETURNS. DTSBU423 00074 05 WRK-WAGES. DTSBU423 00075 10 WRK-QTR1-TAX-WAGES PIC S9(09)V99 COMP-3 VALUE +0. DTSBU423 00076 10 WRK-QTR2-TAX-WAGES PIC S9(09)V99 COMP-3 VALUE +0. DTSBU423 00077 10 WRK-QTR3-TAX-WAGES PIC S9(09)V99 COMP-3 VALUE +0. DTSBU423 00078 10 WRK-QTR4-TAX-WAGES PIC S9(09)V99 COMP-3 VALUE +0. DTSBU423 00079 DTSBU423 00080 ** THE FOLLOWING DATA ELEMENTS CONTAIN THE TAXABLE WAGE AMOUNT DTSBU423 00081 ** CALCULATED FROM WAGES ALREADY ON FILE. DTSBU423 00082 05 WRK-OLD-TAX-WAGES. DTSBU423 00083 10 WRK-QTR1-OLD-TAX-WAGES PIC S9(09)V99 COMP-3 DTSBU423 00084 VALUE +0. DTSBU423 00085 10 WRK-QTR2-OLD-TAX-WAGES PIC S9(09)V99 COMP-3 DTSBU423 00086 VALUE +0. DTSBU423 00087 10 WRK-QTR3-OLD-TAX-WAGES PIC S9(09)V99 COMP-3 DTSBU423 00088 VALUE +0. DTSBU423 00089 10 WRK-QTR4-OLD-TAX-WAGES PIC S9(09)V99 COMP-3 DTSBU423 00090 VALUE +0. DTSBU423 00091 DTSBU423 00092 ** THE FOLLOWING DATA ELEMENTS CONTAIN THE TAXABLE WAGE AMOUNT DTSBU423 00093 ** CALCULATED FROM THE SUM OF WAGES ALREADY ON FILE AND THE DTSBU423 00094 ** NEW WAGES. DTSBU423 00095 05 WRK-NEW-TAX-WAGES. DTSBU423 00096 10 WRK-QTR1-NEW-TAX-WAGES PIC S9(09)V99 COMP-3 DTSBU423 00097 VALUE +0. DTSBU423 00098 10 WRK-QTR2-NEW-TAX-WAGES PIC S9(09)V99 COMP-3 DTSBU423 00099 VALUE +0. DTSBU423 00100 10 WRK-QTR3-NEW-TAX-WAGES PIC S9(09)V99 COMP-3 DTSBU423 00101 VALUE +0. DTSBU423 00102 10 WRK-QTR4-NEW-TAX-WAGES PIC S9(09)V99 COMP-3 DTSBU423 00103 VALUE +0. DTSBU423 00104 DTSBU423 00105 05 WRK-TAX-BASE-YEAR PIC S9(05) COMP-3 VALUE +0. DTSBU423 00106 05 AMT-DISP1 PIC Z(06)9. DTSBU423 00107 05 AMT-DISP2 PIC Z(06)9. DTSBU423 00108 DTSBU423 00109 05 WRK-FIRST-TIME-IND PIC X(01) VALUE 'Y'. DTSBU423 00110 88 WRK-FIRST-TIME-YES-88 VALUE 'Y'. DTSBU423 00111 88 WRK-FIRST-TIME-NO-88 VALUE 'N'. DTSBU423 00112 DTSBU423 00113 05 WRK-ERROR-IND PIC X(01). DTSBU423 00114 88 WRK-ERROR-YES-88 VALUE 'Y'. DTSBU423 00115 88 WRK-ERROR-NO-88 VALUE 'N'. DTSBU423 00116 DTSBU423 00117 EJECT DTSBU423 00118 01 L004-LINK-AREA. DTSBU423 00119 ++INCLUDE DTSIL004 DTSBU423 00120 SKIP3 DTSBU423 00121 01 L931-LINK-AREA. DTSBU423 00122 ++INCLUDE DTSIL931 DTSBU423 00123 SKIP3 DTSBU423 00124 01 FSKL-REC. DTSBU423 00125 ++INCLUDE DTSIFSKL DTSBU423 00126 SKIP3 DTSBU423 00127 01 FCYR-REC. DTSBU423 00128 ++INCLUDE DTSIFCYR DTSBU423 00129 SKIP3 DTSBU423 00130 LINKAGE SECTION. DTSBU423 00131 SKIP3 DTSBU423 00132 01 L423-LINK-AREA. DTSBU423 00133 ++INCLUDE DTSIL423 DTSBU423 00134 EJECT DTSBU423 00135 PROCEDURE DIVISION DTSBU423 00136 USING L423-LINK-AREA. DTSBU423 00137 DTSBU423 00138 PERFORM I0000-INIT THRU I0000-EXIT. DTSBU423 00139 DTSBU423 00140 PERFORM P0000-PROCESS THRU P0000-EXIT. DTSBU423 00141 DTSBU423 00142 GOBACK. DTSBU423 00143 EJECT DTSBU423 00144 I0000-INIT. DTSBU423 00145 IF WRK-FIRST-TIME-YES-88 DTSBU423 00146 SET WRK-FIRST-TIME-NO-88 TO TRUE DTSBU423 00147 PERFORM I1000-TAX-WAGE-BASE THRU I1000-EXIT. DTSBU423 00148 DTSBU423 00149 I0000-EXIT. DTSBU423 00150 EXIT. DTSBU423 00151 SKIP3 DTSBU423 00152 I1000-TAX-WAGE-BASE. DTSBU423 00153 MOVE LOW-VALUES TO FCYR-KEY-AREA. DTSBU423 00154 DTSBU423 00155 MOVE L423-QTR1 TO L004-QTR-5-9. DTSBU423 00156 MOVE L004-QTR-5-YR TO FCYR-YR. DTSBU423 00157 SET FCYR-CYR-88 TO TRUE. DTSBU423 00158 MOVE FCYR-KEY-AREA TO FSKL-KEY-AREA. DTSBU423 00159 PERFORM S931-READ THRU S931-EXIT. DTSBU423 00160 IF L931-NO-REC-88 DTSBU423 00161 PERFORM S999-ABEND THRU S999-EXIT DTSBU423 00162 ELSE DTSBU423 00163 MOVE FSKL-REC TO FCYR-REC DTSBU423 00164 MOVE FCYR-TAXABLE-WAGE-BASE TO WRK-TAX-WAGE-BASE. DTSBU423 00165 DTSBU423 00166 I1000-EXIT. DTSBU423 00167 EXIT. DTSBU423 00168 SKIP3 DTSBU423 00169 P0000-PROCESS. DTSBU423 00170 MOVE ZERO TO L423-QTR1-TAX-WAGES DTSBU423 00171 L423-QTR2-TAX-WAGES DTSBU423 00172 L423-QTR3-TAX-WAGES DTSBU423 00173 L423-QTR4-TAX-WAGES. DTSBU423 00174 DTSBU423 00175 SET L423-QTR1-VALID-88 TO TRUE. DTSBU423 00176 SET L423-QTR2-VALID-88 TO TRUE. DTSBU423 00177 SET L423-QTR3-VALID-88 TO TRUE. DTSBU423 00178 SET L423-QTR4-VALID-88 TO TRUE. DTSBU423 00179 DTSBU423 00180 PERFORM P1000-CALC-TAXABLE-WAGES THRU P1000-EXIT. DTSBU423 00181 DTSBU423 00182 P0000-EXIT. DTSBU423 00183 EXIT. DTSBU423 00184 DTSBU423 00185 P1000-CALC-TAXABLE-WAGES. DTSBU423 00186 SET WRK-ERROR-NO-88 TO TRUE. DTSBU423 00187 DTSBU423 00188 PERFORM P1100-EDIT-WAGES THRU P1100-EXIT. DTSBU423 00189 IF WRK-ERROR-YES-88 DTSBU423 00190 GO TO P1000-EXIT. DTSBU423 00191 DTSBU423 00192 PERFORM P1200-OLD-TAX-WAGE THRU P1200-EXIT. DTSBU423 00193 DTSBU423 00194 PERFORM P1300-NEW-TAX-WAGE THRU P1300-EXIT. DTSBU423 00195 DTSBU423 00196 PERFORM P1400-NET-TAX-WAGE THRU P1400-EXIT. DTSBU423 00197 DTSBU423 00198 P1000-EXIT. DTSBU423 00199 EXIT. DTSBU423 00200 DTSBU423 00201 P1100-EDIT-WAGES. DTSBU423 00202 IF (L423-QTR1-CURR-WAGE + DTSBU423 00203 L423-QTR1-WAGE-CHNG) < ZERO DTSBU423 00204 SET L423-QTR1-INVLD-NEG-88 TO TRUE DTSBU423 00205 SET WRK-ERROR-YES-88 TO TRUE. DTSBU423 00206 DTSBU423 00207 IF (L423-QTR2-CURR-WAGE + DTSBU423 00208 L423-QTR2-WAGE-CHNG) < ZERO DTSBU423 00209 SET L423-QTR2-INVLD-NEG-88 TO TRUE DTSBU423 00210 SET WRK-ERROR-YES-88 TO TRUE. DTSBU423 00211 DTSBU423 00212 IF (L423-QTR3-CURR-WAGE + DTSBU423 00213 L423-QTR3-WAGE-CHNG) < ZERO DTSBU423 00214 SET L423-QTR3-INVLD-NEG-88 TO TRUE DTSBU423 00215 SET WRK-ERROR-YES-88 TO TRUE. DTSBU423 00216 DTSBU423 00217 IF (L423-QTR4-CURR-WAGE + DTSBU423 00218 L423-QTR4-WAGE-CHNG) < ZERO DTSBU423 00219 SET L423-QTR4-INVLD-NEG-88 TO TRUE DTSBU423 00220 SET WRK-ERROR-YES-88 TO TRUE. DTSBU423 00221 DTSBU423 00222 P1100-EXIT. DTSBU423 00223 EXIT. DTSBU423 00224 DTSBU423 00225 P1200-OLD-TAX-WAGE. DTSBU423 00226 MOVE L423-QTR1-CURR-WAGE TO WRK-QTR1-WAGES. DTSBU423 00227 MOVE L423-QTR2-CURR-WAGE TO WRK-QTR2-WAGES. DTSBU423 00228 MOVE L423-QTR3-CURR-WAGE TO WRK-QTR3-WAGES. DTSBU423 00229 MOVE L423-QTR4-CURR-WAGE TO WRK-QTR4-WAGES. DTSBU423 00230 DTSBU423 00231 PERFORM P1900-CALC-TAX-WAGE THRU P1900-EXIT. DTSBU423 00232 DTSBU423 00233 MOVE WRK-QTR1-TAX-WAGES TO WRK-QTR1-OLD-TAX-WAGES. DTSBU423 00234 MOVE WRK-QTR2-TAX-WAGES TO WRK-QTR2-OLD-TAX-WAGES. DTSBU423 00235 MOVE WRK-QTR3-TAX-WAGES TO WRK-QTR3-OLD-TAX-WAGES. DTSBU423 00236 MOVE WRK-QTR4-TAX-WAGES TO WRK-QTR4-OLD-TAX-WAGES. DTSBU423 00237 DTSBU423 00238 P1200-EXIT. DTSBU423 00239 EXIT. DTSBU423 00240 DTSBU423 00241 P1300-NEW-TAX-WAGE. DTSBU423 00242 COMPUTE WRK-QTR1-WAGES = DTSBU423 00243 (L423-QTR1-WAGE-CHNG + L423-QTR1-CURR-WAGE) DTSBU423 00244 COMPUTE WRK-QTR2-WAGES = DTSBU423 00245 (L423-QTR2-WAGE-CHNG + L423-QTR2-CURR-WAGE) DTSBU423 00246 COMPUTE WRK-QTR3-WAGES = DTSBU423 00247 (L423-QTR3-WAGE-CHNG + L423-QTR3-CURR-WAGE) DTSBU423 00248 COMPUTE WRK-QTR4-WAGES = DTSBU423 00249 (L423-QTR4-WAGE-CHNG + L423-QTR4-CURR-WAGE). DTSBU423 00250 DTSBU423 00251 PERFORM P1900-CALC-TAX-WAGE THRU P1900-EXIT. DTSBU423 00252 DTSBU423 00253 MOVE WRK-QTR1-TAX-WAGES TO WRK-QTR1-NEW-TAX-WAGES. DTSBU423 00254 MOVE WRK-QTR2-TAX-WAGES TO WRK-QTR2-NEW-TAX-WAGES. DTSBU423 00255 MOVE WRK-QTR3-TAX-WAGES TO WRK-QTR3-NEW-TAX-WAGES. DTSBU423 00256 MOVE WRK-QTR4-TAX-WAGES TO WRK-QTR4-NEW-TAX-WAGES. DTSBU423 00257 DTSBU423 00258 P1300-EXIT. DTSBU423 00259 EXIT. DTSBU423 00260 DTSBU423 00261 P1400-NET-TAX-WAGE. DTSBU423 00262 COMPUTE L423-QTR1-TAX-WAGES = DTSBU423 00263 (WRK-QTR1-NEW-TAX-WAGES - WRK-QTR1-OLD-TAX-WAGES). DTSBU423 00264 DTSBU423 00265 COMPUTE L423-QTR2-TAX-WAGES = DTSBU423 00266 (WRK-QTR2-NEW-TAX-WAGES - WRK-QTR2-OLD-TAX-WAGES). DTSBU423 00267 DTSBU423 00268 COMPUTE L423-QTR3-TAX-WAGES = DTSBU423 00269 (WRK-QTR3-NEW-TAX-WAGES - WRK-QTR3-OLD-TAX-WAGES). DTSBU423 00270 DTSBU423 00271 COMPUTE L423-QTR4-TAX-WAGES = DTSBU423 00272 (WRK-QTR4-NEW-TAX-WAGES - WRK-QTR4-OLD-TAX-WAGES). DTSBU423 00273 DTSBU423 00274 P1400-EXIT. DTSBU423 00275 EXIT. DTSBU423 00276 DTSBU423 00277 P1900-CALC-TAX-WAGE. DTSBU423 00278 MOVE WRK-TAX-WAGE-BASE TO WRK-WAGE-BASE-REMAIN. DTSBU423 00279 DTSBU423 00280 IF WRK-QTR1-WAGES > WRK-WAGE-BASE-REMAIN DTSBU423 00281 MOVE WRK-WAGE-BASE-REMAIN TO WRK-QTR1-TAX-WAGES DTSBU423 00282 MOVE ZERO TO WRK-WAGE-BASE-REMAIN DTSBU423 00283 ELSE DTSBU423 00284 MOVE WRK-QTR1-WAGES TO WRK-QTR1-TAX-WAGES DTSBU423 00285 SUBTRACT WRK-QTR1-WAGES FROM WRK-WAGE-BASE-REMAIN. DTSBU423 00286 DTSBU423 00287 IF WRK-QTR2-WAGES > WRK-WAGE-BASE-REMAIN DTSBU423 00288 MOVE WRK-WAGE-BASE-REMAIN TO WRK-QTR2-TAX-WAGES DTSBU423 00289 MOVE ZERO TO WRK-WAGE-BASE-REMAIN DTSBU423 00290 ELSE DTSBU423 00291 MOVE WRK-QTR2-WAGES TO WRK-QTR2-TAX-WAGES DTSBU423 00292 SUBTRACT WRK-QTR2-WAGES FROM WRK-WAGE-BASE-REMAIN. DTSBU423 00293 DTSBU423 00294 IF WRK-QTR3-WAGES > WRK-WAGE-BASE-REMAIN DTSBU423 00295 MOVE WRK-WAGE-BASE-REMAIN TO WRK-QTR3-TAX-WAGES DTSBU423 00296 MOVE ZERO TO WRK-WAGE-BASE-REMAIN DTSBU423 00297 ELSE DTSBU423 00298 MOVE WRK-QTR3-WAGES TO WRK-QTR3-TAX-WAGES DTSBU423 00299 SUBTRACT WRK-QTR3-WAGES FROM WRK-WAGE-BASE-REMAIN. DTSBU423 00300 DTSBU423 00301 IF WRK-QTR4-WAGES > WRK-WAGE-BASE-REMAIN DTSBU423 00302 MOVE WRK-WAGE-BASE-REMAIN TO WRK-QTR4-TAX-WAGES DTSBU423 00303 MOVE ZERO TO WRK-WAGE-BASE-REMAIN DTSBU423 00304 ELSE DTSBU423 00305 MOVE WRK-QTR4-WAGES TO WRK-QTR4-TAX-WAGES DTSBU423 00306 SUBTRACT WRK-QTR4-WAGES FROM WRK-WAGE-BASE-REMAIN. DTSBU423 00307 DTSBU423 00308 P1900-EXIT. DTSBU423 00309 EXIT. DTSBU423 00310 DTSBU423 00311 S004-FROM-5. DTSBU423 00312 SET L004-FROM-5 TO TRUE. DTSBU423 00313 GO TO S004-QTR. DTSBU423 00314 DTSBU423 00315 S004-FROM-3. DTSBU423 00316 SET L004-FROM-3 TO TRUE. DTSBU423 00317 GO TO S004-QTR. DTSBU423 00318 DTSBU423 00319 S004-QTR. DTSBU423 00320 CALL 'DTSBU004' USING L004-LINK-AREA. DTSBU423 00321 S004-EXIT. DTSBU423 00322 EXIT. DTSBU423 00323 SKIP3 DTSBU423 00324 DTSBU423 00325 DTSBU423 00326 S931-READ. DTSBU423 00327 SET L931-READ-88 TO TRUE. DTSBU423 00328 GO TO S931-REF-I. DTSBU423 00329 DTSBU423 00330 S931-REF-I. DTSBU423 00331 CALL 'DTSBU931' USING L931-LINK-AREA DTSBU423 00332 FSKL-REC. DTSBU423 00333 S931-EXIT. DTSBU423 00334 EXIT. DTSBU423 00335 DTSBU423 00336 DTSBU423 00337 S999-ABEND. DTSBU423 00338 DISPLAY '*** DTSBE453 ABENDING. ' DTSBU423 00339 ABEND-MSG. DTSBU423 00340 DTSBU423 00341 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBU423 00342 S999-EXIT. DTSBU423 00343 EXIT. DTSBU423 00344 DTSBU423