SAP Jobsuche bei DV-Treff
creative235
vor 4 Jahre
Hallo Leute,

ich habe ein Problem bei der Darstellung meiner ALV-Liste. Auf dem Entwicklungssystem funktioniert die Darstellung genauso, wie ich es mir vorgestellt habe (Zwischensummen bei wechselndem Vertriebsweg bzw. Währung).

Auf dem Produktivsystem habe ich aber das Problem, dass er mir meine (sortierte) Liste nicht mehr richtig anzeigt. Es werden keine Zwischensummen angezeigt bzw. die Liste ist auch nicht mehr richtig sortiert.

Nach dem Debugging bin ich leider auch nicht schlauer als vorher. Die Liste ist bis zum display( ) noch richtig sortiert.

Kann mir jemand helfen? 😕

  SORT i_mytab BY vkdfs_vkorg vkdfs_vtweg vkdfs_spart vbfa_waers DESCENDING.
  CALL METHOD cl_salv_table=>factory
    EXPORTING
      list_display = space
    IMPORTING
      r_salv_table = a_alv_mytab
    CHANGING
*     t_table      = it_np_buchung.
      t_table      = i_mytab.

  r_functions = a_alv_mytab->get_functions( ).
  r_functions->set_all( c_ja ).

  r_columns = a_alv_mytab->get_columns( ).
  r_columns->set_optimize( abap_true ).

* HotSpot                                                  "Verzw. 6
  TRY.
      r_column_table ?= r_columns->get_column('VBELN'     ).
      r_column_table->set_cell_type( if_salv_c_cell_type=>hotspot ).
  ENDTRY.

  gs_salv_s_layout_key-report = sy-cprog.                                                  
  gs_salv_s_layout_key-handle = 'MYTAB'.                                                   

  r_layout = a_alv_mytab->get_layout( ).
  r_layout->set_key( gs_salv_s_layout_key ).                                               
  r_layout->set_save_restriction( if_salv_c_layout=>restrict_none ).
  r_layout->set_initial_layout( p_layout ).

  counter = lines( i_mytab ).    
  MESSAGE s363(zsd) WITH counter.

* Event Handling                                           "Verzw. 5
  r_events_table =  a_alv_mytab->get_event( ).
  CREATE OBJECT r_events.
  SET HANDLER r_events->on_double_click FOR r_events_table.

  a_alv_mytab->get_sorts( )->add_sort( columnname = 'VKDFS_VKORG' subtotal = abap_true ).
  a_alv_mytab->get_sorts( )->add_sort( columnname = 'VKDFS_VTWEG' subtotal = abap_true ).
  a_alv_mytab->get_sorts( )->add_sort( columnname = 'VKDFS_SPART' subtotal = abap_true ).
  a_alv_mytab->get_sorts( )->add_sort( columnname = 'VBFA_WAERS' subtotal = abap_true ).

  a_alv_mytab->get_aggregations( )->add_aggregation( columnname  = 'VBFA_RFWRT'
                                                     aggregation = if_salv_c_aggregation=>total ).

  a_alv_mytab->display( ).

Viele Grüße,

Dennis

Förderer

wreichelt
vor 4 Jahre
Hallo Dennis,

die Zwischensummen etc. kann ich doch auch im ALV-Layout definieren und das Layout dann als Standard zuweisen.

Gruß Wolfgang

creative235
vor 4 Jahre
Hallo Wolfgang,

vielen Dank für deine schnelle Antwort. Da lag auch das Problem. Das Defaultlayout war auf der PRD ein anderes, als auf der SEN. Konnte das Problem so beheben.

Viele Dank,

Dennis