免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3096 | 回复: 5

关于recno的问题 [复制链接]

论坛徽章:
0
发表于 2009-08-27 16:20 |显示全部楼层
程序中这样定义文件
F myqtempf     uf   a   f     50            disk     usropn  recno(rrno)
...
...
Ddstmpf   ds         50
d  fil                 1    10
...
...
...
eval  fil='000000'
write  myqtempf     dstmpf
...


程序编译能通过,然后在执行时出错了,msg信息为 i/o error cpf5006 was detected in file myqtempf.
请问这是为什么???高手指导。。谢谢!!!

论坛徽章:
0
发表于 2012-05-02 10:06 |显示全部楼层
这个怎么解决的啊?

论坛徽章:
0
发表于 2012-05-02 10:15 |显示全部楼层
本帖最后由 passthru 于 2012-05-02 10:18 编辑

两个错误:

1)如果rrno是rrn,即相对记录号,这是os400自动分配的;

2)对程序描述文件,不能用write,要用O表,且rpgle代码中用except代替write。

论坛徽章:
0
发表于 2012-05-04 22:46 |显示全部楼层

咋这问题还存在!!

论坛徽章:
0
发表于 2012-05-05 10:46 |显示全部楼层
CPF5006的错误提示是: Record not found in file &1.
               Cause . . . . . :   The specified record may have been deleted, it may never
  have existed, or the key may have been changed.                           

出错应该是Write那行吧?
如果这个file是外部文件的话,write的时候应该用的是文件的Record名称。

但是你好像又在F表指定File formate 是F,用File名应该是对的。

看了一下USROPN这个关键字,说是需要显式打开file
所以,是不是file 需要手动open?

F类型的不常用,不熟悉
待正解 :)

论坛徽章:
0
发表于 2012-05-05 11:40 |显示全部楼层
找了一下程序,File format是F的,要write的时候,有先OPEN的动作。

这只RPG程序转成RPGLE后,自动出现了USROPN的关键字

LZ看看你的程序里面有没有OPEN这个file?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP