有时候标准屏幕不能达到想要的效果,
比如:
标准屏幕没有
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)