ich habe einen ALV der editierbar ist. Nach Eingabe eines Wertes überprüfe ich ob dieser passt. Der Wert darf nur eine bestimmte Anzahl von Stellen habe. Entweder 4 oder 8. Alles andere darf nicht sein.
Wie ist es möglich, wenn ich eine falsche Eingabe feststelle, dass ich dann zum einen eine Fehlermldung zeige(das funktioniert) und zum anderen den alten Wert wieder rein nehme?
die methode hat den Parameter ER_DATA_CHANGED Type Ref To CL_ALV_CHANGED_DATA_PROTOCOL - da hast du die Tabelle mit den modifizierten Einträgen - diese prüfst du ja und stellst fest der Wert passt nicht - daher musst du aus der Tabelle nur diesen Eintrag raus löschen - dann hat deine Tabelle den Wert wie vor der Modifikation - denn danach erfolgt ja erst der refresh auf die Tabelle für die Anzeige.