免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3341 | 回复: 11
打印 上一主题 下一主题

非常急 COBOL 调用SFL画面光标控制 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-27 16:02 |只看该作者 |倒序浏览
我现在用COBOL调用SFL画面,当我在SFL数据的最后一条时输入错的数据,
此时应该CHK此条错误并光标定位在此条,但走到REWRITE光标时抱错,
此前的数据都可正常CHK运行,请高手帮忙。。。。。。。。

论坛徽章:
0
2 [报告]
发表于 2009-11-27 17:04 |只看该作者

回复 #1 4321258sun 的帖子

在你的subfile control record中定义:
...
     A          R SFLCTL1                           SFLCTL(SFLREC)  
     A            XRRN1          4S 0H           SFLRCDNBR      

...
        A            SFLREC                            SFL
        A            XOPTN          2A  B  9  2              
        A  60                                               DSPATR(PC)   


记住你那出错的行号,然后把把行号赋值给变量xrrn1, 这样就保证出错行显示在屏幕上,再用 indicator 定位光标在出错字段上,那就行啦。

例如 XOPTN 出错,你就 SET ON *IN60.

你那问题很可能是SUBFILE回到显示第一页,而出错的行不在第一页。

[ 本帖最后由 franliu 于 2009-11-27 17:33 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-11-27 17:21 |只看该作者
真是好人 高手

论坛徽章:
0
4 [报告]
发表于 2009-11-27 17:26 |只看该作者
我画面原先定义过了,就是到单独最后一条时出错???

论坛徽章:
0
5 [报告]
发表于 2009-11-27 17:31 |只看该作者

回复 #4 4321258sun 的帖子

就是光标没有定位在你想定位的行上。其他都正常?如果倒数第二行出错能正常定位?

如果是这样,debug 你的程序,在 rewrite 最后一行之前检查你那定位的 indicator 的状态。

[ 本帖最后由 franliu 于 2009-11-27 17:37 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-11-27 17:49 |只看该作者
倒数第2行能正常抱错,就是最后一行不行

论坛徽章:
0
7 [报告]
发表于 2009-11-27 17:56 |只看该作者
我一共17条数据现在传得是17呀???

论坛徽章:
0
8 [报告]
发表于 2009-11-27 18:26 |只看该作者

回复 #7 4321258sun 的帖子

debug了吗?

论坛徽章:
0
9 [报告]
发表于 2009-11-28 09:39 |只看该作者

回复 #1 4321258sun 的帖子

debug一下,看看你的sfl相对记录号,只要相对记录号没有出错就不会有问题..

论坛徽章:
0
10 [报告]
发表于 2009-11-28 09:41 |只看该作者

回复 #2 franliu 的帖子

这种写法只是针对于记录少的,如果多于9999,那么程序需要另行处理,可以写一个自己控制上下翻页,这就比较好..
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP