View previous topic :: View next topic
|
Author |
Message |
er_vijaysingh
New User
Joined: 06 Aug 2007 Posts: 4 Location: chennai
|
|
|
|
hi all,
i have a VB format file having 5 different types of record descriptions ,now i want to read this file through cobol.
plz tell me how to read this? |
|
Back to top |
|
|
agkshirsagar
Active Member
Joined: 27 Feb 2007 Posts: 691 Location: Earth
|
|
|
|
Vijay,
Declare all your strucutres one after another like shown below. and read the file in the program. Check for the values that distinguish one record from another after read statement and use that corresponding structure.
Let me know if you face any problems.
Code: |
FD VBFILE.
01 STRUCT1.
....
01 STRUCT2.
....
01 STRUCT3.
....
01 STRUCT4.
....
01 STRUCT5.
....
PROCEDURE DIVISION.
..
READ VBFILE. |
|
|
Back to top |
|
|
ashokm
New User
Joined: 28 Feb 2006 Posts: 11 Location: Chennai,India
|
|
|
|
Hi Vijaysingh!
You just define a copybook like
01 STRUCT1
…
01 STRUCT2 REDEFINES STRUCT1
……
01 STRUCT3 REDEFINES STRUCT1
…..
01 STRUCT4 REDEFINES STRUCT1
……
01 STRUCT5 REDEFINES STRUCT1
--- Read input file as usual and move to STRUCT1 . Based on the record type you can take difference STRUCTURE (STRUCT1, STRUCT2, STRUCT3, STRUCT4, STRUCT5) and process the data.
Reagrds
Ashok M |
|
Back to top |
|
|
shankar.v
Active User
Joined: 25 Jun 2007 Posts: 196 Location: Bangalore
|
|
|
|
01 level REDEFINES is not allowed in FILE SECTION.
I got the following compilation error.
Code: |
"REDEFINES" was not the first clause in a data definition. The clause
was accepted.
A "REDEFINES" clause was found in the definition of a level-01 item in
the "FILE SECTION". The clause was discarded. |
The following sample program with input and output may help you
Input:
Code: |
1111111111111111111111111111111111111111111111111111111111111111111111111111
2222222222222222222222222222222222222222222222222222222222222222222222222222
3333333333333333333333333333333333333333333333333333333333333333333333333333
4444444444444444444444444444444444444444444444444444444444444444444444444444
5555555555555555555555555555555555555555555555555555555555555555555555555555
6666666666666666666666666666666666666666666666666666666666666666666666666666
7777777777777777777777777777777777777777777777777777777777777777777777777777
8888888888888888888888888888888888888888888888888888888888888888888888888888
9999999999999999999999999999999999999999999999999999999999999999999999999999
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII |
Program:
Code: |
IDENTIFICATION DIVISION. 00010000
PROGRAM-ID. READVBFL. 00020000
ENVIRONMENT DIVISION. 00030000
INPUT-OUTPUT SECTION. 00040000
FILE-CONTROL. 00050000
SELECT VBFILE ASSIGN TO VBFILE 00060000
FILE STATUS IS FS. 00070000
DATA DIVISION. 00080000
FILE SECTION. 00090000
FD VBFILE RECORDING MODE V. 00091001
01 VBFILEREC1 PIC X(76). 00100000
01 VBFILEREC2 PIC A(76). 00101001
01 VBFILEREC3. 00102001
02 FIELD1 PIC 9(18). 00102101
02 FIELD2 PIC 9(18). 00102201
02 FIELD3 PIC 9(18). 00102301
02 FIELD4 PIC 9(18). 00102401
02 FIELD5 PIC 9(4). 00102501
01 VBFILEREC4 PIC X(76). 00103001
01 VBFILEREC5 PIC A(76). 00104001
WORKING-STORAGE SECTION. 00110000
77 FS PIC 99. 00120000
PROCEDURE DIVISION. 00130000
OPEN INPUT VBFILE 00140000
IF FS = 0 00160000
DISPLAY 'FILE STATUS CODE FOR OPEN: ' FS 00160100
PERFORM UNTIL FS = 10 00161000
INITIALIZE VBFILEREC1 00162001
INITIALIZE VBFILEREC2 00163001
INITIALIZE VBFILEREC3 00164001
INITIALIZE VBFILEREC4 00165001
INITIALIZE VBFILEREC5 00166001
READ VBFILE 00170000
END-READ 00171000
IF FS = 0 00172000
DISPLAY 'FILE STATUS CODE FOR READ: ' FS 00172100
DISPLAY 'VBFILEREC1:' 00172200
DISPLAY VBFILEREC1 00172300
DISPLAY 'VBFILEREC2:' 00172400
DISPLAY VBFILEREC2 00172500
DISPLAY 'VBFILEREC3:' 00172600
DISPLAY VBFILEREC3 00172700
DISPLAY 'VBFILEREC4:' 00172800
DISPLAY VBFILEREC4 00172900
DISPLAY 'VBFILEREC5:' 00173000
DISPLAY VBFILEREC5 00173400
ELSE 00174000
IF FS = 10 00174100
CLOSE VBFILE 00174200
IF FS = 0 00174300
DISPLAY 'FILE STATUS CODE FOR CLOSE: ' FS 00174400
GOBACK 00174500
ELSE 00174600
DISPLAY 'FILE STATUS CODE FOR CLOSE: ' FS 00174700
GOBACK 00174800
END-IF 00174900
END-IF 00175000
IF FS NOT = 10 00175100
DISPLAY 'FILE STATUS CODE FOR READ: ' FS 00176000
GOBACK 00176100
END-IF 00177000
END-IF 00178000
END-PERFORM 00179000
ELSE 00179100
DISPLAY 'FILE STATUS CODE FOR OPEN: ' FS 00179200
GOBACK 00179300
END-IF. 00180000 |
Output:
Code: |
FILE STATUS CODE FOR OPEN: 00
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
1111111111111111111111111111111111111111111111111111111111111111111111111111
VBFILEREC2:
1111111111111111111111111111111111111111111111111111111111111111111111111111
VBFILEREC3:
1111111111111111111111111111111111111111111111111111111111111111111111111111
VBFILEREC4:
1111111111111111111111111111111111111111111111111111111111111111111111111111
VBFILEREC5:
1111111111111111111111111111111111111111111111111111111111111111111111111111
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
2222222222222222222222222222222222222222222222222222222222222222222222222222
VBFILEREC2:
2222222222222222222222222222222222222222222222222222222222222222222222222222
VBFILEREC3:
2222222222222222222222222222222222222222222222222222222222222222222222222222
VBFILEREC4:
2222222222222222222222222222222222222222222222222222222222222222222222222222
VBFILEREC5:
2222222222222222222222222222222222222222222222222222222222222222222222222222
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
3333333333333333333333333333333333333333333333333333333333333333333333333333
VBFILEREC2:
3333333333333333333333333333333333333333333333333333333333333333333333333333
VBFILEREC3:
3333333333333333333333333333333333333333333333333333333333333333333333333333
VBFILEREC4:
3333333333333333333333333333333333333333333333333333333333333333333333333333
VBFILEREC5:
3333333333333333333333333333333333333333333333333333333333333333333333333333
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
4444444444444444444444444444444444444444444444444444444444444444444444444444
VBFILEREC2:
4444444444444444444444444444444444444444444444444444444444444444444444444444
VBFILEREC3:
4444444444444444444444444444444444444444444444444444444444444444444444444444
VBFILEREC4:
4444444444444444444444444444444444444444444444444444444444444444444444444444
VBFILEREC5:
4444444444444444444444444444444444444444444444444444444444444444444444444444
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
5555555555555555555555555555555555555555555555555555555555555555555555555555
VBFILEREC2:
5555555555555555555555555555555555555555555555555555555555555555555555555555
VBFILEREC3:
5555555555555555555555555555555555555555555555555555555555555555555555555555
VBFILEREC4:
5555555555555555555555555555555555555555555555555555555555555555555555555555
VBFILEREC5:
5555555555555555555555555555555555555555555555555555555555555555555555555555
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
6666666666666666666666666666666666666666666666666666666666666666666666666666
VBFILEREC2:
6666666666666666666666666666666666666666666666666666666666666666666666666666
VBFILEREC3:
6666666666666666666666666666666666666666666666666666666666666666666666666666
VBFILEREC4:
6666666666666666666666666666666666666666666666666666666666666666666666666666
VBFILEREC5:
6666666666666666666666666666666666666666666666666666666666666666666666666666
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
7777777777777777777777777777777777777777777777777777777777777777777777777777
VBFILEREC2:
7777777777777777777777777777777777777777777777777777777777777777777777777777
VBFILEREC3:
7777777777777777777777777777777777777777777777777777777777777777777777777777
VBFILEREC4:
7777777777777777777777777777777777777777777777777777777777777777777777777777
VBFILEREC5:
7777777777777777777777777777777777777777777777777777777777777777777777777777
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
8888888888888888888888888888888888888888888888888888888888888888888888888888
VBFILEREC2:
8888888888888888888888888888888888888888888888888888888888888888888888888888
VBFILEREC3:
8888888888888888888888888888888888888888888888888888888888888888888888888888
VBFILEREC4:
8888888888888888888888888888888888888888888888888888888888888888888888888888
VBFILEREC5:
8888888888888888888888888888888888888888888888888888888888888888888888888888
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
9999999999999999999999999999999999999999999999999999999999999999999999999999
VBFILEREC2:
9999999999999999999999999999999999999999999999999999999999999999999999999999
VBFILEREC3:
9999999999999999999999999999999999999999999999999999999999999999999999999999
VBFILEREC4:
9999999999999999999999999999999999999999999999999999999999999999999999999999
VBFILEREC5:
9999999999999999999999999999999999999999999999999999999999999999999999999999
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
VBFILEREC2:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
VBFILEREC3:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
VBFILEREC4:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
VBFILEREC5:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
VBFILEREC2:
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
VBFILEREC3:
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
VBFILEREC4:
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
VBFILEREC5:
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
VBFILEREC2:
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
VBFILEREC3:
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
VBFILEREC4:
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
VBFILEREC5:
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
VBFILEREC2:
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
VBFILEREC3:
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
VBFILEREC4:
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
VBFILEREC5:
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
VBFILEREC2:
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
VBFILEREC3:
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
VBFILEREC4:
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
VBFILEREC5:
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
VBFILEREC2:
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
VBFILEREC3:
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
VBFILEREC4:
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
VBFILEREC5:
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
VBFILEREC2:
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
VBFILEREC3:
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
VBFILEREC4:
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
VBFILEREC5:
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
VBFILEREC2:
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
VBFILEREC3:
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
VBFILEREC4:
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
VBFILEREC5:
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
FILE STATUS CODE FOR READ: 00
VBFILEREC1:
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
VBFILEREC2:
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
VBFILEREC3:
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
VBFILEREC4:
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
VBFILEREC5:
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
FILE STATUS CODE FOR CLOSE: 00 |
|
|
Back to top |
|
|
ashokm
New User
Joined: 28 Feb 2006 Posts: 11 Location: Chennai,India
|
|
|
|
Hi shankar,
Define a copybook in working storage section . Move the record to STRUCT1 after the as usual VB file read.
Ashok M |
|
Back to top |
|
|
CICS Guy
Senior Member
Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
|
|
|
|
er_vijaysingh wrote: |
i have a VB format file having 5 different types of record descriptions ,now i want to read this file through cobol.
plz tell me how to read this? |
Ignore most all of what has been posted...
Please post again if you still have this or any other question..... |
|
Back to top |
|
|
|