Versionen im Vergleich

Schlüssel

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

Mithilfe von EVAL-Anweisungen besteht die Möglichkeit ...Eine (EVAL steht für Evaluierung) sind eine Möglichkeit, dem R-S dynamisch Befehle zur Berechnung und Einbindung von Objekten zu übergeben. Eine EVAL-Anweisung wird immer mit der Zeichenfolge '${' eingeleitet und mit der Zeichenfolge ' }' abgeschlossen.

Tipp
titleBeispiel

${IsNullI(0)} [Hat den Wert 1]

Inline-Funktionen sind Funktionen, welche in Variablen/Texten zur Aufbereitung/Formatierung von Daten genutzt werden können ...

Eine Liste der Funktionen finden sie hier.

 

1. Umgang mit Ressorcen in Texten

Im aktuellen Redaktionssystem sind Variablen auch Ressourcen. Da man aber eine binäre Ressource nicht evaluieren kann,

wie eine Textvariable oder RuleTable, wandelt man alle binären Ressourcen in Textvariablen mit einem bestimmten Sonder-Inhalt um.

Enthält nach der Evaluierung der Egebnisstring einen solche Sonder-Inhalt, dann ermittelt man die dazugehörige Ressource und arbeitet mit dieser weiter

Ist darin kein Sonder-Inhalt, so ist das Ergebnis ein Text.

2. Operatoren und Datentypen

 

abgeschlossen.

Es gibt 2 Hauptgründe, um EVAL-Anweisungen zu verwenden:

1. Einbinden einer Ressource

Mit EVAL-Anweisungen können Sie Ressourcen ansprechen. Als Identifikator dient der Name der Ressource.

Info
titleSyntax

${Meine_Ressource}

Hier wird dann die Ressource "Meine Ressource" dynamisch verlinkt. Wenn Sie z.B. in einem RichText schreiben:

"Sehr geehrter Herr ${DS.CUST_NAME}"

wird, wenn der RichText verwendet wird, dynamisch die Datenstrom-Variable DS.CUST_NAME eingefügt und das Resultat ist z.B.:

"Sehr geehrter Herr Max Mustermann"


2. Funktionen und Bedingungen

Sie können innerhalb von EVAL-Anweisungen vorgefertigte Funktionen verwenden, die dann dynamisch einen Wert liefern. Eine Liste der vorhandenen Funktionen finden Sie hier.

Info
titleSyntax

${NameDerFunktion(Parameter1, Parameter2,...)}

${ IsNullI(0) } hat z.B. als Resultat 1.

EVAL-Anweisungen führen also die eingebettete(n) Funktion(en) aus und liefern den Ergebniswert zurück.

Scroll Pagebreak

1. Umgang mit Ressourcen in Texten

Wie oben beschrieben ist es möglich, mit EVAL-Anweisungen Ressourcen in Texte einzubinden. So ist es z.B. möglich, Variablen oder Regeln in andere Textressourcen einzubinden. Eine Ausnahme gilt für binäre Ressourcen. Da sie nicht zusammen mit anderem Text evaluiert werden können, ist es nur möglich, binäre Ressourcen in Variablen einzubinden, wenn außer der einbindenden EVAL-Anweisung sonst kein Text in der Variable enthalten ist. Ansonsten interpretiert das R-S den kompletten Inhalt als Text. Außerdem ist es grundsätzlich nicht möglich, binäre Ressourcen in RichTexte einzubinden.


2. Operatoren

Das R-S unterstützt auch boolsche Das R-S unterstützt auch Boolsche Operationen, die Sie z.B. in einer Regel anwenden können. Boolsche Operationen sind Vergleiche, die entweder wahr oder falsch sind. Folgende Operatoren sind im R-S definiert:

...

OperatorBedeutungBeschreibung
* ALWAYSTRUE

Ist immer wahr.

!= NOTEQUAL Ist wahr, wenn die Objekte nicht gleich sind.
<= EQUALLESS Ist wahr, wenn Objekt1 kleiner als Objekt2 ist oder die Objekte gleich sind.
>= EQUALGREATER Ist wahr, wenn Objekt1 größer als Objekt2 ist oder die Objekte gleich sind.
< LESS Ist wahr, wenn Objekt1 kleiner als Objekt2 ist.
> GREATER Ist wahr, wenn Objekt1 größer als Objekt2 ist.
[VAL1,VAL2,VALn] INLIST Ist wahr, wenn das zu vergleichende Objekt in der Liste vorhanden ist.
[VAL1,...,VAL2] INRANGE (3 Argumente, das mittlere Argument ist "...")Ist wahr, wenn das zu vergleichende Objekt zwischen VAL1 und VAL2 liegt
.

...

.
![VAL1, VAL2, VALn] NOTINLIST Ist wahr, wenn das zu vergleichende Objekt nicht in der Liste vorhanden ist.
![VAL1,...,VAL2] NOTINRANGE Ist wahr, wenn das zu vergleichende Objekt nicht zwischen VAL1 und VAL2 liegt.

Wird kein Operator angegeben, wird EQUAL (=) verwendet. Der Vergleich ist also dann wahr, wenn die Objekte gleich sind. Alle Operatoren wurden für alle Datentypen umgesetzt. Praktische Beispiele finden Sie in der Regeldefinition.

 

Datentypen

STRING, NUMBER, REAL, BOOLEAN, DATETIME

NUMBER wird gemaped auf long long mit führendem Minus oder +
z.B.: +300 oder 171

...

Scroll Pagebreak


Anker
Datentypen
Datentypen
3. Datentypen

Das R-S unterstützt verschiedene Datentypen:

DatentypBeschreibungWertebereichBeispiel
STRINGSpeichert eine ZeichenketteAlle Unicode-Zeichen"Hallo Welt!"
NUMBERSpeichert eine Ganzzahl

−2.147.483.648 bis +2.147.483.648 bzw.

0 bis 4.294.967.295

+706512, -59102
REAL

Speichert eine Gleitkommazahl

Trennzeichen ist '.'

(Achtung keine localisierten Schreibweisen erlaubt

und damit auch kein 1000-der Punkt)

3.4E-4932 1.1E+4932

BOOLEAN wird gemaped auf bool mit den Werten 0, 1, true, false, yes und no
z.B.: No

...

+5481.4390156, -98042.4168640
BOOLEANSpeichert einen Wahrheitswert (0/1)0/false/no und 1/true/yestrue, false, 1, 0, yes, no
DATETIMESpeichert ein Datum nach ISO 8601

Datum ohne Unterstützung von Wochen,

Wochentagen und Tagen im Jahr

...

2011-12-31

...

, 2011-12-31T16:47Z

...

Scroll Pagebreak


Anker
ESCAPE
ESCAPE
4

...

. Entities

Es werden alle HTML-Entities aufgelöst, die RW kennt.
Zusätzliche  Zusätzliche ESCAPE-Zeichen sind:

ESCAPE-Sequenz Bedeutung
\"Doppeltes Anführungszeichen
\nZeilenvorschub (neue Zeile)


Da in RichTexten die interne Darstellung durch XML erfolgt, werden XML-Sonderzeichen im Text implizit umgewandelt, damit sie innerhalb des Codes gespeichert werden können. Sie können mit den folgenden Escape-Sequenzen aber auch eine explizite Umwandlung erzwingen:

ESCAPE-Sequenz Stellt dar
\!
\== 
\<<
\>>
\[[ 
\]

...

]
 

Warnung

EVAL-Anweisungen werden NICHT durch das Redaktions-System auf syntaktische und semantische Korrektheit geprüft! Fehlt zum Beispiel eine schließende Klammer oder ist eine Funktionsbezeichnung falsch geschrieben, so wird dies erst durch die Output Management Produkte geprüft, welche die Funktionen bei der Dokument-Generierung nutzen (Late Binding). So können diese Art von Fehlern erst bei der Ausführung der Preview-Funktion im Redaktions-System evaluiert werden.

Column
width750px
Panel
borderColorLightGray
bgColorGhostWhite
borderWidth2
borderStyledotted

Image Removed Um zu erfahren, wie Sie Funktionen in EVAL-Anweisungen verwenden können, klicken Sie bitte hier.

Column