[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fwd: gnubol: Record delimiter clause and parse order]



Ralph,

I got on the gnubol mail list to watch the status of the GNU COBOL.  I saw your comments on VBS (Variable Blocked Spanned) Records.  I've dealt with the file off and on over the past 20+
years (assembler, cobol, PL/1, etc.).  It would be easy for me to give you a set of I/O routines to read / write the IBM variable block record types in C.  Their main use would be to
convert files being FTP'ed to or from an IBM mainframe (I doubt people would use this format unless they had to).  If you would like, I could package it as a batch utility that could be
used to convert files to or from this format, kind of a bridge.

If I can be of any help in this regard, please let me know.  Of course, the routine and/or utility would have the free software GPL license on them.

Good Luck - Ted Seward

Ralph Jones wrote:

>
> Is spanned, still a file type?  Back in the bad old days, COBOL 74 on 370's you had to use spanned as a sequential file type if a record was larger than 32K.
>
> For variable length records, does the spec. call for full word padding?  I'm trying to recall, from my mainframe days, and I believe the records were not padded?
>
> The sequential files has to be platform independent, so you can read the file produced by any compiler on any machine.  The conversion of big little endian data is still up the
> programmer.  This does not include line sequential which is not platform independent.
>
> Do you still have the record type 'undefined'?  This was usually used with tape files. The I-O routines delivered a block of data into buffer up to the defined size of the buffer.  I do
> not remember what happened when a block was longer than record size.
>
> Cheers,
> Ralph Jones
>
> Tim Josling wrote:
>
> > Matthew,
> >
> > Good. So
> >
> > - line sequential = records followed by "end of line delimiter" =
> > LF, CRLF, CR depending on the platform. No extra padding at end.
> > - fixed length = records stacked one after another, no record
> > header, no delimiter.
> > - variable - 128 bytes of slop (including date/time stamps by the
> > look) followed by the records. The record format looks like this
> >
> > x'40' byte(length) data
> > The data is padded to make the record length a multiple of 4
> > bytes. The padding seems to vary, sometimes spaces, sometimes
> > x'00'.
> >
> > It would be useful to try variable length non line sequential
> > with record length
> >
> > > 127
> >
> > > 256
> >
> > >32k
> >
> > >64k
> >
> > Without the doc of the 128 bytes we cannot create a file that MF
> > will read (other than by just copying one of their headers byte
> > for byte), though we can read their files. I will have a look for
> > conversion routines.
> >
> > Maybe we should just use s 4 byte word as the record header (at
> > least as one option).
> >
> > Tim Josling
>
> --
> This message was sent through the gnu-cobol mailing list.  To remove yourself
> from this mailing list, send a message to majordomo@lusars.net with the
> words "unsubscribe gnu-cobol" in the message body.  For more information on
> the GNU COBOL project, send mail to gnu-cobol-owner@lusars.net.


--
This message was sent through the gnu-cobol mailing list.  To remove yourself
from this mailing list, send a message to majordomo@lusars.net with the
words "unsubscribe gnu-cobol" in the message body.  For more information on
the GNU COBOL project, send mail to gnu-cobol-owner@lusars.net.