Re: MVT COBOL under MVS3.8j.

"[email protected] [H390-MVS]" <[email protected]>
Newsgroups gmane.comp.emulators.hercules390.mvs
Message-ID <[email protected]>
Pepe,
 

 I've used something like code below after the READ.  I wouldn't use the INTO clause of READ but rather access data using definitions under the FD.  
 

 VB-LRECL is actually 4 bytes larger than the COBOL record size since COBOL excludes the RDW from the record size.  For example a 1 byte record in COBOL is really physically 5 bytes.  So the BLOCK CONTAINS of 32760 is the max you can specify in COBOL and the 32752 is the largest RECORD you can define because the RDW length isn't included in the record size. 
 

 FD  VB-IN
    RECORDING MODE IS V
    LABEL RECORDS ARE STANDARD
    BLOCK CONTAINS 32760 CHARACTERS.
01  VB-IN-REC.
    05  VB-IN-SIZE          OCCURS 2 TIMES
                            PIC S9(4)   COMP.
01  VB-IN-REC1.
    05  VB-IN-REC-BYT       OCCURS 32752 TIMES
                            PIC X.
 77  SUB1                    PIC S9(8)   COMP.
77  VB-LRECL                PIC S9(8)   COMP.
 READ VB-IN AT END...
 MOVE -1 TO SUB1.
MOVE VB-IN-SIZE (SUB1) TO VB-LRECL.
 

 Working with the data is up to you.
 

 I think you might be able to use a PIC X OCCURS 1 TO 32752 TIMES DEPENDING ON VB-LRECL  so you could copy a VB file with WRITE after subtracting 4 from VB-FIELD.  You would have to play with that, I haven't tried that that I can remember.
 

 Dave
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.