GetEnv-Funktionen
Die Funktion GetEnv ruft Umgebungsdaten während der Produktion ab. Dies ermöglicht Ihren Ausdrücken den Zugriff auf Informationen über den aktuellen Auftrag, das Dokument, den Datensatz, den Medientyp und den Produktionskontext. Diese Werte werden zum Zeitpunkt der Komposition bestimmt und ermöglichen kontextabhängiges Verhalten in Ihrer Personalisierungslogik.
Syntax
GetEnv(constantName)
|
Parameter |
Beschreibung |
|---|---|
|
constantName |
Erforderlich. Eine Zeichenkette, die angibt, welcher Umgebungswert abgerufen werden soll. Muss einer der unten aufgeführten vordefinierten Konstantennamen sein. |
Der Rückgabetyp variiert je nach angeforderter Konstante (Zeichenkette, Zahl oder Boolean).
Datensatznummer-Konstanten
Diese Konstanten liefern Informationen über den aktuell verarbeiteten Datensatz.
CurRecordNumber
Gibt die fortlaufende Nummer des aktuell verarbeiteten Datensatzes über den gesamten Auftrag hinweg zurück.
Diese Konstante gibt den Datentyp Zahl zurück.
GetEnv("CurRecordNumber")
|
Szenario |
Verhalten |
|---|---|
|
Einzelner Auftrag |
Gibt 1 für den ersten Datensatz, 2 für den zweiten usw. zurück. |
|
Aufgeteilte Aufträge |
Die Nummerierung wird über alle Stapel hinweg fortlaufend fortgesetzt |
Beispiele
-
Die aktuelle Datensatznummer abrufen:
GetEnv("CurRecordNumber")
Bei der Verarbeitung des fünften Datensatzes im Auftrag:
Ergebnis: 5
-
Einen eindeutigen Bezeichner aus Auftrag und Datensatz erstellen:
GetEnv("JobId") & "-" & GetEnv("CurRecordNumber")
Bei der Verarbeitung des fünften Datensatzes und der JobID 12345:
Ergebnis: "12345-5"
-
Datensatznummerierung zur Ausgabe hinzufügen:
"Record " & GetEnv("CurRecordNumber")
Bei der Verarbeitung des fünften Datensatzes im Auftrag:
Ergebnis: Record 5
CurRecordNumberInBatch
Gibt die Nummer des aktuellen Datensatzes innerhalb seines spezifischen Stapels zurück. Bei aufgeteilten Aufträgen beginnt diese Nummer für jeden Stapel wieder bei 1.
Diese Konstante gibt den Datentyp Zahl zurück.
GetEnv("CurRecordNumberInBatch")
|
Szenario |
Verhalten |
|---|---|
|
Einzelner Auftrag |
Identisch mit CurRecordNumber |
|
Aufgeteilte Aufträge |
Beginnt für jeden aufgeteilten Stapel wieder bei 1 |
Beispiele
-
Die Datensatznummer innerhalb des aktuellen Stapels abrufen:
GetEnv("CurRecordNumberInBatch")
Ergebnis: 5 (für den fünften Datensatz in diesem Stapel)
-
Stapelrelative Position anzeigen:
"Item " & GetEnv("CurRecordNumberInBatch") & " in Split Part " & GetEnv("SplitPart")
Ergebnis: Item 5 in Split Part 2 (für den fünften Datensatz im zweiten Stapel)
Medientyp-Konstanten
Diese Konstanten ermöglichen es Ihnen, den Typ des produzierten Mediums zu erkennen, sodass Sie bedingte Logik basierend auf dem Ausgabeformat verwenden können.
|
Konstante |
Gibt True zurück, wenn |
Rückgabetyp |
|---|---|---|
|
GetEnv("PrintMedia") |
Druckdokumente produziert werden (PDF-Ausgabe) |
Boolean |
|
GetEnv("ProofSet") |
Ein Proof-Set produziert wird |
Boolean |
|
GetEnv("HTMLMedia") |
HTML-Ausgabe produziert wird (On-Demand, E-Mail oder HTML-Proof) |
Boolean |
|
GetEnv("TextMedia") |
SMS- oder Textausgabe produziert wird |
Boolean |
Beispiele
-
Prüfen, ob Druckausgabe produziert wird:
GetEnv("PrintMedia")
Ergebnis: True (bei Druckproduktion) oder False (andernfalls)
-
Unterschiedliche Bildqualität je nach Medientyp verwenden:
If (GetEnv("PrintMedia")) {"high_res_logo.tif"} else {"web_logo.png"}
-
Inhalte bedingt nur für den Druck einschließen:
If (GetEnv("PrintMedia")) {"Please keep this document for your records."} else {""}
-
Medienspezifische Anweisungen bereitstellen:
If (GetEnv("HTMLMedia"))
{
"Click here to respond"
}
else If (GetEnv("TextMedia"))
{
"Reply YES to confirm"
}
else
{
"Call 1-800-555-1234 to respond"
} -
Proof-Wasserzeichen nur bei Proof-Sets hinzufügen:
If (GetEnv("ProofSet")) {"PROOF - NOT FOR PRODUCTION"} else {""}
Hostanwendungs-Konstante
Die Konstante HostApplication identifiziert, welche Anwendung die Komposition ausführt.
GetEnv("HostApplication")
Diese Konstante gibt den Datentyp Zeichenkette zurück.
|
Rückgabewert |
Beschreibung |
|---|---|
|
"uProduce" |
Wird auf dem uProduce Cross-Media-Produktionsserver ausgeführt |
|
"InDesign" |
Wird in uCreate (InDesign-Desktopanwendung) ausgeführt |
|
"uPlan" |
Wird in uPlan zur Proof-Set-Generierung ausgeführt |
Beispiele
-
Die Hostanwendung erkennen:
GetEnv("HostApplication")
Ergebnis: "uProduce"
-
Unterschiedliches Verhalten je nach Umgebung verwenden:
If (GetEnv("HostApplication") = "uProduce")
{
"Production Server"
}
else If (GetEnv("HostApplication") = "InDesign")
{
"Desktop Preview"
}
else
{
"Proof Generation"
} -
Debug-Informationen nur in der Desktop-Vorschau aktivieren:
If (GetEnv("HostApplication") = "InDesign")
{
"[DEBUG: Record " & GetEnv("CurRecordNumber") & "]"
}
else
{
""
}
Auftragsinformations-Konstanten
Diese Konstanten liefern Informationen über den aktuellen Auftrag und seine Beziehung zu anderen Aufträgen.
|
Konstante |
Beschreibung |
Rückgabetyp |
|---|---|---|
|
GetEnv("JobId") |
Die eindeutige Kennung des aktuellen Auftrags |
Zeichenkette |
|
GetEnv("ParentJobId") |
Die ID des übergeordneten Auftrags für Turbo-/aufgeteilte Aufträge (Aufträge, die von einem anderen Auftrag erzeugt wurden) |
Zeichenkette |
|
GetEnv("TopMostJobId") |
Die primäre Auftrags-ID; gibt die ID des übergeordneten Auftrags zurück, wenn es sich um einen Turbo-/aufgeteilten Auftrag handelt, andernfalls die aktuelle Auftrags-ID |
Zeichenkette |
|
GetEnv("SplitPart") |
Die aktuelle Teilenummer für Aufträge, die in mehrere Stapel aufgeteilt werden |
Zahl |
Beispiele
-
Die aktuelle Auftrags-ID abrufen:
GetEnv("JobId")
Ergebnis: "12345"
-
Einen Tracking-Code mithilfe von Auftragsinformationen erstellen:
GetEnv("TopMostJobId") & "-" & GetEnv("SplitPart") & "-" & GetEnv("CurRecordNumber")
Ergebnis: "12345-2-150" (Auftrag 12345, Teilenummer 2, Datensatz 150)
-
Auftragsreferenz in die Ausgabe einfügen:
"Reference: JOB-" & GetEnv("JobId")
Ergebnis: "Reference: JOB-12345"
-
Aufteilungsinformationen anzeigen:
"Processing batch " & GetEnv("SplitPart")
Auftragstyp-Konstante
Die Konstante JobType identifiziert den Typ des ausgeführten Auftrags.
GetEnv("JobType")
Diese Konstante gibt den Datentyp Zeichenkette zurück.
|
Rückgabewert |
Beschreibung |
|---|---|
|
"PRINT" |
Standard-Druckproduktionsauftrag |
|
"PROOF" |
Proof-Auftrag (Vorschau in geringerer Qualität) |
|
"PROOF_SET" |
Proof-Set-Generierung |
|
"ON_DEMAND" |
On-Demand-Produktion (Echtzeit) |
|
"RECORD_SET" |
Datensatz-Export |
|
"FLAT" |
Flat-Datenexport (ausgewertete ADOR-Werte) |
|
"EMAIL_MARKETING" |
E-Mail-Marketingkampagne |
|
"EMAIL_MARKETING_TEST" |
Test-E-Mail für Marketingkampagne |
Beispiele
-
Den Auftragstyp abrufen:
GetEnv("JobType")
Ergebnis: "PRINT"
-
Wasserzeichen für Nicht-Produktionsaufträge hinzufügen:
If (GetEnv("JobType") = "PROOF" Or GetEnv("JobType") = "PROOF_SET")
{
"PROOF COPY"
}
else
{
""
} -
Bedingte Inhalte für E-Mail vs. Druck:
If (GetEnv("JobType") = "EMAIL_MARKETING" Or GetEnv("JobType") = "EMAIL_MARKETING_TEST")
{
"Click here to unsubscribe"
}
else
{
""
} -
Test-E-Mails anders behandeln:
If (GetEnv("JobType") = "EMAIL_MARKETING_TEST")
{
"[TEST EMAIL] "
}
else
{
""
} & "Your Monthly Newsletter"
Dokumenteigenschaften-Konstanten
Diese Konstanten liefern Informationen über das Dokument, das komponiert wird.
|
Konstante |
Beschreibung |
Rückgabetyp |
|---|---|---|
|
GetEnv("DocumentName") |
Der Name des Dokuments, wie im Auftragsticket angegeben |
Zeichenkette |
|
GetEnv("DocumentID") |
Die eindeutige Kennung des Dokuments |
Zeichenkette |
|
GetEnv("DocumentType") |
Der Typ des Dokuments, das komponiert wird |
Zeichenkette |
DocumentType-Werte
|
Wert |
Beschreibung |
|---|---|
|
"HTML" |
HTML-Dokument |
|
"INDD" |
InDesign-Dokument |
|
"TXT" |
Text-Dokument |
|
"XLIM" |
XLIM-Dokument |
Beispiele
-
Den Dokumentnamen abrufen:
GetEnv("DocumentName")
Ergebnis: "Monthly Statement"
-
Dokumentreferenz in die Fußzeile einfügen:
"Document: " & GetEnv("DocumentName") & " (ID: " & GetEnv("DocumentID") & ")"
-
Bedingtes Verhalten basierend auf dem Dokumenttyp:
If (GetEnv("DocumentType") = "HTML")
{
"<br>"
}
else
{
Chr(10)
}
Produktionskontext-Konstanten
Diese Konstanten liefern zusätzlichen Kontext über die Produktionsumgebung und -konfiguration.
|
Konstante |
Beschreibung |
Rückgabetyp |
|---|---|---|
|
GetEnv("InstanceID") |
Die Vorlageninstanz-Kennung |
Zeichenkette |
|
GetEnv("BaseURL") |
Die Basis-URL der Website |
Zeichenkette |
|
GetEnv("BaseOnlineDocURL") |
Die Basis-URL für On-Demand-PDF-Dokumente |
Zeichenkette |
|
GetEnv("CircleTouchpointFriendlyID") |
Die benutzerfreundliche Kennung des Circle-Kampagnen-Touchpoints |
Zeichenkette |
|
GetEnv("RecipientFilter") |
Der Filter zur Auswahl der Empfänger (Tabellenname, Planfilter oder Abfrage) |
Zeichenkette |
|
GetEnv("HotFolderFileName") |
Der Name der Datei, die einen Hot-Folder-Auftrag ausgelöst hat (leer, wenn nicht über Hot Folder ausgelöst) |
Zeichenkette |
Beispiele
-
Die Basis-URL zum Erstellen von Links abrufen:
GetEnv("BaseURL")
Ergebnis: "https://www.example.com"
-
Eine personalisierte URL erstellen:
GetEnv("BaseURL") & "/offer/" & |->[RecipientKey]
Ergebnis: "https://www.example.com/offer/ABC123"
-
Einen Link zu einem On-Demand-PDF erstellen:
GetEnv("BaseOnlineDocURL") & "?id=" & |->[CustomerID]
-
Prüfen, ob der Auftrag über einen Hot Folder ausgelöst wurde:
If (GetEnv("HotFolderFileName") != "")
{
"Triggered by: " & GetEnv("HotFolderFileName")
}
else
{
"Manual submission"
} -
Touchpoint-Referenz für die Nachverfolgung einfügen:
"Touchpoint: " & GetEnv("CircleTouchpointFriendlyID")
-
Den verwendeten Empfängerfilter protokollieren:
"Filter: " & GetEnv("RecipientFilter")
Hinweis: Einige Konstanten können je nach Produktionskontext leere Zeichenketten oder Standardwerte zurückgeben. Beispielsweise ist HotFolderFileName leer, wenn der Auftrag nicht über einen Hot Folder ausgelöst wurde, und ParentJobId kann bei Nicht-Turbo-/aufgeteilten Aufträgen leer sein.
Weitere Themen
-
Konvertierungsfunktionen - Funktionen zur Konvertierung zwischen Datentypen
-
Numerische Funktionen - Funktionen für mathematische Operationen
-
Zeichenkettenfunktionen - Funktionen zur Textmanipulation
-
Datumsfunktionen - Funktionen für Datums- und Zeitoperationen
-
Asset-Funktionen - Funktionen für die Arbeit mit Assets