In einem eigenen Dynpro soll beim Aufruf mit der Funktion "Kopieren" der vorhandene Inhalt eines Feldes gelöscht werden. Bisher wurde dies manuell von den Sachbearbeitern vorgenommen, leider jedoch zu oft vergessen. Ich möchte dies nun bereits in der Ablauflogik implementieren.
Mit FIELD <f1> module sysmerk on input. funktioniert dies auch ohne Probleme.
Im gleichen Vorgang kommt es jedoch vor, dass in das zu löschende Feld wieder ein Eintrag vorgenommen werden muss und dieser darf selbstverständlich nicht gelöscht werden.
Mir ist klar, dass durch den eingebauten Befehl es jedes Mal den Neueintrag löscht. Wie kann ich das umgehen ?
Habe zwar FIELD <f1> module ... on request eingebaut, bringt mir aber nichts.
Könnte mir hier bitte jemand auf die Sprünge helfen ?
Danke
Coding:
PROCESS AFTER INPUT.
MODULE exit AT EXIT-COMMAND.
.
.
.
FIELD <f1> module sysmerk on input.
FIELD <f1> module sysmerk1 on request.
MODULE sysmerk input.
if <f1> <> space.
move space to <f1>.
endif.
ENDMODULE.
bin mir nicht sicher, ob wirklich so richtig verstehe was du vorhast, aber wenn du eine "Funktion Kopieren" aufrufst (meinst du damit Klick auf einen Button?), dann wird ja auch der Ok-Code gesetzt. Diesen wiederum kannst du ja zusätzlich in deinem Modul sysmerk auswerten.
1. Abfrage auf PFKEY = kopieren
2. neues Hilfsfeld
3. Abfrage ob Hilfsfeld = leer
4a. Wenn ja - wird das Hilfsfeld gefüllt und sämtliche Datenfelder gelöscht, welche aufgrund des Funktionscodes gelöscht sein sollen
4b. Wenn nein- wird 4a übersprungen und der neue Eintrag in den Datenfeldern bleibt erhalten
5. Und ganz zum Schluß wird beim sichern das Hilfsfeld geleert.
Jedoch sind die Punkte 1 bis 4 im PBO, im PAI wurden die Neueinträge immer wieder gelöscht. Im PAI wird nur Punkt 5 durchgeführt.