FORM check_authority .
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
ID 'BUKRS' FIELD p_bukrs
ID 'ACTVT' FIELD '03'.
IF sy-subrc <> 0.
MESSAGE '没有查看该公司的权限' TYPE 'S' DISPLAY LIKE 'E'.
LEAVE LIST-PROCESSING .
ENDIF.
ENDFORM.
LEAVE LIST-PROCESSING是在其他屏幕退出,到List输入屏幕间的动作
LIST-PROCESSING用于在程序中任意地方开始List输出,可以放在代码的任何地方。
这样子的话 报错会返回包选择屏幕,如果LEAVE LIST-PROCESSING.下面还有代码也不会继续往下执行。
如果只是直接报E类型的话 就不会再选择界面报错,而是在另一个界面报错,如图:

LEAVE TO LIST-PROCESSING 是退出其他屏幕后,到List输入的屏幕,例如:WRITE 语句输入的屏幕。
LEAVE TO LIST-PROCESSING 这段命令做两件事:
切换到List输出模式
在这种模式下,标准的List输出所用到的命令:WRITE, ULINE, SKIP等全部可以使用,还包括AT LINE-SELECTION事件、功能码(Function keys)、20 个list level等。
将显示List 输出的屏幕设置为当前调用处的下个屏幕(Following Screen)
程序将离开当前屏幕进入List输出的屏幕,进行接下来的操作,但是Leave screen之后,仍将返回前一个调用Leave to list-processing这条命令屏幕的代码的下一行继续执行
402

被折叠的 条评论
为什么被折叠?



