Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9601
  • 博文数量: 1
  • 博客积分: 130
  • 博客等级: 入伍新兵
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-14 17:41
个人简介

每天积累一点,最终汇成大海。

文章分类

全部博文(1)

文章存档

2013年(1)

分类: 数据库开发技术

2013-01-22 09:43:02

1. 在DSP文件的SUBFILE记录格式里用SFLCSRRRN定义一个隐藏变量(H1),用于获得当前光标所在的记录序号。

2. 在DSP文件的SUBFILE记录格式内用SFLRCDNBR(CURSOR)定义一个隐藏变量H2,用于让光标“落在”我们指定的记录上。

3. RPG程序里D表定义一个INFDS结构,取378~379的Subfile min rrn,#RCDN。

 

编写如下代码:

IF   H1 = *ZERO 
Z-ADD     #RCDN      H2 
ELSE      
Z-ADD     H1            H2 
ENDIF

 

实现效果:当从程序返回画面显示时,若之前光标在SUBFILE中空白处,则将光标放在当前页的第一条记录里;若在某记录上的话则保持位置不变。

相关知识:

SFLCSRRRN:Subfile Cursor Relative Recorde Number. 返回当前光标所在的记录数

SFLRCDNBR: Subfile Recorde Number. 配合CURSOR参数可将光标SET在任意记录上

INFDS:FILE INFORMATION DATA STRUCTURE. 每个不同位置都有不同含义,相见ILE-REFERENCE REDBOOK。

阅读(2352) | 评论(1) | 转发(1) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~

george2512013-01-22 10:26:52

追加:
当画面更新subfile后还需要考虑以下情况:
1. subfile中没有记录时,应返回前画面。
2. subfile中的记录条数少于处理前时,应将光标置于最大纪录数处。(更新前光标放在第30条记录上,更新后,若只剩下15条记录,则光标须放在第15条上)