Teil-Commit in Prozess

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Teil-Commit in Prozess

Beitrag von Huskyx (ForumUser / 2 / 0 / 0 ) »
Hallo zusammen,

ich habe aktuell das Problem, dass ich während eines Standardprozesses einen Eintrag in einer Datenbanktabelle updaten möchte, wenn es zu einem Fehler kommt.
Das ist soweit auch kein Problem, allerdings löst der Fehler im Standard einen Rollback aus, schleift die Fehler weiter und updatet die dann per Commit Work.
Durch das Rollback sind meine Update-Statements leider weg.
Ich habe schon mit den verschiedenen Call Functions rumprobiert, aber leider keinen Weg gefunden.
Gibt es einen eleganten Weg, dass ich mein Update-Statement auslagere und explizit nur dieses ausführe?

Vielen Dank schon mal für eure Hilfe!


Re: Teil-Commit in Prozess

Beitrag von gtoXX (Specialist / 150 / 31 / 24 ) »
Ist der Fehler nicht im Syslog zu sehen ? Wozu soll die Explizite Fortschreibung dienen ?
"Code lügt nicht ^^"

Re: Teil-Commit in Prozess

Beitrag von black_adept (Top Expert / 3534 / 71 / 703 ) »
Hallo Huskyx,

eine Möglichkeit wäre via PERFORM ON ROLLBACK deine Aktionen auszuführen, wobei ich allerdings nicht aus dem Stehgreif weiß, ob DB-Änderungen, die zu diesem Zeitpunkt ausgeführt werden durch das Rollback zurückgenommen werden oder nicht.
Eine weitere - wahrscheinlich die elegantere - Möglichkeit wäre einen EVENT auszulösen und einen Job zu definieren, der durch diesen Event getriggert wird. Eine schöne Anleitung für diese Vorgehensweise findet sich unter https://wiki.scn.sap.com/wiki/display/A ... g+an+event. Hat aber den Nachteil dass es asynchron läuft und du nicht mehr sagen kannst wann deine Änderungen gemacht werden.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Teil-Commit in Prozess

Beitrag von gtoXX (Specialist / 150 / 31 / 24 ) »
black_adept hat geschrieben:Hallo Huskyx,

eine Möglichkeit wäre via PERFORM ON ROLLBACK deine Aktionen auszuführen, wobei ich allerdings nicht aus dem Stehgreif weiß, ob DB-Änderungen, die zu diesem Zeitpunkt ausgeführt werden durch das Rollback zurückgenommen werden oder nicht.
Eine weitere - wahrscheinlich die elegantere - Möglichkeit wäre einen EVENT auszulösen und einen Job zu definieren, der durch diesen Event getriggert wird. Eine schöne Anleitung für diese Vorgehensweise findet sich unter https://wiki.scn.sap.com/wiki/display/A ... g+an+event. Hat aber den Nachteil dass es asynchron läuft und du nicht mehr sagen kannst wann deine Änderungen gemacht werden.

Ja, mit Event hätte ich es auch gelöst. Allerdings wollte ich erstmal die Beweggründe wissen ^^
"Code lügt nicht ^^"

Re: Teil-Commit in Prozess

Beitrag von gtoXX (Specialist / 150 / 31 / 24 ) »
black_adept hat geschrieben:Hallo Huskyx,

eine Möglichkeit wäre via PERFORM ON ROLLBACK deine Aktionen auszuführen, wobei ich allerdings nicht aus dem Stehgreif weiß, ob DB-Änderungen, die zu diesem Zeitpunkt ausgeführt werden durch das Rollback zurückgenommen werden oder nicht.
Eine weitere - wahrscheinlich die elegantere - Möglichkeit wäre einen EVENT auszulösen und einen Job zu definieren, der durch diesen Event getriggert wird. Eine schöne Anleitung für diese Vorgehensweise findet sich unter https://wiki.scn.sap.com/wiki/display/A ... g+an+event. Hat aber den Nachteil dass es asynchron läuft und du nicht mehr sagen kannst wann deine Änderungen gemacht werden.

Ja, mit Event hätte ich es auch gelöst. Allerdings wollte ich erstmal die Beweggründe wissen ^^
"Code lügt nicht ^^"

Re: Teil-Commit in Prozess

Beitrag von Tron (Top Expert / 1251 / 26 / 306 ) »
Moin.
Vor längerer Zeit hat mir mal ein Berater den Tipp gegeben, dass man in Update task
mit MODIFY Db arbeiten kann, ohne Abbrüche zu erzeugen. Ich weiß aber nicht, ob das noch funzt.
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Teil-Commit in Prozess

Beitrag von Huskyx (ForumUser / 2 / 0 / 0 ) »
Hallo zusammen,

sorry für die späte Rückmeldung.
Ich habe mich nun für - bitte nicht schlagen - Export to Memory und einen Enhancement-Point entschieden.
Wirklich 100% zufrieden bin ich mit meiner Lösung nicht, aber Sie funktioniert und steht in einem guten Verhältnis zu Aufwand und nutzen.
Ich hatte auch mit Batch-Jobs über die FuBas "Job Open" rumprobiert, aber leider feuern die auch schon COMMIT WORK ab.

Bzgl. dem Syslog:
Die Fehler sind da, aber ich schreibe explizit einen Status fort und das aus dem Syslog wieder zu lesen -> puh.

Vielen Dank nochmal für eure Rückmeldungen.

Seite 1 von 1

Über diesen Beitrag


ABAP & SAP eBook Flatrate von Espresso Tutorials Sponsorlink
Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Abgleich LStB-Erstellung
vor 9 Stunden von czschunke 1 / 19
Feldname ermitteln
Gestern von ralf.wenzel 9 / 60
Variablen im Workflow
Gestern von Nordlicht 3 / 36

Vergleichbare Themen

Prozess-ID auslesen
von Marwin » 31.03.2006 10:53
function als eigenen Prozess anlegen?
von steffi_ma » 16.07.2004 12:13
Excel-Prozess bleibt bestehen
von s_arnold » 31.08.2006 10:37