Frage
Was ist sy-oncom verwendet?
Ich habe die folgende Erklärung von SDN aber in meinem Programm mir einen Wert von ‚T‘ und ‚X‘ zu bekommen.
SY-ONCOM
Eine Commit-Flagge. Das Systemfeld ist Satz auf unterschiedliche Werte in Abhängigkeit von der Anrufstatus eines ABAP-Programms. Von diese nur der Wert von ‚P‘ garantiert. Wenn überhaupt, SY-ONCOM Muss nur für ‚P‘ abgefragt werden.
Der Wert ‚P‘ bedeutet, dass das Programm ist bereits eine Unterroutine ausgeführt wird begann mit PERFORM ... ON COMMIT und daher eine weitere Subroutinenaufruf mit PERFORM ... ON COMMIT würde verursacht einen Laufzeitfehler.
Lösung
Es ist ein weitgehend undokumentiert Feld, würde ich nicht auf sie verlassen. Ich weiß, dass es auf ‚V‘ (Verbucher), wenn ein Update-Funktionsbaustein nach COMMIT WORK in der Update-Task ausgeführt wird festgelegt werden sollte. Bevor hierzu die foo ON COMMIT Anrufe ausgeführt werden, und im Rahmen dieser Routinen sollte das Feld auf ‚P‘ gesetzt werden.
Nur aus Neugier, was brauchen Sie es?