F4

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

猜你喜欢

转载自blog.csdn.net/qq_32587243/article/details/84932655
F4