1. DATA: g_okcode TYPE sy-ucomm.
  2. DATA: go_alv_display TYPE REF TO if_salv_gui_table_ida.
  3.  
  4. DATA ls_flight TYPE sflight.
  5.  
  6. SELECT-OPTIONS carrid FOR ls_flight-carrid.
  7. SELECT-OPTIONS connid FOR ls_flight-connid.
  8. SELECT-OPTIONS fldate FOR ls_flight-fldate.
  9.  
  10. *--[ Más ejemplos en SALV_IDA_TEST
  11.  
  12. " Instanciate and display ALV
  13. go_alv_display = cl_salv_gui_table_ida=>CREATE_FOR_CDS_VIEW( IV_CDS_VIEW_NAME    = 'S_BOOKINGS'
  14.                                                 ).
  15. data(lo_collector) = NEW cl_salv_range_tab_collector( ).
  16. lo_collector->add_ranges_for_name( iv_name = 'CARRIERID' it_ranges = carrid[] ).
  17. lo_collector->add_ranges_for_name( iv_name = 'BOOKID' it_ranges = connid[] ).
  18. lo_collector->add_ranges_for_name( iv_name = 'FLIGHTDATE' it_ranges = fldate[] ).
  19. lo_collector->get_collected_ranges( IMPORTING et_named_ranges = data(lt_name_range_pairs) ).
  20. Go_alv_display->set_select_options( it_ranges = lt_name_range_pairs ).
  21.  
  22. Go_alv_display->field_catalog( )->get_all_fields( IMPORTING ets_field_names = data(lts_field_names) ).
  23. DELETE lts_field_names WHERE table_line CP 'CONNECTIONID'.
  24. Go_alv_display->field_catalog( )->set_available_fields( lts_field_names ).
  25.  
  26. go_alv_display->default_layout(
  27.             )->set_sort_order( VALUE #( ( field_name = 'FLIGHTDATE'
  28.                                           is_grouped = abap_true )
  29.                                         ) ).
  30.  
  31. go_alv_display->standard_functions( )->set_text_search_active( abap_true ).
  32.     "Release Text Search on textual columns
  33.     go_alv_display->field_catalog( )->enable_text_search( 'CARRIERID' ).
  34.     go_alv_display->display_options( )->enable_alternating_row_pattern( ).
  35. go_alv_display->FULLSCREEN( )->display( ).