请教一个abap事件AT SELECTION-SCREEN的问题.我在程序里面定义了AT SELECTION-SCREEN的判断条件:AT SELECTION-SCREEN.IF ftr 'y'.RETURN.ENDIF.START-OF-SELECTION.WRITE / 'START-OF-SELECTION事件'.END-OF-SELECTION.WRITE / 'END-OF-SELE

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 23:41:27
请教一个abap事件AT SELECTION-SCREEN的问题.我在程序里面定义了AT SELECTION-SCREEN的判断条件:AT SELECTION-SCREEN.IF ftr 'y'.RETURN.ENDIF.START-OF-SELECTION.WRITE / 'START-OF-SELECTION事件'.END-OF-SELECTION.WRITE / 'END-OF-SELE

请教一个abap事件AT SELECTION-SCREEN的问题.我在程序里面定义了AT SELECTION-SCREEN的判断条件:AT SELECTION-SCREEN.IF ftr 'y'.RETURN.ENDIF.START-OF-SELECTION.WRITE / 'START-OF-SELECTION事件'.END-OF-SELECTION.WRITE / 'END-OF-SELE
请教一个abap事件AT SELECTION-SCREEN的问题.
我在程序里面定义了AT SELECTION-SCREEN的判断条件:
AT SELECTION-SCREEN.
IF ftr 'y'.
RETURN.
ENDIF.
START-OF-SELECTION.
WRITE / 'START-OF-SELECTION事件'.
END-OF-SELECTION.
WRITE / 'END-OF-SELECTION事件'.
为什么我点了执行按钮(F8),ftr 'y'这个条件也符合,可是后面的START-OF-SELECTION和END-OF-SELECTION还是执行了,STOP也不行.怎样才能返回原来的屏幕不执行下面的两个事件.

请教一个abap事件AT SELECTION-SCREEN的问题.我在程序里面定义了AT SELECTION-SCREEN的判断条件:AT SELECTION-SCREEN.IF ftr 'y'.RETURN.ENDIF.START-OF-SELECTION.WRITE / 'START-OF-SELECTION事件'.END-OF-SELECTION.WRITE / 'END-OF-SELE
F8是执行程序,而你所说的返回原来的屏幕应该是选择屏幕吧,
AT SELECTION-SCREEN.相当于选择屏幕的PAI,用来响应屏幕元素的输入,当你按F8执行程序的时候,是不会触发PAI事件的
选择屏幕的作用在于为程序输入一些限制条件什么的,AT SELECTION-SCREEN.只能响应屏幕元素,当你按F8时,(一般意义上讲)是选择屏幕条件输入完成,需要正式进入程序逻辑的执行了,选择屏幕代码的执行优先级高于 START-OF-SELECTION.事件,所以会优先出现输入屏幕,按F8后,会把选择屏幕的输入送到程序中,执行后面的代码