ALV Liste mit Änderungsabfrage?

Benutzeroberflächen in SAP®-Systemen.
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

ALV Liste mit Änderungsabfrage?

Beitrag von MacLeod (ForumUser / 46 / 4 / 0 ) »
Hallo,
ich bin der Neue und hab gleich mal ne Frage ;)
Ich les zwar schon eine Weile still mit, aber nun brennt mir doch mal was auf der Zunge ... Meine ABAP-Kenntnisse sind relativ "frisch", in erster Linie reines Selbststudium.

Ich programmiere gerade ein ALV Grid Control mit Liste (cl_gui_alv_grid) sowie (u.a.) zugehörigen Layout lvc_s_layo. Das Zebra-Flag ist abap_false, da ich eine eigene Colorierung in der Startsortierung nutze (zusätzliche Spalte mit Farbcode (Cxyz) pro Tabellezeile).
Diese Colorierung ist letzten Endes aber hinfällig, wenn der Benutzer in der Liste umsortiert.
Habe ich eine Möglichkeit in meinem Programm die Änderungen abzufangen und darauf zu reagieren? Bisher habe ich da leider noch nichts gefunden.

LG

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


Re: ALV Liste mit Änderungsabfrage?

Beitrag von a-dead-trousers (Top Expert / 4473 / 228 / 1203 ) »
Für Änderungen die die Eingabe von Daten betreffen (LVC_S_FCAT-EDIT) gibts Events die registriert werden müssen.
CL_GUI_ALV_GRID->REGISTER_EDIT_EVENT und dann kannst du mit dem entsprechenden Event-Handler (SET HANDLER) in der jeweiligen Behandlungsmethode eine eigene Verarbeitung einbauen.

Wenn Daten umsortiert werden... hmm... Dafür gibts glaub ich keinen Event.
Leider!

lg
ADT
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 Liste mit Änderungsabfrage?

Beitrag von ewx (Top Expert / 4897 / 327 / 645 ) »
Es gibt die Ereignisse BEFORE_USER_COMMAND und AFTER_USER_COMMAND. Die müssten funktionieren, so dass man nach dem Sortieren seine eigene Verarbeitung anstoßen kann.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
MacLeod


Re: ALV Liste mit Änderungsabfrage?

Beitrag von MacLeod (ForumUser / 46 / 4 / 0 ) »
Ah das klingt interessant. Werd ich mir gleich mal anschauen.
Ich hab ja dann zwei Möglichkeiten: entweder schalte ich meine Colorierung ab oder ich schaue, ob ich irgendwie die neue Sortierung auslesen kann und die Colorierung dann anpasse ...

Re: ALV Liste mit Änderungsabfrage?

Beitrag von MacLeod (ForumUser / 46 / 4 / 0 ) »
Ok das funktioniert, danke! :)
Hab ich auch eine Möglichkeit, die erste Spalte der neuen Sortierung auszulesen?

Re: ALV Liste mit Änderungsabfrage?

Beitrag von ewx (Top Expert / 4897 / 327 / 645 ) »
GET_SORT_CRITERIA müsste gehen.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
MacLeod


Re: ALV Liste mit Änderungsabfrage?

Beitrag von MacLeod (ForumUser / 46 / 4 / 0 ) »
Uh, stimmt. Danke!
Manchmal sieht man den Wald vor lauter Bäumen nicht :wink:

Re: ALV Liste mit Änderungsabfrage?

Beitrag von MacLeod (ForumUser / 46 / 4 / 0 ) »
Irgendwas passt es nicht mit meinem Algorithmus :(
Könnt Ihr bitte mal schauen?

Code: Alles auswählen.

  DATA: col1 TYPE lvc_emphsz VALUE 'C100',
        col2 TYPE lvc_emphsz VALUE 'C200',
        l_col TYPE lvc_emphsz,
        l_index TYPE sy-tabix.
  IF l_col IS INITIAL.
    l_col = col1.
  ENDIF.
  LOOP AT new_result.
    l_index = sy-tabix.
    AT NEW (l_sort_field).
      IF l_col = col1.
        l_col = col2.
      ELSE.
        l_col = col1.
      ENDIF.
    ENDAT.
    new_result-linecolor = l_col.
    MODIFY new_result INDEX l_index
  TRANSPORTING linecolor.
  ENDLOOP.
Mein "Vorhaben":
Ich laufe durch die Tabelle mit meinem Selektionsergebnis. Bei jedem neuen Wert im Sortierfeld (LVC_T_SORT-SPOS = 01, LVC_T_SORT-FIELDNAME wird dann in l_sort_field übergeben) soll der Algorithmus den Farbwert wechseln (col1 <=> col2).
Aber er wechselt den Wert schon bei Zeile 2, auch wenn sich die Inhalte vom Sortierfeld nicht unterscheiden ...
Nach dem Aufbereiten der Tabelle mit den Farbwerten mache ich ein REFRESH_TABLE_DISPLAY (Call Method alvlist->refresh_table_display.)

Re: ALV Liste mit Änderungsabfrage?

Beitrag von MacLeod (ForumUser / 46 / 4 / 0 ) »
Muss ich evtl das Layout auch noch refreshen außer dem refresh_table_display?

Nachtrag:
Problem gefunden. AT NEW <SPALTENNAME> ist bei mir unpassend. Denn (sofern ich das jetzt richtig verstanden habe) reagiert das Konstrukt auch, wenn SPALTENNAME ungleich der ersten Spalte ist, auf Änderungen in den davor liegenden Spalten.
Mein Problem habe ich jetzt "manuell" gelöst.
Trotzdem danke für die vorhergehenden Anregungen.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
3850
Views
Dialogsteuerung Liste->Dynpro->Liste sy-ucomm
von cut1 » 08.12.2006 14:28 • Verfasst in Dialogprogrammierung
3
Antw.
4861
Views
Screen->Liste->Screen und dann wieder Liste???
von dimes » 19.07.2007 15:19 • Verfasst in Dialogprogrammierung
3
Antw.
2415
Views
ALV-Liste
von christof » 20.08.2015 08:43 • Verfasst in ABAP® für Anfänger
0
Antw.
1814
Views
Transaktionscode-Liste
von Titanyogi » 27.06.2008 10:41 • Verfasst in ABAP® für Anfänger
3
Antw.
1287
Views
Liste mit Selektionsmöglichkeit
von FullyScaled » 17.06.2015 21:08 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Hilfe bei REUSE_ALV_GRID_DISPLAY
vor 8 Stunden von JHM 5 / 189
Export/Import Eclipse-Projekt
vor 4 Tagen von ralf.wenzel gelöst 3 / 1263

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.