*&---------------------------------------------------------------------*
*& 自建搜索帮助
*& 函数:HELP_VALUES_GET_WITH_TABLE
*&
*&---------------------------------------------------------------------*
TABLES: t001w.
DATA: lc_werks LIKE t001w-werks,
ltab_fields LIKE help_value OCCURS 0 WITH HEADER LINE,
BEGIN OF ltab_values OCCURS 0,
feld(40) TYPE c,
END OF ltab_values.
PARAMETERS: werks(4) TYPE C .
AT SELECTION-SCREEN ON VALUE-REQUEST FOR werks.
PERFORM get_werks USING werks text-006.
INITIALIZATION .
*-- Set up fields to retrieve data
ltab_fields-tabname = 'T001W'.
ltab_fields-fieldname = 'WERKS'.
ltab_fields-selectflag = 'X'.
APPEND ltab_fields.
ltab_fields-tabname = 'T001W'.
ltab_fields-fieldname = 'NAME1'.
ltab_fields-selectflag = space.
APPEND ltab_fields.
*-- Fill values
SELECT * FROM t001w.
ltab_values-feld = t001w-werks.
APPEND ltab_values.
ltab_values-feld = t001w-name1.
APPEND ltab_values.
ENDSELECT.
*&---------------------------------------------------------------------*
*& Form get_werks
*&---------------------------------------------------------------------*
* text
*&---------------------------------------------------------------------*
form get_werks using p_werks
p_text_006.
CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
EXPORTING
fieldname = 'WERKS'
tabname = 'T001W'
title_in_values_list = 'Select a value'
IMPORTING
select_value = p_werks
TABLES
fields = ltab_fields
valuetab = ltab_values
EXCEPTIONS
field_not_in_ddic = 01
more_then_one_selectfield = 02
no_selectfield = 03.
endform. " get_werks