*&---------------------------------------------------------------------*
*& Report ZTESTIAN3
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ztestian3 .
TYPES : BEGIN OF typ_name ,
name TYPE char20 ,
END OF typ_name .
PARAMETERS p_name TYPE char20 .
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_name .
PERFORM f_value_request_for_name .
*&---------------------------------------------------------------------*
*& Form F_VALUE_REQUEST_FOR_NAME
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM f_value_request_for_name .
DATA :
l_w_name TYPE typ_name ,
l_tab_name TYPE STANDARD TABLE OF typ_name .
l_w_name -name = 'MIKE' .
APPEND l_w_name TO l_tab_name .
l_w_name -name = 'BILY' .
APPEND l_w_name TO l_tab_name .
l_w_name -name = 'FRANK' .
APPEND l_w_name TO l_tab_name .
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'NAME' "大写,可选值内表的字段名
value_org = 'S' "就写'S'
dynpprog = sy -repid "返回的输入框所在的main program
dynpnr = sy -dynnr "返回的输入框所在屏幕
dynprofield = 'P_NAME' "返回的输入框名
TABLES
value_tab = l_tab_name "可选值的内表
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3 .
IF sy -subrc <> 0 .
MESSAGE ID sy -msgid TYPE sy -msgty NUMBER sy -msgno
WITH sy -msgv1 sy -msgv2 sy -msgv3 sy -msgv4 .
ENDIF .
ENDFORM . "F_VALUE_REQUEST_FOR_NAME
*& Report ZTESTIAN3
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ztestian3 .
TYPES : BEGIN OF typ_name ,
name TYPE char20 ,
END OF typ_name .
PARAMETERS p_name TYPE char20 .
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_name .
PERFORM f_value_request_for_name .
*&---------------------------------------------------------------------*
*& Form F_VALUE_REQUEST_FOR_NAME
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM f_value_request_for_name .
DATA :
l_w_name TYPE typ_name ,
l_tab_name TYPE STANDARD TABLE OF typ_name .
l_w_name -name = 'MIKE' .
APPEND l_w_name TO l_tab_name .
l_w_name -name = 'BILY' .
APPEND l_w_name TO l_tab_name .
l_w_name -name = 'FRANK' .
APPEND l_w_name TO l_tab_name .
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'NAME' "大写,可选值内表的字段名
value_org = 'S' "就写'S'
dynpprog = sy -repid "返回的输入框所在的main program
dynpnr = sy -dynnr "返回的输入框所在屏幕
dynprofield = 'P_NAME' "返回的输入框名
TABLES
value_tab = l_tab_name "可选值的内表
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3 .
IF sy -subrc <> 0 .
MESSAGE ID sy -msgid TYPE sy -msgty NUMBER sy -msgno
WITH sy -msgv1 sy -msgv2 sy -msgv3 sy -msgv4 .
ENDIF .
ENDFORM . "F_VALUE_REQUEST_FOR_NAME