在自定义屏幕如何调用选择屏幕呢,通过选择屏幕输入查询条件,然后进行相关的操作。在这里有两个技术难点:
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 .< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />
评论