转载自:http://blog.csdn.net/f122300349/article/details/5516405
在自定义屏幕如何调用选择屏幕呢,通过选择屏幕输入查询条件,然后进行相关的操作。在这里有两个技术难点:
1、如何定义可以调用的选择屏幕、调用选择屏幕;
2、如何捕捉到选择屏幕的操作、选择屏幕的屏幕号;
定义可调用的选择屏幕:
SELECTION-SCREEN BEGIN OF SCREEN 700 .
SELECT -OPTIONS: S_CPTNR FOR ZTMM0141-CPTNR,
S_MAKTX FOR ZTMM0141-MAKTX.
SELECTION-SCREEN END OF SCREEN 700 .
调用选择屏幕:
CALL SELECTION-SCREEN 700 STARTING AT 15 2 ENDING AT 100 4 .
捕捉选择屏幕的操作:
*----------------------------------------------------------------------*
* AT SELECTION-SCREEN OUTPUT.
* 在屏幕输出之前处理
*
*----------------------------------------------------------------------*
AT SELECTION-SCREEN .
CASE SY-DYNNR. “对应的是屏幕编号
WHEN '0700' .
IF SY-UCOMM = 'CRET' . “对应的是执行的功能码
PERFORM FRM_DISPLAY_HISTORY USING 1 . “调用子例程执行相关操作
ENDIF .
WHEN '0800' .
IF SY-UCOMM = 'CRET' .
PERFORM FRM_DISPLAY_HISTORY USING 2 .
ENDIF .
WHEN '0900' .
IF SY-UCOMM = 'CRET' .
PERFORM FRM_DISPLAY_HISTORY USING 3 .
ENDIF .
ENDCASE .