00001 IDENTIFICATION DIVISION. 08/28/02 00002 PROGRAM-ID. DESBD112. DESBD112 00003 AUTHOR. TRW. LV003 00004 DATE-WRITTEN. APRIL 2001. DESBD112 00005 DATE-COMPILED. DESBD112 00006 SKIP3 DESBD112 00007 ***** DESBD112 00008 * DESBD112 00009 * FUNCTION: MERGE W4 TRANSACTIONS FROM DAILY DESBD112 00010 * FLAT FILE TO PRODUCTION FILE THAT IS INPUT TO DESBD112 00011 * THE WAGE UPDATE PROCESS. DESBD112 00012 * ELECTRONIC MEDIA TRACKING SYSTEM DESBD112 00013 * DESBD112 00014 * DESBD112 00015 ***** DESBD112 00016 SKIP3 DESBD112 00017 ENVIRONMENT DIVISION. DESBD112 00018 INPUT-OUTPUT SECTION. DESBD112 00019 FILE-CONTROL. DESBD112 00020 SELECT BD110-W4-IN-FILE ASSIGN TO BD110W4 DESBD112 00021 FILE STATUS IS BD110-W4-IN-STATUS. DESBD112 00022 DESBD112 00023 SELECT BD110-W4-OUT-FILE ASSIGN TO BD110W4O DESBD112 00024 FILE STATUS IS BD110-W4-OUT-STATUS. DESBD112 00025 DESBD112 00026 SKIP2 DESBD112 00027 DATA DIVISION. DESBD112 00028 FILE SECTION. DESBD112 00029 FD BD110-W4-IN-FILE DESBD112 00030 RECORDING MODE IS F DESBD112 00031 BLOCK CONTAINS 0 RECORDS. DESBD112 00032 DESBD112 00033 01 BD110-W4-IN-REC. DESBD112 00034 05 BD110-W4-IN-LOG-NO PIC 9(10). DESBD112 00035 05 BD110-W4-IN-DATA PIC X(80). DESBD112 00036 DESBD112 00037 FD BD110-W4-OUT-FILE DESBD112 00038 RECORDING MODE IS F DESBD112 00039 BLOCK CONTAINS 0 RECORDS. DESBD112 00040 DESBD112 00041 01 BD110-W4-OUT-REC PIC X(80). DESBD112 00042 DESBD112 00043 WORKING-STORAGE SECTION. DESBD112 000435 77 PAN-VALET PICTURE X(24) VALUE '003DESBD112 08/28/02'. DESBD112 00044 SKIP3 DESBD112 00045 01 WRK-AREA. DESBD112 00046 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +112. DESBD112 00047 DESBD112 00048 05 WRK-INPUT-CNT PIC 9(07) COMP-3 VALUE 0. DESBD112 00049 05 WRK-OUTPUT-CNT PIC 9(07) COMP-3 VALUE 0. DESBD112 00050 05 WRK-CNT-DISP PIC Z(06)9. DESBD112 00051 DESBD112 00052 05 BD110-W4-IN-STATUS PIC X(02). DESBD112 00053 88 BD110-W4-IN-OK-88 VALUE '00'. DESBD112 00054 88 BD110-W4-IN-EOF-88 VALUE '10'. DESBD112 00055 DESBD112 00056 05 BD110-W4-OUT-STATUS PIC X(02). DESBD112 00057 88 BD110-W4-OUT-OK-88 VALUE '00'. DESBD112 00058 DESBD112 00059 05 WRK-ERROR-IND PIC X(01). DESBD112 00060 88 WRK-ERROR-YES-88 VALUE 'Y'. DESBD112 00061 88 WRK-ERROR-NO-88 VALUE 'N'. DESBD112 00062 DESBD112 00063 05 WRK-SELECT-IND PIC X(01). DESBD112 00064 88 WRK-SELECT-YES-88 VALUE 'Y'. DESBD112 00065 88 WRK-SELECT-NO-88 VALUE 'N'. DESBD112 00066 DESBD112 00067 05 WRK-DUMMY-REC PIC X(80) DESBD112 00068 VALUE ZEROS. DESBD112 00069 DESBD112 00070 LINKAGE SECTION. DESBD112 00071 01 BD110-LINK-AREA. DESBD112 00072 ++INCLUDE DESIL110 DESBD112 00073 DESBD112 00074 PROCEDURE DIVISION USING BD110-LINK-AREA. DESBD112 00075 DESBD112 00076 DESBD112-MAIN. DESBD112 00077 PERFORM I0000-INITIATE THRU I0000-EXIT. DESBD112 00078 IF WRK-ERROR-YES-88 DESBD112 00079 GO TO DESBD112-MAIN-EXIT. DESBD112 00080 DESBD112 00081 PERFORM P0000-PROCESS THRU P0000-EXIT. DESBD112 00082 DESBD112 00083 PERFORM T0000-TERMINATE THRU T0000-EXIT. DESBD112 00084 DESBD112 00085 DESBD112-MAIN-EXIT. DESBD112 00086 GOBACK. DESBD112 00087 EJECT DESBD112 00088 I0000-INITIATE. DESBD112 00089 SET WRK-ERROR-NO-88 TO TRUE. DESBD112 00090 DESBD112 00091 PERFORM I1000-OPEN-FILES THRU I1000-EXIT. DESBD112 00092 DESBD112 00093 I0000-EXIT. DESBD112 00094 EXIT. DESBD112 00095 DESBD112 00096 I1000-OPEN-FILES. DESBD112 00097 OPEN INPUT BD110-W4-IN-FILE. DESBD112 00098 IF NOT BD110-W4-IN-OK-88 DESBD112 00099 DISPLAY 'CANNOT OPEN INPUT FILE ' DESBD112 00100 BD110-W4-IN-STATUS DESBD112 00101 SET WRK-ERROR-YES-88 TO TRUE DESBD112 00102 GO TO I1000-EXIT. DESBD112 00103 DESBD112 00104 OPEN OUTPUT BD110-W4-OUT-FILE. DESBD112 00105 IF NOT BD110-W4-OUT-OK-88 DESBD112 00106 DISPLAY 'CANNOT OPEN OUTPUT FILE ' DESBD112 00107 BD110-W4-OUT-STATUS DESBD112 00108 SET WRK-ERROR-YES-88 TO TRUE DESBD112 00109 GO TO I1000-EXIT. DESBD112 00110 DESBD112 00111 I1000-EXIT. DESBD112 00112 EXIT. DESBD112 00113 DESBD112 00114 EJECT DESBD112 00115 P0000-PROCESS. DESBD112 00116 IF L110-LOG-CNT = ZERO DESBD112 00117 PERFORM P1300-WRITE-DUMMY-REC THRU P1300-EXIT DESBD112 00118 GO TO P0000-EXIT. DESBD112 00119 DESBD112 00120 READ BD110-W4-IN-FILE. DESBD112 00121 IF NOT BD110-W4-IN-OK-88 DESBD112 00122 DISPLAY 'INPUT FILE EMPTY ' DESBD112 00123 BD110-W4-IN-STATUS DESBD112 00124 GO TO P0000-EXIT. DESBD112 00125 DESBD112 00126 PERFORM P1000-INPUT-LOOP THRU P1000-EXIT DESBD112 00127 UNTIL WRK-ERROR-YES-88 DESBD112 00128 OR BD110-W4-IN-EOF-88. DESBD112 00129 DESBD112 00130 P0000-EXIT. DESBD112 00131 EXIT. DESBD112 00132 EJECT DESBD112 00133 DESBD112 00134 P1000-INPUT-LOOP. DESBD112 00135 ADD +1 TO WRK-INPUT-CNT. DESBD112 00136 DESBD112 00137 SET WRK-SELECT-NO-88 TO TRUE. DESBD112 00138 PERFORM P1100-SCAN-LOG-TABLE THRU P1100-EXIT. DESBD112 00139 IF WRK-SELECT-YES-88 DESBD112 00140 PERFORM P1200-WRITE-OUTPUT THRU P1200-EXIT. DESBD112 00141 DESBD112 00142 READ BD110-W4-IN-FILE. DESBD112 00143 DESBD112 00144 P1000-EXIT. DESBD112 00145 EXIT. DESBD112 00146 DESBD112 00147 P1100-SCAN-LOG-TABLE. DESBD112 00148 SET LOG-IDX TO +1. DESBD112 00149 SEARCH L110-LOG-NO-TABLE VARYING LOG-IDX DESBD112 00150 WHEN BD110-W4-IN-LOG-NO = L110-LOG-NO (LOG-IDX) DESBD112 00151 SET WRK-SELECT-YES-88 TO TRUE DESBD112 00152 END-SEARCH. DESBD112 00153 DESBD112 00154 P1100-EXIT. DESBD112 00155 EXIT. DESBD112 00156 DESBD112 00157 P1200-WRITE-OUTPUT. DESBD112 00158 ADD +1 TO WRK-OUTPUT-CNT. DESBD112 00159 DESBD112 00160 MOVE BD110-W4-IN-DATA TO BD110-W4-OUT-REC. DESBD112 00161 WRITE BD110-W4-OUT-REC. DESBD112 00162 IF NOT BD110-W4-OUT-OK-88 DESBD112 00163 DISPLAY 'CANNOT WRITE OUTPUT ' DESBD112 00164 BD110-W4-OUT-STATUS DESBD112 00165 SET WRK-ERROR-YES-88 TO TRUE DESBD112 00166 GO TO P1200-EXIT. DESBD112 00167 DESBD112 00168 P1200-EXIT. DESBD112 00169 EXIT. DESBD112 00170 DESBD112 00171 P1300-WRITE-DUMMY-REC. DESBD112 00172 MOVE WRK-DUMMY-REC TO BD110-W4-OUT-REC. DESBD112 00173 WRITE BD110-W4-OUT-REC. DESBD112 00174 IF NOT BD110-W4-OUT-OK-88 DESBD112 00175 DISPLAY 'CANNOT WRITE OUTPUT ' DESBD112 00176 BD110-W4-OUT-STATUS. DESBD112 00177 DESBD112 00178 P1300-EXIT. DESBD112 00179 EXIT. DESBD112 00180 DESBD112 00181 DESBD112 00182 T0000-TERMINATE. DESBD112 00183 DESBD112 00184 DISPLAY ' '. DESBD112 00185 DESBD112 00186 DISPLAY '*** DESBD112 TERMINATION STATISTICS ***'. DESBD112 00187 DESBD112 00188 DISPLAY ' '. DESBD112 00189 DESBD112 00190 MOVE WRK-INPUT-CNT TO WRK-CNT-DISP. DESBD112 00191 DISPLAY ' INPUT RECORDS READ: ' DESBD112 00192 WRK-CNT-DISP. DESBD112 00193 DESBD112 00194 MOVE WRK-OUTPUT-CNT TO WRK-CNT-DISP. DESBD112 00195 DISPLAY ' OUTPUT RECORDS WRITTEN: ' DESBD112 00196 WRK-CNT-DISP. DESBD112 00197 DESBD112 00198 DISPLAY SPACE. DESBD112 00199 DESBD112 00200 CLOSE BD110-W4-IN-FILE DESBD112 00201 BD110-W4-OUT-FILE. DESBD112 00202 DESBD112 00203 T0000-EXIT. DESBD112 00204 EXIT. DESBD112