Berechnung
Symbol
Mit dieser Transfer-Funktion können komplexe Berechnung bei der Übertragung durchgeführt werden.
Für die Berechnungen wird die Scriptsprache ESEL verwendet.
Bereich 'Eingabehilfe'
Quell-Alias
Dies ist der im Hauptknoten (Transfer) festgelegte Datenbank-Alias für die Datenquelle.
Hier vorgenommene Änderungen wird sich auch auf den Hauptknoten Transfer aus.
Ziel-Alias
Hier wird der im Hauptknoten (Transfer) festgelegte Datenbank-Alias für das Ziel angezeigt.
Hier vorgenommene Änderungen wird sich auch auf den Hauptknoten Transfer aus.
Bereich 'Berechnung '
Berechnung
Tragen Sie hier die Berechnungsformel in der ESEL-Logik ein.
Informationen zur esExpression-Language (ESEL)
Für allgemeine Anwendungsfälle wird im eserp eine Allgemeine Script-Sprache Namens esExpression-Language (ESEL) verwendet. Für die Verwendung in Workflow-Prozessen (BusinessRuleTasks und ScriptTasks) ist diese erweitert worden.
Für Ausdrücke innerhalb eines Workflow-Diagramms, zum Beispiel für die Auswertung von Exclusive-Gateways werden ESRL-Expressions verwendet, welche eine Erweiterung von ESEL sind und als Grundlage für ESRL (esRule-Language) dienen, welche wiederum für die Business-Regeln und Script-Tasks verwendet wird.
ESEL (ES-Expression-Language)
Typen
Typ |
Erklärung |
---|---|
true false |
Bool (Ja / Nein) |
[Tabelle.Feld] |
Felder / Variablen |
#1490165557 |
DateTime (Die Zahl ist ein Unix-Timestamp) |
"Zeichenkette" |
Zeichenketten |
13.37 |
Nummern |
Unäre Ausdrücke
Ausdruck |
Erklärung |
---|---|
~Wert |
Bit-NOT |
-Wert |
Minus (vor Zahlen) |
!Wert |
Logisches-NOT |
Binäre Ausdrücke
Ausdruck |
Erklärung |
---|---|
A & B |
Bit-AND |
A | B |
Bit-OR |
A ^ B |
Bit-XOR |
A / B |
Dividieren |
A % B |
Modulo |
A * B |
Multiplizieren |
A + B |
Addieren |
A - B |
Subtrahieren |
A and B |
Logisches-AND |
A or B |
Logisches-OR |
Funktionen
Es sind je nach Umgebung verschiedene Funktionen verfügbar.
Diese können über FunktionsName(Argument1[, ...ArgumentN]) aufgerufen werden.
Bedingungen
CASE
WHEN (Bedingung) THEN (Wert)
[WHEN (Bedingung 2) THEN (Wert 2)]
[ELSE (Nein-Wert)]
END
ESRL-Expressions
Die ESRL-Expressions entsprechen den ESEL-Expression haben aber eine Erweiterung: Es ist möglich, die unter Workflow | Business-Regeln definierte Business-Regeln aufzurufen.
Wenn eine einfache Regel ohne Parameter aufgerufen werden soll, wird dies wie folgt erledigt.
<MinimaleAngebotssumme>
Wenn zusätzliche Parameter an die Regel übergeben werden sollen, werden diese 'Objekte' übergeben und der Syntax ist wie folgt:
<IsMaxOfferSumAllowed of { Kalkulator: [mein Kalkulator], Angebot: [mein Angebot] } >
Objekte werden mit { Name: Wert, Name2: Wert2, Name3... } angegeben.
ESRL wird verwendet, um Business-Regeln aufzustellen.
ESRL
Um diese Regeln zu definieren, wird folgender Syntax verwendet:
GIVEN Parameter1, Parameter2 (HAVE oder HAS) NameDerRegel OF
(Code)
Also zum Beispiel
GIVEN Wert1, Wert2 HAVE SUM OF [Wert1] + [Wert2]
Wenn mehrere Werte zurückgegeben werden sollen, können die Namen der Ausgabe Parameter nach dem Namen der Regel mit Doppelpunkt angegeben werden.
zum Beispiel
GIVEN a, b HAVE Rechteck: Umfang, Flaeche OF
{Umfang: (2 * ([a]+[b])), Flaeche: [a]*[b] }
Regeln bieten zusätzlich die Möglichkeit, mehrere Befehle hintereinander auszuführen.
Diese Blöcke werden mit START und END gekennzeichnet. Einzelne Befehle werden mit Semikolon voneinander getrennt. Der letzte Befehl endet also nicht mit Semikolon.
Regeln, die über mehrere Befehle verfügen, können mittels RETURN die weitere Ausführung der Regel frühzeitig beenden.
Zusätzlich ist es möglich sich eigene Variablen innerhalb der Regel zu definieren, um Werte wiederzuverwenden. Dazu muss man einfach einem Bezeichner einen Wert mittels := zuweisen.
Ein etwas komplexeres Beispiel könnte wie folgt aussehen:
GIVEN Wert HAS Beispiel OF
START
Teilwert := [Wert] / 2.5; // Wert durch 2,5 teilen
WHEN [Teilwert] > 10 THEN
RETURN "Wert ist zu groß";
rechteck := <Rechteck of { a: [Teilwert], b: [Wert] }>;
RETURN [rechteck.Umfang]
END
Bei Script-Tasks können gegebenenfalls freigegebene Business-Funktionen genauso aufgerufen werden wie andere Business-Regeln.
Bereich 'Ziel'
Schriftart überschreiben
Diese Option kann nur gesetzt werden, wenn das Zielfeld vom Feldtyp Langtext (RichText) ist.
Über die Schaltfläche kann definiert werden, welche Schriftart das Zielfeld erhalten soll.
Mit dieser Option ist es auch möglich die Schriftart zu ändern, wenn die Quelltabelle auch die Zieltabelle ist.
Siehe auch Transfer - Artikelschriftarten ändern
Variable
Aktivieren Sie die Option Variable, wenn der Wert aus der Funktion in eine Variable geschrieben werden soll.
Werden Felder vom Feldtyp Langtext (RichText)übertragen, kann zusätzlich auch die Schriftart über die Schaltfläche festgelegt werden.
Name
Vergeben Sie einen eindeutigen Namen für die Variable. Es können auch bereits im Transfer verwendete Variablen verwendet werden, über den Modus können Sie festlegen, ob der Wert der Variablen ersetzt oder der neue Wert angehängt werden soll.
Modus
Der Modus bestimmt, ob der Wert in der Variable überschrieben werden soll oder ob der neue Wert hinten an vorhandenen Wert angehängt werden soll.
Set
Der Wert der Variable wird überschrieben.
Concat
Der neu ermittelte Wert wird hinten an den vorhandenen Wert der Variable angehängt.
Feld
Aktivieren Sie diese Option, wenn der Wert aus der Funktion in ein Feld übertragen werden soll.
Tabelle
Wählen Sie eine Tabelle aus, es stehen hier Tabellen aus dem Ziel-Alias zur Auswahl.
Name
Zur ausgewählten Tabelle werden hier die entsprechenden Felder zur Auswahl angeboten.
In dieses Feld werden die Werte der Funktion übertragen.
Feldtyp / Feldlänge
Diese Werte werden soweit möglich aus den Datenbankinformationen gezogen.
Bei Bedarf können diese für nicht definierte Typen und Längen manuell geändert werden.