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