Bedingte Anweisungen
Sicher sind Sie auch schon über folgendes gestolpert: Sie haben eine Adressdatenbank, die Sie als Grundlage für das Versenden Ihres Jamailings verwenden wollen. Als höflicher Mensch möchten Sie Ihren Mailtext zum Beispiel mit der Grußformel "Sehr geehrter Herr Mustermann," beginnen. In Ihrer Datenbank finden Sie sowohl die Anrede (Herr) als auch den Namen (Mustermann). Das "Sehr geehrter" fügen Sie von Hand ein. Dann sieht Ihr Mailing wie folgt aus:
Sehr geehrter {*Anrede*} {*Name*},
Das ist alles gut und schön - bis Sie plötzlich zur Adresse von "Frau Dr. Müller-Lüdenscheid" kommen. Die Dame wird dann in Ihrer E-Mail mit "Sehr geehrter Frau Müller-Lüdenscheid" angesprochen und ist darüber wahrscheinlich gar nicht erfreut. Auf den ersten Blick erscheint es unmöglich, die beiden Begrüßungen "Sehr geehrter Herr Mustermann" und "Sehr geehrte Frau Dr. Müller-Lüdenscheid" mit Hilfe der Platzhalter richtig zu erstellen.
Sie könnten jetzt in Ihrer Tabelle eine weitere Spalte "Begrüßung" einfügen, in der sie die jeweils richtige Ansprache pflegen, aber das bedeutet für Sie einen erheblichen Mehraufwand und die Erfassung eigentlich nicht notwendiger Daten.
Aus diesem Grund haben wir für Sie die Möglichkeit geschaffen, im Mailtext Bedingungen zu formulieren. Sie können beispielsweise die folgende Anweisung in Jamail integrieren:
Wenn {*Anrede*} gleich "Herr", dann schreibe "Sehr geehrter", ansonsten schreibe nichts.Wenn {*Anrede*} gleich "Frau", dann schreibe "Sehr geehrte", ansonsten schreibe "Sehr geehrter"
oder
Wenn {*Titel*} nicht leer ist, dann schreibe {*Titel*}, ansonsten schreibe {*Anrede*}.Und schon sind sowohl Herr Mustermann als auch Frau Dr. Müller-Lüdenscheid zufrieden mit der Ansprache.
Die Schreibweise dieser Bedingungen, damit Jamail sie richtig interpretieren kann, sieht folgendermaßen aus:
{*IF (Bedingung; Wahr-Ergebnis; Falsch-Ergebnis)*}
oder auch
{*WENN (Bedingung; Wahr-Ergebnis; Falsch-Ergebnis)*}
Die Bedingung ist dabei immer ein Vergleich von 2 Zeichenketten, wobei natürlich auch Platzhalter verwendet werden können. So könnte beispielsweise unsere Ansprache folgendermaßen aussehen:
{*WENN(EQ(Anrede;"Herr");"Sehr geehrter Herr";"Sehr geehrte Frau")*}
Wie Sie oben bereits sehen, haben wir einen Vergleichsoperator verwendet. Die Funktion aller verfügbaren Operatoren sehen Sie hier:
- gleich ("=")
EQ (Vergleichswert A; Vergleichswert B)
GLEICH (Vergleichswert A; Vergleichswert B)
Bsp: Anrede="Herr" in Jamail-Schreibweise EQ(Anrede; "Herr")
- größer als (">")
GT (Vergleichswert A; Vergleichswert B)
GA (Vergleichswert A; Vergleichswert B)
Bsp: PLZ > "60000" -> GT(PLZ; "60000")
- größer als oder gleich (">=")
GTE (Vergleichswert A; Vergleichswert B)
GAG (Vergleichswert A; Vergleichswert B)
Bsp: PLZ >= "60000" -> GTE(PLZ, "60000")
- kleiner als ("<")
LT (Vergleichswert A; Vergleichswert B)
LA (Vergleichswert A; Vergleichswert B)
Bsp: PLZ < "60000" -> LT(PLZ, "60000")
- kleiner als oder gleich ("<=")
LTE (Vergleichswert A; Vergleichswert B)
LAG (Vergleichswert A; Vergleichswert B)
Bsp: PLZ <= "60000" -> LTE(PLZ, "60000")
Sie haben folgende Möglichkeiten, die Werte von Zeichenketten/ Platzhaltern zu manipulieren. Dies ist oft nötig, da die Zeichenkettenvergleiche Groß-/ Kleinschreibungssensitiv sind. Das heißt, "Herr" und "herr" sind nicht gleichbedeutend. UPPER("Herr") und UPPER("herr") sind es dagegen schon, nämlich jeweils "HERR".
- Trim (Entfernen von Leerzeichen vor und hinter dem Text)
TRIM (Zeichenkette)
Bsp: TRIM("Herr ") -> "Herr"
- Großbuchstaben (der komplette Text wird in Großbuchstaben umgewandelt)
UPPER (Zeichenkette)
GROSS (Zeichenkette)
Bsp: UPPER("Herr ") -> "HERR "
- Kleinbuchstaben (der komplette Text wird in Kleinbuchstaben umgewandelt)
LOWER (Zeichenkette)
KLEIN (Zeichenkette)
Bsp: LOWER("Herr ") -> "herr "
- Verbinden (mehrere Zeichenketten/ Platzhalter miteinander verbinden)
CONCAT (Teil A; Teil B; Teil C; ...)
VERBINDEN (Teil A; Teil B; Teil C; ...)
Bsp: CONCAT("H";"e";"r";"r";" ") -> "Herr "
Hinweis: Zeichenketten werden mit Anführungszeichen (") umschlossen. Um innerhalb einer Zeichenkette ein Anführungszeichen zu verwenden, muss dieses doppelt geschrieben werden.
Bsp: "Dies ist ein ""Beispiel""." -> Dies ist ein "Beispiel".Nachdem Sie nun den Vergleich für Ihre Bedingung formuliert haben, müssen Sie angeben, welcher Text verwendet werden soll, wenn die Bedingung erfüllt (wahr) ist. Hierzu geben Sie entweder einen Text oder einen Platzhalter an.
Als letztes tragen Sie dann den Text bzw. Platzhalter ein, der verwendet werden soll, wenn die Bedingung nicht erfüllt (falsch) ist. Soll in diesem Fall nichts angezeigt werden, so geben Sie einfach eine leere Zeichenfolge ("") an.
Unsere 3 Beispiele sehen dann wie folgt aus:
Wenn {*Anrede*}="Herr", dann schreibe "Sehr geehrter", ansonsten schreibe nichts. In Jamail-Schreibweise entspricht das:
{*IF (EQ(Anrede; "Herr"); "Sehr geehrter"; "")*}
Wenn {*Anrede*}="Frau", dann schreibe "Sehr geehrte", ansonsten schreibe "Sehr geehrter". In Jamail 3:
{*IF (EQ(Anrede; "Frau"); "Sehr geehrte"; "Sehr geehrter")*}
Und zu guter letzt, wenn {*Titel*} größer als Leer ist, dann schreibe {*Titel*}, ansonsten schreibe {*Anrede*}:
{*IF (GT(Titel;""); Titel; Anrede)*}
Sie können natürlich auch mehrere Bedingungen verschachteln. Nehmen wir unser Beispiel vom Anfang mit Herrn Mustermann und Frau Dr. Müller-Lüdenscheid und erweitern dies um unseren guten Freund Peter. Diesen haben wir nur mit seinem Vornamen in unserer Datenbank geführt und möchten ihn mit "Lieber Peter" anreden.
Wir wollen also die folgenden drei Begrüßungen automatisch erstellen:
Sehr geehrter Herr Mustermann, ...Sehr geehrte Frau Dr. Müller-Lüdenscheid, ...
Lieber Peter, ...
In unserem Mailtext müssten wir dann diese Schreibweise verwenden:
{* IF (GT(Nachname; ""); CONCAT( IF (EQ( LOWER(Anrede); "herr"); "Sehr geehrter "; "Sehr geehrte "); IF (EQ(Titel; ""); Anrede; CONCAT(Anrede; " "; Titel)); " "; Nachname); IF (EQ(LOWER(Anrede); "herr"); CONCAT("Lieber "; Vorname); CONCAT("Liebe "; Vorname))) *}, ...
Das sieht jetzt sehr kompliziert aus, ist aber durchaus verständlich, wenn man es einmal Punkt für Punkt betrachtet:
Wenn der Nachname nicht leer ist ( IF GT(Nachname; "") ),verbinde folgende Teile (CONCAT):
Wenn die (kleingeschriebene) Anrede "herr" lautet: "Sehr geehrter "
sonst: "Sehr geehrte".
und
Wenn der Titel leer ist: Anrede
sonst: Anrede + " " + Titel
sonst:
Wenn die (kleingeschriebene) Anrede "herr" lautet: "Lieber " + Vorname
sonst: "Liebe " + Vorname
Was vielleicht in dieser Beschreibung etwas komplex erscheint, ist tatsächlich ein Klacks für Sie als Jamail-Nutzer. Testen Sie die beschriebenen Funktionen in Ihrem Jamail oder in der Demoversion. Sie werden sehen, wie einfach Ihr Jamailing gelingt. Probieren geht, wie auch sonst, über studieren! Viel Erfolg.
