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: 34
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: 2670
Registriert: 07.02.2011, 13:40
Dank erhalten: 612 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: 2688
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 380 mal
Ich bin: Freiberufler/in


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

  Aktuelle Beiträge   
Eclipse-Einstellungen migrieren
vor 11 Stunden von black_adept 1 Antw.
gelöst ALV TREE | Positionsänderung nach Double Click Event
vor 18 Stunden von Lukas R. 2 Antw.
Krypto-Wahn verstehen?
vor 16 Stunden von Moraim 2 Antw.
Beziehungswissen anwenden
Gestern von moo_jo 2 Antw.
gelöst ABAP - Application Log
Gestern von swonny 1 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: 0 Mitglieder

Feedback ...?

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

... Absenden!