Problem mit Event DATA_CHANGED in ALV_GRID

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Problem mit Event DATA_CHANGED in ALV_GRID

Beitrag von pde ( / / 0 / 3 ) »
Hallo,

folgendes Problem:

habe in einem Dynpro ein ALV welches eine Tabelle mit einigen
editierbaren Spalten darstellt.
Der User soll nur bestimmte Werte eintragen können.
Daher verwende ich zum Editieren eine Dropdown-Box.
Das ganze funktioniert im Prinzip auch ganz prima.
(habe als Muster dazu den SAP-Beispiel-Report BCALV_EDIT_06 verwendet)

Ich habe einen Event-Handler geschrieben welcher
mit:

set handler go_event_receiver->handle_data_changed for go_grid.

und:

call method go_grid->register_edit_event
exporting
i_event_id = cl_gui_alv_grid=>mc_evt_modified.

über Änderungen informiert wird. (SAP-Beispiel dazu: BCALV_EDIT_03)
Der Event-Handler tritt jedesmal in Aktion, sobald der Anwender ein
Feld modifiziert hat und dann der Focus (Cursor) das modifizierte
Feld verlässt.

Das Problem taucht dann auf, wenn der Anwender eine Änderung
an einem Feld vornimmt und dann 'Save' in der Symbolleiste drückt.

Wenn der Focus NICHT gewechselt hat, dann wird die letzte Änderung
NICHT registriert.
(Der Anwender würde aber meinen er hätte diese Änderung durchgeführt.)

Bin mehr oder weniger ABAP-Anfänger.
Wer weis Rat ?

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


Beitrag von codemaster ( / / 0 / 3 ) »
Hallo pde,
hast du schon mal ein anderes event probiert. ich meine da mit dem focus ist schon ärgerlich. Also ich muß gestehen, daß ich es gewohnt bin erst einmal auf enter zu klicken (wie heißt es nochmal in der sap welt 'schlapp drücken') und dann werden die daten erst mal validiert.

Hast du es schon mal mit
MC_EVT_DELAYED_CHANGE_SELECT
wenn es schon nicht der gute alte
MC_EVT_ENTER
ist...
Gruß CM

Lösung: call method go_grid->check_changed_data

Beitrag von pde ( / / 0 / 3 ) »
OK - ich habe eine Lösung:

wenn ich
bei der Verarbeitung von 'Save'
noch die methode check_changed_data aufrufe
dann habe ich auch die letzte Änderung "im Sack".

also so:
...
case save_ok_code.
when c_btn_save.
call method go_grid->check_changed_data.
perform evaluate_user_modifications.
...

vielen Dank!

Seite 1 von 1

Vergleichbare Themen

0
Antw.
3359
Views
DATA-CHANGED-PROTOCOL vom ALV-Grid manipulieren
von Frog » 27.05.2008 21:31 • Verfasst in ABAP Objects®
2
Antw.
3468
Views
Daten ändern mit dem ALV-Grid: Event-Problem
von Timo7 » 02.11.2006 10:45 • Verfasst in ABAP® Core
11
Antw.
10472
Views
Problem mit CL_GUI_ALV_GRID Event data_changed
von Herr Müller » 10.09.2013 10:58 • Verfasst in ABAP Objects®
17
Antw.
9143
Views
alv grid und event handle_data_changed
von hadde85 » 27.05.2008 10:10 • Verfasst in ABAP® für Anfänger
4
Antw.
5368
Views
ALV-GRID delete button event abfangen
von fba9901 » 20.10.2014 17:54 • Verfasst in ABAP® Core

Über diesen Beitrag

Anonymous
Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

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.