136 lines
11 KiB
COBOL
136 lines
11 KiB
COBOL
00001 IDENTIFICATION DIVISION. 09/30/98
|
|
00002 PROGRAM-ID. DTSBU947. DTSBU947
|
|
00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV002
|
|
00004 DATE-WRITTEN. DECEMBER 1991. DTSBU947
|
|
00005 DATE-COMPILED. DTSBU947
|
|
00006 SKIP3 DTSBU947
|
|
00007 ***** DTSBU947
|
|
00008 * DTSBU947
|
|
00009 * FUNCTION: VARIABLE LENGTH RECORD (FILE 2) OUTPUT. DTSBU947
|
|
00010 * DTSBU947
|
|
00011 * DTSBU947
|
|
00012 * MODIFICATION LOG: DTSBU947
|
|
00013 * DTSBU947
|
|
00014 * 12/18/91 INITIAL DEVELOPMENT. DTSBU947
|
|
00015 * WORK ORDER: PROGRAMMER: TCL DTSBU947
|
|
00016 * DTSBU947
|
|
00017 * XX/XX/XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU947
|
|
00018 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSBU947
|
|
00019 * WORK ORDER: PROGRAMMER: XXX DTSBU947
|
|
00020 * DTSBU947
|
|
00021 * DTSBU947
|
|
00022 * DESCRIPTION: DTSBU947
|
|
00023 * DTSBU947
|
|
00024 * DTSBU947 WRITES REPORT RECORDS TO DTSFVRO2. CL**2
|
|
00025 * DTSBU947
|
|
00026 * DTSBU947
|
|
00027 ***** DTSBU947
|
|
00028 SKIP3 DTSBU947
|
|
00029 ENVIRONMENT DIVISION. DTSBU947
|
|
00030 SKIP2 DTSBU947
|
|
00031 INPUT-OUTPUT SECTION. DTSBU947
|
|
00032 CL**2
|
|
00033 FILE-CONTROL. DTSBU947
|
|
00034 SELECT VAR-FILE ASSIGN TO DTSFVRO2 CL**2
|
|
00035 FILE STATUS IS FILE-STATUS. DTSBU947
|
|
00036 SKIP3 DTSBU947
|
|
00037 DATA DIVISION. DTSBU947
|
|
00038 SKIP3 DTSBU947
|
|
00039 FILE SECTION. DTSBU947
|
|
00040 SKIP3 DTSBU947
|
|
00041 FD VAR-FILE DTSBU947
|
|
00042 RECORDING MODE IS V DTSBU947
|
|
00043 BLOCK CONTAINS 0 RECORDS. DTSBU947
|
|
00044 CL**2
|
|
00045 01 FILE-REC. DTSBU947
|
|
00046 ++INCLUDE DTSIRVAR CL**2
|
|
00047 EJECT DTSBU947
|
|
00048 WORKING-STORAGE SECTION. DTSBU947
|
|
000485 77 PAN-VALET PICTURE X(24) VALUE '002DTSBU947 09/30/98'. DTSBU947
|
|
00049 SKIP3 DTSBU947
|
|
00050 01 WRK-AREA. DTSBU947
|
|
00051 05 WRK-ABEND-CD PIC S9(04) COMP VALUE +947.DTSBU947
|
|
00052 CL**2
|
|
00053 05 FIRST-TIME-IND PIC X(01) VALUE 'Y'. DTSBU947
|
|
00054 CL**2
|
|
00055 05 VAR-CHAR-CNT PIC S9(04) COMP. DTSBU947
|
|
00056 CL**2
|
|
00057 05 WRK-REC-CNT PIC S9(07) COMP-3. DTSBU947
|
|
00058 CL**2
|
|
00059 05 FILE-STATUS PIC X(02). DTSBU947
|
|
00060 88 FILE-OK-88 VALUE '00'. DTSBU947
|
|
00061 EJECT DTSBU947
|
|
00062 01 RLEN-LENGTH-LITERALS. DTSBU947
|
|
00063 ++INCLUDE DTSIRLEN CL**2
|
|
00064 EJECT DTSBU947
|
|
00065 LINKAGE SECTION. DTSBU947
|
|
00066 SKIP3 DTSBU947
|
|
00067 01 LINK-REC. DTSBU947
|
|
00068 ++INCLUDE DTSIRVAR CL**2
|
|
00069 EJECT DTSBU947
|
|
00070 PROCEDURE DIVISION USING LINK-REC. DTSBU947
|
|
00071 CL**2
|
|
00072 CL**2
|
|
00073 IF FIRST-TIME-IND = 'Y' DTSBU947
|
|
00074 PERFORM P1000-OPEN THRU P1000-EXIT DTSBU947
|
|
00075 MOVE +0 TO WRK-REC-CNT DTSBU947
|
|
00076 MOVE 'N' TO FIRST-TIME-IND. DTSBU947
|
|
00077 CL**2
|
|
00078 IF RVAR-LENGTH OF LINK-REC = -1 DTSBU947
|
|
00079 DISPLAY '*** ' DTSBU947
|
|
00080 WRK-REC-CNT DTSBU947
|
|
00081 ' DTSFVRO2 RECORDS WRITTEN' CL**2
|
|
00082 PERFORM P2000-CLOSE THRU P2000-EXIT DTSBU947
|
|
00083 ELSE DTSBU947
|
|
00084 IF RVAR-LENGTH OF LINK-REC < RLEN-MIN-LENGTH DTSBU947
|
|
00085 OR DTSBU947
|
|
00086 RVAR-LENGTH OF LINK-REC > RLEN-MAX-LENGTH DTSBU947
|
|
00087 PERFORM S999-ABEND THRU S999-EXIT DTSBU947
|
|
00088 ELSE DTSBU947
|
|
00089 COMPUTE VAR-CHAR-CNT = RVAR-LENGTH OF LINK-REC - 2 DTSBU947
|
|
00090 MOVE LINK-REC TO FILE-REC DTSBU947
|
|
00091 PERFORM P3000-WRITE THRU P3000-EXIT DTSBU947
|
|
00092 ADD +1 TO WRK-REC-CNT. DTSBU947
|
|
00093 CL**2
|
|
00094 CL**2
|
|
00095 GOBACK. DTSBU947
|
|
00096 EJECT DTSBU947
|
|
00097 P1000-OPEN. DTSBU947
|
|
00098 OPEN OUTPUT VAR-FILE. DTSBU947
|
|
00099 CL**2
|
|
00100 IF FILE-OK-88 DTSBU947
|
|
00101 NEXT SENTENCE DTSBU947
|
|
00102 ELSE DTSBU947
|
|
00103 PERFORM S999-ABEND THRU S999-EXIT. DTSBU947
|
|
00104 P1000-EXIT. DTSBU947
|
|
00105 EXIT. DTSBU947
|
|
00106 SKIP3 DTSBU947
|
|
00107 P2000-CLOSE. DTSBU947
|
|
00108 CLOSE VAR-FILE. DTSBU947
|
|
00109 CL**2
|
|
00110 IF FILE-OK-88 DTSBU947
|
|
00111 NEXT SENTENCE DTSBU947
|
|
00112 ELSE DTSBU947
|
|
00113 PERFORM S999-ABEND THRU S999-EXIT. DTSBU947
|
|
00114 P2000-EXIT. DTSBU947
|
|
00115 EXIT. DTSBU947
|
|
00116 SKIP3 DTSBU947
|
|
00117 P3000-WRITE. DTSBU947
|
|
00118 WRITE FILE-REC. DTSBU947
|
|
00119 CL**2
|
|
00120 IF FILE-OK-88 DTSBU947
|
|
00121 NEXT SENTENCE DTSBU947
|
|
00122 ELSE DTSBU947
|
|
00123 PERFORM S999-ABEND THRU S999-EXIT. DTSBU947
|
|
00124 P3000-EXIT. DTSBU947
|
|
00125 EXIT. DTSBU947
|
|
00126 EJECT DTSBU947
|
|
00127 S999-ABEND. DTSBU947
|
|
00128 DISPLAY '*** I/O MODULE ABENDING'. DTSBU947
|
|
00129 CL**2
|
|
00130 DISPLAY '*** FILE-STATUS = ' FILE-STATUS. DTSBU947
|
|
00131 CL**2
|
|
00132 CALL 'DTSBU999' USING WRK-ABEND-CD. CL**2
|
|
00133 S999-EXIT. DTSBU947
|
|
00134 EXIT. DTSBU947
|