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