首页 > 解决方案 > 如何编写比 COBOL 中的最大 LRECL 更长的输出?

问题描述

您是否曾经处理过超过 COBOL 中最大 LRECL 的 VBS 或 FBS 文件?我想编辑比 32760 长得多的 LOB(大对象)记录,将它们写入文件,然后将它们传输到 Unix 服务器。如果您已经有经验,如果您能给我一些处理技巧,那就太好了。

标签: coboljcl

解决方案


这是关于COBOL 中跨区记录的考虑的材料

您可以为分配给磁带或直接访问设备的 QSAM 文件中的跨区记录编码 RECORDING MODE S。不要为 HFS 中的文件请求跨区记录。您可以省略 RECORDING MODE 子句。如果最大记录长度(以字节为单位)加 4 大于在 BLOCK CONTAINS 子句中设置的块大小,则编译器将记录模式确定为 S。

对于程序中格式为 S 的文件,编译器使用与格式 V 相同的规则确定最大记录长度。长度取决于您对 RECORD 子句的使用。

当创建包含 format-S 记录的文件并且记录大于块中的剩余空间时,COBOL 会写入记录的一段来填充块。记录的其余部分根据其长度存储在下一个或多个块中。COBOL 支持长达 32,760 字节的 QSAM 跨越记录。

当检索具有格式-S 记录的文件时,程序只能检索完整的记录。

以下是存储超过 32,760 字节的记录的说明。ISPF 编辑不支持分段记录。他们是一种奇怪的野兽。


推荐阅读