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.
было интересно, спасибо,
но пытаюсь разобраться,
что лучше?
специально сравнивал окошко средства поиска с этим,
преимущества сомнительны,
главный плюс в том, что создается кодом,
ну это для тех кому не нравится словарь
обычное средство поиска делается элементарно ,
тут же нужно помнить как минимум название класса
Любую задачу можно решить множеством методов, знание этих методов помогает подобрать оптимальное решение.
Средство поиска создается не сложно и в случае когда оно используется во множестве программ, будет конечно лучше использовать его. Опять же средство поиска можно легко встроить в WDP.
Но в данном конкретном примере, данные могут генерироваться программно, на много ли проще сделать такое в СП?
>>> на много ли проще сделать такое в СП?
вся литература посвящена тому как делать это в СП
этому учат в курсах BC
мне очень понравилось это решение
и вообще любое, где кодом программируются диалоги,
постоянно ищу информацию об этом
(ее почти нет)
А есть ли возможность к средству поиску из словаря, подцепить динамически сформированные данные, без использования sh exit?
да, Ваш способ для этого идеален
применение найдено
не ломая, думаю ни как
ps
смысла нет, перемешивать код с тем, от чего вообще пытаюсь избавиться…
В моей системе нет такого типа CL_RECA_GUI_F4_POPUP, как его создать и что должно быть внутри?
Использовать стандартный ФМ для выбора значений из внутренней таблицы.
CALL FUNCTION ‘F4IF_INT_TABLE_VALUE_REQUEST’