Files
DUTAS/Batch/DOESU941.cob

229 lines
18 KiB
COBOL

00001 IDENTIFICATION DIVISION. 04/12/01
00002 PROGRAM-ID. DOESU941. DOESU941
00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV009
00004 DATE-WRITTEN. FEBRUARY 1992. DOESU941
00005 DATE-COMPILED. DOESU941
00006 SKIP3 DOESU941
00007 ***** DOESU941
00008 * DOESU941
00009 * FUNCTION: VARIABLE LENGTH RECORD INPUT 1. DOESU941
00010 * DOESU941
00011 * DOESU941
00012 * MODIFICATION LOG: DOESU941
00013 * DOESU941
00014 * 02/13/92 INITIAL DEVELOPMENT. DOESU941
00015 * WORK ORDER: PROGRAMMER: TCL DOESU941
00016 * DOESU941
00017 * 09/30/1998 REVIEWED AND MODIFIED FOR DC. DOESU941
00018 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH DOESU941
00019 * DOESU941
00020 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DOESU941
00021 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DOESU941
00022 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX DOESU941
00023 * DOESU941
00024 * DOESU941
00025 * DESCRIPTION: DOESU941
00026 * DOESU941
00027 * DOESU941 PERFORMS ALL REQUIRED VARIABLE LENGTH RECORD CL**4
00028 * INPUT. DOESU941
00029 * DOESU941
00030 * DOESU941
00031 * GENERAL SPECIFICATIONS: DOESU941
00032 * DOESU941
00033 * INVENTED TO ADD FLEXIBILITY TO THE VARIABLE LENGTH DOESU941
00034 * RECORD (REPORT AND TRANSACTION) FILES. IT IS NOT DOESU941
00035 * CLEAR WHETHER QSAM OR A VSAM ESDS IS THE DOESU941
00036 * WAY TO GO. BY PUTTING THE READ IN A MODULE, IT WILL DOESU941
00037 * BE EASY TO SWITCH TECHNIQUES AT A FUTURE TIME. DOESU941
00038 * DOESU941
00039 * DOESU941
00040 * COMMAND SPECIFIC SPECIFICATIONS: DOESU941
00041 * DOESU941
00042 * OPEN-READ DOESU941
00043 * OPEN INPUT. DOESU941
00044 * DOESU941
00045 * CLOSE DOESU941
00046 * DOESU941
00047 * READ NEXT DOESU941
00048 * DOESU941
00049 * IF RSK1-REC-TYPE = '000' OR SPACES OR LOW-VALUES DOESU941
00050 * BYPASS THE RECORD. DOESU941
00051 * DOESU941
00052 * IF RVAR-LENGTH OF FILE-REC < RLEN-MIN-LENGTH DOESU941
00053 * OR DOESU941
00054 * RVAR-LENGTH OF FILE-REC > RLEN-MAX-LENGTH DOESU941
00055 * ABEND PROCESSING. DOESU941
00056 * DOESU941
00057 * VAR-CHAR-CNT MUST BE SET BEFORE THE MOVE FROM DOESU941
00058 * FILE-REC TO LINK-REC. DOESU941
00059 * DOESU941
00060 * VAR-CHAR-CNT = RVAR-LENGTH OF FILE-REC - 2. DOESU941
00061 * DOESU941
00062 ***** DOESU941
00063 SKIP3 DOESU941
00064 ENVIRONMENT DIVISION. DOESU941
00065 SKIP2 DOESU941
00066 INPUT-OUTPUT SECTION. DOESU941
00067 DOESU941
00068 FILE-CONTROL. DOESU941
00069 SELECT OPTIONAL VAR-FILE ASSIGN TO DOESVRI1 CL**6
00070 FILE STATUS IS FILE-STATUS. DOESU941
00071 SKIP3 DOESU941
00072 DATA DIVISION. DOESU941
00073 SKIP3 DOESU941
00074 FILE SECTION. DOESU941
00075 SKIP3 DOESU941
00076 FD VAR-FILE DOESU941
00077 RECORDING MODE IS V DOESU941
00078 BLOCK CONTAINS 0 RECORDS. DOESU941
00079 DOESU941
00080 01 FILE-REC. DOESU941
00081 ++INCLUDE DTSIRVAR DOESU941
00082 SKIP3 DOESU941
00083 01 RSK1-REC. DOESU941
00084 ++INCLUDE DTSIRSK1 DOESU941
00085 EJECT DOESU941
00086 WORKING-STORAGE SECTION. DOESU941
000865 77 PAN-VALET PICTURE X(24) VALUE '009DOESU941 04/12/01'. DOESU941
00087 SKIP3 DOESU941
00088 01 WRK-AREA. DOESU941
00089 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +941.DOESU941
00090 DOESU941
00091 05 VAR-CHAR-CNT PIC S9(04) COMP. DOESU941
00092 DOESU941
00093 05 WRK-REC-CNT PIC S9(07) COMP-3. DOESU941
00094 DOESU941
00095 05 FILE-STATUS PIC X(02). DOESU941
00096 88 FILE-OK-88 VALUE '00'. DOESU941
00097 88 FILE-NO-REC-88 VALUE '10'. DOESU941
00098 ***** 88 FILE-VERIFY-88 VALUE '97'. DOESU941
00099 EJECT DOESU941
00100 01 RLEN-LENGTH-LITERALS. DOESU941
00101 ++INCLUDE DTSIRLEN DOESU941
00102 EJECT DOESU941
00103 LINKAGE SECTION. DOESU941
00104 SKIP3 DOESU941
00105 01 L941-LINK-AREA. DOESU941
00106 ++INCLUDE DTSIL941 DOESU941
00107 EJECT DOESU941
00108 01 LINK-REC. DOESU941
00109 ++INCLUDE DTSIRVAR DOESU941
00110 EJECT DOESU941
00111 PROCEDURE DIVISION USING L941-LINK-AREA DOESU941
00112 LINK-REC. DOESU941
00113 DOESU941
00114 IF L941-TRACE-88 DOESU941
00115 PERFORM S9100-PRE-DISPLAY THRU S9100-EXIT. DOESU941
00116 DOESU941
00117 SET L941-OK-88 TO TRUE. DOESU941
00118 DOESU941
00119 IF L941-READ-NEXT-88 DOESU941
00120 PERFORM P2300-READ-NEXT THRU P2300-EXIT DOESU941
00121 ELSE DOESU941
00122 IF L941-OPEN-READ-88 DOESU941
00123 PERFORM P1100-OPEN-READ THRU P1100-EXIT DOESU941
00124 ELSE DOESU941
00125 IF L941-CLOSE-88 DOESU941
00126 PERFORM P1200-CLOSE THRU P1200-EXIT DOESU941
00127 ELSE DOESU941
00128 PERFORM S999-ABEND THRU S999-EXIT. DOESU941
00129 DOESU941
00130 IF L941-TRACE-88 DOESU941
00131 PERFORM S9200-POST-DISPLAY THRU S9200-EXIT. DOESU941
00132 DOESU941
00133 DOESU941
00134 GOBACK. DOESU941
00135 EJECT DOESU941
00136 P1100-OPEN-READ. DOESU941
00137 OPEN INPUT VAR-FILE. DOESU941
00138 IF FILE-OK-88 DOESU941
00139 NEXT SENTENCE DOESU941
00140 ELSE DOESU941
00141 PERFORM S999-ABEND THRU S999-EXIT. CL**5
00142 DOESU941
00143 MOVE +0 TO WRK-REC-CNT. DOESU941
00144 P1100-EXIT. DOESU941
00145 EXIT. DOESU941
00146 SKIP3 DOESU941
00147 P1200-CLOSE. DOESU941
00148 CLOSE VAR-FILE. DOESU941
00149 DOESU941
00150 IF NOT FILE-OK-88 DOESU941
00151 PERFORM S999-ABEND THRU S999-EXIT. DOESU941
00152 DOESU941
00153 DISPLAY '*** ' DOESU941
00154 WRK-REC-CNT DOESU941
00155 ' DOESVRII XEROX LABELS RECORDS READ'. CL**4
00156 P1200-EXIT. DOESU941
00157 EXIT. DOESU941
00158 EJECT DOESU941
00159 P2300-READ-NEXT. DOESU941
00160 READ VAR-FILE. DOESU941
00161 DOESU941
00162 IF FILE-NO-REC-88 DOESU941
00163 SET L941-NO-REC-88 TO TRUE DOESU941
00164 GO TO P2300-EXIT. DOESU941
00165 DOESU941
00166 IF NOT FILE-OK-88 DOESU941
00167 PERFORM S999-ABEND THRU S999-EXIT. DOESU941
00168 DOESU941
00169 IF RSK1-REC-TYPE = '000' OR SPACES OR LOW-VALUES CL**5
00170 GO TO P2300-READ-NEXT. CL**5
00171 CL**5
00172 IF (RSK1-LENGTH < RLEN-MIN-LENGTH) DOESU941
00173 OR DOESU941
00174 (RSK1-LENGTH > RLEN-MAX-LENGTH) DOESU941
00175 PERFORM S999-ABEND THRU S999-EXIT. DOESU941
00176 CL**5
00177 ADD +1 TO WRK-REC-CNT. DOESU941
00178 DOESU941
00179 COMPUTE VAR-CHAR-CNT = RVAR-LENGTH OF FILE-REC - 2. DOESU941
00180 DOESU941
00181 MOVE FILE-REC TO LINK-REC. DOESU941
00182 P2300-EXIT. DOESU941
00183 EXIT. DOESU941
00184 EJECT DOESU941
00185 S9100-PRE-DISPLAY. DOESU941
00186 DISPLAY ' '. DOESU941
00187 DOESU941
00188 DISPLAY ' '. DOESU941
00189 DOESU941
00190 DISPLAY '*** DOESU941 PRE TRACE DISPLAY ***'. CL**4
00191 DOESU941
00192 DISPLAY L941-MOD-NAME DOESU941
00193 ' = L941-MOD-NAME'. DOESU941
00194 DOESU941
00195 DISPLAY L941-CMND-CD DOESU941
00196 ' = L941-CMND-CD'. DOESU941
00197 S9100-EXIT. DOESU941
00198 EXIT. DOESU941
00199 SKIP3 DOESU941
00200 S9200-POST-DISPLAY. DOESU941
00201 DISPLAY ' '. DOESU941
00202 DOESU941
00203 DISPLAY '*** DOESU941 POST TRACE DISPLAY ***'. CL**4
00204 DOESU941
00205 DISPLAY L941-RESULT-IND DOESU941
00206 ' = L941-RESULT-IND'. DOESU941
00207 DOESU941
00208 DISPLAY RVAR-LENGTH OF LINK-REC DOESU941
00209 ' = RVAR-LENGTH OF LINK-REC'. DOESU941
00210 DOESU941
00211 DISPLAY RVAR-CHAR OF LINK-REC (1) DOESU941
00212 RVAR-CHAR OF LINK-REC (2) DOESU941
00213 RVAR-CHAR OF LINK-REC (3) DOESU941
00214 ' = REC-TYPE OF LINK-REC'. DOESU941
00215 S9200-EXIT. DOESU941
00216 EXIT. DOESU941
00217 EJECT DOESU941
00218 S999-ABEND. DOESU941
00219 DISPLAY '*** I/O MODULE ABENDING'. DOESU941
00220 DOESU941
00221 DISPLAY '*** CMND-CD = ' L941-CMND-CD. DOESU941
00222 DOESU941
00223 DISPLAY '*** FILE-STATUS = ' FILE-STATUS. DOESU941
00224 DOESU941
00225 CALL 'DTSBU999' USING WRK-ABEND-CD. DOESU941
00226 S999-EXIT. DOESU941
00227 EXIT. DOESU941