Dynpro-Events in ALV behandeln

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

Dynpro-Events in ALV behandeln

Beitrag von RBC01 (ForumUser / 5 / 0 / 0 ) »
Hallo,

ich habe folgendes Problem:

Ich habe in einem klassischen Dynpro ein ALV-Grid in einem Container ausgegeben. Das Dynpro-Menü soll nun sowohl Standard-Transaktionen (z.B. MM03) als auch eigene ALV-Funktionen (die die ALV-Liste manipulieren) enthalten. Wählt der Benutzer eines dieser Menü-Einträge aus, soll dieses Event im ALV behandelt werden.
Ich wäre dankbar, wenn mir jemand beantworten könnte, ob das überhaupt realisierbar ist, und wenn ja, wie funktioniert das?

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


Beitrag von Frank Wolf (ForumUser / 14 / 0 / 0 ) »
Warum möchtest Du das Ereignis nicht wie gewöhnlich in einem User-Command-Modul bearbeiten?
Senior Developer
www.xaption.de

Beitrag von RBC01 (ForumUser / 5 / 0 / 0 ) »
Hallo Frank,
vielen Dank für deine Antwort.

Mit user command Modul meinst Du sicher ein PAI-Modul, in dem ich die Funktionscodes der Menüeinträge abarbeite, oder?

Meine Anwendung ist eine OO-Anwendung, d.h. die ALV-Tabelle wird in einer Methode bearbeitet. Der User soll die Möglichkeit haben, bestimmte ALV-Zeilen zu markieren, dann eine eigene Funktion durch Auswahl aus dem Dynpro-Menü auszuwählen, die dann diese Zeilen bearbeitet. Bei Auswahl dieser Funktion soll jetzt der zugeordnete Funktionscode (Okcode) an den ALV eventhandler übergeben werden, damit dort eine entsprechende Methode aufgerufen wird, die die selektierten ALV-Zeilen bearbeitet. In dem PAI-Modul hätte ich auch die selektierten ALV-Zeilen nicht zur Verfügung, um die entsprechden Funktionen ausführen zu können. Nach der Bearbeitung der selektierten Zeilen, soll die ALV-Liste refreshed werden.

Die Anforderung, alle Menüs (Dynpro + ALV-eigene) als Dynpro-Menü abzubilden, stammt von meinem Auftraggeber.
Ich muss das entweder jetzt realisieren oder erklären, warum es nicht geht.

Kennst Du Dich an dieser Ecke aus, dann wäre ich über eine Antwort dankbar?

Vielen Dank im voraus für deine Hilfe.

Beitrag von Frank Wolf (ForumUser / 14 / 0 / 0 ) »
Doch, doch, die ausgewählten Zellen kannst du schon bekommen. Du benötigst nur die Instanzreferenz zum Grid, dann bekommst Du sie per GET_SELECTED_ROWS oder GET_SELECTED_CELLS.

Ich kenne mich ein wenig aus "Dialogprogrammierung mit EnjoySAP Controls" und "ABAP Objects - Grundlagen und Anwendung der objektorientierten Programmierung in ABAP" sind von mir.

Beitrag von RBC01 (ForumUser / 5 / 0 / 0 ) »
Ich habe gerade über eine Methode Dispatch (cl_gui_cfw) gelesen, die Applikationsereignisse verteilen kann. Kennst Du diese Methode? Kann die das eventuell leisten, was ich will?

Den Weg, den Du vorgeschlagen hast, würde ich gerne als Ersatz-Option nehmen, falls ich anders nicht weiterkomme.

Beitrag von Frank Wolf (ForumUser / 14 / 0 / 0 ) »
DISPATCH ist dazu da, dass wenn du eigene Ereignisse im Grid definiert hast und als Anwendungsereignisse registriert hast. Dann wird beim Ereignis PAI ausgelöst und du muss mit dem DISPATCH-Aufruf explizit die Abarbeitung der Eventhandler anstoßen.

Beitrag von RBC01 (ForumUser / 5 / 0 / 0 ) »
Das heisst also, die Methode ist nicht für Dynpro-Ereignisse geeignet, wenn ich das richtig verstanden habe? Gibt es denn überhaupt eine Möglichkeit, über Dynpro-events ALV-Behandlermethoden zu triggern?

Beitrag von RBC01 (ForumUser / 5 / 0 / 0 ) »
Hallo Frank,
ich denke, dass ich gerade eine Lösung realisiert habe. Den Anstoss dazu gabst Du mir mit deiner Bemerkung zur Übergabe der Referenz.

Ich machs jetzt so:

1. Zuerst rufe ich die Methode zur Bearbeitung und Ausgabe des Grids auf.
2. Dann rufe ich einen FUBA auf, der nichts weiter tut, als das ALV-Trägerdynpro zu rufen. Dabei übergebe ich die Referenz meiner ALV-Bearbeitungsklasse.
--> die Grid Liste wird in einem control angezeigt.
3. Der Benutzer selektiert Zeilen der Liste und wählt aus dem Dynpro-Menü
eine Funktion aus.
Dies ruft das PAI-Modul auf, in dem ich dann meinen ALV event handler aufrufe und dabei den okcode übergebe.
4. In der eventhandler Methode lese ich die markierten Zeilen aus und rufe die über das Dynpro-Menü ausgewählte Funktion (Methode/Standard-Transaktion) auf.

Vielen Dank für deine hilfreichen Beiträge.

PS: Ist dein Buch über Dialogprogrammierung mit Controls noch im Handel erhältlich?

Beitrag von Frank Wolf (ForumUser / 14 / 0 / 0 ) »
Das ist vergriffen, es sind aber alle Inhalte ins Nachfolgerbuch "ABAP Objects" eingeflossen, schau dir einfach das Inhaltsverzeichnis bei Amazon oder im dpunkt-Verlag an.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1470
Views
Ausnahmeklasse mit Bapireturn anreichern o.direkt behandeln
von RIG » 27.04.2018 13:18 • Verfasst in ABAP Objects®
11
Antw.
3706
Views
ALV events
von Bajdu » 01.12.2006 17:45 • Verfasst in ABAP® Core
1
Antw.
1834
Views
Events
von Andrzej » 15.03.2017 22:50 • Verfasst in ABAP® für Anfänger
2
Antw.
1710
Views
ALV Events
von kkauerau » 20.03.2017 15:32 • Verfasst in ABAP® für Anfänger
0
Antw.
1169
Views
Zum Aktivität events
von Bajdu » 19.10.2006 13:48 • 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

Frage zur redefinierten Methode
vor 3 Stunden von Tetr4 1 / 43
RFC vs. ODATA
vor 9 Stunden von ewx 3 / 128
Druck von Etiketten via FP_PDF_TEST_01
vor 11 Stunden von Mr_Mkt 3 / 138

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

Frage zur redefinierten Methode
vor 3 Stunden von Tetr4 1 / 43
RFC vs. ODATA
vor 9 Stunden von ewx 3 / 128
Druck von Etiketten via FP_PDF_TEST_01
vor 11 Stunden von Mr_Mkt 3 / 138