ALV Events


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

ALV Events

Beitragvon kkauerau » 20.03.2017, 15:32

Hallo zusammen.

Ich möcdhte den ALV zur Eingabe von Werten verwenden. Dabei möchte ich immer dann, wenn eine Zeile vom User komplett gefüllt worden ist, eine Prüfung der bereits eingegebenen Werte vornehmen, um ggfs Prüf-Fehler melden zu können.

Meine Frage: Wie geht das im ABAP? Die Events data_changed und data_changed_finished scheinen's nicht zu sein; zumindest kommen die immer dann, wenn die Zeile noch nicht fertig gefüllt ist.

Ich habe den ALV jetzt eingeschränkt, so daß er initial nur noch 1 Zeile hat, aber das Einfügen einer neuen Zeile (bzw. das Drücken des entspr Buttons) scheint keinen toolbar-Event zu werfen. - Oder heißt das Teil nur anders?

Danke für Hilfe!
kkauerau
ForumUser
 
Beiträge: 29
Registriert: 11.01.2017, 14:21
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: ALV Events

Beitragvon a-dead-trousers » 21.03.2017, 07:30

Wie du ja bereits festgestellt hast, werden die Datenänderungs-Events beim Verlassen der Zelle bzw. beim Bestätigen mit Enter ausgelöst. Dabei ist die entsprechende Zeile meist noch nicht vollständig gefüllt.
Auch gibt es keine Möglichkeit "Standard"-Funktionscodes der Toolbar im Kundencoding abzufangen.

Für dein Problem gibt es nun mehrere mögliche Herangehensweisen:
1) Die einfachste, weil auch pragmatischste, ist, dass du deine Prüfungen nur einmalig vor dem "Speichern" und komplett für alle eingegebenen Zeilen durchführst.
2) Du prüfst bei den Datenänderungs-Events vorher ob die "Vollständigkeit" für die Prüfung überhaupt gewährleistet ist, sprich ob alle notwendigen Daten für die Prüfung eingegeben wurden.
3) Du baust einen eigenen Funktionscode in die Toolbar ein, der die Prüfung der bereits eingegebenen Zeile durchführt und erst im Falle des Erfolgs eine neue Zeile hinzufügt.
4) Du verwendest kein ALV Grid sondern normale Dynpro-Felder für die Dateneingabe und einen Button "Hinzufügen" der die Daten in das ALV Grid schreibt.

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.07
Basis: 7.40
a-dead-trousers
Top Expert
 
Beiträge: 2563
Registriert: 07.02.2011, 13:40
Dank erhalten: 580 mal
Ich bin: Entwickler/in

Re: ALV Events

Beitragvon black_adept » 21.03.2017, 11:23

Ich möchte a-d-ts Ausführungen noch etwas ergänzen.

Der Datenänderungsevent wird nicht beim Verlassen der Zelle sondern beim Betreten einer anderen Zelle ausgelöst. Das ist zwar fast das Gleiche - aber eben nicht ganz.
Außerdem kann man die meisten "Standard"-Funktioncodes der Toolbar auch abfangen - man muss dazu auf die Events "BEFORE_USER_COMMAND" bzw. "AFTER_USER_COMMAND" reagieren.
Allerdings gilt das nicht - wie schon von dir bemerkt - für die Zeilenhinzufügebuttons
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 2563
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 344 mal
Ich bin: Freiberufler/in


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
Typendeklaration von tiefen Strukturen
vor 2 Stunden von ewx 3 Antw.
BOPF Action auslösen
vor 4 Stunden von unknown 0 Antw.
Konditionen via Report ausgeben
vor 6 Stunden von BubbleSort 0 Antw.
gelöst FuBa material_maintain_dark_retail
vor 3 Stunden von erubadhron 2 Antw.
Tabelle in interne Tabelle kopieren und Felder kennzeichnen
vor 4 Stunden von lausek 7 Antw.

  Ähnliche Beiträge beta
Events
16.03.2017, 15:28 von jocoder 1 Antw.
Zum Aktivität events
19.10.2006, 12:48 von Bajdu 0 Antw.
ALV-Grid Stichworte: Events, PAI, PBO
18.07.2005, 09:48 von OliTe 2 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: Yahoo [Bot]

Feedback ...?

Was können wir verbessern? Hinterlasse deine Kontaktdaten, wenn du eine direkte Antwort möchtest.

... Absenden!