Когда Вы сталкиваетесь с задачей предоставить пользователю возможность выбирать одно (или несколько) значений из внутренних таблиц на экране выбора (или на экранах) можно воспользоваться удобным классом-оберткой CL_RECA_GUI_F4_POPUP, вместо написания например средств поиска. С помощью данного класса мы можем определить заголовок всплывающего окна с данными, фильтры, отображаемые поля, сортировки и многое другое.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | REPORT zf4_gui_help. DATA:  gt_spfli TYPE spfli_tab,   " Вн. таблица из которой происходит выбор данных  gt_res_tab TYPE spfli_tab, " Данные с выбранными значениями  go_f4    TYPE REF TO CL_RECA_GUI_F4_POPUP. PARAMETERS: p_test TYPE spfli-connid. INITIALIZATION.   SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE gt_spfli. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_test.   PERFORM get_help. FORM get_help.   FIELD-SYMBOLS: <fs_rec> TYPE spfli.   CLEAR gt_res_tab.   IF go_f4 IS NOT BOUND.     go_f4 = cl_reca_gui_f4_popup=>factort_grid(       id_title   = 'Заголовок'  " Заголовок окна       if_multi   = abap_false   " Единичный выбор       it_f4value = gt_spfli     " Вн. таблица с данными     ).   ENDIF.   go_f4->display( IMPORTING ET_RESULT = gt_res_tab ).   READ TABLE gt_res_tab INDEX 1 ASSIGNING <fs_rec>.   CHECK sy-subrc EQ 0 AND <fs_rec> IS ASSIGNED.   p_test = <fs_rec>-connid. ENDFORM. | 


