Skip to main content

xSuite Interface Windows Prism 5.x – Online-Hilfe

Benutzerdefinierte Schnittstellen-Module

Alle unterstützten Schnittstellenmodule und Verarbeitungsmodule haben eine Ausprägung des Typs Custom. In der Konfiguration dieser Module muss der Pfad der betreffenden Klassenbibliotheksdatei und der Name der Klasse angegeben werden. Abhängig von der Art des Moduls muss die Klasse einer bestimmten Schnittstellendefinition folgen, die vorgibt, welche Methoden zu implementieren sind.

Die Schnittstellendefinitionen sind in der Datei CustomModules.dll in dem Namensraum XSuite.Interface.CustomModules.Interfaces verfügbar. Die Konstruktoren der Klassen sind kein Teil dieser Schnittstellendefinitionen. Die Konstruktoren haben bestimmte Parameter und eine vorgegebene Signatur, die in den folgenden Abschnitten beschrieben sind.

Hinweis

Der Parameter customParams entspricht der gleichnamigen Eigenschaft .CustomParams[] in der Konfiguration des jeweiligen Moduls vom Typ Custom. Dieser Parameter dient dazu, spezifische Konfigurationswerte für das eigene Modul in den Konfigurationsdaten von xSuite Interface zu definieren. Technisch handelt ist der Parameter ein Schlüssel-/Wert-Paar, wobei nur reine Textwerte unterstützt werden. Um diese Textwerte als anderer Datentyp zu interpretieren, muss eine entsprechende Umwandlung innerhalb des eigenen Moduls stattfinden. Abhängig vom Kontext erfolgt die Übergabe der Parameter entweder im Konstruktor oder erst in einem dokumentbezogenen Methodenaufruf, z. B. wenn die Parameter dynamisch aus den Feldvariablen des betreffenden Dokuments generiert werden.

Wenn bereits ein eingelesener Stapel oder ein Dokument vorliegt, wird das Objekt an die Methoden in der Regel als Parameter übergeben. Das Objekt wird für die Verarbeitung innerhalb der Methode nicht immer zwingend benötigt, aber in Parametern wie outputFields und filteredAttachments sind teilweise redundante Informationen vorhanden. Diese Informationen werden gezielt gefiltert auf die Felder oder Dateianlagen, die gemäß Konfiguration für einen Ausgabeschritt relevant sind. Dabei ist zu beachten, dass die Binärdaten von Dateianlagen nur in den spezifisch gefilterten, d.h. den tatsächlich relevanten Dateianlagen, enthalten sind, aber nicht in den übrigen Anlagen des Dokumentobjekts. Eine Ausnahme stellt die Methode ProcessDocument() eines Eingabeformats dar. Diese Methode erstellt in der Regel vollständig neue Dokumentobjekte und benötigt Zugriff auf sämtliche Dateianlagen.

Methode

Beschreibung

Konstruktor(
   IDictionary<string, string> customParams,
   ICustomLogger logger)

Übergibt benutzerdefinierte Konfigurationsparameter und eine Logging-Komponente.

IList<string> GetNewBatchIds()

Liefert eine Liste der externen IDs von Stapeln zurück, die eingelesen werden sollen. Die Stapel werden anschließend durch sukzessive Aufrufe von ReadBatch() eingelesen.

Batch ReadBatch(
   string externalId)

Liest ein Stapelobjekt anhand der externen ID vollständig ein, inklusive aller Dokumente und Dateianlagen.

void DeleteBatch(
   Batch batch)

Löscht im Zuge des Backups den übergebenen Stapel im Eingabesystem.

void BeforeReadBatch(
   string externalId)

Handler, um Aktionen vor dem Einlesen des Stapels auszuführen (z. B. Setzen des Verarbeitungsstatus im Eingabesystem)

void AfterReadBatchSuccess(
   Batch batch)

Handler, um Aktionen direkt nach dem Einlesen des Stapels auszuführen (noch vor der weiteren Verarbeitung)

void AfterProcessBatchFinished(
   Batch batch)

Handler, um Aktionen nach der vollständigen und erfolgreichen Verarbeitung des Stapels auszuführen( z. B. Setzen des Verarbeitungsstatus im Eingabesystem)

void AfterProcessBatchError(
   Batch batch)

Handler, um Aktionen nach dem Auftreten eines Verarbeitungsfehlers des Stapels auszuführen (z. B. Setzen seines Verarbeitungsstatus im Eingabesystem)

Methode

Beschreibung

Konstruktor(
   IDictionary<string, string> customParams,
   ICustomLogger logger)

Übergibt benutzerdefinierte Konfigurationsparameter und eine Logging-Komponente.

IList<Document> ProcessDocument(
   Document document,
   IList<Attachment> filteredAttachments)

Trennt ein Dokument in Teildokumente auf und/oder liest oder extrahiert weitere Dateianlagen eines Dokuments.

Das Dokument, das ursprünglich übergeben wurde, wird im Stapel durch die Dokumente ersetzt, die die Methode als Rückgabewert liefert. Es werden die Dateianlagen übergeben, die dem .FileFilter des Eingabeformats entsprechen.

Methode

Beschreibung

Konstruktor(
   IDictionary<string, string> customParams,
   ICustomLogger logger)

Übergibt benutzerdefinierte Konfigurationsparameter und eine Logging-Komponente.

IList<Field> ReadIndex(
   Attachment attachment,
   IList<InputFieldDef> inputFieldDefs)

Liest aus der übergebenen Dateianlage alle Indexfelder aus, die gemäß Konfiguration des Indexdatenlesers in .Field[] als Eingabefelder definiert sind.

Die zurückgelieferten Feldwerte müssen den unterstützen .NET-Datentypen entsprechen oder in diese konvertierbar sein:

  • string (Textwert)

  • double (Zahlenwert)

  • bool (Wahrheitswert)

  • System.DateTime (Datumswert)

  • System.Array

Die Konfigurationseigenschaften .InputFormat und .ReadMultiValues werden vom Programm im Nachgang ausgewertet und müssen daher nicht berücksichtigt werden.

Methode

Beschreibung

Konstruktor(
   ICustomLogger logger)

Übergibt eine Logging-Komponente.

Die benutzerdefinierten Konfigurationsparameter sind Teil des Aufrufs ProcessDocument(). Durch die dynamische Einbindung von Feldvariablen können sich die Parameter in jedem Dokument ändern.

StreamProcessDocument(
   IDictionary<string, string> customParams,
   Document document,
   IList<OutputField> outputFields,
   IList<Attachment> filteredAttachments)

Erstellt aus den Ausgabefeldern, die gemäß Konfiguration des Ausgabeformats in .Field[] definiert sind, und aus bestehenden Dateianlagen gemäß .AttachFileFilter eine neue Dateianlage und gibt diese Dateianlage als Stream zurück.

Die Konfigurationseigenschaften .OutputFormat und .MultiValueSep werden vom Programm bereits vorab ausgewertet und müssen daher nicht berücksichtigt werden.

Methode

Beschreibung

Konstruktor(
   ICustomLogger logger)

Übergibt eine Logging-Komponente.

Die benutzerdefinierten Konfigurationsparameter sind Teil des Aufrufs ProcessDocument(). Durch die dynamische Einbindung von Feldvariablen können sich die Parameter in jedem Dokument ändern.

void ProcessDocument(
   IDictionary<string, string> customParams,
   Document document,
   IList<OutputField> outputFields,
   IList<Attachment> filteredAttachments)

Übergibt die Ausgabefelder, die gemäß Konfiguration des Ausgabesystems in .Field[] definiert sind, und/oder die Dateianlagen gemäß .FileFilter an ein Ausgabesystem.

Die Konfigurationseigenschaften .OutputFormat und .MultiValueSep werden vom Programm bereits vorab ausgewertet und müssen daher nicht berücksichtigt werden.