Question

Neue Funktionalität für die DiffMappings ist eingebaut. Dazu gibt es neu die Funktion LoadStatefulDocument, mit deren Hilfe man die vorherige erfolgreich verarbeitete Version desselben Dokumentes bekommt und diese dann laden kann. In diesem Zusammenhang kann man nun nicht mehr länger einfach mit dem RemoveMessage JobStep die alten Messages löschen, sondern sollte das so machen, dass das nicht nur nach Zeit, sondern eben auch nach der letzten Dokumenteninstanz geht. Insgesamt kann es dann sein, dass man mehrere tausend Dokumente vorhalten muss.

Um in diesem Szenario qualifiziert zu löschen, gibt es nun diesen neuen JobStep StatefulDocumentMessageCollector, der Messages einsammelt. Diese kann man dann mit dem JobStep MessageDeletor verbinden und so die alten Messages löschen.

Parameter:

MessageBox auf der gesucht werden soll

StatefulEntityTypeName ist der EntityType nach dem gesucht werden soll

NumberOfDocumentInstancesToKeep gibt an, wie viele erfolgreich verarbeitete Dokumenteninstanzen noch vorgehalten werden sollen >= 1

 

MinStateToCollect gibt an ab welchem Status ein Dokument / Message als erfolgreich angesehen wird.

Rest wie beim MessageCollector

 

Die Funktion sammelt dann die Messages ein, die genau ein Dokument des EntityTypes enthalten. Dann wird festgestellt, ob es ältere Dokumente desselben Types mit derselben DokumentenNr gibt. Es wird nach EntryDate absteigend sortiert und sobald die Anzahl „zu behaltender Dokumente“ mit derselben DokumentenNr erreicht ist, werden die älteren Instanzen der Dokumente/Messages eingesammelt und in den Job als InputMessages geladen.

 

Von dort können diese dann beispielsweise mit dem MessageDeletor gelöscht werden, oder auch in eine andere MessageBox verschoben werden etc.