Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- REPORT zalv_model.
- CLASS lcl_salv_model DEFINITION INHERITING FROM cl_salv_model_list.
- PUBLIC SECTION.
- DATA: o_adapter TYPE REF TO cl_salv_adapter.
- METHODS: get_adapter IMPORTING io_model TYPE REF TO cl_salv_model.
- ENDCLASS.
- CLASS lcl_salv_model IMPLEMENTATION.
- METHOD get_adapter.
- o_adapter ?= io_model->r_controller->r_adapter.
- ENDMETHOD.
- ENDCLASS.
- START-OF-SELECTION.
- DATA: o_salv_model TYPE REF TO lcl_salv_model,
- lo_alv_mod TYPE REF TO cl_salv_model,
- lo_full_adap TYPE REF TO cl_salv_grid_adapter.
- SELECT *
- INTO TABLE @DATA(lt_bseg)
- FROM bseg
- UP TO 20 ROWS.
- TRY.
- cl_salv_table=>factory(
- EXPORTING
- r_container = NEW cl_gui_custom_container( 'SALV' )
- container_name = 'SALV'
- IMPORTING
- r_salv_table = DATA(lo_alv)
- CHANGING
- t_table = lt_bseg ).
- CATCH cx_salv_msg.
- ENDTRY.
- TRY.
- DATA(lo_sort) = lo_alv->get_sorts( ).
- DATA(lo_aggrs) = lo_alv->get_aggregations( ).
- lo_sort->add_sort( columnname = 'BSCHL' subtotal = if_salv_c_bool_sap=>true ).
- lo_aggrs->add_aggregation( columnname = 'DMBTR' aggregation = if_salv_c_aggregation=>total ).
- CATCH cx_salv_not_found. "#EC NO_HANDLER
- ENDTRY.
- lo_alv->display( ).
- CREATE OBJECT o_salv_model.
- lo_alv_mod ?= lo_alv.
- o_salv_model->get_adapter( io_model = lo_alv_mod ).
- lo_full_adap ?= o_salv_model->o_adapter.
- DATA(o_alv_grid) = lo_full_adap->get_grid( ).
- IF o_alv_grid IS BOUND.
- o_alv_grid->set_frontend_layout( is_layout = VALUE #( no_totline = 'X' ) ).
- o_alv_grid->refresh_table_display( ).
- ENDIF.
- CALL SCREEN 100.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement