Compart - Dokumenten und Output-Management

Logik der Bündelung von Dokumenten mit DocBridge Mill

Fallbeispiel: Bündelung von Dokumenten

Logik der Bündelung von Dokumenten mit DocBridge Mill

 

Anmerkung: Das u.g. Beispiel ist für eine Konfiguration per GUI zu komplex

Folgendes Szenario: Sie haben gerade das letzte Stück Code für Ihren Geschäftspartner oder Kunden geschrieben, der zwei Dokumenttypen bündeln möchte: Zweiseitige "Schecks" und mehrseitige Anschreiben.

Die Schecks sollen dabei an erster Stelle in der Bündelung stehen. Die DocBridge Mill-Profile, eines für den Abgriff von Metadaten, das andere für die Ausgabeerzeugung, entsprechen den Anforderungen und der Kunde ist mit dem Ergebnis zufrieden.

Nach einigen Tagen erhalten Sie eine E-Mail von Ihrem zufriedenen Kunden, der jetzt weitere Anforderungen hat. Das kommt Ihnen bekannt vor?

Sie beginnen darüber nachzudenken, wie man eine umgekehrte Reihenfolge der Seiten innerhalb des Scheckdokuments erreicht. Logischerweise nehmen Sie an, dass diese Umstellung im ersten Profil, beim Abgriff der Metadaten, vorgenommen werden muss und ein Array am besten dafür geeignet ist; obwohl dies aufgrund des sequentiellen Einlesens der Dokumentenseiten kniffelig ist.

DocBridge Mill bietet eine einfachere Lösung für dieses Problem.

Der Cluster-Treiber enthält das lineextract-Element, dessen Unterelemente elegante Möglichkeiten bieten, das Problem zu lösen. Wir setzen die Kenntnis des lineextract-Mechanismus voraus.

Zur Erinnerung: FILENAME ist der Dateiname der jeweiligen Eingabedatei aus der CSV-Datei.

Wie Sie diese Logik abbilden, sehen Sie im folgenden Beispiel (fett markiert):

<lineextract>
    <filename>
        <script>$ROOT_DIR+"/success/"+FILENAME</script>
    </filename>
    <pagefrom>
        <script>PAGEFROM</script>
    </pagefrom>
    <pageto>
        <script>PAGETO</script>
    </pageto>
    <reversecondition>
        <script>IF(pos("1", DOCNBR)&gt;0, "TRUE", "")</script>
    </reversecondition>
</lineextract>

Die kursiv markierten Einträge bezeichnen die Spaltennamen der CSV-Datei.

Zuerst wird die CSV-Datei mittels Cluster-Treiber zeilenweise ausgelesen.
Anschließend werden die Unterelemente für verschiedene Aktionen verwendet, bevor die Seiten der Datei in die Ausgabedatei geschrieben werden. Der Ausdruck innerhalb des <script>-Tags bestimmt eine Bedingung.

Das bedeutet:

Hat DOCNBR den Wert 1, wird die Position innerhalb von DOCNBR berechnet und als Zahlenwert zur Vervollständigung der &gt;0-Logik zurückgegeben. Ist das Ergebnis TRUE, wird die Seitenreihenfolge (PAGETO nach PAGEFROM) umgekehrt und die Seiten aus FILENAME werden entsprechend in die Ausgabedatei geschrieben.

Das ist viel einfacher als die Verwendung eines Array, oder?

Mehr Informationen über lineextract finden Sie im DocBridge Mill Handbuch für die Administration und Implementierung.

 

Das könnte Sie auch interessieren