Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

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

Anker
DocDef_FormFileName
DocDef_FormFileName
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.

Scroll Pagebreak



Anker
DocDef_Copy
DocDef_Copy
Copy No

...

Section
Column
width7%


Column
Codeblock
titleBeispiel:
DocRef @STRCV_DOCNO


Anker
DocDef_Archive
DocDef_Archive
Archive Value

...

Section
Column
width7%


Column
Codeblock
titleBeispiel:
Archive @GETSUBSTITUTE("ArchivTab", JF_REPRINT)

...


Anker
DocDef_Print
DocDef_Print
Print Value

...

Section
Column
width7%


Column
Codeblock
titleBeispiel:
Print @GETSUBSTITUTE("PrintTab", JF_REPRINT)

...

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.

Scroll Pagebreak


Anker
DocDef_WorkItems
DocDef_WorkItems
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.

...

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.

Scroll Pagebreak


Anker
DocDef_SortKey
DocDef_SortKey
SortKey Value

...

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 {
...
}

}


Anker
DocDef_AfterCalc
DocDef_AfterCalc
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 {
...
}

}

...



Anker
DocDef_Grouping
DocDef_Grouping
Grouping

...

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:

TargetTarget 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.
GroupedNodeGroupedNode 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.
  (Warnung) Bitte keine strukturierten Namen angeben.
NoneGroupedNodeNoneGroupedNode 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.
  (Warnung) Bitte keine strukturierten Namen angeben.


Syntax

Grouping {

Target TREE
GroupedNode
GR
NoneGroupedNode
NGR
Group Collect {

StartPos CSTART
StopBeforePos CSTART

}

}

Scroll Pagebreak

Anker
DocDef_AutoPositioning
DocDef_AutoPositioning
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.

...


Anker
DocDef_Positioning
DocDef_Positioning
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
...

}


Anker
DocDef_Recognition
DocDef_Recognition
Recognition bzw. Rec

Die Recognition steuert, ob ein Objekt ausgeführt wird oder nicht. Die Funktionsweise ist im Kapitel „Interne Objekte" beschrieben.

Scroll Pagebreak


Anker
DocDef_Qualifier
DocDef_Qualifier
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.

Scroll Pagebreak


Anker
DocDef_XMLOutput
DocDef_XMLOutput
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 NoneEs wird kein XML-Output erzeugt (Standard)
1 oder BeforeEs wird XML-Output erzeugt, das Dokument wird vor Positioning und Grouping nach XML konvertiert
2 oder AfterEs wird XML-Output erzeugt, das Dokument wird nach Positioning und Grouping nach XML konvertiert

...

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.


Anker
DocDef_EmbeddedFiles
DocDef_EmbeddedFiles
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:

Section
Column
width7%


Column

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.

Section
Column
width7%


Column
Codeblock
titleBeispiel
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