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

  1. Die aktuelle Datensatznummer abrufen:

    GetEnv("CurRecordNumber")

    Bei der Verarbeitung des fünften Datensatzes im Auftrag:

    Ergebnis: 5

  2. 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"

  3. 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

  1. Die Datensatznummer innerhalb des aktuellen Stapels abrufen:

    GetEnv("CurRecordNumberInBatch")

    Ergebnis: 5 (für den fünften Datensatz in diesem Stapel)

  2. 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

  1. Prüfen, ob Druckausgabe produziert wird:

    GetEnv("PrintMedia")

    Ergebnis: True (bei Druckproduktion) oder False (andernfalls)

  2. Unterschiedliche Bildqualität je nach Medientyp verwenden:

    If (GetEnv("PrintMedia")) {"high_res_logo.tif"} else {"web_logo.png"}

  3. Inhalte bedingt nur für den Druck einschließen:

    If (GetEnv("PrintMedia")) {"Please keep this document for your records."} else {""}

  4. 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"
    }

  5. 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

  1. Die Hostanwendung erkennen:

    GetEnv("HostApplication")

    Ergebnis: "uProduce"

  2. Unterschiedliches Verhalten je nach Umgebung verwenden:

    If (GetEnv("HostApplication") = "uProduce")
    {
    "Production Server"
    }
    else If (GetEnv("HostApplication") = "InDesign")
    {
    "Desktop Preview"
    }
    else
    {
    "Proof Generation"
    }

  3. 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

  1. Die aktuelle Auftrags-ID abrufen:

    GetEnv("JobId")

    Ergebnis: "12345"

  2. Einen Tracking-Code mithilfe von Auftragsinformationen erstellen:

    GetEnv("TopMostJobId") & "-" & GetEnv("SplitPart") & "-" & GetEnv("CurRecordNumber")

    Ergebnis: "12345-2-150" (Auftrag 12345, Teilenummer 2, Datensatz 150)

  3. Auftragsreferenz in die Ausgabe einfügen:

    "Reference: JOB-" & GetEnv("JobId")

    Ergebnis: "Reference: JOB-12345"

  4. 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

  1. Den Auftragstyp abrufen:

    GetEnv("JobType")

    Ergebnis: "PRINT"

  2. Wasserzeichen für Nicht-Produktionsaufträge hinzufügen:

    If (GetEnv("JobType") = "PROOF" Or GetEnv("JobType") = "PROOF_SET")
    {
    "PROOF COPY"
    }
    else
    {
    ""
    }

  3. Bedingte Inhalte für E-Mail vs. Druck:

    If (GetEnv("JobType") = "EMAIL_MARKETING" Or GetEnv("JobType") = "EMAIL_MARKETING_TEST")
    {
    "Click here to unsubscribe"
    }
    else
    {
    ""
    }

  4. 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

  1. Den Dokumentnamen abrufen:

    GetEnv("DocumentName")

    Ergebnis: "Monthly Statement"

  2. Dokumentreferenz in die Fußzeile einfügen:

    "Document: " & GetEnv("DocumentName") & " (ID: " & GetEnv("DocumentID") & ")"

  3. 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

  1. Die Basis-URL zum Erstellen von Links abrufen:

    GetEnv("BaseURL")

    Ergebnis: "https://www.example.com"

  2. Eine personalisierte URL erstellen:

    GetEnv("BaseURL") & "/offer/" & |->[RecipientKey]

    Ergebnis: "https://www.example.com/offer/ABC123"

  3. Einen Link zu einem On-Demand-PDF erstellen:

    GetEnv("BaseOnlineDocURL") & "?id=" & |->[CustomerID]

  4. Prüfen, ob der Auftrag über einen Hot Folder ausgelöst wurde:

    If (GetEnv("HotFolderFileName") != "")
    {
    "Triggered by: " & GetEnv("HotFolderFileName")
    }
    else
    {
    "Manual submission"
    }

  5. Touchpoint-Referenz für die Nachverfolgung einfügen:

    "Touchpoint: " & GetEnv("CircleTouchpointFriendlyID")

  6. 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