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-SCREENEND OFSCREEN9999.
(2)调用:
START-OF-SELECTION.
CALL SELECTION-SCREEN9999.
CALLSCREEN'100'.
(3)从屏幕100返回选择屏幕:
MODULE status_0100 OUTPUT. SET PF-STATUS 'MAIN200'. gs_variant-report = sy-repid. "注册事件到alv IF g_custom_container ISINITIAL. CREATE OBJECT g_custom_container EXPORTING container_name = g_container. IF go_grid IS INITIAL. CREATE OBJECT go_grid EXPORTING i_parent = g_custom_container."不能使用默认容器cl_gui_container=>screen0.,否则不能返回到选择屏幕。 CREATE OBJECT event_receiver. SETHANDLER event_receiver->handle_f4 FOR go_grid. CALLMETHOD go_grid->register_f4_for_fields EXPORTING it_f4 = gt_f4."gt_f4用于保存产生f4事件的字段 SETHANDLER event_receiver->catch_doubleclick FOR go_grid. IF sy-batch ISINITIAL. CALL METHOD go_grid->register_edit_event EXPORTING i_event_id = cl_gui_alv_grid=>mc_evt_enter. ENDIF. PERFORM load_data_into_grid. ENDIF. ENDIF. ENDMODULE.
MODULE user_command_0100 INPUT. CASE ok_code."注意在屏幕中必须定义ok_code WHEN'EXIT'OR'BACK'.
FREE: g_custom_container, go_grid.
call SELECTION-SCREEN9999 .
WHEN 'SAVE'. PERFORM save. WHEN'SEL'. PERFORM all. WHEN'CAL'. PERFORM none. ENDCASE. CLEAR ok_code . ENDMODULE. " USER_COMMAND_0100 INPUT