Добрый день, подскажите пожалуйста: есть ALV grid, реализованный с помощью OOP
Code:
DATA: gt_offices TYPE znes_t_office,
gr_table TYPE REF TO cl_salv_table,
gr_functions TYPE REF TO cl_salv_functions,
gr_display TYPE REF TO cl_salv_display_settings,
gr_columns TYPE REF TO cl_salv_columns_table,
gr_column TYPE REF TO cl_salv_column_table,
gr_sorts TYPE REF TO cl_salv_sorts,
gr_layout TYPE REF TO cl_salv_layout,
key TYPE salv_s_layout_key.
TRY.
gt_offices = it_office_data.
cl_salv_table=>factory( IMPORTING r_salv_table = gr_table
CHANGING t_table = gt_offices ).
gr_functions = gr_table->get_functions( ).
gr_functions->set_all( abap_true ).
gr_functions->add_function(
gr_display = gr_table->get_display_settings( ).
gr_display->set_striped_pattern( cl_salv_display_settings=>true ).
gr_display->set_list_header( lc_header ).
gr_sorts = gr_table->get_sorts( ).
gr_sorts->add_sort('CUSTOMER').
gr_layout = gr_table->get_layout( ).
key-report = sy-repid.
gr_layout->set_key( key ).
gr_layout->set_save_restriction( cl_salv_layout=>restrict_none ).
gr_table->display( ).
CATCH cx_salv_msg cx_salv_not_found cx_salv_data_error cx_salv_existing.
ENDTRY.
Как добавить кастомные кнопки и обработать их? Может есть какой-нибудь стандартный саповский репорт для примера?
Заранее спасибо.