Warum ausgerechnet Syslog-Message D01: Transaktions-Abbruch ...
Wenn davon einige im SysLog erscheinen, sucht der Basis-Admin nach der Ursache.
Und ist bestimmt nicht begeistert.
Wenn schon SysLog-Einträge, dann mit selbst angelegten SysLog-Messages.
(Ist zwar nicht ganz trivial, weil die SE92 ein paar Bugs hat und die Bedienung nicht mehr ganz den aktuellen Ergonomie-Richtlinien entspricht, aber dennoch machbar.)
Ausserdem würde ich nicht die C-Funktion aufrufen, sondern den FB RSLG_WRITE_SYSLOG_ENTRY nehmen.
Vorteile:
1. Der FB ist dokumentiert und damit einfacher handhabbar als eine nicht dokumentierte Kernel-Funktion.
2. Der FB kümmert sich um das evtl. nötige Erzeugen von Folge-Einträgen, wenn zu viele bzw. zu lange Parameter übergeben werden müssen
3. Für SAP-Kernel-Funktionen gibt es (im Gegensatz zu Funktionsbaustein-Aufrufen) keinen Verwendungsnachweis.
4. Es ist unwahrscheinlicher, dass sich die FB-Schnittstelle ändert als dass es inkompatible Änderungen in der C-Funktion des Kernels gibt.
Und wenn es doch Änderungen gibt, findet man über den Verwendungsnachweis des FBs leichter die Stellen, die angepasst werden müssen.
(Der FB ist zwar nur "intern" freigegeben. Aber wenn man als Kunde eigene SysLog-Messageklassen anlegen darf, muss es ja auch ein offiziell von SAP unterstütztes Verfahren zum Erzeugen von SysLog-Messages geben.
Und ich denke nicht, dass es SAP lieber ist, wenn die C-Funktion aufgerufen wird.)