Import.Dateisystem

Eingangskanäle dieser Art dienen dazu, Ordner im Dateisystem zu überwachen, um Dateien, die dort abgelegt werden, automatisch als Dokumente an den Dokumenteneingangsprozess weiterzuleiten.

Id dieser Eingangskanalart

Die Id der Eingangskanalart Import.Dateisystem ist festgelegt und lautet 6A511AAC-853A-4F2C-AB70-4C5C814D7082. Sie kann z.B. für das Anlegen neuer Kanäle mit Hilfe der Cmdlets für die Verwaltung von Eingangskanälen verwendet werden.

Signaldateien

Diese Kanalart ist in der Lage Dokumente zu importieren, die aus mehr als einer Dateien bestehen. Um zu verhindern, dass ein solches Dokument importiert wird, bevor alle zugehörigen Dateien vorhanden sind, verwendet Schleupen.CS Signaldateien. Deren Existenz zeigt an, dass das Dokument vollständig und bereit für den Import ist.

Der Inhalt einer Signaldatei ist irrelevant - allein ihre Existenz reicht aus um anzuzeigen, dass das Dokument vollständig und abholbereit ist. In welchem Ordner Signaldateien abgelegt werden müssen und welche Namenskonventionen hierbei bestehen, hängt vom verwendeten Datei-Layout ab.

Datei-Layouts

Layout "Standard"

Bei Verwendung dieses Datei-Layouts gibt es nur einen einzigen Hauptquellordner, in dem sich alle beim Import zu berücksichtigenden Dateien befinden müssen. Pro Dokument ist hier ein Dokumentordner mit beliebigem Namen <DOKUMENTORDNERNAME> zu erstellen, in dem sich alle zum Dokument gehörigen Dateien (inklusive anzuhängender Dokumente) befinden müssen. Außerdem muss sich hier auch (normalerweise) eine Metadatendatei mit der Endung .meta.xml befinden (die einzige Ausnahme ist die Verarbeitung von XRechnungen ohne separate Metadaten - siehe weiter unten). Abgesehen von seiner Endung spielt der Name der Metadatendatei keine Rolle. Sobald zusätzlich auf oberster Ebene des Hauptquellordners auch eine Signaldatei mit dem Namen <DOKUMENTORDNERNAME>.ready existiert, werden die Dateien im Dokumentordner beim Import berücksichtigt. Nach erfolgreicher Durchführung des Imports wird der Dokumentordner mitsamt Inhalt und zugehöriger Signaldatei automatisch gelöscht.

Beispiel für eine konkrete Ordnerstruktur gemäß Datei-Layout Standard

Zu-importierende-Dokumente\                             <-- Beispiel für einen Hauptquellordner
    Dokument-1\                                         <-- Beispiel für einen Dokumentordner
        Rechnung-0815.pdf                               <-- Beispiel für eine Dokumentdatei
        Metadaten zu dieser Rechnung.meta.xml           <-- Beispiel für eine Metadatendatei
        Einzelverbindungsnachweis.pdf                   <-- Beispiel für eine zusätzliche Dokumentdatei
        Allgemeine Geschäftsbedingungen.txt             <-- Beispiel für eine zusätzliche Dokumentdatei
    Dokument-2\
        Angebot-12345.pdf
        BeliebigerName.meta.xml
    Noch-ein-Dokument\
        XRechnung-4711.xml
        Metadaten-zur-XRechnung.meta.xml
    Dokument-1.ready                                    <-- Beispiel für eine Signaldatei
    Noch-ein-Dokument.ready                             <-- Beispiel für eine Signaldatei

Wie im Beispiel angedeutet wird, sind alle Datei- und Ordnernamen (ohne Endung) beliebig. Die einzigen Bedingungen sind, dass der Hauptquellordner beim Eingangskanal konfiguriert ist, und dass die Metadatendateien die Endung .meta.xml besitzen.

In diesem Beispiel werden die Inhalte der Ordner Dokument-1 und Noch-ein-Dokument beim Import berücksichtigt. Der Ordner Dokument-2 wird aber noch nicht berücksichtigt, weil es noch keine zugehörige Signaldatei gibt. Sobald eine solche Signaldatei existiert, wird er ebenfalls berücksichtigt.

Layout "Xtract"

Bei Verwendung dieses Datei-Layouts entsprechen die verwendeten Ordnerstrukturen der Export-Ausgabe der Software Xtract . Hierbei gibt es einerseits einen Hauptquellordner, in dem sich die zu importierenden Dateien befinden, und andererseits einen hiervon separat konfigurierbaren Signal-Quellordner, in dem sich die zugehörigen Signaldateien befinden. Dokumente werden hierbei zu Units (Kürzel U ) gebündelt, und Units wiederzum zu Batches (Kürzel B ). Im Hauptquellordner befindet sich pro Batch ein Batch-Ordner. Im Batch-Ordner befindet sich pro Unit ein Unit-Ordner. Im Unit-Ordner befindet sich pro Dokument ein Dokumentordner. Im Dokumentordner befinden sich schließlich genau zwei Dateien, nämlich eine Datei Document mit beliebiger Endung, sowie eine Metadatendatei mit dem festgelegten Namen Result.xml . Sobald zusätzlich auf oberster Ebene des Signal-Quellordners eine Signaldatei mit dem Namen <BATCH-NAME>.exported existiert, wobei <BATCH-NAME> der Name eines Batch-Ordners im Hauptquellordner ist, werden alle Unterordner dieses Batch-Ordners beim Import berücksichtigt. Nach erfolgreicher Durchführung des Imports wird der Batch-Ordner mitsamt Inhalt sowie auch die zugehörige Signaldatei automatisch gelöscht.

Beispiel für eine konkrete Ordnerstruktur gemäß Datei-Layout Xtract

Data\                                                   <-- Beispiel für einen Hauptquellordner
    B000001\                                            <-- Beispiel für einen Batch-Ordner
        U00000001\                                      <-- Beispiel für einen Unit-Ordner
            D00000001\                                  <-- Beispiel für einen Dokumentordner
                Document.pdf                            <-- Beispiel für eine Dokumentdatei
                Anhang1.png                             <-- Beispiel für eine zusätzliche Dokumentdatei
                Anhang2.jpg                             <-- Beispiel für eine zusätzliche Dokumentdatei
                Result.xml                              <-- Beispiel für eine Metadatendatei im Xtract-Format
            D00000002\
                Document1.pdf
                Document2.pdf
                Result.xml
        U00000002\
            D00000001\
                Rechnung.pdf
                Result.xml
    B000002\     
        U00000001\
            D00000001\
                Document.pdf
                Result.xml
    B000003\     
     ... usw ...

Signal\                                                 <-- Beispiel für einen (separaten) Signal-Quellordner
    B000001.exported                                    <-- Beispiel für eine Signaldatei
    B000002.exported                                    <-- Beispiel für eine Signaldatei

Wie im Beispiel angedeutet wird, sind die Namen der Dokumentdateien beliebig. Der Name der Metadatendatei muss jedoch immer Result.xml lauten. Der Batch-Ordner B000003 wird ignoriert, weil es hierzu keine Signaldatei gibt.

Transformationsmöglichkeiten für die Generierung geeigneter Metadaten

Metadaten in einem fremden Format

Standardmäßig wird erwartet, dass die Metdatendatei das im Inputmanagement übliche Standardformat hat, das beispielhaft wie folgt aussieht:

<?xml version="1.0" encoding="UTF-8" ?>
<DocumentClassificationMetadata>
  <MetadataCollection>
      <MetadataItem>
          <key>Aufgabe</key>
          <value>Rechnung</value>
      </MetadataItem>
      <MetadataItem>
          <key>Rechnungseinheit</key>
          <value>10</value>
      </MetadataItem>
      <!-- ... -->
  </MetadataCollection>
</DocumentClassificationMetadata>

Hierüber hinaus ist es aber auch möglich, ein nahezu beliebiges anderes XML-Dokumentschema zu verwenden, indem man eine geeignete XSLT-Transformationsdatei in einer beliebigen Dateiablage speichert und bei der Konfiguration des Kanals angibt, dass diese Metadaten-Transformationsdatei auf alle Metadaten-Quelldateien des Kanals anzuwenden ist, bevor sie importiert werden.

Beispiel für eine Metadaten-Transformation für den Import von Metadaten im Xtract-Dokumentschema

Die von Xtract exportierten Metadaten sind ein Beispiel für ein vom Standard des Inputmanagements abweichendes XML-Dokumentschema. Hier ein Beispiel:

<?xml version='1.0' encoding='UTF-8'?>
<Root xmlns:dt="urn:schemas-microsoft-com:datatypes" NAME="ConText_Without_Positions" RIDVERSION="1.5.0.17">
  <CONTROL/>
  <REGIONS>
  <FIELD NAME="DocumentDate">
    <STATE dt:dt="i4">5</STATE>
    <VALUE>
      <RECT><R>1921,1153,2163,1179</R></RECT>
      <TEXT>2007-11-17</TEXT>
    </VALUE>
  </FIELD>
  <FIELD NAME="DocumentType">
    <STATE dt:dt="i4">5</STATE>
    <VALUE>
      <RECT><R>1327,1058,1549,1092</R></RECT>
      <TEXT>ROB</TEXT>
    </VALUE>
  </FIELD>
  <RESULTTYPE dt:dt="i4">1</RESULTTYPE>
</Root>

Zur automatischen Transformation dieser Dateien kann beispielweise die folgende Transformationsdatei verwendet werden:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml" indent="yes" encoding="utf-8"/>
  <xsl:template match="/Root">
    <DocumentClassificationMetadata>
      <xsl:apply-templates/>
    </DocumentClassificationMetadata>
  </xsl:template>
  <xsl:template match="REGIONS">
    <MetadataCollection>
      <xsl:apply-templates/>
    </MetadataCollection>
  </xsl:template>
  <xsl:template match="FIELD">
    <xsl:if test="@NAME != 'ExportFullText' and VALUE/TEXT != ''">
      <MetadataItem>
        <key><xsl:value-of select="@NAME"/></key>
        <value><xsl:value-of select="VALUE/TEXT"/></value>
      </MetadataItem>
    </xsl:if>
  </xsl:template>
  <xsl:template match="TABLE"></xsl:template>
  <xsl:template match="RESULTTYPE"></xsl:template>
</xsl:stylesheet>

Metadaten in Dokumentdateien (Spezialfall "XRechnung")

Wenn XRechnungen vom Typ CII oder UBL importiert werden sollen, ist es möglich, auf die Bereitstellung einer Metadatendatei zu verzichten und die Metadaten stattdessen automatisch aus den XRechnungen zu extrahieren. Hierfür kann, ähnlich wie bei der Transformation von Metadaten in einem Fremdformat, für die beiden XRechnungs-Typen je eine XSLT-Transformationsdatei bereitgestellt werden, um in der Kanalkonfiguration (siehe Abschnitt Kanalkonfiguration weiter unten) anzugeben, dass diese verwendet werden sollen, wenn das System (automatisch) erkannt hat, dass es sich bei einer Dokumentdatei um eine XRechnung handelt. Sollte trotzdem eine Metadatendatei existieren, hat diese Vorrang gegenüber der konfigurierten XSLT-Transformation.

Beispiel für eine XSLT-Transformation für die Extraktion von Metadaten aus XRechnungen vom Typ CII

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
  xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100">
<xsl:output method="xml" indent="yes" encoding="utf-8"/>
<xsl:template match="/rsm:CrossIndustryInvoice">
  <DocumentClassificationMetadata>
    <MetadataCollection>
      <MetadataItem>
        <key>IstXRechnung</key>
        <value>Ja</value>
      </MetadataItem>
      <MetadataItem>
        <key>XRechnungstyp</key>
        <value>CII</value>
      </MetadataItem>
      <MetadataItem>
        <key>Rechnungsnummer</key>
        <value><xsl:value-of select="rsm:ExchangedDocument/ram:ID"/></value>
      </MetadataItem>
    </MetadataCollection>
  </DocumentClassificationMetadata>
</xsl:template>
</xsl:stylesheet>

Beispiel für eine XSLT-Transformation für die Extraktion von Metadaten aus XRechnungen vom Typ UBL

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
  xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<xsl:output method="xml" indent="yes" encoding="utf-8"/>
<xsl:template match="/ubl:Invoice">
  <DocumentClassificationMetadata>
    <MetadataCollection>
      <MetadataItem>
        <key>IstXRechnung</key>
        <value>Ja</value>
      </MetadataItem>
      <MetadataItem>
        <key>XRechnungstyp</key>
        <value>UBL</value>
      </MetadataItem>
      <MetadataItem>
        <key>Rechnungsnummer</key>
        <value><xsl:value-of select="cbc:ID"/></value>
      </MetadataItem>
    </MetadataCollection>
  </DocumentClassificationMetadata>
</xsl:template>
</xsl:stylesheet>

Kanäle verwalten und konfigurieren

Legt man über den Menüpunkt Inputmanagement - Eingangskanäle verwalten einen neuen Kanal dieser Art an oder ändert einen Kanal, erscheint nach den allgemeinen Eigenschaften des Kanals (siehe hier) der Dialogschritt für die artspezifische Konfiguration:

Alternativ zu dieser Oberfläche können auch die Powershell-Cmdlets Cmdlets für die Verwaltung von Eingangskanälen verwendet werden.

Die nachfolgende Tabelle beschreibt die einzelnen konfigurierbaren Eigenschaften dieser Kanalart. Für die Nutzung der Cmdlets ist es wichtig, auch die in der Tabelle genannten technischen Schlüssel und technischen Wertebereiche zu kennen. Bei Verwendung der Oberfläche ist dies nicht nötig.

Eigenschafterford. / opt.BeschreibungTechnischer SchlüsselTechnischer Wertebereich
Hauptquellordnererford.Der Ordner, in dem sich die Dokumentdateien und ggf. auch zugehörige Metadatendateien und Signaldateien befinden.MainSourceFolderPathOrdnerpfad
Dateiablage für Dokumenteerford.Die Dateiablage, in der die importierten Dokumentdateien und die zugehörigen, ggf. zuvor transformierten Metadatendateien gespeichert werden. Hinweis: Die Id einer Dateiablage (z.B. mit dem Namen CS.AP.IMS.Dokumente ) kann leicht mit Hilfe des Cmdlets Select-FilingCabinet ermittelt werden.DocumentFilingCabinetIdId einer Dateiablage
Maximale PaketgrößeoptionalDie maximale Anzahl von Dokumenten, die als Bestandteil eines einzigen Verarbeitungsauftrages gemeinsam an den Dokumenteneingangsprozess weitergeleitet werden dürfen. Der Standardwert hierfür ist 100.MaxPackageSizeGanze Zahl > 0 in Dezimaldarstellung
Datei-LayoutoptionalEntweder Standard oder Xtract . Diese beiden Layouts unterscheiden sich insbesondere hinsichtlich der Ordnerstruktur im Datenorder, aber auch dadurch, dass bei Verwendung des Layouts Xtract Signaldateien in einem separaten Ordner platziert werden können. Der Standardwert hierfür ist Standard .FileLayoutId1 = Standard
 2 = Xtract
Signal-QuellordneroptionalHat (bislang) nur bei Verwendung des Datei-Layouts Xtract eine Bedeutung, ist in diesem Fall erforderlich und gibt den separaten Ordner an, in dem sich die Signaldateien befinden.SignalSourceFolderPathOrdnerpfad
Metadaten-Transformations-dateioptionalEine in einer beliebigen Dateiablage gespeicherte Transformationsdatei im XSLT-Format. Wenn diese Angabe existiert, wird die in der angegebenen Datei kodierte XSLT-Transformation auf jede zu importierende Metadatendatei angewendet, bevor sie in der Dateiablage gespeichert wird.MetadataTransformationFileIdId einer Datei
Transformations-datei für XRechnungen vom Typ CIIoptionalEine in einer beliebigen Dateiablage gespeicherte Transformationsdatei im XSLT-Format. Wenn diese Angabe existiert, ist es möglich, XRechnungen vom Typ CII ohne Metadatendatei bereitzustellen. Die Metadaten werden dann mittels Transformation aus der XRechnung gewonnen.XRechnungCiiTransformationFileIdId einer Datei
Transformations-datei für XRechnungen vom Typ UBLoptionalEine in einer beliebigen Dateiablage gespeicherte Transformationsdatei im XSLT-Format. Wenn diese Angabe existiert, ist es möglich, XRechnungen vom Typ UBL ohne Metadatendatei bereitzustellen. Die Metadaten werden dann mittels Transformation aus der XRechnung gewonnen.XRechnungUblTransformationFileIdId einer Datei

Überwachungsjobs

Um die Ordner eines oder mehrerer Eingangskanäle der Art Import.Dateisystem regelmäßig (oder auch nur einmalig) überwachen zu lassen, muss in der Jobverwaltung unter System mindestens ein Job angelegt werden, der dies bewerkstelligt. Hierbei sind die folgende Einstellungen für den Job vorzunehmen:

  • Im ersten Dialogschritt ist bei Aufgerufener Service der folgende Eintrag auszuwählen: Schleupen.CS.AP.IMS.ImportFilesystem.Observing.RetrieveFilesActivityService_3.1 (die Versionsnummer kann im konkreten Fall abweichen):
  • Im zweiten Dialogschritt sind unter Jobausführungsplan die üblichen Einstellungen für die Festlegung der Ausführungszeiten vorzunehmen, z.B. Intervallausführung alle 10 Sekunden .
  • Im dritten Dialogschritt sind die zu überwachenden Kanäle auszuwählen (Mehrfachauswahl möglich):
  • Anschließend wird der Job mit einem Klick auf ÜBERNEHMEN angelegt.
Cookie Consent mit Real Cookie Banner