Variablen
Variablen kommen bei der Konfiguration an 2 Stellen zum Einsatz:
Als dynamischer Bestandteil einiger Konfigurationswerte in Szenariokonfigurationen
Variablen werden primär genutzt, um die Konfigurationswerte in Abhängigkeit vom Inhalt eines Dokumentes zu setzen, das sich in der Verarbeitung befindet. Die Verwendung von Variablen beschränkt sich daher auf Konfigurationseigenschaften, die im Kontext einer Dokumentverarbeitung ausgewertet werden. Variablen können nicht für übergeordnete Eigenschaften genutzt werden, die beispielsweise für die Initialisierung einer Verbindung zu einem Eingabesystem oder einem Ausgabesystem relevant sind.
Die Syntax zur Einbindung von Variablen in Konfigurationswerte ist
%Variablenname%. Anders als Konstanten werden Variablen nicht prinzipiell als String-Werte behandelt. Wenn Variablen den Inhalt eines Feldes aus dem Feldkatalog repräsentieren, können diese auch typisierte Werte haben. Da die Ersetzung des Platzhalters durch den Variablenwert aber eine reine Textersetzung ist, findet wenn notwendig implizit eine Umwandlung eines typisierten Wertes in einen String-Wert statt. Dabei wird die gleiche Syntax genutzt wie für konstante Makroausdrücke (siehe Datentypen, Variablen und Literale). Numerische Werte erhalten einen Punkt als Dezimaltrennzeichen, Datumswerte werden alsyyyy-MM-ddmit dem ZeitanteilHH:mm:ssformatiert und Wahrheitswerte werden alsTRUEoderFALSEausgegeben.Als Element in einem Konfigurationswert, der einen Makroausdruck darstellt
Für solche Werte kann ebenfalls die Syntax
%Variablenname%verwendet werden. Die Textersetzung der Variablenwerte erfolgt dann jedoch im Programmablauf vor dem Parsen und der Ausführung des Makros. Das Ergebnis der Ersetzung muss somit ein syntaktisch gültiger Makroausdruck bleiben. Bei String-Ausdrücken ist daher z. B. zu beachten, dass diese gemäß Makrosyntax in Anführungszeichen zu schreiben sind. Wenn der Wert durch eine Variable definiert wird, ist im Makro"%Variablenname%"anstatt%Variablenname%zu schreiben. Wenn der Variablenwert selbst bereits die benötigten Anführungszeichen enthält, entfällt dies. Die native und daher in der Regel zu bevorzugende Variante innerhalb von Makros ist aber die Verwendung typisierter Variablen der Form@Variablenname. Diese Schreibweise kann für alle Arten von Variablen verwendet werden.
Feldvariablen
Feldvariablen beziehen sich auf Felder aus dem aktiven Feldkatalog eines Dokumentes. Daher dient der Feldname, d.h. die Eigenschaft .Name der Felddefinition, auch als Variablenname. Für tabellarische Felder hat der Feldname dann z. B. die Form {Tabellenname}.{Spaltenname} (siehe Syntax der Eigenschaft FieldCatalog[].Field[].Name).
Eine solche Angabe ist aber nur dann ausreichend, wenn aus dem Verarbeitungskontext hervorgeht, welche Tabellenzeile angesprochen wird. Das ist z. B. der Fall, wenn Initialisierungsmakros für einen Feldkatalog ausgeführt werden. Bei Tabellenfeldern erfolgt dies sukzessive über alle Zeilen. Ohne eine weitere Zeilenangabe beziehen sich Tabellenfeldvariablen immer auf die Felder der Zeile, die aktuell verarbeitetet wird.
Wenn hingegen explizit Felder einer anderen Zeile referenziert werden soll oder wenn sich der aktuelle Ausführungskontext nicht auf Tabellenzeilen bezieht, muss die Zeilennummer explizit im Variablennamen angegeben werden. Die Syntax hierfür ist {Tabellenname}[{Zeilennummer}].{Spaltenname}. Die Zählung der Zeilennummer beginnt bei 1.
Konstanten als typisierte Werte
Konstanten werden primär dafür genutzt, bestimmte Konfigurationswerte an zentraler Stelle zu pflegen. Diese Werte werden beim Programmstart durch reine Textersetzung an den betreffenden Stellen in die Konfigurationsdaten eingefügt. Für das textuelle Einfügen wird die Syntax %Konstantenname% genutzt.
Konstanten können zur Laufzeit auch in Makroausdrücken verwendet werden. Dafür wird die Syntax @Konstantenname genutzt. Konstanten werden syntaktisch immer als Zeichenfolge definiert. Typisierte Werte müssen in der Syntax eines Literals (konstanten Wertes) angegeben werden (siehe Datentypen, Variablen und Literale). Textwerte müssen z. B. in zusätzlichen Anführungszeichen geschrieben werden. Wenn ein Konstantenwert nicht als syntaktisch korrektes Literal interpretierbar ist, wird der Wert implizit als Textwert behandelt.
Dokumentvariablen
Dokumentvariablen sind namentlich fest vorgegeben. Diese Variablen enthalten die systeminterne Metadaten zu dem Dokument, das sich aktuell in Bearbeitung befindet.
Variablenname | Beschreibung |
|---|---|
DocId | Datenbankschlüssel (Datenbankfeld "Id") des Dokumentes |
DocUuid | UUID (Datenbankfeld "FixedGuid") des Dokumentes |
DocNo | laufende Nummer des Dokumentes (Datenbankfeld "Number") innerhalb des Stapels Die Zählung beginnt bei 1. |
DocName | Name des Dokumentes (Datenbankfeld "DisplayName") |
DocExtId | externe ID des Dokumentes (Datenbankfeld "ExternalId") |
DocScenario | Name des Verarbeitungsszenarios des Dokumentes (Datenbankfeld "Scenario") |
BatchUuId | UUID des übergeordneten Stapels (Datenbankfeld "FixedGuid") |
BatchId | Datenbankschlüssel des übergeordneten Stapels (Datenbankfeld "Id") |
BatchName | Name des übergeordneten Stapels (Datenbankfeld "DisplayName") |
BatchExtId | externe ID des übergeordneten Stapels (Datenbankfeld "ExternalId") |
TrackingId | Tracking-ID (Datenbankfeld "TrackingId"), die dem Dokument über |
TrackingKey | Tracking-Key (Datenbankfeld "TrackingKey"), der dem Dokument über |
CustomKey | Schlüsselwert (Datenbankfeld "CustomKey"), der dem Dokument über |
Dateivariablen
Dateivariablen sind Variablen, die im Kontext der Verarbeitung einer Dateianlage eines Dokumentes nutzbar sind. Die Nutzung von Dateivariablen beschränkt sich auf Dateimakros und auf einige Makrofunktionen in Konfigurationseigenschaften von Ausgabeformaten und Ausgabesystemen.
Variablenname | Beschreibung |
|---|---|
FileId | Datenbankschlüssel (Datenbankfeld "Id") der Dateianlage |
FileUuid | UUID (Datenbankfeld "FixedGuid") der Dateianlage |
FileNo | laufende Nummer der Dateianlage im Dokument oder im Verarbeitungskontext |
FileName | vollständiger Name der Dateianlage (Datenbankfeld "Name") |
FileBaseName | Basisname der Dateianlage ohne Endung (aus Datenbankfeld "Name") |
FileExt | Endung der Dateianlage (aus Datenbankfeld "Name") |
In bestimmten Kontexten sind weitere Variablen verfügbar, die auch den Ordner einer Datei einbeziehen. Das betrifft insbesondere den Anwendungsfall, dass Referenzen auf noch hinzuzufügende Anlagen im Dateisystem ausgewertet werden sollen. Für Dateianlangen, die bereits zu einem Dokument hinzugefügt wurden, besteht hingegen kein Zugriff mehr auf deren ursprünglichen Ordner über eine Dateivariable.
FilePath: vollständiger Pfad der Datei, d.h. Ordner und DateinameFileBasePath: Pfad des Ordners und Basisname der DateiFileFolder: Pfad des Ordners
Systemvariablen
Systemvariablen sind fest vorgegebene Variablen, die allgemeine Systeminformationen und Umgebungsinformationen enthalten. Die Systemvariablen überschneiden sich inhaltlich teilweise mit den Umgebungsvariablen. Im Gegensatz zu Umgebungsvariablen werden die Werte der Systemvariablen jedoch programmintern ermittelt und aufbereitet.
Datum und Uhrzeit können für die Bildung dynamischer Dateipfade verwendet werden, z. B. für Backup-Verzeichnisse. Da der Doppelpunkt, der sonst zur Trennung der Uhrzeit-Komponenten genutzt wird, unter Windows kein gültiges Zeichen in Ordner- und Dateinamen ist, kommt hier ein abweichendes Trennzeichen zum Einsatz.
Variablenname | Beschreibung |
|---|---|
Date | aktuelles Datum Formatierung: |
Time | aktuelle Uhrzeit Formatierung: |
Timestamp | aktueller Zeitstempel Formatierung: |
Day | aktueller Tag Formatierung: |
Month | aktueller Monat Formatierung: |
Year | aktuelles Jahr Formatierung: |
UUID | neu generierte UUID Formatierung: |
ComputerName | Name des ausführenden Rechners |
UserName | Name des ausführenden Benutzers |
Umgebungsvariablen
Alle (Windows-) Umgebungsvariablen des Systems, des aktuellen Prozesses und des Benutzers sind verfügbar.
Sonstige Variablen
Für einzelne Konfigurationseigenschaften oder Makrofunktionen können weitere interne Variablen verfügbar sein, die sich auf den Ausführungskontext dieser Elemente beschränken. Solche Variablen sind in der Beschreibung des jeweiligen Elementes aufgeführt.