Files
DUTAS/Batch/DTSBX451.cob
2025-07-21 11:20:11 -04:00

378 lines
30 KiB
COBOL

00001 IDENTIFICATION DIVISION. 06/13/05
00002 PROGRAM-ID. DTSBX451. DTSBX451
00003 AUTHOR. NGC. LV001
00004 DATE-WRITTEN. JANUARY 2005. DTSBX451
00005 DATE-COMPILED. DTSBX451
00006 SKIP3 DTSBX451
00007 ***** DTSBX451
00008 * DTSBX451
00009 * FUNCTION: MAINTAIN NEW HIRE DATABASE, STEP 2: DTSBX451
00010 * SELECT WORKER AND EMPLOYER RECORDS WITH DTSBX451
00011 * MOST RECENT HIRE DATE, AND BUILD DTSBX451
00012 * FINAL OUTPUT RECORDS. DTSBX451
00013 * DTSBX451
00014 ***** DTSBX451
00015 SKIP3 DTSBX451
00016 ENVIRONMENT DIVISION. DTSBX451
00017 CONFIGURATION SECTION. DTSBX451
00018 INPUT-OUTPUT SECTION. DTSBX451
00019 FILE-CONTROL. DTSBX451
00020 DTSBX451
00021 SELECT EMPLOYER-FILE-IN ASSIGN TO EMPLRIN DTSBX451
00022 FILE STATUS IS EMP-IN-STATUS. DTSBX451
00023 SELECT EMPLOYER-FILE-OUT ASSIGN TO EMPLROUT DTSBX451
00024 FILE STATUS IS EMP-OUT-STATUS. DTSBX451
00025 SELECT WORKER-FILE-IN ASSIGN TO WORKRIN DTSBX451
00026 FILE STATUS IS WORKER-IN-STATUS. DTSBX451
00027 SELECT WORKER-FILE-OUT ASSIGN TO WORKROUT DTSBX451
00028 FILE STATUS IS WORKER-OUT-STATUS. DTSBX451
00029 DTSBX451
00030 DATA DIVISION. DTSBX451
00031 DTSBX451
00032 FILE SECTION. DTSBX451
00033 DTSBX451
00034 FD EMPLOYER-FILE-IN DTSBX451
00035 RECORDING MODE IS F DTSBX451
00036 BLOCK CONTAINS 0 RECORDS DTSBX451
00037 LABEL RECORDS ARE OMITTED. DTSBX451
00038 01 EMPLOYER-REC-IN PIC X(135). DTSBX451
00039 DTSBX451
00040 FD EMPLOYER-FILE-OUT DTSBX451
00041 RECORDING MODE IS F DTSBX451
00042 BLOCK CONTAINS 0 RECORDS DTSBX451
00043 LABEL RECORDS ARE OMITTED. DTSBX451
00044 *01 EMPLOYER-REC-OUT PIC X(135). DTSBX451
00045 01 EMPLOYER-REC-OUT. DTSBX451
00046 ++INCLUDE DTSIXTRO DTSBX451
00047 DTSBX451
00048 FD WORKER-FILE-IN DTSBX451
00049 RECORDING MODE IS F DTSBX451
00050 BLOCK CONTAINS 0 RECORDS DTSBX451
00051 LABEL RECORDS ARE OMITTED. DTSBX451
00052 DTSBX451
00053 01 WORKER-REC-IN PIC X(136). DTSBX451
00054 DTSBX451
00055 FD WORKER-FILE-OUT DTSBX451
00056 RECORDING MODE IS F DTSBX451
00057 BLOCK CONTAINS 0 RECORDS DTSBX451
00058 LABEL RECORDS ARE OMITTED. DTSBX451
00059 DTSBX451
00060 01 WORKER-REC-OUT PIC X(150). DTSBX451
00061 DTSBX451
00062 WORKING-STORAGE SECTION. DTSBX451
000625 77 PAN-VALET PICTURE X(24) VALUE '001DTSBX451 06/13/05'. DTSBX451
00063 DTSBX451
00064 01 WRK-AREA. DTSBX451
00065 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +451. DTSBX451
00066 DTSBX451
00067 05 WRK-MOD-NAME PIC X(08) VALUE 'DTSBX451'. DTSBX451
00068 DTSBX451
00069 05 WORKER-IN-CNT PIC S9(07) COMP-3 VALUE +0. DTSBX451
00070 05 WORKER-OUT-CNT PIC S9(07) COMP-3 VALUE +0. DTSBX451
00071 05 EMP-IN-CNT PIC S9(07) COMP-3 VALUE +0. DTSBX451
00072 05 EMP-OUT-CNT PIC S9(07) COMP-3 VALUE +0. DTSBX451
00073 DTSBX451
00074 05 EMP-IN-STATUS PIC X(02). DTSBX451
00075 88 EMP-IN-STATUS-OK-88 VALUE '00'. DTSBX451
00076 88 EMP-IN-STATUS-EOF-88 VALUE '10'. DTSBX451
00077 DTSBX451
00078 05 EMP-OUT-STATUS PIC X(02). DTSBX451
00079 88 EMP-OUT-STATUS-OK-88 VALUE '00'. DTSBX451
00080 88 EMP-OUT-STATUS-EOF-88 VALUE '10'. DTSBX451
00081 DTSBX451
00082 05 WORKER-IN-STATUS PIC X(02). DTSBX451
00083 88 WORKER-IN-STATUS-OK-88 VALUE '00'. DTSBX451
00084 88 WORKER-IN-STATUS-EOF-88 VALUE '10'. DTSBX451
00085 DTSBX451
00086 05 WORKER-OUT-STATUS PIC X(02). DTSBX451
00087 88 WORKER-OUT-STATUS-OK-88 VALUE '00'. DTSBX451
00088 88 WORKER-OUT-STATUS-EOF-88 VALUE '10'. DTSBX451
00089 DTSBX451
00090 05 WRK-ERROR-IND PIC X(01). DTSBX451
00091 88 WRK-ERROR-YES-88 VALUE 'Y'. DTSBX451
00092 88 WRK-ERROR-NO-88 VALUE 'N'. DTSBX451
00093 DTSBX451
00094 05 WRK-SSN PIC X(09) VALUE ZERO. DTSBX451
00095 05 WRK-FEIN PIC X(09) VALUE ZERO. DTSBX451
00096 DTSBX451
00097 05 WRK-CURRENT-DATE PIC X(10). DTSBX451
00098 DTSBX451
00099 01 WRK-WORKER-REC-IN. DTSBX451
00100 05 WORKER-SSN-IN PIC X(09). DTSBX451
00101 05 WORKER-HIRE-DATE-XOR-IN PIC S9(09) COMP-3. DTSBX451
00102 05 WORKER-DOB-IN PIC X(10). DTSBX451
00103 05 WORKER-LAST-NAME-IN PIC X(20). DTSBX451
00104 05 WORKER-FIRST-NAME-IN PIC X(15). DTSBX451
00105 05 WORKER-MID-INIT-IN PIC X(01). DTSBX451
00106 05 WORKER-ADDR-1-IN PIC X(40). DTSBX451
00107 05 WORKER-CITY-IN PIC X(25). DTSBX451
00108 05 WORKER-STATE-IN PIC X(02). DTSBX451
00109 05 WORKER-ZIP-IN PIC X(09). DTSBX451
00110 DTSBX451
00111 01 WRK-WORKER-REC-OUT. DTSBX451
00112 05 WORKER-SSN-OUT PIC X(09). DTSBX451
00113 05 FILLER PIC X(01) VALUE ','. DTSBX451
00114 05 WORKER-DOB-OUT PIC X(10). DTSBX451
00115 05 FILLER PIC X(01) VALUE ','. DTSBX451
00116 05 WORKER-LAST-NAME-OUT PIC X(20). DTSBX451
00117 05 FILLER PIC X(01) VALUE ','. DTSBX451
00118 05 WORKER-FIRST-NAME-OUT PIC X(15). DTSBX451
00119 05 FILLER PIC X(01) VALUE ','. DTSBX451
00120 05 WORKER-MID-INIT-OUT PIC X(01). DTSBX451
00121 05 FILLER PIC X(01) VALUE ','. DTSBX451
00122 05 WORKER-ADDR-1-OUT PIC X(40). DTSBX451
00123 05 FILLER PIC X(01) VALUE ','. DTSBX451
00124 05 WORKER-CITY-OUT PIC X(25). DTSBX451
00125 05 FILLER PIC X(01) VALUE ','. DTSBX451
00126 05 WORKER-STATE-OUT PIC X(02). DTSBX451
00127 05 FILLER PIC X(01) VALUE ','. DTSBX451
00128 05 WORKER-ZIP-OUT PIC X(09). DTSBX451
00129 05 FILLER PIC X(01) VALUE ','. DTSBX451
00130 05 WORKER-ENTER-DATE-OUT PIC X(10). DTSBX451
00131 DTSBX451
00132 01 WRK-EMPLER-REC-IN. DTSBX451
00133 05 EMPLER-FEIN-IN PIC X(09). DTSBX451
00134 05 EMPLER-HIRE-DATE-XOR-IN PIC S9(09) COMP-3. DTSBX451
00135 05 EMPLER-NAME-IN PIC X(45). DTSBX451
00136 05 EMPLER-ADDRESS. DTSBX451
00137 10 EMPLER-ADDR-1-IN PIC X(40). DTSBX451
00138 10 EMPLER-CITY-IN PIC X(25). DTSBX451
00139 10 EMPLER-STATE-IN PIC X(02). DTSBX451
00140 10 EMPLER-ZIP-IN PIC X(09). DTSBX451
00141 DTSBX451
00142 *01 WRK-EMPLER-REC-OUT. DTSBX451
00143 * 05 EMPLER-FEIN-OUT PIC X(09). DTSBX451
00144 * 05 FILLER PIC X(01) VALUE ','. DTSBX451
00145 * 05 EMPLER-NAME-OUT PIC X(45). DTSBX451
00146 * 05 FILLER PIC X(01) VALUE ','. DTSBX451
00147 * 05 EMPLER-ADDR-1-OUT PIC X(40). DTSBX451
00148 * 05 FILLER PIC X(01) VALUE ','. DTSBX451
00149 * 05 EMPLER-CITY-OUT PIC X(25). DTSBX451
00150 * 05 FILLER PIC X(01) VALUE ','. DTSBX451
00151 * 05 EMPLER-STATE-OUT PIC X(02). DTSBX451
00152 * 05 FILLER PIC X(01) VALUE ','. DTSBX451
00153 * 05 EMPLER-ZIP-OUT PIC X(09). DTSBX451
00154 DTSBX451
00155 01 L005-COMM-AREA. DTSBX451
00156 ++INCLUDE DTSIL005 DTSBX451
00157 DTSBX451
00158 01 L001-LINK-AREA. DTSBX451
00159 ++INCLUDE DTSIL001 DTSBX451
00160 DTSBX451
00161 PROCEDURE DIVISION. DTSBX451
00162 DTSBX451
00163 DTSBX451-MAIN. DTSBX451
00164 DTSBX451
00165 PERFORM I0000-INITIATE THRU I0000-EXIT. DTSBX451
00166 DTSBX451
00167 PERFORM P0000-PROCESS THRU P0000-EXIT. DTSBX451
00168 DTSBX451
00169 PERFORM T0000-TERMINATE THRU T0000-EXIT. DTSBX451
00170 DTSBX451
00171 DTSBX451-MAIN-EXIT. DTSBX451
00172 GOBACK. DTSBX451
00173 DTSBX451
00174 I0000-INITIATE. DTSBX451
00175 OPEN INPUT EMPLOYER-FILE-IN DTSBX451
00176 IF EMP-IN-STATUS-OK-88 DTSBX451
00177 NEXT SENTENCE DTSBX451
00178 ELSE DTSBX451
00179 DISPLAY 'EMPLOYER INPUT FILE OPEN ERROR ' DTSBX451
00180 EMP-IN-STATUS DTSBX451
00181 PERFORM S999-ABEND THRU S999-EXIT DTSBX451
00182 END-IF. DTSBX451
00183 DTSBX451
00184 OPEN INPUT WORKER-FILE-IN DTSBX451
00185 IF WORKER-IN-STATUS-OK-88 DTSBX451
00186 NEXT SENTENCE DTSBX451
00187 ELSE DTSBX451
00188 DISPLAY 'WORKER INPUT FILE OPEN ERROR ' DTSBX451
00189 WORKER-IN-STATUS DTSBX451
00190 PERFORM S999-ABEND THRU S999-EXIT DTSBX451
00191 END-IF. DTSBX451
00192 DTSBX451
00193 OPEN OUTPUT EMPLOYER-FILE-OUT. DTSBX451
00194 IF EMP-OUT-STATUS-OK-88 DTSBX451
00195 NEXT SENTENCE DTSBX451
00196 ELSE DTSBX451
00197 DISPLAY 'EMPLOYER OUTPUT FILE OPEN ERROR ' DTSBX451
00198 EMP-OUT-STATUS DTSBX451
00199 PERFORM S999-ABEND THRU S999-EXIT DTSBX451
00200 END-IF. DTSBX451
00201 DTSBX451
00202 OPEN OUTPUT WORKER-FILE-OUT. DTSBX451
00203 IF WORKER-OUT-STATUS-OK-88 DTSBX451
00204 NEXT SENTENCE DTSBX451
00205 ELSE DTSBX451
00206 DISPLAY 'WORKER OUTPUT FILE OPEN ERROR ' DTSBX451
00207 WORKER-OUT-STATUS DTSBX451
00208 PERFORM S999-ABEND THRU S999-EXIT DTSBX451
00209 END-IF. DTSBX451
00210 DTSBX451
00211 SET L005-FROM-SYS TO TRUE. DTSBX451
00212 PERFORM S005-SYS-DATE THRU S005-EXIT. DTSBX451
00213 MOVE L005-DATE TO L001-FED-8-DATE-9. DTSBX451
00214 PERFORM S001-FROM-FED-8 THRU S001-EXIT DTSBX451
00215 MOVE L001-SLASH-8-DATE TO WRK-CURRENT-DATE. DTSBX451
00216 DTSBX451
00217 DISPLAY ' '. DTSBX451
00218 DISPLAY 'CURR-DATE ' WRK-CURRENT-DATE. DTSBX451
00219 DTSBX451
00220 I0000-EXIT. DTSBX451
00221 EXIT. DTSBX451
00222 DTSBX451
00223 P0000-PROCESS. DTSBX451
00224 PERFORM P1000-WORKER THRU P1000-EXIT DTSBX451
00225 UNTIL WORKER-IN-STATUS-EOF-88. DTSBX451
00226 DTSBX451
00227 PERFORM P2000-EMPLOYER THRU P2000-EXIT DTSBX451
00228 UNTIL EMP-IN-STATUS-EOF-88. DTSBX451
00229 DTSBX451
00230 P0000-EXIT. DTSBX451
00231 EXIT. DTSBX451
00232 DTSBX451
00233 P1000-WORKER. DTSBX451
00234 READ WORKER-FILE-IN INTO WRK-WORKER-REC-IN. DTSBX451
00235 DTSBX451
00236 IF WORKER-IN-STATUS-OK-88 DTSBX451
00237 ADD +1 TO WORKER-IN-CNT DTSBX451
00238 ELSE DTSBX451
00239 IF WORKER-IN-STATUS-EOF-88 DTSBX451
00240 GO TO P1000-EXIT DTSBX451
00241 ELSE DTSBX451
00242 DISPLAY 'BAD READ ON WORKER INPUT FILE ' DTSBX451
00243 WORKER-IN-STATUS DTSBX451
00244 PERFORM S999-ABEND THRU S999-EXIT DTSBX451
00245 END-IF DTSBX451
00246 END-IF. DTSBX451
00247 DTSBX451
00248 IF WORKER-SSN-IN = WRK-SSN DTSBX451
00249 NEXT SENTENCE DTSBX451
00250 ELSE DTSBX451
00251 MOVE WORKER-SSN-IN TO WRK-SSN DTSBX451
00252 PERFORM P1100-WORKER-OUTPUT THRU P1100-EXIT DTSBX451
00253 END-IF. DTSBX451
00254 DTSBX451
00255 P1000-EXIT. DTSBX451
00256 EXIT. DTSBX451
00257 DTSBX451
00258 P1100-WORKER-OUTPUT. DTSBX451
00259 MOVE WORKER-SSN-IN TO WORKER-SSN-OUT. DTSBX451
00260 DTSBX451
00261 MOVE WRK-CURRENT-DATE TO WORKER-ENTER-DATE-OUT. DTSBX451
00262 DTSBX451
00263 MOVE WORKER-DOB-IN TO WORKER-DOB-OUT. DTSBX451
00264 DTSBX451
00265 MOVE WORKER-LAST-NAME-IN TO WORKER-LAST-NAME-OUT. DTSBX451
00266 MOVE WORKER-FIRST-NAME-IN TO WORKER-FIRST-NAME-OUT. DTSBX451
00267 MOVE WORKER-MID-INIT-IN TO WORKER-MID-INIT-OUT. DTSBX451
00268 MOVE WORKER-ADDR-1-IN TO WORKER-ADDR-1-OUT. DTSBX451
00269 MOVE WORKER-CITY-IN TO WORKER-CITY-OUT. DTSBX451
00270 MOVE WORKER-STATE-IN TO WORKER-STATE-OUT. DTSBX451
00271 MOVE WORKER-ZIP-IN TO WORKER-ZIP-OUT. DTSBX451
00272 DTSBX451
00273 WRITE WORKER-REC-OUT FROM WRK-WORKER-REC-OUT. DTSBX451
00274 ADD +1 TO WORKER-OUT-CNT. DTSBX451
00275 DTSBX451
00276 P1100-EXIT. DTSBX451
00277 EXIT. DTSBX451
00278 DTSBX451
00279 P2000-EMPLOYER. DTSBX451
00280 READ EMPLOYER-FILE-IN INTO WRK-EMPLER-REC-IN. DTSBX451
00281 DTSBX451
00282 IF EMP-IN-STATUS-OK-88 DTSBX451
00283 ADD +1 TO EMP-IN-CNT DTSBX451
00284 ELSE DTSBX451
00285 IF EMP-IN-STATUS-EOF-88 DTSBX451
00286 GO TO P2000-EXIT DTSBX451
00287 ELSE DTSBX451
00288 DISPLAY 'BAD READ ON EMPLOYER INPUT FILE ' DTSBX451
00289 EMP-IN-STATUS DTSBX451
00290 PERFORM S999-ABEND THRU S999-EXIT DTSBX451
00291 END-IF DTSBX451
00292 END-IF. DTSBX451
00293 DTSBX451
00294 IF EMPLER-FEIN-IN = WRK-FEIN DTSBX451
00295 NEXT SENTENCE DTSBX451
00296 ELSE DTSBX451
00297 MOVE EMPLER-FEIN-IN TO WRK-FEIN DTSBX451
00298 PERFORM P2100-EMPLOYER-OUTPUT THRU P2100-EXIT DTSBX451
00299 END-IF. DTSBX451
00300 DTSBX451
00301 P2000-EXIT. DTSBX451
00302 EXIT. DTSBX451
00303 DTSBX451
00304 P2100-EMPLOYER-OUTPUT. DTSBX451
00305 MOVE EMPLER-FEIN-IN TO XTRO-FEIN. DTSBX451
00306 SET XTRO-SOURCE-NEWHIRE-88 TO TRUE. DTSBX451
00307 DTSBX451
00308 MOVE EMPLER-NAME-IN TO XTRO-EMP-NAME. DTSBX451
00309 MOVE EMPLER-ADDR-1-IN TO XTRO-STREET-1. DTSBX451
00310 MOVE EMPLER-CITY-IN TO XTRO-CITY-1. DTSBX451
00311 MOVE EMPLER-STATE-IN TO XTRO-STATE-1. DTSBX451
00312 MOVE EMPLER-ZIP-IN TO XTRO-ZIP-1. DTSBX451
00313 DTSBX451
00314 MOVE SPACES TO XTRO-STREET-2 DTSBX451
00315 XTRO-CITY-2 DTSBX451
00316 XTRO-STATE-2 DTSBX451
00317 XTRO-ZIP-2. DTSBX451
00318 DTSBX451
00319 WRITE EMPLOYER-REC-OUT. DTSBX451
00320 ADD +1 TO EMP-OUT-CNT. DTSBX451
00321 DTSBX451
00322 P2100-EXIT. DTSBX451
00323 EXIT. DTSBX451
00324 DTSBX451
00325 T0000-TERMINATE. DTSBX451
00326 DTSBX451
00327 DISPLAY ' '. DTSBX451
00328 DTSBX451
00329 DISPLAY '*** DTSBX451 TERMINATION STATISTICS ***'. DTSBX451
00330 DTSBX451
00331 DISPLAY ' '. DTSBX451
00332 DTSBX451
00333 DISPLAY 'WORKER INPUT RECORDS : ' DTSBX451
00334 WORKER-IN-CNT. DTSBX451
00335 DTSBX451
00336 DISPLAY 'WORKER OUTPUT RECORDS : ' DTSBX451
00337 WORKER-OUT-CNT. DTSBX451
00338 DTSBX451
00339 DISPLAY 'EMPLOYER INPUT RECORDS : ' DTSBX451
00340 EMP-IN-CNT. DTSBX451
00341 DTSBX451
00342 DISPLAY 'EMPLOYER OUTPUT RECORDS : ' DTSBX451
00343 EMP-OUT-CNT. DTSBX451
00344 DTSBX451
00345 CLOSE EMPLOYER-FILE-IN DTSBX451
00346 EMPLOYER-FILE-OUT DTSBX451
00347 WORKER-FILE-IN DTSBX451
00348 WORKER-FILE-OUT. DTSBX451
00349 DTSBX451
00350 T0000-EXIT. DTSBX451
00351 EXIT. DTSBX451
00352 DTSBX451
00353 S001-FROM-NINES-COMP. DTSBX451
00354 SET L001-FROM-NINES-COMPLEMENT TO TRUE. DTSBX451
00355 GO TO S001-DATE. DTSBX451
00356 DTSBX451
00357 S001-FROM-FED-8. DTSBX451
00358 SET L001-FROM-FED-8 TO TRUE. DTSBX451
00359 GO TO S001-DATE. DTSBX451
00360 DTSBX451
00361 S001-DATE. DTSBX451
00362 CALL 'DTSBU001' USING L001-LINK-AREA. DTSBX451
00363 S001-EXIT. DTSBX451
00364 EXIT. DTSBX451
00365 DTSBX451
00366 S005-SYS-DATE. DTSBX451
00367 CALL 'DTSBU005' USING L005-COMM-AREA. DTSBX451
00368 DTSBX451
00369 S005-EXIT. DTSBX451
00370 EXIT. DTSBX451
00371 DTSBX451
00372 S999-ABEND. DTSBX451
00373 CALL 'DTSBU999' USING WRK-ABEND-CD. DTSBX451
00374 S999-EXIT. DTSBX451
00375 EXIT. DTSBX451
00376 DTSBX451