Falsche Rückgabe der Selektierten Zeile/ Fehler beim Refresh

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Falsche Rückgabe der Selektierten Zeile/ Fehler beim Refresh

Beitrag von t0mt0m (ForumUser / 16 / 0 / 0 ) »
Hallo,

ich habe folgende Ausgangsituation:
Ich habe mir in einem Dynpro mit der Methode des ALV Objektes SET_TABLE_FOR_FIRST_DISPLAY ein ALV zusammengebaut. Nun soll es
dem User möglich sein 1 oder mehrere Einträge zu selektieren und für diese eine Folgeverarbeitung durchzuführen.

Das Ergebnis der automatischen Verarbeitung wird anschließend in einem neuen ALV in einem Popup angezeigt. Nachdem der Anwender die Informationen gelesen hat, soll er das Popup wieder schließen können und die nächsten Einträge in ALV markieren können um für diese eine weiterverarbeitung anzustoßen.

Nun mein(e) Problem(e):
1. Wenn ich das erste mal Einträge im ALV markiere und dann die weiterverarbeitung antriggere, gibt mir die ALV Methode get_selected_rows korrekt die Nummern der selektierten Zeilen zurück. Nachdem ich aber im Popup war und danach weiterarbeiten will, gibt mir die Methode (get_selected_rows) immer nur die Zeile 1 als Ergebnis zurück, egal was ich markitert habe.
2. Wenn ich das Popup mit der Ergebnissen der Verarbeitung ein zweites mal aufrufe, zeigt mir das ALV immer noch das Ergebnis des ersten Aufrufes an. Ich schätze mal, das es daran liegt, das die interne Tabelle nicht refresht wird, sondern jedesmal beim Aufruf des Dynpros die Methode set_table_for_first_display aufgerufen wird. Aber wie kann ich überprüfen ob meine ALV Object für das Popup schon erstellt wurde um beim zweiten mal einfach die refresh Methode aufzurufen?


Ich hoffe mir kann jemand einen Denkanstoss in die richtige Richtung geben, da ich leider im Sachen ABAP OO und ALV nicht sonderlich bewandert bin (aber willens es zu lernen :) ).

Gruß
Tom

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


Beitrag von BlackMail (ForumUser / 79 / 0 / 0 ) »
Hallo,

bin mir nicht sicher, woran das liegt, aber bei jedem PBO set_table_for_first_display aufzurufen ist sicherlich nicht gut.
Um das grid beim ersten PBO zu erzeugen und set_table_for_first_display aufzurufen, kannst Du Dich an der Gridreferenzvariable (if gx_grid is initial (oder besser: is bound)) orientieren.

Vielleicht musst Du auch ein cl_gui_cfw=>flush ausführen, nachdem du get_selected_rows aufrufst.

Probiers mal aus und berichte.

Gruß BlackMail.

Beitrag von t0mt0m (ForumUser / 16 / 0 / 0 ) »
ich weiß ehrlich gesagt, nciht ganz wie ich diese Variable abfrage :oops:

ich habe sowohl in der Klassendefinition des Containers(CL_GUI_CUSTOM_CONTAINER) in dem das ALV liegt als auch in der Klassendefinition des ALV selber (cl_gui_alv_grid) in den Attributen nach gx_grid gesucht. Hab es leider nirgends gefunden......

Beitrag von BlackMail (ForumUser / 79 / 0 / 0 ) »
Ok, vielleicht war das missverständlich. Mit "gx_grid" meinte ich die Referenzvariable in Deinem Programm, die auf die ALV-Klasse zeigt.
Beim ersten PBO wirst Du ja eine Instanz der ALV-Klasse erzeugen:

Code: Alles auswählen.

DATA: DeineVariable TYPE REF TO cl_gui_alv_grid.
...
PBO.

  IF DeineVariable IS INITIAL.   " Hier abfragen ob die Variable schon auf etwas zeigt.
    CREATE OBJECT DeineVariable
    ...
    CALL METHOD DeineVariable->set_table_for_first_display ...
  ELSE.
    CALL METHOD DeineVariable->refresh_table_display ...
  ENDIF.
Gruß BlackMail.

Beitrag von t0mt0m (ForumUser / 16 / 0 / 0 ) »
Vielen Dank,
genau das war die Lösung beider oben beschriebener Probleme.

Nachdem ich darauf achte nur noch beim Erstaufruf die Methode set_table for_first_display aufzurufen werden die werde korrekt aktualisiert und auch die Neuselektion von Zeilen klappt jetzt wunderbar. I


Also...vielen Dank nochmal Blackmail

Gruß
Tom

Seite 1 von 1

Vergleichbare Themen

5
Antw.
2058
Views
ALV GRID ermitteln der selektierten Zeile
von SAP_ENTWICKLER » 30.11.2017 09:23 • Verfasst in ABAP® für Anfänger
1
Antw.
1735
Views
Zahllauf / Scheckverwaltung / keine selektierten Posten
von capt_goerk » 19.04.2007 10:44 • Verfasst in Financials
2
Antw.
3069
Views
JCO - Rückgabe an SAP Dateiinhalt
von steffi_ma » 22.12.2004 14:40 • Verfasst in Java & SAP®
9
Antw.
5013
Views
Rückgabe von Datenreferenzen
von SaskuAc » 02.06.2017 11:01 • Verfasst in ABAP® Core
3
Antw.
4731
Views
Verbuchungsbaustein - Rückgabe?
von xJeNnYx » 21.09.2009 14:53 • 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

Regex in where
vor 12 Stunden von tar 8 / 299
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1589
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 238
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 475

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.

Aktuelle Forenbeiträge

Regex in where
vor 12 Stunden von tar 8 / 299
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1589
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 238
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 475

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 176
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3354
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9906