00001 IDENTIFICATION DIVISION. 08/11/11 00002 PROGRAM-ID. WGEDC090. WGEDC090 00003 LV017 00004 ******************************************************************WGEDC090 00005 * 90 BYTE RECORD FORMAT ONLY USE WAGEDC1 FOR 256 BYTE FORMAT * CL*11 00006 * FUNCTION: *WGEDC090 00007 * THE FUNCTION OF WAGEMDC1IS TO REFORMAT THE DC PAYROLL WGEDC090 00008 * INTO THE DOCS SYSTEM W4 FORMAT. *WGEDC090 00009 * WGEDC090 00010 * 7/19/11 MODIFY PROGRAM TO INCLUDE YEARS 2011 2012 2013 ZL1 CL**3 00011 * *WGEDC090 00012 ******************************************************************WGEDC090 00013 WGEDC090 00014 ENVIRONMENT DIVISION. WGEDC090 00015 CONFIGURATION SECTION. WGEDC090 00016 SPECIAL-NAMES. C01 IS TOP-OF-PAGE. WGEDC090 00017 INPUT-OUTPUT SECTION. WGEDC090 00018 FILE-CONTROL. WGEDC090 00019 SELECT MAGFILE ASSIGN TO MAGFILE. WGEDC090 00020 SELECT MAGFILEO ASSIGN TO MAGFILEO. WGEDC090 00021 SELECT LISTOUT ASSIGN TO UR-S-LISTOUT. WGEDC090 00022 DATA DIVISION. WGEDC090 00023 FILE SECTION. WGEDC090 00024 FD MAGFILE WGEDC090 00025 RECORDING MODE IS F CL*11 00026 DATA RECORD IS MAGREC. WGEDC090 00027 01 MAGREC PIC X(090). CL*11 00028 FD MAGFILEO WGEDC090 00029 RECORDING MODE IS F WGEDC090 00030 BLOCK CONTAINS 0 CHARACTERS WGEDC090 00031 LABEL RECORDS ARE STANDARD WGEDC090 00032 DATA RECORD IS MAGRECO. WGEDC090 00033 01 MAGRECO PIC X(90). WGEDC090 00034 FD LISTOUT WGEDC090 00035 RECORD CONTAINS 133 CHARACTERS WGEDC090 00036 LABEL RECORDS ARE OMITTED WGEDC090 00037 RECORDING MODE IS F WGEDC090 00038 DATA RECORD IS PRINT-REC. WGEDC090 00039 01 PRINT-REC PIC X(133). WGEDC090 00040 WORKING-STORAGE SECTION. WGEDC090 000405 77 PAN-VALET PICTURE X(24) VALUE '017WGEDC090 08/11/11'. WGEDC090 00041 01 WS-MAGRECO. WGEDC090 00042 05 OUT-MONTH PIC X. WGEDC090 00043 05 FIL PIC 9X(89). WGEDC090 00044 01 MAGNETIC-WORK-AREA. WGEDC090 00045 03 EXTRACT-QTR-YEAR. WGEDC090 00046 05 EXTRACT-MONTH PIC X. WGEDC090 00047 05 EXTRACT-YEAR PIC XX. WGEDC090 00048 03 EXTRACT-EMPLOYER-ID PIC X(6). WGEDC090 00049 03 EXTRACT-FIVE-ZEROS PIC 9(5). WGEDC090 00050 03 EXTRACT-CONSTANT PIC XXX. WGEDC090 00051 03 EXTRACT-SSN PIC 9(9). WGEDC090 00052 03 EXTRACT-NAME-SYSTEM PIC X(5). WGEDC090 00053 03 EXTRACT-WAGES PIC S9(7)V99. WGEDC090 00054 03 EXTRACT-NAME PIC X(28). WGEDC090 00055 03 EXTRACT-12 PIC X(22). CL**4 00056 01 COUNTERS. WGEDC090 00057 03 FIX-RECS-OUT PIC 9(9). WGEDC090 00058 03 QTR-RECS-OUT PIC 9(9). WGEDC090 00059 03 EMP-QTR-TOT-EARNINGS PIC 9(10)V99. WGEDC090 00060 03 RECS-IN PIC 9(9). WGEDC090 00061 03 RECS-OUT PIC 9(9). WGEDC090 00062 03 PAGE-CTR PIC 9(5). WGEDC090 00063 03 ERROR-RECS PIC 9(9). WGEDC090 00064 03 ZEROS-WS PIC 9(9). WGEDC090 00065 03 ERROR-SW PIC 9. WGEDC090 00066 01 LINE-CTR PIC 9(5) VALUE 56. WGEDC090 00067 01 EOF PIC X. WGEDC090 00068 01 HD1. WGEDC090 00069 03 FIL PIC X(5) VALUE SPACES. WGEDC090 00070 03 FIL PIC X(8) VALUE 'DTSWGE01'. CL*13 00071 03 FIL PIC X(31) VALUE SPACES. WGEDC090 00072 03 FIL PIC X(42) VALUE WGEDC090 00073 'DISTRICT DEPARTMENT OF EMPLOYMENT SERVICES'. WGEDC090 00074 03 FIL PIC X(35) VALUE SPACES. WGEDC090 00075 03 FIL PIC X(5) VALUE 'PAGE:'. WGEDC090 00076 03 PAGE-CTR-PRT PIC ZZ,ZZ9. WGEDC090 00077 01 HD2. WGEDC090 00078 03 FIL PIC X(49) VALUE SPACES. WGEDC090 00079 03 FIL PIC X(39) VALUE WGEDC090 00080 'DC-GOV WAGE RECORD EDIT REPORT'. CL*13 00081 01 HD3. WGEDC090 00082 03 FIL PIC X(57) VALUE SPACES. WGEDC090 00083 03 FIL PIC X(9) VALUE 'RUN DATE:'. WGEDC090 00084 03 RUN-DATE PIC X(8). WGEDC090 00085 01 HD4. WGEDC090 00086 03 FIL PIC X(5) VALUE SPACES. WGEDC090 00087 03 FIL PIC X(3) VALUE 'SSN'. WGEDC090 00088 03 FIL PIC X(7) VALUE SPACES. WGEDC090 00089 03 FIL PIC X(12) VALUE 'DATE ENTERED'. WGEDC090 00090 03 FIL PIC X(02) VALUE SPACES. WGEDC090 00091 03 FIL PIC X(13) VALUE 'EMPLOYEE NAME'. WGEDC090 00092 03 FIL PIC X(2) VALUE SPACES. WGEDC090 00093 03 FIL PIC X(7) VALUE 'QUARTER'. WGEDC090 00094 03 FIL PIC X(6) VALUE SPACES. WGEDC090 00095 03 FIL PIC X(8) VALUE 'EARNINGS'. WGEDC090 00096 03 FIL PIC X(6) VALUE SPACES. WGEDC090 00097 03 FIL PIC X(14) VALUE 'ACCOUNT NUMBER'. WGEDC090 00098 03 FIL PIC X(2) VALUE SPACES. WGEDC090 00099 03 FIL PIC X(13) VALUE 'EMPLOYER NAME'. WGEDC090 00100 03 FIL PIC X(10) VALUE SPACES. WGEDC090 00101 03 FIL PIC X(18) VALUE 'ERRORS ENCOUNTERED'. WGEDC090 00102 01 DTL1. WGEDC090 00103 03 FIL PIC X(5) VALUE SPACES. WGEDC090 00104 03 SSN-PRT PIC X(9). WGEDC090 00105 03 FIL PIC XX VALUE SPACES. WGEDC090 00106 03 DATE-ENTERED-PRT PIC X(08). WGEDC090 00107 03 FIL PIC X(10) VALUE SPACES. WGEDC090 00108 03 EMPEE-NAME PIC X(3). WGEDC090 00109 03 FIL PIC X(12) VALUE SPACES. WGEDC090 00110 03 QTR-PRT. WGEDC090 00111 05 QTR-PRT-QTR PIC X. WGEDC090 00112 05 QTR-PRT-YR PIC 99. WGEDC090 00113 03 FIL PIC X(9) VALUE SPACES. WGEDC090 00114 03 EARNINGS-PRT PIC 9(9). WGEDC090 00115 03 FIL PIC X(9) VALUE SPACES. WGEDC090 00116 03 ACCT-NUM-PRT PIC X(6). WGEDC090 00117 03 FIL PIC X(9) VALUE SPACES. WGEDC090 00118 03 EMPOR-PRT PIC X(6). WGEDC090 00119 03 FIL PIC X(08) VALUE SPACES. WGEDC090 00120 03 MESSAGE-AREA PIC X(30) VALUE SPACES. WGEDC090 00121 01 TOT1. WGEDC090 00122 03 FIL PIC X(5) VALUE SPACES. WGEDC090 00123 03 FIL PIC X(19) VALUE 'TOTAL WAGE RECORDS:'. WGEDC090 00124 03 WAGE-CNT-PRT PIC ZZZ,ZZZ,ZZ9. WGEDC090 00125 03 FIL PIC X(5) VALUE SPACES. WGEDC090 00126 03 FIL PIC X(20) VALUE 'TOTAL ERROR RECORDS:'. WGEDC090 00127 03 ERRORS-PRT PIC ZZZ,ZZ9. WGEDC090 00128 03 FIL PIC X(5) VALUE SPACES. WGEDC090 00129 03 FIL PIC X(20) VALUE 'TOTAL WAGE EARNINGS:'. WGEDC090 00130 03 TOT-EARNINGS-PRT PIC Z,ZZZ,ZZZ,999.99. WGEDC090 00131 01 BLANK-LINE PIC X(133) VALUE SPACES. WGEDC090 00132 PROCEDURE DIVISION. WGEDC090 00133 OPEN INPUT MAGFILE. WGEDC090 00134 OPEN OUTPUT LISTOUT MAGFILEO. WGEDC090 00135 MOVE ZEROS TO COUNTERS. WGEDC090 00136 PERFORM 100-READ-WAGE THRU 100-RW-EXIT WGEDC090 00137 UNTIL EOF = 1. CL*13 00138 WGEDC090 00139 IF EOF = 1 WGEDC090 00140 GO TO 999-CLOSE-FILES. WGEDC090 00141 GOBACK. CL*13 00142 100-READ-WAGE. WGEDC090 00143 READ MAGFILE INTO MAGNETIC-WORK-AREA WGEDC090 00144 AT END WGEDC090 00145 MOVE 1 TO EOF CL*13 00146 GO TO 100-RW-EXIT. WGEDC090 00147 WGEDC090 00148 IF EXTRACT-WAGES = ZEROS WGEDC090 00149 DISPLAY '2272 ZEROS WAGES ' EXTRACT-SSN CL*17 00150 GO TO 100-READ-WAGE. WGEDC090 00151 WGEDC090 00152 ADD 1 TO RECS-OUT. WGEDC090 00153 MOVE MAGREC TO WS-MAGRECO. CL*14 00154 PERFORM 110-VALIDATE-WAGE THRU 121-VW-EXIT. WGEDC090 00155 IF ERROR-SW = 1 WGEDC090 00156 MOVE ZERO TO ERROR-SW WGEDC090 00157 GO TO 100-RW-EXIT. CL*14 00158 CL*14 00159 MOVE ZERO TO ERROR-SW. WGEDC090 00160 WRITE MAGRECO FROM WS-MAGRECO. CL*15 00161 ADD 1 TO FIX-RECS-OUT. CL*15 00162 CL*15 00163 100-RW-EXIT. WGEDC090 00164 EXIT. WGEDC090 00165 110-VALIDATE-WAGE. WGEDC090 00166 MOVE SPACES TO MESSAGE-AREA. WGEDC090 00167 111-VALIDATE-QUARTER-CODE. WGEDC090 00168 WGEDC090 00169 IF EXTRACT-MONTH EQUAL 'D' CL*14 00170 MOVE 4 TO OUT-MONTH CL*16 00171 ELSE CL*14 00172 IF EXTRACT-MONTH EQUAL 'S' CL*14 00173 MOVE 3 TO OUT-MONTH CL*16 00174 ELSE CL*14 00175 IF EXTRACT-MONTH EQUAL 'J' CL*14 00176 MOVE 2 TO OUT-MONTH CL*16 00177 ELSE CL*14 00178 IF EXTRACT-MONTH EQUAL 'M' CL*14 00179 MOVE 1 TO OUT-MONTH CL*14 00180 ELSE CL*14 00181 MOVE 'MONTH NE SJMD ' TO MESSAGE-AREA CL*14 00182 MOVE 1 TO ERROR-SW CL*14 00183 PERFORM 125-WAGE-REPORT THRU 125-WR-EXIT. CL*14 00184 CL*14 00185 112-VALIDATE-YEAR. WGEDC090 00186 IF EXTRACT-YEAR NOT NUMERIC WGEDC090 00187 MOVE 'MAG YEAR NOT NUMERIC ' TO MESSAGE-AREA WGEDC090 00188 MOVE 1 TO ERROR-SW WGEDC090 00189 PERFORM 125-WAGE-REPORT THRU 125-WR-EXIT. CL*13 00190 114-VALIDATE-SSN. WGEDC090 00191 IF EXTRACT-SSN NOT NUMERIC WGEDC090 00192 MOVE 'SSN NOT NUMERIC ' TO MESSAGE-AREA WGEDC090 00193 MOVE 1 TO ERROR-SW WGEDC090 00194 PERFORM 125-WAGE-REPORT THRU 125-WR-EXIT. WGEDC090 00195 118-QUARTER-EARNINGS. WGEDC090 00196 IF EXTRACT-WAGES NOT NUMERIC WGEDC090 00197 MOVE 'QUARTER EARNINGS NOT NUMERIC' TO MESSAGE-AREA WGEDC090 00198 MOVE 1 TO ERROR-SW WGEDC090 00199 PERFORM 125-WAGE-REPORT THRU 125-WR-EXIT. WGEDC090 00200 119-EMPLOYEE-NAME. WGEDC090 00201 IF EXTRACT-NAME = SPACES WGEDC090 00202 MOVE 'EMPLOYEE-NAME EQUAL SPACES' TO MESSAGE-AREA WGEDC090 00203 MOVE 1 TO ERROR-SW WGEDC090 00204 PERFORM 125-WAGE-REPORT THRU 125-WR-EXIT. WGEDC090 00205 120-VALIDATE-EMPLOYER-ACCOUNT. WGEDC090 00206 IF EXTRACT-EMPLOYER-ID = ZEROS CL*14 00207 MOVE 'EMPLOYER ACCOUNT LESS THAN ZERO' TO MESSAGE-AREA WGEDC090 00208 MOVE 1 TO ERROR-SW WGEDC090 00209 PERFORM 125-WAGE-REPORT THRU 125-WR-EXIT. CL*13 00210 121-VW-EXIT. WGEDC090 00211 EXIT. WGEDC090 00212 125-WAGE-REPORT. WGEDC090 00213 ADD 1 TO ERROR-RECS. WGEDC090 00214 MOVE EXTRACT-SSN TO SSN-PRT. WGEDC090 00215 MOVE EXTRACT-NAME TO EMPEE-NAME. WGEDC090 00216 MOVE EXTRACT-WAGES TO EARNINGS-PRT. WGEDC090 00217 MOVE EXTRACT-MONTH TO QTR-PRT-QTR. WGEDC090 00218 MOVE EXTRACT-YEAR TO QTR-PRT-YR. WGEDC090 00219 MOVE EXTRACT-EMPLOYER-ID TO ACCT-NUM-PRT. WGEDC090 00220 IF LINE-CTR > 55 WGEDC090 00221 PERFORM 130-WAGE-HEADER THRU 130-WH-EXIT. WGEDC090 00222 WRITE PRINT-REC FROM DTL1. WGEDC090 00223 ADD 1 TO LINE-CTR. WGEDC090 00224 125-WR-EXIT. WGEDC090 00225 EXIT. WGEDC090 00226 130-WAGE-HEADER. WGEDC090 00227 ADD 1 TO PAGE-CTR. WGEDC090 00228 MOVE PAGE-CTR TO PAGE-CTR-PRT. WGEDC090 00229 WRITE PRINT-REC FROM HD1 AFTER TOP-OF-PAGE. WGEDC090 00230 WRITE PRINT-REC FROM HD2. WGEDC090 00231 WRITE PRINT-REC FROM HD3. WGEDC090 00232 WRITE PRINT-REC FROM HD4. WGEDC090 00233 MOVE 4 TO LINE-CTR. WGEDC090 00234 130-WH-EXIT. WGEDC090 00235 EXIT. WGEDC090 00236 999-CLOSE-FILES. WGEDC090 00237 DISPLAY '3710 999-CLOSE ' WGEDC090 00238 MOVE RECS-OUT TO WAGE-CNT-PRT. WGEDC090 00239 MOVE EMP-QTR-TOT-EARNINGS TO TOT-EARNINGS-PRT. WGEDC090 00240 MOVE ERROR-RECS TO ERRORS-PRT. WGEDC090 00241 WRITE PRINT-REC FROM TOT1 AFTER 2. WGEDC090 00242 CLOSE MAGFILE LISTOUT MAGFILEO. WGEDC090 00243 STOP RUN. WGEDC090 00244 EJECT WGEDC090