====== Nachrichten von externen Systemen ====== Für den Jobstep [[prozessdefinition:jobs:jobsteps:kommunikation:backend:backendobjectretriever]] steht die Schnittstelle **IBackendObjectSenderCommit** zur Verfügung. Mit der Implementierung dieser Schnittstelle steht ein neuer **BackendType** zur Auswahl. ===== Methode CommitCurrent ===== Diese Methode wird aufgerufen, bevor die Nachricht in die Datenbank geschrieben wird. Das gibt die Möglichkeit Änderungen vorzunehmen bevor die Nachricht "existiert". ===== Beispielanwendung ===== Als Vorlage gibt es als Beispiel "SampleBackendObjectCommittedSender", dieses Beispiel vergibt eine Nummer im Betreff einer Nachricht (Betreff: "BeispielAuftrag 1"). Die Zahl befindet sich als Variable in der Hauptlokation vom vorgegebenen Systempartner und zählt nach jedem Auftrag hoch. Falls von Auftrag 1 bis Auftrag 5 es bereits nach der Erstellung von Auftrag 3 abbricht, wird beim nächsten Ausführen des Jobs mit Auftrag 4 fortgesetzt, da in der Variable nun die letzte ausgeführte Nummer (3) steht. ===== Methoden in der Schnittstelle ===== ^Methode ^Bedeutung | |void Initialize (IJob runningJob)|Initialisierung vom Objekt.| |bool MoveNext ()|Wenn true dann wird mit der nächsten Nachricht fortgesetzt. Im Beispiel zählt diese Methode die Nummer hoch und prüft nach der Anzahl der Liste.| |void CommitCurrent (string messageComRef, string messageInfo)| Wird aufgerufen bevor die Nachricht in die Datenbank gespeichert wird.| |void RollbackCurrent (string errorMessage)|Wird aufgerufen wenn ein Fehler auftritt.|