Files
DUTAS/Batch/DTSVAL05.cob

313 lines
25 KiB
COBOL

00001 IDENTIFICATION DIVISION. 08/11/16
00002 PROGRAM-ID. DTSVAL05. DTSVAL05
00003 LV059
00004 ******************************************************************DTSVAL05
00005 * *DTSVAL05
00006 * FUNCTION: *DTSVAL05
00007 * THE FUNCTION OF DTSVAL05 IS TO VALIDATE WAGE RECORDS * CL*33
00008 * FROM DUTAS. IF MORE THAN ONE RECORD FOR THE SAME EMPLOYER * CL*33
00009 * SAME SSN AND SAME QUARTER THE PRORAM WILL ADD ALL RECORDS CL*33
00010 * AND CREATE ONE W4 TRANSACTION. * CL*33
00011 * *DTSVAL05
00012 ******************************************************************DTSVAL05
00013 DTSVAL05
00014 ENVIRONMENT DIVISION. DTSVAL05
00015 CONFIGURATION SECTION. DTSVAL05
00016 SPECIAL-NAMES. C01 IS TOP-OF-PAGE. DTSVAL05
00017 INPUT-OUTPUT SECTION. DTSVAL05
00018 FILE-CONTROL. DTSVAL05
00019 SELECT DTS4FILE ASSIGN TO DTS4FILE CL*37
00020 FILE STATUS IS WAGE-IN-STATUS. CL*37
00021 SELECT WAGEFILE ASSIGN TO WAGEFILE. CL*31
00022 SELECT ERRFILE ASSIGN TO ERRFILE. CL*31
00023 SELECT LISTOUT ASSIGN TO UR-S-LISTOUT. CL*16
00024 DATA DIVISION. DTSVAL05
00025 FILE SECTION. DTSVAL05
00026 FD DTS4FILE CL*34
00027 RECORDING MODE IS F DTSVAL05
00028 BLOCK CONTAINS 0 CHARACTERS DTSVAL05
00029 LABEL RECORDS ARE STANDARD DTSVAL05
00030 DATA RECORD IS TDECREC. DTSVAL05
00031 01 TRANSACTION-RECORD PIC X(80). CL*16
00032 CL*16
00033 FD WAGEFILE CL*31
00034 RECORDING MODE IS F CL*31
00035 BLOCK CONTAINS 0 CHARACTERS CL*31
00036 LABEL RECORDS ARE STANDARD CL*31
00037 DATA RECORD IS TDECREC. CL*31
00038 01 WAGE-RECORD PIC X(80). CL*31
00039 CL*31
00040 FD ERRFILE CL*31
00041 RECORDING MODE IS F CL*31
00042 BLOCK CONTAINS 0 CHARACTERS CL*31
00043 LABEL RECORDS ARE STANDARD CL*31
00044 DATA RECORD IS TDECREC. CL*31
00045 01 ERROR-RECORD PIC X(80). CL*31
00046 CL*31
00047 FD LISTOUT DTSVAL05
00048 RECORD CONTAINS 133 CHARACTERS DTSVAL05
00049 LABEL RECORDS ARE OMITTED DTSVAL05
00050 RECORDING MODE IS F DTSVAL05
00051 DATA RECORD IS PRINT-REC. DTSVAL05
00052 01 PRINT-REC PIC X(133). CL*16
00053 CL*16
00054 WORKING-STORAGE SECTION. DTSVAL05
000545 77 PAN-VALET PICTURE X(24) VALUE '059DTSVAL05 08/11/16'. DTSVAL05
00055 01 WS-ETA-PRIMARY-NAME-FOUR PIC X(4). CL*16
00056 01 WS-ETA-ENTITY-NAME-FOUR PIC X(4). CL*16
00057 01 WEG-ERR-CNT PIC 9(1). CL*32
00058 01 W4E-ERR-CNT PIC 9(1). CL*40
00059 CL*18
00060 01 TRANSACTION-WORK-AREA. DTSVAL05
00061 ******************************************************************DTSVAL05
00062 * ESP TRANSACTION RECORD DESCRIPTIONS *DTSVAL05
00063 ******************************************************************DTSVAL05
00064 05 ESP-TRANSACTION-AREA. DTSVAL05
00065 10 TRAN-SSN PIC 9(10). DTSVAL05
00066 10 FILLER REDEFINES TRAN-SSN. DTSVAL05
00067 15 TR-SSN PIC 9(9). DTSVAL05
00068 15 TR-SSN-SEQ PIC 9(1). DTSVAL05
00069 10 TRAN-ID PIC X(02). DTSVAL05
00070 10 FILLER REDEFINES TRAN-ID. DTSVAL05
00071 15 TRAN-ID-PFX PIC X(1). DTSVAL05
00072 88 TRAN-ID-PFX-WAGE VALUE 'W'. DTSVAL05
00073 15 FILLER PIC X(1). DTSVAL05
00074 10 TRAN-OPER-ID PIC 9(8). DTSVAL05
00075 10 FILLER REDEFINES TRAN-OPER-ID. DTSVAL05
00076 15 BATCH-NUMBER PIC 9(03). DTSVAL05
00077 15 FILLER REDEFINES BATCH-NUMBER. DTSVAL05
00078 20 BATCH-NUMBER-NN PIC 9(02). DTSVAL05
00079 20 FILLER PIC X(01). DTSVAL05
00080 15 TRAN-LOCAL-OFFICE PIC 9(02). DTSVAL05
00081 15 TRAN-OPERATOR-ID PIC 9(03). DTSVAL05
00082 10 TRAN-DATE-ENTERED PIC 9(08). DTSVAL05
00083 10 TRAN-TIME-ENTERED PIC 9(06). DTSVAL05
00084 10 FILLER PIC 9(06). DTSVAL05
00085 10 TRAN-NAME-CHECK PIC X(3). DTSVAL05
00086 10 TRAN-QUARTER-YR-QTR PIC 9(5). DTSVAL05
00087 10 TRAN-AFFI-CODE PIC 9(1). DTSVAL05
00088 10 TRAN-QUARTER-EARNINGS PIC 9(7). DTSVAL05
00089 10 TRAN-ACCOUNT PIC 9(6). DTSVAL05
00090 10 TRAN-EMP-NAME PIC X(4). DTSVAL05
00091 10 TRAN-FILLER PIC X(299). DTSVAL05
00092 01 COUNTERS. DTSVAL05
00093 03 RECS-IN PIC 9(5). CL*16
00094 03 RECS-OUT PIC 9(5). CL*16
00095 03 PAGE-CTR PIC 9(5). CL*16
00096 03 ERROR-RECS PIC 9(5). CL*16
00097 03 WS-RUN-DATE. DTSVAL05
00098 05 RUN-YR PIC 99. CL*16
00099 05 RUN-MO PIC 99. CL*16
00100 05 RUN-DA PIC 99. CL*16
00101 CL*16
00102 01 HOLD-WORK-AREA. CL*34
00103 ****************************************************************** CL*34
00104 * ESP TRANSACTION RECORD DESCRIPTIONS * CL*34
00105 ****************************************************************** CL*34
00106 05 WRK-TRANSACTION-AREA. CL*34
00107 10 HOLD-SSN PIC 9(10). CL*34
00108 10 FILLER REDEFINES HOLD-SSN. CL*34
00109 15 HLD-SSN PIC 9(9). CL*34
00110 15 HLD-SSN-SEQ PIC 9(1). CL*34
00111 10 HOLD-ID PIC X(02). CL*34
00112 10 FILLER REDEFINES HOLD-ID. CL*34
00113 15 HOLD-ID-PFX-HLD PIC X(1). CL*34
00114 15 FILLER PIC X(1). CL*34
00115 10 HOLD-OPER-ID PIC 9(8). CL*34
00116 10 FILLER REDEFINES HOLD-OPER-ID. CL*34
00117 15 BATCH-NUMBER-HLD PIC 9(03). CL*34
00118 15 HOLD-LOCAL-OFFICE PIC 9(02). CL*34
00119 15 HOLD-OPERATOR-ID PIC 9(03). CL*34
00120 10 HOLD-DATE-ENTERED PIC 9(08). CL*34
00121 10 HOLD-TIME-ENTERED PIC 9(06). CL*34
00122 10 FILLER PIC 9(06). CL*34
00123 10 HOLD-NAME-CHECK PIC X(3). CL*34
00124 10 HOLD-QUARTER-YR-QTR PIC 9(5). CL*34
00125 10 HOLD-AFFI-CODE PIC 9(1). CL*34
00126 10 HOLD-QUARTER-EARNINGS PIC 9(7). CL*34
00127 10 HOLD-ACCOUNT PIC 9(6). CL*34
00128 10 HOLD-EMP-NAME PIC X(4). CL*34
00129 10 HOLD-FILLER PIC X(299). CL*34
00130 01 HOLD-WRK-AREA. CL*34
00131 03 HOLD-WRK-SSN PIC 9(9) VALUE ZEROS. CL*34
00132 03 HOLD-WRK-QTR PIC 9(5) VALUE ZEROS. CL*34
00133 03 HOLD-WRK-EMP PIC 9(6) VALUE ZEROS. CL*34
00134 03 HOLD-WRK-WAGE PIC 9(7) VALUE ZEROS. CL*34
00135 01 CURR-YRQ. CL*29
00136 05 CUR-CEN PIC 99. CL*29
00137 05 CUR-YR1 PIC 99. CL*29
00138 05 CUR-QTR PIC 9. CL*29
00139 01 LINE-CTR PIC 9(5) VALUE 56. CL*16
00140 01 EOF PIC X. CL*16
00141 CL*16
00142 CL*37
00143 01 FILE-STATUS. CL*37
00144 05 WAGE-IN-STATUS PIC X(02). CL*37
00145 88 WAGE-IN-OK-88 VALUE '00'. CL*37
00146 88 WAGE-IN-EOF-88 VALUE '10'. CL*37
00147 CL*37
00148 01 HD1. DTSVAL05
00149 03 FIL PIC X(5) VALUE SPACES. CL*16
00150 03 FIL PIC X(8) VALUE 'DTSVAL05'. CL*38
00151 03 FIL PIC X(31) VALUE SPACES. CL*16
00152 03 FIL PIC X(42) VALUE CL*16
00153 'DISTRICT DEPARTMENT OF EMPLOYMENT SERVICES'. DTSVAL05
00154 03 FIL PIC X(35) VALUE SPACES. CL*16
00155 03 FIL PIC X(5) VALUE 'PAGE:'. CL*16
00156 03 PAGE-CTR-PRT PIC ZZ,ZZ9. CL*16
00157 01 HD2. DTSVAL05
00158 03 FIL PIC X(29) VALUE SPACES. CL*50
00159 03 FIL PIC X(52) VALUE CL*50
00160 'DUPLICATE SSN WAGE RECORD - WAGES ADDED TO FIRST SSN'. CL*51
00161 01 HD3. DTSVAL05
00162 03 FIL PIC X(55) VALUE SPACES. CL*16
00163 03 FIL PIC X(10) VALUE 'RUN DATE: '. CL*16
00164 03 RUN-DATE. DTSVAL05
00165 05 RUN-MO1 PIC 99. CL*16
00166 05 FIL PIC X VALUE '/'. CL*16
00167 05 RUN-DA1 PIC 99. CL*16
00168 05 FIL PIC X VALUE '/'. CL*16
00169 05 RUN-CEN PIC 99. CL*16
00170 05 RUN-YR1 PIC 99. CL*16
00171 01 HD4. DTSVAL05
00172 03 FIL PIC X(5) VALUE SPACES. CL*16
00173 03 FIL PIC X(3) VALUE 'SSN'. CL*16
00174 03 FIL PIC X(7) VALUE SPACES. CL*16
00175 03 FIL PIC X(12) VALUE 'DATE ENT EN'. CL*26
00176 03 FIL PIC X(13) VALUE 'AME QTR '. CL*27
00177 03 FIL PIC X(7) VALUE ' EARNI'. CL*27
00178 03 FIL PIC X(8) VALUE 'NGS AC'. CL*27
00179 03 FIL PIC X(14) VALUE 'CT NUM TDEC '. CL*27
00180 03 FIL PIC X(11) VALUE 'NAME '. CL*27
00181 03 FIL PIC X(07) VALUE SPACES. CL*26
00182 03 FIL PIC X(18) VALUE 'ERRORS ENCOUNTERED'. CL*16
00183 01 DTL1. DTSVAL05
00184 03 FIL PIC X(5) VALUE SPACES. CL*16
00185 03 SSN-PRT PIC X(9). CL*16
00186 03 FIL PIC XX VALUE SPACES. CL*16
00187 03 DATE-ENTERED-PRT PIC X(06). CL*16
00188 03 FIL PIC X(04) VALUE SPACES. CL*25
00189 03 EMPEE-NAME PIC X(3). CL*16
00190 03 FIL PIC X(04) VALUE SPACES. CL*25
00191 03 QTR-PRT PIC X(5). CL*16
00192 03 FIL PIC X(4) VALUE SPACES. CL*25
00193 03 EARNINGS-PRT PIC X(7). CL*16
00194 03 FIL PIC X(4) VALUE SPACES. CL*25
00195 03 ACCT-NUM-PRT PIC X(6). CL*16
00196 03 FIL PIC X(4) VALUE SPACES. CL*25
00197 03 EMPOR-PRT PIC X(6). CL*16
00198 03 FIL PIC X(04) VALUE SPACES. CL*25
00199 03 MESSAGE-AREA PIC X(50) VALUE SPACES. CL*25
00200 01 TOT1. DTSVAL05
00201 03 FIL PIC X(5) VALUE SPACES. CL*16
00202 03 FIL PIC X(19) VALUE 'TOTAL WAGE RECORDS:'. CL*16
00203 03 WAGE-CNT-PRT PIC ZZZ,ZZZ,ZZ9. CL*16
00204 03 FIL PIC X(5) VALUE SPACES. CL*16
00205 03 FIL PIC X(20) VALUE 'TOTAL ERROR RECORDS:'. CL*18
00206 03 ERRORS-PRT PIC ZZZ,ZZ9. CL*16
00207 CL*16
00208 01 BLANK-LINE PIC X(133) VALUE SPACES. CL*16
00209 CL*16
00210 PROCEDURE DIVISION. DTSVAL05
00211 OPEN OUTPUT LISTOUT WAGEFILE ERRFILE. CL*39
00212 OPEN INPUT DTS4FILE CL*34
00213 IF NOT WAGE-IN-OK-88 CL*37
00214 DISPLAY 'DAY1 W4FILE INPUT IS EMPTY ' CL*37
00215 WAGE-IN-STATUS CL*37
00216 DISPLAY '***************************************' CL*37
00217 MOVE +01 TO RETURN-CODE CL*40
00218 GOBACK. CL*37
00219 CL*31
00220 MOVE ZEROS TO COUNTERS. DTSVAL05
00221 DTSVAL05
00222 PERFORM 100-READ-WAGE THRU 100-RW-EXIT DTSVAL05
00223 UNTIL EOF = 1. CL*16
00224 MOVE HOLD-WRK-WAGE TO HOLD-QUARTER-EARNINGS CL*35
00225 MOVE HOLD-WORK-AREA TO WAGE-RECORD CL*41
00226 WRITE WAGE-RECORD CL*35
00227 IF ERROR-RECS > 0 CL*40
00228 MOVE +02 TO RETURN-CODE CL*47
00229 ELSE CL*40
00230 MOVE +00 TO RETURN-CODE. CL*40
00231 GO TO 999-CLOSE-FILES. CL*41
00232 100-READ-WAGE. DTSVAL05
00233 READ DTS4FILE INTO TRANSACTION-WORK-AREA CL*36
00234 AT END MOVE 1 TO EOF CL*29
00235 GO TO 100-RW-EXIT. CL*42
00236 CL*42
00237 ADD 1 TO RECS-OUT. DTSVAL05
00238 CL*34
00239 IF RECS-OUT = 1 CL*34
00240 MOVE TR-SSN TO HOLD-WRK-SSN CL*34
00241 MOVE TRAN-QUARTER-YR-QTR TO HOLD-WRK-QTR CL*34
00242 MOVE TRAN-ACCOUNT TO HOLD-WRK-EMP CL*34
00243 MOVE TRAN-QUARTER-EARNINGS TO HOLD-WRK-WAGE CL*34
00244 MOVE TRANSACTION-WORK-AREA TO HOLD-WORK-AREA CL*41
00245 GO TO 100-RW-EXIT. CL*34
00246 * IF HOLD-WRK-SSN = 274585210 CL*53
00247 * GO TO 100-RW-EXIT. CL*53
00248 PERFORM 110-VALIDATE-WAGE THRU 110-VAL-EXIT. CL*36
00249 100-RW-EXIT. DTSVAL05
00250 EXIT. DTSVAL05
00251 110-VALIDATE-WAGE. DTSVAL05
00252 MOVE SPACES TO MESSAGE-AREA. DTSVAL05
00253 MOVE 0 TO WEG-ERR-CNT. CL*30
00254 * DISPLAY 'TR-SSN ' TR-SSN ' HOLD SSN ' HOLD-WRK-SSN CL*59
00255 * DISPLAY 'TR-QTR ' TRAN-QUARTER-YR-QTR ' HLD Q ' HOLD-WRK-QTR CL*59
00256 * DISPLAY 'TR-ACC ' TRAN-ACCOUNT 'HLD ACC ' HOLD-WRK-EMP CL*59
00257 IF TR-SSN = HOLD-WRK-SSN AND CL*35
00258 TRAN-QUARTER-YR-QTR = HOLD-WRK-QTR AND CL*35
00259 TRAN-ACCOUNT = HOLD-WRK-EMP CL*35
00260 * ADD TRAN-QUARTER-EARNINGS TO HOLD-WRK-WAGE CL*58
00261 MOVE TRANSACTION-WORK-AREA TO HOLD-WORK-AREA CL*41
00262 MOVE 1 TO WEG-ERR-CNT CL*30
00263 DISPLAY '*ERROR** DUPLICATE SSN ' CL*46
00264 MOVE '*ERROR** DUPLICATE SSN ' TO MESSAGE-AREA CL*45
00265 PERFORM 125-WAGE-REPORT THRU 125-WR-EXIT CL*35
00266 ELSE CL*35
00267 MOVE HOLD-WRK-WAGE TO HOLD-QUARTER-EARNINGS CL*35
00268 MOVE HOLD-WORK-AREA TO WAGE-RECORD CL*41
00269 WRITE WAGE-RECORD CL*35
00270 MOVE TRANSACTION-WORK-AREA TO HOLD-WORK-AREA CL*41
00271 MOVE TRAN-QUARTER-EARNINGS TO HOLD-WRK-WAGE CL*44
00272 MOVE TR-SSN TO HOLD-WRK-SSN CL*44
00273 MOVE TRAN-QUARTER-YR-QTR TO HOLD-WRK-QTR CL*44
00274 MOVE TRAN-ACCOUNT TO HOLD-WRK-EMP. CL*44
00275 CL*31
00276 110-VAL-EXIT. CL*36
00277 EXIT. CL*31
00278 125-WAGE-REPORT. DTSVAL05
00279 ADD 1 TO ERROR-RECS. DTSVAL05
00280 MOVE TR-SSN TO SSN-PRT. CL*16
00281 MOVE TRAN-DATE-ENTERED TO DATE-ENTERED-PRT. CL*16
00282 MOVE TRAN-NAME-CHECK TO EMPEE-NAME. CL*16
00283 MOVE TRAN-QUARTER-EARNINGS TO EARNINGS-PRT. DTSVAL05
00284 MOVE TRAN-QUARTER-YR-QTR TO QTR-PRT. CL*16
00285 MOVE TRAN-ACCOUNT TO ACCT-NUM-PRT. CL*16
00286 CL*16
00287 IF LINE-CTR > 55 DTSVAL05
00288 PERFORM 130-WAGE-HEADER THRU 130-WH-EXIT. DTSVAL05
00289 CL*16
00290 WRITE PRINT-REC FROM DTL1. CL*49
00291 MOVE SPACES TO DTL1. DTSVAL05
00292 ADD 1 TO LINE-CTR. DTSVAL05
00293 125-WR-EXIT. DTSVAL05
00294 EXIT. DTSVAL05
00295 130-WAGE-HEADER. DTSVAL05
00296 ADD 1 TO PAGE-CTR. DTSVAL05
00297 MOVE PAGE-CTR TO PAGE-CTR-PRT. DTSVAL05
00298 WRITE PRINT-REC FROM HD1 AFTER TOP-OF-PAGE. CL*49
00299 WRITE PRINT-REC FROM HD2. CL*49
00300 WRITE PRINT-REC FROM HD3. CL*49
00301 WRITE PRINT-REC FROM HD4. CL*49
00302 MOVE 4 TO LINE-CTR. DTSVAL05
00303 130-WH-EXIT. DTSVAL05
00304 EXIT. DTSVAL05
00305 999-CLOSE-FILES. DTSVAL05
00306 MOVE RECS-OUT TO WAGE-CNT-PRT. DTSVAL05
00307 MOVE ERROR-RECS TO ERRORS-PRT. DTSVAL05
00308 WRITE PRINT-REC FROM TOT1 AFTER 2. DTSVAL05
00309 CLOSE DTS4FILE LISTOUT WAGEFILE ERRFILE. CL*35
00310 STOP RUN. DTSVAL05
00311 EJECT DTSVAL05