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: 30
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: 2571
Registriert: 07.02.2011, 13:40
Dank erhalten: 581 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: 2574
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 347 mal
Ich bin: Freiberufler/in


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

  Aktuelle Beiträge   
CL_ABAP_CLASSDESCR und Syntaxfehler
vor 4 Stunden von black_adept 1 Antw.
Parameter-ID für Z-Programme einrichten
vor 9 Stunden von wreichelt 1 Antw.
PDF-Datei nach Upgrade deutlich zu groß
Gestern von ewx 1 Antw.
Vier-Augen-Prinzip auf dem Geschäftspartner
Gestern von ralf.wenzel 3 Antw.
Zugriff mittels VBA auf Remotebaustein
Gestern von Romaniac 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!