As I recall, QSAM/BSAM can have a "logical record" >32K. But __only__ if it is VBS and __ONLY__ if you process each logical segment separately in your own code. That is, you cannot request that QSAM merge the segments together into a single logical record for you. The reason being that each segment contains its own LLBB field and the merged record also has a single LLBB field. The halfword LL field restricts the LRECL to <=32767 or it won't fit as a signed halfword.
Now, it think this means that COBOL itself cannot use LRECL>32K because I don't think COBOL supports separate VBS record segments being processed separately. But I'm not a COBOL programmer. On Mon, 2011-08-29 at 10:05 -0700, Frank Swarbrick wrote: > Even using Spanned (record format is S) or Undefined (record format is U) > Cobol (Enterprise COBOL 4.2) appears to not allow a record length more than > 32K: > > 32 IGYGR1224-E The maximum calculated record size of file > "WIRE-DOCUMENT-FILE" was greater than the maximum allowable size > 32767. 32767 was assumed. > > Is this a COBOL limitation or a QSAM limitation? Is VSAM my best (only?) > alternative? > > Thanks, > Frank > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO > Search the archives at http://bama.ua.edu/archives/ibm-main.html -- John McKown Maranatha! <>< ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html