ALV-Spaltenüberschrift (CL_SALV_TABLE)

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

ALV-Spaltenüberschrift (CL_SALV_TABLE)

Beitrag von deejey (Specialist / 426 / 131 / 45 ) »
Wenn ich eine Spaltenüberschrift mit zB SET_SHORT_TEXT setze wird sie im ALV auch angezeigt. Wird jedoch eine bestehende ALV-Variante verwendet wird die alte Spaltenüberschrift angezeigt, das SET_..._TEXT hat keine Auswirkung, offenbar ist die Überschrift irgendwie in der Variante gespeichert.

Kann man irgendwie die Variante zwingen die neue Überschrift zu übernehmen🙂oder müssen die Varianten neu erstellt werden?

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: ALV-Spaltenüberschrift (CL_SALV_TABLE)

Beitrag von a-dead-trousers (Top Expert / 4438 / 226 / 1193 ) »
Das gleiche Problem hat man auch im ALV-Grid. Die SAP hat sich hier vor Urzeiten dazu entschieden alle Informationen aus dem Feldkatalog gemeinsam im Layout abzulegen anstatt sinnvoll aufzutrennen. Wenn du (die Benutzer) nicht alle Varianten händisch neu anlegen möchtest, könntest du einen Report basteln der die Varianten direkt anpasst. Mit LVC_VARIANT_SELECT und LVC_VARIANT_SAVE sollte sich sowas relativ einfach realisieren lassen.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
deejey

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: ALV-Spaltenüberschrift (CL_SALV_TABLE)

Beitrag von Thomas R. (Expert / 760 / 79 / 35 ) »
Hallo zusammen,
bei mir tritt dieser Effekt nicht auf.
SAP_BASIS 740 0029
SAP_ABA 740 0029

Wenn ich in dem Testprogramm den Kurztext abändere ist er sofort beim Ausführen sichtbar und auch der Abruf eines gespeicherten Layouts ändert daran nichts.

Code: Alles auswählen.

REPORT zrt_quick_and_dirty.

START-OF-SELECTION.
  "Datenbeschaffung
  SELECT posid, pbukr, stufe
    FROM prps
    INTO TABLE @DATA(gt_datensaetze)
  UP TO 30 ROWS.

  "ALV
  DATA   lo_table     TYPE REF TO cl_salv_table.
  cl_salv_table=>factory(
    IMPORTING
      r_salv_table   = lo_table
    CHANGING
      t_table        = gt_datensaetze[] ).

  "Layoutverwaltung
  DATA ls_layoutkey TYPE salv_s_layout_key.
  ls_layoutkey-report = sy-cprog.
  ls_layoutkey-handle = space.
  ls_layoutkey-logical_group = space.
  lo_table->get_layout( )->set_key( ls_layoutkey ).
  lo_table->get_layout( )->set_save_restriction( if_salv_c_layout=>restrict_none ).

  "Short text
  DATA lr_column_table TYPE REF TO cl_salv_column_table.
  lr_column_table ?= lo_table->get_columns( )->get_column( EXPORTING columnname = 'POSID' ).
  lr_column_table->set_short_text( value = 'S1' ).
  lr_column_table ?= lo_table->get_columns( )->get_column( EXPORTING columnname = 'PBUKR' ).
  lr_column_table->set_short_text( value = 'S2' ).
  lr_column_table ?= lo_table->get_columns( )->get_column( EXPORTING columnname = 'STUFE' ).
  lr_column_table->set_short_text( value = 'S3' ).

  "Anzeige
  CALL METHOD lo_table->display.
EDIT:
Hinweis: Natürlich muss die Spalte so kurz sein, dass der Kurztext verwendet wird. Deshalb sieht man bei POSID keinen Effekt.
Gerne einmal starten, ein Layout "S" abspeichern, S1-S3 auf T1-T3 ändern und erneut starten. Es wird Tx sichtbar sein, auch wenn das "S"-Layout ausgewählt wird.

MfG
Thomas R.

Folgende Benutzer bedankten sich beim Autor Thomas R. für den Beitrag:
deejey


Re: ALV-Spaltenüberschrift (CL_SALV_TABLE)

Beitrag von deejey (Specialist / 426 / 131 / 45 ) »
Danke, werde ich mal am Wochenende testen, auf dem ziemlich veralteten Kundensystem und auf einem Aktuelleren. Das ärgert mich alles zu Tode mit dem ALV-Gerümpel und Inkompatibilitäten mit GRID und SALV.

Re: ALV-Spaltenüberschrift (CL_SALV_TABLE)

Beitrag von deejey (Specialist / 426 / 131 / 45 ) »
So, weil mich das alles zu Tode ärgert habe ich mir die halbe Nacht um die Ohren gehauen mit ausführlicher Testerei und denke, dass ihr beide recht habt:

  • 1. Das Problem besteht nur dann wenn ich im SelScreen eine Variante mitgebe, dann wird SET_INITIAL_LAYOUT durchgeführt.

    2. Wenn ich keine Variante mitgebe und erst im ALV die selbe Variante auswähle werden die Überschriften korrekt überschrieben, es werden in dem Fall also nicht die gespeicherten angezeigt.
Diese Lösung habe ich als Vorlage für mein Programm verwendet weil die Anforderung war das Layout in den Parameters vorgeben zu können:
https://codezentrale.de/tag/set_initial_layout/

Wie kriege ich bloß die die Standardvariante aus den Parameters gesetzt ohne den Nachteil der in der Variante gespeicherten Überschriften zu haben?

Seite 1 von 1

Vergleichbare Themen

5
Antw.
299
Views
CL SALV TABLE dumped
von ZF_SAPler » 07.04.2025 13:51 • Verfasst in ABAP® für Anfänger
2
Antw.
7341
Views
Salv Table - Layouts speichern
von JohnLocklay » 14.06.2019 11:33 • Verfasst in ABAP Objects®
3
Antw.
4806
Views
GUI Status verhindert on click Event des SALV Table
von Pinguincommander » 05.02.2019 09:51 • Verfasst in ABAP® Core
5
Antw.
4160
Views
Spaltenüberschrift im ALV
von KlausB » 14.03.2006 14:19 • Verfasst in ABAP® Core
8
Antw.
19224
Views
ALV - Spaltenüberschrift ändern
von SAPAlex » 20.02.2008 13:50 • Verfasst in ABAP® Core

Über diesen Beitrag



Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.