有时候标准屏幕不能达到想要的效果,
比如:
标准屏幕没有SELECT-OPTIONS:
下面实现标准屏幕调用选择屏幕:
1、定义一个标准屏幕:9001.
2、定义个subscreen控件 SUB
3、定义选择屏幕:9999
SELECTION-SCREEN BEGIN OF SCREEN 9999 AS SUBSCREEN.
PARAMETERS p_werks LIKE ekpo-werks OBLIGATORY.
SELECT-OPTIONS:
s_ebeln FOR ekko-ebeln ,
s_lifnr FOR ekko-lifnr,
s_aedat FOR ekko-aedat ."OBLIGATORY.
SELECTION-SCREEN END OF SCREEN 9999.
PARAMETERS
SELECT-OPTIONS:
SELECTION-SCREEN
部分代码:
START-OF-SELECTION.
CALL SCREEN 9001.
"调用标准屏幕9001
PROCESS BEFORE OUTPUT.
MODULE STATUS_9001.
CALL SUBSCREEN sub INCLUDING sy-repid '9999'.
"sub是subscreen控件名(好像有的版本,9999屏幕必须使用变量才能传值,即定义: g_sub(4) TYPE c VALUE '9999',但是不能使用定义的常量)
CALL
PROCESS AFTER INPUT.
CALL SUBSCREEN sub.
"如果不加这句,则传不了值
MODULE USER_COMMAND_9001.
实现比较简单
有时候发现自己建的子屏幕不显示
解决办法:
(解决方法感谢ABAP:1955968183)