Verwendung
Ein DocDef-Objekt repräsentiert inputseitig ein Dokument und legt wichtige Verarbeitungsmerkmale fest, die für das Dokument über alle WorkItems hinweg von Bedeutung sind. Über ein WorkListVariant-Objekt verweist ein DocDef-Objekt auf ein oder mehrere WorkItems.
Syntax
DocDef Name {
FormFileName Name
Copy No
Printer Name
DocRef Name
Archive Value
Print Value
SourceCopy Value
WorkItems Value
WorkListVariant Name
DocRefFields List
JoinKey Value
SortKey Value
MaterialExchangeSet Value
BeforeCalc {
...
}
AfterCalc {
...
}
Grouping {
...
}
AutoPositioning Value
Positioning {
...
}
Recognition bzw. Rec {
...
}
Qualifier Value
XMLOutput Value
SupplementWorkItem Value
EmbeddedFiles Value
}
Erklärung
FormFileName Name
FieldOrValue
FormFileName setzt für die WorkItems einen Standardfile, welcher die physikalischen Seiten und SubForms definiert. Der FormFileName kann im WorkItem überschrieben werden.
Copy No
FieldOrValue
Der Copy-Faktor im DocDef setzt unabhängig vom Copy-Faktor der WorkItems die Anzahl der zu druckenden Exemplare fest.
Anmerkung zur Kuvertierstraßensteuerung
Die Kuvertierstraßensteuerung ist duplexfähig. Es werden die tatsächlich benötigten Seitenzahlen verwendet. Die Kopieangaben aus dem WorkItem werden ausgewertet. Das Zusammenfassen unterschiedlicher Kanal-1-WorkItems bzw. unterschiedlicher Kanal-2-WorkItems ist möglich. Die Anzahl der Kopien von DocDef und WorkItem werden multipliziert.
Printer Name
FieldOrValue
Mit der Angabe des Printers kann bereits im DocDef-Objekt der Drucker für alle WorkItems gesetzt werden. Der hier gesetzte Drucker kann aber im WorkItem überschrieben werden.
DocRef Name
FieldOrValue
DocRef verweist im Allgemeinen auf ein Feld des Input-Dokuments, welches eine eindeutige Referenznummer des Dokuments beinhaltet. Diese Referenznummer kann die Rechnungs- oder Belegnummer sein. Verwendet wird diese Nummer zum Logging.
DocRef @STRCV_DOCNO
Archive Value
FieldOrValue
Archive ist ein Schalter mit den Werten 0 und 1. Steht Archive auf 1, so erfolgt die Auswertung des Archive-Parameters der zum Dokument gehörenden WorkItems. Andernfalls wird das Archivieren unterbunden (unabhängig vom Schalter Print).
Archive @GETSUBSTITUTE("ArchivTab", JF_REPRINT)
Print Value
FieldOrValue
Print ist ein Schalter mit den Werten 0 und 1, wobei 1 der Standardwert ist. Steht Print auf 1, so erfolgt die Druckausgabe. Andernfalls wird das Drucken unterbunden (unabhängig vom Schalter Archiv).
Print @GETSUBSTITUTE("PrintTab", JF_REPRINT)
SourceCopy Value
FieldOrValue
SourceCopy ist ein Schalter mit den Werten 1 und 0. Steht SourceCopy auf 1, werden die Dokumente nach dem Passieren des Input-Interfaces im internen ReportWriter-Format in eine Datei gespeichert. Andernfalls gibt es keine Copy des internen Dokuments. Das SourceCopyFile dient vor allem der besseren Lesbarkeit des Input-Dokuments und der Kontrolle des Input-Interfaces.
WorkItems List
FieldOrValue
WorkItems ist eine kommaseparierte Liste mit Namen von WorkItems, die zur Ausgabe abgearbeitet werden sollen. Ist das Schlüsselwort WorkItems angegeben, so wird die Angabe einer WorkListVariant ignoriert. Das Schlüsselwort kann mehrfach vorkommen. Die Werte der jeweiligen Schlüsselwörter werden aneinander gehängt.
WorkListVariant Name
Der Parameter WorkListVariant verweist auf ein WorkListVariant-Objekt. Darin wird ermittelt, welche WorkItems zu diesem Dokument ausgeführt werden sollen. Ist das Schlüsselwort WorkItems angegeben, so wird die Angabe einer WorkListVariant ignoriert.
DocRefFields List
DocRefFields ist eine kommaseparierte Liste von Variablen, die in die DocRef-Liste des Dokuments kopiert werden. Die DocRef-Liste wird in der weiteren Verarbeitung noch durch Standard-DocRef-Fields erweitert und kann dann über die im Schlüsselwort OutFileDocRefFields des CommonSettings-Basis-Objektes ausgegeben werden.
Als Offset für die Seitenzähler C1FROMSHEET, C1TOSHEET bzw. C2FROMSHEET, C2TOSHEET kann die Variable C1PAGEOFFSET bzw. C2PAGEOFFSET mitgegeben werden. Das Offset sollte der Seitengröße der Headerpage entsprechen.
JoinKey Value
FieldOrValue
Alle Dokumente, die den gleichen JoinKey besitzen und den gleichen Qualifier miteinander teilen, werden noch vor der DV-Freimachung und den anderen Dokument-Logistischen-Verfahren zu einem Dokument zusammengefasst. JoinKey entspricht damit der Aufgabenstellung der Porto-Optimierung, bei der möglichst alle Sendungen an einen Empfänger zu einer Sendung zusammengefasst werden. Der JoinKey sollte die Adresse des Sendungsempfängers oder dessen Kundennummer sein.
SortKey Value
FieldOrValue
Alle Dokumente, die nicht DV-freizumachen sind, werden vor der Ausgabe anhand des SortKeys sortiert. Der Sortiertyp ist dabei immer alphanumerisch aufsteigend.
MaterialExchangeSet Value
FieldOrValue
MaterialExchangeSet ist besitzt den Standardwert DEFAULT. MaterialExchangeSet bestimmt nach dem Dokument-Building welches MaterialExchangeSet für den Austausch von Materialbeschreibungen verwendet wird. Das angegebene MaterialExchangeSet muss definiert sein. Eine Ausnahme stellt nur das MaterialExchangeSet DEFAULT dar. Ist dieses MaterialExchangeSet nicht definiert, so wird das Programm nicht abgebrochen und der Austausch wir übersprungen.
BeforeCalc
BeforeCalc dient zum Berechnen von Feldern und dem Ausführen von Calc-Befehlen. BeforeCalc wird vor der Ausführung des DocDef aufgerufen. Die Verwendung inkl. der Liste der Calc-Befehle wird gesondert erläutert (siehe Interne Objekte).
Syntax
DocDef Name {
BeforeCalc {
...
}
}
AfterCalc
AfterCalc dient zum Berechnen von Feldern und dem Ausführen von Calc-Befehlen. AfterCalc wird nach der Ausführung des DocDef aufgerufen. Die Verwendung inkl. der Liste der Calc-Befehle wird gesondert erläutert (siehe Interne Objekte).
Syntax
DocDef Name {
AfterCalc {
...
}
}
Grouping
Das Sub-Objekt Grouping realisiert das Gruppieren einzelner Positionen zu Groups. Diese Funktion ist dann sinnvoll, wenn die Eingangsdaten nicht im Sinne logischer Gruppierungen sortiert sind, sondern in Druck-Positionen. Zur Sortierung oder WorkItem-Erkennung werden die zu kaufmännischen Positionen zusammengefassten Groups jedoch benötigt.
Grouping beinhaltet ein oder mehrere Group-Objekte. Jedes Group-Objekt ist eine konkrete Anweisung dafür, wie nachfolgende Positionen zu einer Group zusammengefasst werden. Ein Group-Objekt definiert für eine solche Klammer die Anfangs- und Endpositionen. Für die StartPosition kann optional in Klammern noch ein Feld und dessen Wert angegeben werden. Beim Grouping wird die Position nur als StartPosition erkannt, wenn der Name der Position übereinstimmt und das Feld in der Position den vorgegebenen Inhalt hat.
Syntax
Grouping {
...
Group GROUPNAME {
StartPos POSITIONNAME[(FIELD=VALUE)][,POSITIONNAME[(FIELD=VALUE)][...]]
[StopBeforePos POSITIONNAME[,POSITIONNAME[...]]]
[StopAfterPos POSITIONNAME[,POSITIONNAME[...]]]
}
...
}
Um ein Grouping nicht nur in Group-Strukturen erzeugen zu können, sondern auch Subpositionen bilden zu können im Sinnes eines vollständigen strukturierten Baumes. kann man folgende Schlüsselwörter nutzen:
Target | Target ist ein Schalter mit den Werten GROUP und TREE, wobei GROUP der Standardwert ist. Steht der Schalter auf GROUP, so wird das Grouping in Group-Strukturen erzeugt. Steht der Schalter auf TREE, so wird das Grouping in Positionen und SubPositionen erzeugt. |
---|---|
GroupedNode | GroupedNode ist ein Positionsname, der beim Target TREE optional angewandt wird. Ist GroupedNode gesetzt, so werden alle gruppierten Positionen zu SubPositionen der unter GroupedNode angegebenen Position. Ist GroupedNode nicht gesetzt, werden alle gruppierten Positionen auf der höchsten Ebene erzeugt. Bitte keine strukturierten Namen angeben. |
NoneGroupedNode | NoneGroupedNode ist ein Positionsname, der beim Target TREE optional angewandt wird. Ist GroupedNode gesetzt, so werden alle nicht gruppierten Positionen zu SubPositionen der unter NoneGroupedNode angegebenen Position. Ist NoneGroupedNode nicht gesetzt, bleiben alle nicht gruppierten Positionen auf der höchsten Ebene. Bitte keine strukturierten Namen angeben. |
Syntax
Grouping {
Target TREE
GroupedNode GR
NoneGroupedNode NGR
Group Collect {
StartPos CSTART
StopBeforePos CSTART
}
}
AutoPositioning Value
FieldOrValue
AutoPositioning ist ein Schalter mit den Werten 0 und 1, wobei 0 der Standard ist. Wenn AutoPositioning eingeschaltet ist, dann ist jede andere Positioning-Angabe ohne Wirkung. Ist AutoPositioning eingeschaltet, so erfolgt die Zuordnung der Felder der globalen Tabelle zu Positionen über die aus der XDP-Datei gelesenen Informationen. AutoPositioning arbeitet nur, wenn auf DocDef-Ebenen ein FormFileName angegeben wurde. Aus der angegebenen XDP-Datei werden alle SubForms gelesen und die Felder der globalen Tabelle mit den Feldern der SubForms verglichen. Passt ein Feld zu einer SubForm, so wird eine neue Position im ReportWriter eröffnet und das Feld dort hinein bewegt. Sind die folgenden Felder auch in der SubForm enthalten, so werden diese ebenfalls dorthin bewegt. Feldwiederholungen führen auch zur Wiederholung der Position. Passt ein Feld nicht in das zuletzt gefundene SubForm, so beginnt die Suche nach einem passenden SubForm erneut.
Positioning
Positioning wandelt Kopffelder in Positionen um. Es wird eine Liste erzeugt, in der die Schlüsselfelder und der Positionsname definiert sind. Schlüsselfelder sind die Namen der Felder, die eine Position erzeugen. Alle nachfolgenden Felder eines Schlüsselfeldes werden mit in die neue Position übernommen. Trifft der Algorithmus auf ein weiteres oder ein gleich benanntes Schlüsselfeld, so wird eine neue Position eröffnet.
Syntax
Positioning {
FieldName1 Position1
FieldName2 Position2
...
}
Recognition bzw. Rec
Die Recognition steuert, ob ein Objekt ausgeführt wird oder nicht. Die Funktionsweise ist im Kapitel „Interne Objekte" beschrieben.
Qualifier Value
FieldOrValue
Qualifier ist ein Textstring, der als FieldOrValue ausgelegt ist. Mit Hilfe der Qualifier und des Schalters SeparateCentralQualifiers können zentrale Dokumente nach einem Qualifier separiert werden. Es entstehen für jeden vorhandenen Qualifier separate Ausgabefiles.
XMLOutput Value
XMLOutput nimmt das Input-Dokument unabhängig vom Input-Format und erzeugt es als XML-Output in einem File, der alle XML-Output-Dokumente enthält. XMLOutput ist ein Schalter mit drei Werten, wobei NONE bzw. 0 der Standardwert ist:
0 oder None | Es wird kein XML-Output erzeugt (Standard) |
---|---|
1 oder Before | Es wird XML-Output erzeugt, das Dokument wird vor Positioning und Grouping nach XML konvertiert |
2 oder After | Es wird XML-Output erzeugt, das Dokument wird nach Positioning und Grouping nach XML konvertiert |
SupplementWorkItem Value
SupplementWorkItem ist eine Namensrefernz auf das WorkItem, das zur Darstellung von Logical Supplements aus dem Redaktionssystem verwendet wird. Das SupplementWorkItem wird nur dann ausgeführt, wenn das Redaktionssystem Logical Supplements für das Dokument definiert.
EmbeddedFiles Value
FieldOrValue
EmbeddedFiles ist ein Schlüsselwort zum Einbetten von Files in das zu erzeugende Druckdokument. Dabei wird ein oder mehrere Files von einer Festplatte gelesen und auf die erste Seite des zu erzeugenden PDFs eingebettet. Der Empfänger des PDFs kann diesen File dann auspacken und separat verarbeiten. EmbeddedFiles kann mehrfach definiert werden und enthält eine semikolonseparierte Liste von Filereferenzen. Eine Filereferenz ist wiederum eine kommaseparierte Liste mit bis zu drei Werten:
1) FileName
Name des Files, der eingebettet werden soll. Wird die ein FeldName angegeben, so wird der Inhalt des eingebetteten Files aus dem Feldinhalt gespeist. Enthält der FileName keinen Pfad, so gilt folgende Suchreihenfolge:
Lokales Verzeichnis, FormsPath, ImagePath
2) Kommentar (optional)
3) FeldName (optional)
Ist dort ein FeldName angegeben, so wird der Inhalt des einzubettenden Files nicht aus dem angegeben File selbst gezogen, sondern der Inhalt des Feldes wird als File eingebettet. Dabei wird das Feld gesucht, der Inhalt nach UTF8 konvertiert und dann als Fileinhalt eingebettet.
c:\hello.xml Ein File c:\hello.xml,Kommentar Ein File mit Kommentar: c:\hello.xml,Kommentar;d:\world.pdf Mehrere Files hello.xml,Kommentar,$global.Embedded Inhalt aus einem Feld gelesen