可以根据下拉框的选项,动态显示选择屏幕
code:
*&---------------------------------------------------------------------*
*& Report ZLM_SCREEN_001
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZLM_SCREEN_001 .
*&---------------------------------------------------------------------*
*& Purpose - Dynamic Selection Screen using the Tabbed Selected Screen
*& Author - Naimesh Patel
*& URL -
*&---------------------------------------------------------------------*
*
CLASS lcl_main DEFINITION .
PUBLIC SECTION .
TYPES :
BEGIN OF ty_vrm_values ,
KEY TYPE char40 ,
text TYPE char80 ,
END OF ty_vrm_values .
TYPES : tt_vrm_values TYPE STANDARD TABLE OF ty_vrm_values
WITH DEFAULT KEY .
TYPES :
BEGIN OF ty_config ,
KEY TYPE char10 ,
desc TYPE char50 ,
dynnr TYPE sy -dynnr ,
END OF ty_config .
DATA : t_config TYPE STANDARD TABLE OF ty_config .
METHODS :
get_vrm_values
RETURNING VALUE (rt_values ) TYPE tt_vrm_values ,
get_dynnr
IMPORTING iv_objtype TYPE char10
RETURNING VALUE (rv_dynnr ) TYPE sy -dynnr .
ENDCLASS . "lcl_main DEFINITION
*
DATA : t_objtypes TYPE lcl_main =>tt_vrm_values .
DATA : o_main TYPE REF TO lcl_main .
*
DATA : v_vbeln TYPE vbak -vbeln ,
v_erdat TYPE vbak -erdat ,
v_vkorg TYPE vbak -vkorg ,
v_vtweg TYPE vbak -vtweg ,
v_spart TYPE vbak -spart .
* Object type Selector
PARAMETER : p_objtyp TYPE char10 AS LISTBOX
VISIBLE LENGTH 30 USER-COMMAND v_obj .
*
* TABBED Selection screen for displaying the screen
SELECTION-SCREEN : BEGIN OF TABBED BLOCK mytab FOR 7 LINES ,
TAB ( 20 ) seltab USER-COMMAND push1 ,
END OF BLOCK mytab .
*
* Default screen
SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN .
SELECTION-SCREEN END OF SCREEN 100 .
*
* for SO
SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN .
SELECT-OPTIONS : so_vbeln FOR v_vbeln ,
*& Report ZLM_SCREEN_001
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZLM_SCREEN_001 .
*&---------------------------------------------------------------------*
*& Purpose - Dynamic Selection Screen using the Tabbed Selected Screen
*& Author - Naimesh Patel
*& URL -
*&---------------------------------------------------------------------*
*
CLASS lcl_main DEFINITION .
PUBLIC SECTION .
TYPES :
BEGIN OF ty_vrm_values ,
KEY TYPE char40 ,
text TYPE char80 ,
END OF ty_vrm_values .
TYPES : tt_vrm_values TYPE STANDARD TABLE OF ty_vrm_values
WITH DEFAULT KEY .
TYPES :
BEGIN OF ty_config ,
KEY TYPE char10 ,
desc TYPE char50 ,
dynnr TYPE sy -dynnr ,
END OF ty_config .
DATA : t_config TYPE STANDARD TABLE OF ty_config .
METHODS :
get_vrm_values
RETURNING VALUE (rt_values ) TYPE tt_vrm_values ,
get_dynnr
IMPORTING iv_objtype TYPE char10
RETURNING VALUE (rv_dynnr ) TYPE sy -dynnr .
ENDCLASS . "lcl_main DEFINITION
*
DATA : t_objtypes TYPE lcl_main =>tt_vrm_values .
DATA : o_main TYPE REF TO lcl_main .
*
DATA : v_vbeln TYPE vbak -vbeln ,
v_erdat TYPE vbak -erdat ,
v_vkorg TYPE vbak -vkorg ,
v_vtweg TYPE vbak -vtweg ,
v_spart TYPE vbak -spart .
* Object type Selector
PARAMETER : p_objtyp TYPE char10 AS LISTBOX
VISIBLE LENGTH 30 USER-COMMAND v_obj .
*
* TABBED Selection screen for displaying the screen
SELECTION-SCREEN : BEGIN OF TABBED BLOCK mytab FOR 7 LINES ,
TAB ( 20 ) seltab USER-COMMAND push1 ,
END OF BLOCK mytab .
*
* Default screen
SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN .
SELECTION-SCREEN END OF SCREEN 100 .
*
* for SO
SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN .
SELECT-OPTIONS : so_vbeln FOR v_vbeln ,