Для быстрого вывода ALV, например для произвольного справочника, можем использовать класс cl_salv_table. Очень удобно и быстро.
Пример:
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 31 32 33 34 35 36 37 38 39 40 41 |
" " DATA lo_alv TYPE REF TO cl_salv_table. DATA lr_functions TYPE REF TO cl_salv_functions_list. DATA lr_selections TYPE REF TO cl_salv_selections. DATA lt_select TYPE salv_t_row. DATA lt_data_tab LIKE lcl_get_data=>gt_data_tab[]." Таблица с данными *"---------------------------------------------------------------------- "Вызов окна для выбора записей TRY. cl_salv_table=>factory( IMPORTING r_salv_table = lo_alv CHANGING t_table = lt_data_tab[] ). CATCH cx_salv_msg. ENDTRY. lr_functions = lo_alv->get_functions( ). lr_functions->set_all( 'X' ). IF lo_alv IS BOUND. lo_alv->set_screen_popup( start_column = 30 end_column = 120 start_line = 20 end_line = 50 ). lr_selections = lo_alv->get_selections( ). lo_alv->display( ). lt_select = lr_selections->get_selected_rows( ). ENDIF. "Используем выделенные строки как хотим READ TABLE lt_select ASSIGNING FIELD-SYMBOL(<ls_select>) INDEX 1. ....... |