有时候标准屏幕不能达到想要的效果,
比如:
标准屏幕没有
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 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 .
部分代码:
START-OF-SELECTION
.
CALL SCREEN 9001 . "调用标准屏幕9001
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',但是不能使用定义的常量)
MODULE STATUS_9001 .
CALL SUBSCREEN sub INCLUDING sy -repid '9999' . "sub是subscreen控件名(好像有的版本,9999屏幕必须使用变量才能传值,即定义: g_sub(4) TYPE c VALUE '9999',但是不能使用定义的常量)
PROCESS AFTER
INPUT
.
CALL SUBSCREEN sub. "如果不加这句,则传不了值
MODULE USER_COMMAND_9001 .
MODULE USER_COMMAND_9001 .
实现比较简单
有时候发现自己建的子屏幕不显示
解决办法: