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!

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


Re: Teil-Commit in Prozess

Beitrag von gtoXX (Specialist / 185 / 34 / 31 ) »
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 / 3943 / 105 / 886 ) »
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 / 185 / 34 / 31 ) »
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 / 185 / 34 / 31 ) »
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 / 1327 / 35 / 331 ) »
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

Vergleichbare Themen

2
Antw.
2239
Views
Prozess-ID auslesen
von Marwin » 31.03.2006 10:53 • Verfasst in ABAP® Core
0
Antw.
444
Views
5
Antw.
2362
Views
Excel-Prozess bleibt bestehen
von s_arnold » 31.08.2006 10:37 • Verfasst in ABAP® Core
4
Antw.
1707
Views
5
Antw.
2588
Views
function als eigenen Prozess anlegen?
von steffi_ma » 16.07.2004 12:13 • Verfasst in Java & SAP®

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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.

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140