ich habe folgendes Problem: beim Aufruf einer Funktion (als Verbuchungsbaustein angelegt) mit UPDATE TASK werden keine Daten in der Datenbank geändert. Wird diese Funktion aber im normalen Modus aufgerufen, werden die Daten in der Datenbank geändert. Woran kann der Fehler liegen? Ich bekomme keine Fehler- oder Abbruchmeldungen weil die Verbuchung in einem lokalen Task abläuft.
COMMIT WORK erfolgt natürlich am Ende. Es werden während der Verbuchung unterschiedliche Daten fortgeschrieben. Die Reihenfolge der Aufrufe:
andere Bausteine,
mein Baustein (im Update Task),
andere Bausteine,
COMMIT WORK.
Ich implementiere eine kundenspezifische Lösung in einem Event (PSCD) und bekomme den Import-Parameter I_UPDATE_TASK = 'X' übergeben. Deshalb rufe ich den Baustein als Verbuchung auf.
Wenn ich den Afruf des Baustein ändere - "IN UPDATE TASK" auskommentiere - dann funktioniert es! Wenn ich "IN UPDATE TASK" wieder aktiviere, werden nur meine Daten nicht fortgeschrieben, alle anderen jedoch.
Was soll das bedeuten?
beachte bitte, dass Verbuchungsbausteine ihre Daten über die Schnittstelle erhalten müssen, da globale Daten der Funktionsgruppe zum Zeitpunkt der Verbuchung neu initialisiert werden, sprich die Funktionsgruppe neu geladen wird.
Gruß
Ereglam
May the Force be with your code || .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .
danke für den Tip, bin auch schon selbst darauf gekommen. Jetz werden alle Daten uber die Schnittstelle des Bausteins übergeben und es funktioniert einwandfrei. Ich musste erst die normale Verbuchung im Rahmenprogramm einschalten, um zu sehen, ob die globalen Variablen gefüllt sind.
Warum kann ich nicht beim SET UPDATE TASK LOCAL die aktuelle Verbuchung debuggen? Gibt es eine Extra-Einstellung ausser "Verbuchungs-Debugging" iim ABAP-Debugger?