Professional Documents
Culture Documents
Salv Hierseq
Salv Hierseq
Salv Hierseq
tables: vbrp.
select-options:
werks for vbrp-werks default 'R001',
lgort for vbrp-lgort default 'NORS',
charg for vbrp-charg.
data:
w_vekp type ty_kp,
t_vekp type standard table of ty_kp,
w_vepo type ty_po,
t_vepo type standard table of ty_po,
o_hs_alv type ref to cl_salv_hierseq_table.
methods:
get_data,
generate_output.
private section.
methods:
set_pf_status changing co_hs_alv type ref to cl_salv_hierseq_table,
set_expand_option changing co_hs_alv type ref to cl_salv_hierseq_table,
set_event_handlers changing co_hs_alv type ref to cl_salv_hierseq_table,
on_link_click for event link_click of cl_salv_events_hierseq
importing row column level sender,
on_added_function for event added_function of cl_salv_events_hierseq
importing e_salv_function sender.
endclass.
start-of-selection.
data: lo_report type ref to lcl_report.
create object lo_report.
lo_report->get_data( ).
lo_report->generate_output( ).
method generate_output.
data: lt_bind type salv_t_hierseq_binding,
la_bind like line of lt_bind.
la_bind-master = 'VENUM'.
la_bind-slave = 'VENUM'.
append la_bind to lt_bind.
try.
call method cl_salv_hierseq_table=>factory
exporting
t_binding_level1_level2 = lt_bind
importing
r_hierseq = o_hs_alv
changing
t_table_level1 = t_vekp
t_table_level2 = t_vepo.
catch cx_root.
endtry.
method set_event_handlers.
data: lo_events type ref to cl_salv_events_hierseq.
try .
lo_events = co_hs_alv->get_event( ).
set handler on_link_click for lo_events.
set handler on_added_function for lo_events.
catch cx_root.
endtry.
endmethod.
method set_pf_status.
data: lo_functions type ref to cl_salv_functions_list.
lo_functions = co_hs_alv->get_functions( ).
lo_functions->set_all( abap_true ).
method set_expand_option.
data:
lo_columns type ref to cl_salv_columns_hierseq,
lo_column type ref to cl_salv_column_hierseq.
try.
lo_columns = co_hs_alv->get_columns( 1 ).
lo_columns->set_expand_column( 'EXPAND' ).
catch cx_salv_data_error cx_root. "#EC NO_HANDLER
endtry.
endmethod. "set_expand_option
method on_link_click.
data lo_event type ref to cl_salv_events_hierseq.
lo_event = o_hs_alv->get_event( ).
field-symbols: <lfa_data> like line of lo_report->t_vekp.
lo_report->o_hs_alv->refresh( ).
endmethod.
method on_added_function.
endmethod.
endclass. "lcl_report IMPLEMENTATION