我有一个显示文件,其中我添加了两个额外的字段,按f10 - 折叠/丢弃。当用户折叠记录时,页脚显示应更改为f10 =展开。展开展示时,显示屏应更改为f10 =折叠。
A***************************************************************
A* LIST OF LOADS WITH BOL SUBFILE CONTROL
A***************************************************************
A R RLG610C1 SFLCTL(RLG610S1)
A SFLSIZ(0011)
TPA01A SFLPAG(0005)
A OVERLAY
A N71 SFLDSP
A N71 SFLDSPCTL
A 71 SFLCLR
A 91 SFLEND(*MORE)
TPA01A N45 SFLDROP(CF10)
TPA01A 45 SFLFOLD(CF10)
TPA01A SFLMODE(&MODE)
A RRN 4S 0H SFLRCDNBR
页脚字段设置如下:
TPA01A 45 23 25'F10=Fold'
TPA01A COLOR(BLU)
TPA01A N45 23 25'F10=Unfold'
TPA01A COLOR(BLU)
问题是当用户按下f10时,显示会按预期更改。但是要改变页脚,需要输入命中。
根据* IN45指标字段值,下面的代码控制折叠/展开选项的显示。但程序的控制只有在你按下回车时到达这里,我希望控件只需按下f10即可返回程序
If Mode = '1';
*IN45 = '0';
ElseIf Mode = '0';
*IN45 = '1';
EndIf;
基本上,现在我想知道SFLFOLD和SFLDROP是否将控制权返回给该计划。
拼命地帮忙!
@charles,
我已经尝试过你提到的查尔斯。但它只是工作
A R RLG610C1 SFLCTL(RLG610S1)
A CF10(10 'FOLD/UNFOLD')
A SFLSIZ(0011)
TPA01A SFLPAG(0005)
A OVERLAY
A N71 SFLDSP
A N71 SFLDSPCTL
A 71 SFLCLR
A 91 SFLEND(*MORE)
TPA01A N45 SFLDROP(CF10)
TPA01A 45 SFLFOLD(CF10)
按下F10,折叠/展开效果很好。但是控件根本没有进入程序。我甚至试过把它放在文件级别。即使在那里也没有用。任何建议都是最受欢迎的。
答案 0 :(得分:0)
5250设备是(相对)智能设备,而不是哑终端。
SFLFOLD和SFLDROP在设备上处理,因此当按下F10时,没有控制权不会返回到您的程序。
让页脚包含
F10=Fold/Unfold
如果您确实想要将控制权返回给您的程序,请将F10配置为子文件控制记录中的常规CF / CA密钥。并在SFLFOLD / SFLDROP关键字中使用虚拟Fxx密钥...
A CF10(10 'FOLD/UNFOLD')
TPA01A N45 SFLDROP(CF24)
TPA01A 45 SFLFOLD(CF24)
因此,控件将返回到您的程序。您必须检查F10是否被按下而不是检查模式,因为系统没有启动开关。