免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: liushuang
打印 上一主题 下一主题

COBOL的SFL问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-10-15 17:23 |只看该作者
在COBOL里写SUBFILE 有两种方式:1。 手动翻页,就是按Pgup or Pgdn 后才去读文件往SUBFILE 写数据。
                                   2。 自动翻页,就是一次性把数据全部写到SUBFILE 里。

方法1:控制比较麻烦 。 方法2,控制简单,但是subfile的条数,最大只能为9999,但是方法1 没有这个限制。

一般用方法2,用户on-line作业,一般按几次pgup or pgdn 就可以了,记录几百条就很多了。

论坛徽章:
0
12 [报告]
发表于 2008-10-16 10:45 |只看该作者
求  出错原因和解决方法!!!!!

论坛徽章:
0
13 [报告]
发表于 2008-10-16 11:00 |只看该作者
手工控制,用记数器算一下当前是不是9999行,超过9999就不要WRITE了.

A            ZZCSRW         3  0H      TEXT('CURSOR ROW')   
判断一下.

论坛徽章:
0
14 [报告]
发表于 2008-10-17 16:13 |只看该作者
原帖由 liushuang 于 2008-10-15 15:37 发表
现在是9998条的时候能写,但在写9999条的时候就跳出来了。



看看你写程序的时候是不是加多了一了,哈哈

不过记录格式是不能超过9999条的,SUBFILE的最大记录数啊

论坛徽章:
0
15 [报告]
发表于 2008-10-17 16:20 |只看该作者
有一点要注意,SFL 可以WRITE/REWRITE 但是不能DELETE RECORD.
所以计数的时候要注意.

论坛徽章:
0
16 [报告]
发表于 2008-10-17 19:42 |只看该作者
没有必要在程序里面去计算SUBFILE的条数了,直接对Display file 的FILE STATUS 进行判断就可以了,如果状态 = 9M,那就说明已经写到最后一条了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP