IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

How to read VB format file?


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
er_vijaysingh

New User


Joined: 06 Aug 2007
Posts: 4
Location: chennai

PostPosted: Fri Sep 07, 2007 11:14 am
Reply with quote

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
View user's profile Send private message
agkshirsagar

Active Member


Joined: 27 Feb 2007
Posts: 691
Location: Earth

PostPosted: Fri Sep 07, 2007 11:34 am
Reply with quote

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
View user's profile Send private message
ashokm

New User


Joined: 28 Feb 2006
Posts: 11
Location: Chennai,India

PostPosted: Fri Sep 07, 2007 12:13 pm
Reply with quote

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
View user's profile Send private message
shankar.v

Active User


Joined: 25 Jun 2007
Posts: 196
Location: Bangalore

PostPosted: Fri Sep 07, 2007 1:29 pm
Reply with quote

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
View user's profile Send private message
ashokm

New User


Joined: 28 Feb 2006
Posts: 11
Location: Chennai,India

PostPosted: Fri Sep 07, 2007 2:11 pm
Reply with quote

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
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Fri Sep 07, 2007 2:41 pm
Reply with quote

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
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> COBOL Programming

 


Similar Topics
Topic Forum Replies
No new posts Compare 2 files and retrive records f... DFSORT/ICETOOL 2
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 8
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Populate last day of the Month in MMD... SYNCSORT 2
Search our Forums:

Back to Top