RPG 中如何使用相对纪录号 rrn 存取文件
大家都知道在 subfile 中唯一的办法就是使用相对纪录号来存取纪录。
可是对于pf 和 lf怎么办呢,其实很简单,不管 pf 和 lf 中有没有定义 key fields,
只要你在 f 表里去掉那个要求以 key 来存取文件的那个 k, 文件就用 rrn 来存取啦。
在as400中 rrn 是个4字节的二进制数。下面的 ile rpg 源程序片断简单介绍如果使用 rrn
ffile1 uf a e disk
f infds(fileds)
....
d file1ds ds
d rrn1 397 400b 0
...
d my_key s 10b 0
如果你想从第一条记录开始读:
c 1 setll file1
c read file1
c ....
如果你想读第100条记录:
c 100 chain file1
如果你想知道现在读到的是第几条记录,看 rrn1 的值就可以了。
如果你还想用原来的 key 去读,系统就报错说你那个 key 不是相对纪录号啦!
如果前后次序无关紧要,反正都得处理所有记录,那就可以用 rrn 啦,这样比通过key来读快得多了。
以后还会介绍 rrn 的妙用。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
我也不知道是不是教育人的..
我可没有怎么想哦.要是我的说话语气有什么不对的地方,请见谅!
什么意思啊
这个是教育人的吗?
厄 学习了 没用过这种用法 顶一个
使用key去chain 必须在申明文件时指定key,否则是不可以的.要不就会报错
对..不错..
学习了 谢谢