Ibm midrange 检测加载所有子文件中的向下翻页和向上翻页按键

Ibm midrange 检测加载所有子文件中的向下翻页和向上翻页按键,ibm-midrange,rpgle,Ibm Midrange,Rpgle,对于我创建的load all子文件,还有一个额外的要求。子文件控制记录格式有几个输入字段,用户按Enter键时会验证这些字段。然后,如果发现输入参数有效,则满足输入参数值的数据库文件中的记录将显示为子文件记录 新的要求是,如果用户在更改输入字段值后按page down或page up但未按Enter键,则应重新验证输入字段值,并根据提供的新参数刷新子文件记录 这在技术上可行吗?由于子文件是一个load all one,当分页由操作系统处理时,按page up或page down键不会将控制权传递

对于我创建的load all子文件,还有一个额外的要求。子文件控制记录格式有几个输入字段,用户按Enter键时会验证这些字段。然后,如果发现输入参数有效,则满足输入参数值的数据库文件中的记录将显示为子文件记录

新的要求是,如果用户在更改输入字段值后按page down或page up但未按Enter键,则应重新验证输入字段值,并根据提供的新参数刷新子文件记录

这在技术上可行吗?由于子文件是一个load all one,当分页由操作系统处理时,按page up或page down键不会将控制权传递回程序。因此,我看不到如何重新验证参数。当按下Page up或Page down时,有没有办法将控制权传回到RPG,同时让操作系统控制分页


有什么建议吗

如果您是正确的,则在用户一直分页到可扩展子文件(SFLSIZE SFLPAGE)中的子文件的开头或结尾之前,程序将无法获得控制权。但是,如果您在时间子文件(SFLSIZE=SFLPAGE)中使用了一个页面,那么您可以在每次按PAGEUP/PAGEDOWN键时将控制权返回给程序。这将稍微改变您程序的结构,但您应该能够让它正常工作,而不会有太多麻烦。

谢谢Murph!在将这一要求推回我的领导之前,我一直在寻找一个确认,因为技术规范中的一个要求是“让操作系统控制分页”。现在我有信心了。但如果有人能找到一种偷偷摸摸的方法,在按下page down或page up时让控件返回到程序中,而不必在DSPF DDS中包含ROLLUP或ROLLDOWN关键字(即愚弄操作系统为我们进行分页),那将是一件有趣的事情。你可以认为操作系统没有进行分页,终点站是。你没有办法从程序中进入终端,你所能做的就是发送一个缓冲区并等待响应。这很像HTML,客户端没有编程功能。HTML发送一个列表,然后用户可以在页面上滚动,但是要获得下一页的内容,他们必须单击导航器。在我们的例子中,导航器是page down键(一旦用户一直滚动到子文件的底部)。程序没有与终端通信的其他方法,可以考虑通过代码> >检查(ER)<代码>自动输入最后一个输入字段。代码>检查(FE)可能也会感兴趣。您应该一次完成一页。