228 lines
18 KiB
COBOL
228 lines
18 KiB
COBOL
00001 IDENTIFICATION DIVISION. 02/17/99
|
|
00002 PROGRAM-ID. DTSBD620. DTSBD620
|
|
00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV002
|
|
00004 DATE-WRITTEN. JANUARY 1992. DTSBD620
|
|
00005 DATE-COMPILED. DTSBD620
|
|
00006 SKIP3 DTSBD620
|
|
00007 ***** DTSBD620
|
|
00008 * DTSBD620
|
|
00009 * FUNCTION: FUTA CURRENT YEAR CERTIFICATION RECORDS DTSBD620
|
|
00010 * SORT AND ELIMINATION OF DUPLICATES. DTSBD620
|
|
00011 * DTSBD620
|
|
00012 * DTSBD620
|
|
00013 * MODIFICATION LOG: DTSBD620
|
|
00014 * DTSBD620
|
|
00015 * 11/03/92 INITIAL DEVELOPMENT. DTSBD620
|
|
00016 * WORK ORDER: PROGRAMMER: TCL DTSBD620
|
|
00017 * DTSBD620
|
|
00018 * 09/20/94 REWRITE FOR MONTANA. DTSBD620
|
|
00019 * WORK ORDER: PROGRAMMER: TCL DTSBD620
|
|
00020 * DTSBD620
|
|
00021 * 02/17/1999 REVIEWED AND MODIFIED FOR DC. CL**2
|
|
00022 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH CL**2
|
|
00023 * CL**2
|
|
00024 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CL**2
|
|
00025 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CL**2
|
|
00026 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX CL**2
|
|
00027 * DTSBD620
|
|
00028 * DTSBD620
|
|
00029 * DESCRIPTION: DTSBD620
|
|
00030 * DTSBD620
|
|
00031 * INITIATION. DTSBD620
|
|
00032 * DTSBD620
|
|
00033 * SORTS THE FUTA CURRENT YEAR CERTIFICATION RECORDS DTSBD620
|
|
00034 * AND DROPS ANY DUPLICATES. DTSBD620
|
|
00035 * DTSBD620
|
|
00036 * THIS PROGRAM GUARDS AGAINST DUPLICATE CURRENT YEAR DTSBD620
|
|
00037 * CERTIFICATION REQUESTS ON THE CERTIFICATION REQUEST DTSBD620
|
|
00038 * TAPE RECEIVED FROM THE IRS. DTSBD620
|
|
00039 * DTSBD620
|
|
00040 * DTSBD620
|
|
00041 ***** DTSBD620
|
|
00042 SKIP3 DTSBD620
|
|
00043 ENVIRONMENT DIVISION. DTSBD620
|
|
00044 SKIP2 DTSBD620
|
|
00045 INPUT-OUTPUT SECTION. DTSBD620
|
|
00046 CL**2
|
|
00047 FILE-CONTROL. DTSBD620
|
|
00048 SELECT INPUT-FILE ASSIGN TO DTSFIN. CL**2
|
|
00049 SELECT OUTPUT-FILE ASSIGN TO DTSFOUT. CL**2
|
|
00050 SELECT SORT-FILE ASSIGN TO SORTFILE. DTSBD620
|
|
00051 EJECT DTSBD620
|
|
00052 DATA DIVISION. DTSBD620
|
|
00053 SKIP3 DTSBD620
|
|
00054 FILE SECTION. DTSBD620
|
|
00055 SKIP3 DTSBD620
|
|
00056 FD INPUT-FILE DTSBD620
|
|
00057 RECORDING MODE IS F DTSBD620
|
|
00058 BLOCK CONTAINS 0 RECORDS DTSBD620
|
|
00059 LABEL RECORDS ARE STANDARD. DTSBD620
|
|
00060 CL**2
|
|
00061 01 INPUT-REC. DTSBD620
|
|
00062 ++INCLUDE DTSIX971 CL**2
|
|
00063 SKIP3 DTSBD620
|
|
00064 FD OUTPUT-FILE DTSBD620
|
|
00065 RECORDING MODE IS F DTSBD620
|
|
00066 BLOCK CONTAINS 0 RECORDS DTSBD620
|
|
00067 LABEL RECORDS ARE STANDARD. DTSBD620
|
|
00068 CL**2
|
|
00069 01 OUTPUT-REC. DTSBD620
|
|
00070 ++INCLUDE DTSIX971 CL**2
|
|
00071 SKIP3 DTSBD620
|
|
00072 SD SORT-FILE. DTSBD620
|
|
00073 CL**2
|
|
00074 01 SORT-REC. DTSBD620
|
|
00075 ++INCLUDE DTSIX971 CL**2
|
|
00076 EJECT DTSBD620
|
|
00077 WORKING-STORAGE SECTION. DTSBD620
|
|
000775 77 PAN-VALET PICTURE X(24) VALUE '002DTSBD620 02/17/99'. DTSBD620
|
|
00078 SKIP3 DTSBD620
|
|
00079 01 WRK-AREA. DTSBD620
|
|
00080 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +620.DTSBD620
|
|
00081 CL**2
|
|
00082 05 WRK-MOD-NAME PIC X(08) VALUE 'DTSBD620'. CL**2
|
|
00083 CL**2
|
|
00084 05 ABEND-MSG PIC X(60). DTSBD620
|
|
00085 CL**2
|
|
00086 CL**2
|
|
00087 05 IN-REC-CNT PIC S9(07) COMP-3. DTSBD620
|
|
00088 CL**2
|
|
00089 05 DUP-REC-DROPPED-CNT PIC S9(07) COMP-3. DTSBD620
|
|
00090 CL**2
|
|
00091 05 OUT-REC-CNT PIC S9(07) COMP-3. DTSBD620
|
|
00092 CL**2
|
|
00093 CL**2
|
|
00094 05 IN-EOF-IND PIC X(01). DTSBD620
|
|
00095 CL**2
|
|
00096 CL**2
|
|
00097 05 SORT-EOR-IND PIC X(01). DTSBD620
|
|
00098 CL**2
|
|
00099 CL**2
|
|
00100 05 HOLD-KEY-AREA PIC X(04). DTSBD620
|
|
00101 EJECT DTSBD620
|
|
00102 PROCEDURE DIVISION. DTSBD620
|
|
00103 CL**2
|
|
00104 CL**2
|
|
00105 PERFORM I0000-INITIATE THRU I0000-EXIT. DTSBD620
|
|
00106 DTSBD620
|
|
00107 CL**2
|
|
00108 PERFORM P0000-PROCESS THRU P0000-EXIT. DTSBD620
|
|
00109 DTSBD620
|
|
00110 CL**2
|
|
00111 PERFORM T0000-TERMINATE THRU T0000-EXIT. DTSBD620
|
|
00112 CL**2
|
|
00113 CL**2
|
|
00114 GOBACK. DTSBD620
|
|
00115 EJECT DTSBD620
|
|
00116 I0000-INITIATE. DTSBD620
|
|
00117 PERFORM I1000-OPEN-FILES THRU I1000-EXIT. DTSBD620
|
|
00118 CL**2
|
|
00119 CL**2
|
|
00120 MOVE +0 TO IN-REC-CNT DTSBD620
|
|
00121 DUP-REC-DROPPED-CNT DTSBD620
|
|
00122 OUT-REC-CNT. DTSBD620
|
|
00123 I0000-EXIT. DTSBD620
|
|
00124 EXIT. DTSBD620
|
|
00125 SKIP3 DTSBD620
|
|
00126 I1000-OPEN-FILES. DTSBD620
|
|
00127 OPEN INPUT INPUT-FILE. DTSBD620
|
|
00128 DTSBD620
|
|
00129 OPEN OUTPUT OUTPUT-FILE. DTSBD620
|
|
00130 I1000-EXIT. DTSBD620
|
|
00131 EXIT. DTSBD620
|
|
00132 EJECT DTSBD620
|
|
00133 P0000-PROCESS. DTSBD620
|
|
00134 SORT SORT-FILE DTSBD620
|
|
00135 ON ASCENDING KEY X971-KEY-AREA OF SORT-REC DTSBD620
|
|
00136 INPUT PROCEDURE P1000-PRE-SORT THRU P1000-EXIT DTSBD620
|
|
00137 OUTPUT PROCEDURE P2000-POST-SORT THRU P2000-EXIT. DTSBD620
|
|
00138 P0000-EXIT. DTSBD620
|
|
00139 EXIT. DTSBD620
|
|
00140 EJECT DTSBD620
|
|
00141 P1000-PRE-SORT. DTSBD620
|
|
00142 MOVE 'N' TO IN-EOF-IND. DTSBD620
|
|
00143 CL**2
|
|
00144 CL**2
|
|
00145 PERFORM P1100-INPUT-RELEASE THRU P1100-EXIT DTSBD620
|
|
00146 UNTIL IN-EOF-IND = 'Y'. DTSBD620
|
|
00147 CL**2
|
|
00148 CL**2
|
|
00149 DISPLAY ' '. DTSBD620
|
|
00150 CL**2
|
|
00151 DISPLAY '*** DTSBD620 PRE SORT STATISTICS'. CL**2
|
|
00152 CL**2
|
|
00153 DISPLAY IN-REC-CNT DTSBD620
|
|
00154 ' RECORDS INCLUDED IN SORT'. DTSBD620
|
|
00155 P1000-EXIT. DTSBD620
|
|
00156 EXIT. DTSBD620
|
|
00157 SKIP3 DTSBD620
|
|
00158 P1100-INPUT-RELEASE. DTSBD620
|
|
00159 READ INPUT-FILE DTSBD620
|
|
00160 AT END DTSBD620
|
|
00161 MOVE 'Y' TO IN-EOF-IND DTSBD620
|
|
00162 GO TO P1100-EXIT. DTSBD620
|
|
00163 CL**2
|
|
00164 CL**2
|
|
00165 ADD +1 TO IN-REC-CNT. DTSBD620
|
|
00166 CL**2
|
|
00167 MOVE INPUT-REC TO SORT-REC. DTSBD620
|
|
00168 CL**2
|
|
00169 RELEASE SORT-REC. DTSBD620
|
|
00170 P1100-EXIT. DTSBD620
|
|
00171 EXIT. DTSBD620
|
|
00172 EJECT DTSBD620
|
|
00173 P2000-POST-SORT. DTSBD620
|
|
00174 MOVE LOW-VALUES TO HOLD-KEY-AREA. DTSBD620
|
|
00175 CL**2
|
|
00176 CL**2
|
|
00177 MOVE 'N' TO SORT-EOR-IND. DTSBD620
|
|
00178 CL**2
|
|
00179 PERFORM P2100-PROCESS-RETURN THRU P2100-EXIT DTSBD620
|
|
00180 UNTIL SORT-EOR-IND = 'Y'. DTSBD620
|
|
00181 CL**2
|
|
00182 CL**2
|
|
00183 DISPLAY ' '. DTSBD620
|
|
00184 CL**2
|
|
00185 DISPLAY '*** DTSBD620 POST SORT STATISTICS'. CL**2
|
|
00186 CL**2
|
|
00187 DISPLAY DUP-REC-DROPPED-CNT DTSBD620
|
|
00188 ' RECORDS DROPPED (DUPLICATE EMP NO)'. DTSBD620
|
|
00189 CL**2
|
|
00190 DISPLAY OUT-REC-CNT DTSBD620
|
|
00191 ' RECORDS OUTPUT'. DTSBD620
|
|
00192 P2000-EXIT. DTSBD620
|
|
00193 EXIT. DTSBD620
|
|
00194 SKIP3 DTSBD620
|
|
00195 P2100-PROCESS-RETURN. DTSBD620
|
|
00196 RETURN SORT-FILE DTSBD620
|
|
00197 AT END DTSBD620
|
|
00198 MOVE 'Y' TO SORT-EOR-IND DTSBD620
|
|
00199 GO TO P2100-EXIT. DTSBD620
|
|
00200 CL**2
|
|
00201 CL**2
|
|
00202 IF X971-KEY-AREA OF SORT-FILE DTSBD620
|
|
00203 = HOLD-KEY-AREA DTSBD620
|
|
00204 ADD +1 TO DUP-REC-DROPPED-CNT DTSBD620
|
|
00205 ELSE DTSBD620
|
|
00206 MOVE X971-KEY-AREA OF SORT-FILE DTSBD620
|
|
00207 TO HOLD-KEY-AREA DTSBD620
|
|
00208 ADD +1 TO OUT-REC-CNT DTSBD620
|
|
00209 MOVE SORT-REC TO OUTPUT-REC DTSBD620
|
|
00210 WRITE OUTPUT-REC. DTSBD620
|
|
00211 P2100-EXIT. DTSBD620
|
|
00212 EXIT. DTSBD620
|
|
00213 EJECT DTSBD620
|
|
00214 T0000-TERMINATE. DTSBD620
|
|
00215 CLOSE INPUT-FILE DTSBD620
|
|
00216 OUTPUT-FILE. DTSBD620
|
|
00217 T0000-EXIT. DTSBD620
|
|
00218 EXIT. DTSBD620
|
|
00219 EJECT DTSBD620
|
|
00220 S999-ABEND. DTSBD620
|
|
00221 DISPLAY '*** DTSBD620 ABENDING - ' CL**2
|
|
00222 ABEND-MSG. DTSBD620
|
|
00223 CL**2
|
|
00224 CALL 'DTSBU999' USING WRK-ABEND-CD. CL**2
|
|
00225 S999-EXIT. DTSBD620
|
|
00226 EXIT. DTSBD620
|