Folgende Operatoren stehen zur Verfügung: plus, minus, timespan, times, divide, abs, div, mod, squareroot und round.
Addition
XML-Tag: |
plus |
|
Operanden: |
mindestens zwei Werte |
|
Synopsis: |
<plus> |
|
Operanden: |
numerische Datentypen (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE) |
|
Ergebnis: |
Wert |
|
Ergebnistyp: |
Datentyp der Operanden bei einheitlichem Datentyp. |
|
Bezeichnung: |
Addiert die im XML-Element angegebenen Werte |
|
Berechnung (PPM3) |
Ergebnis |
Summe aller Operanden |
Fehler |
Wenn mind. ein Operand gleich NULL oder mind. ein Operand mit nicht numerischem Datentyp |
|
Berechnung (PPM4) |
Ergebnis |
NULL, wenn mind. ein Operand gleich NULL, sonst Summe aller Operanden |
Fehler |
Nur bei nicht numerischem Datentyp |
|
Beispiel: |
- |
Subtraktion
XML-Tag: |
minus |
|
Operanden: |
genau zwei Werte |
|
Synopsis: |
<minus> |
|
Operanden: |
numerische Datentypen (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE) |
|
Ergebnis: |
Wert (Differenz) |
|
Ergebnistyp: |
Datentyp der Operanden bei einheitlichem Datentyp. |
|
Bezeichnung: |
Subtrahiert Wert 2 von Wert 1 |
|
Berechnung (PPM3) |
Ergebnis |
Ergebnis der Subtraktion des Operanden 2 von Operand 1 |
Fehler |
Wenn mind. ein Operand gleich NULL oder mind. ein Operand mit nicht numerischem Datentyp |
|
Berechnung (PPM4) |
Ergebnis |
NULL, wenn mind. ein Operand gleich NULL, sonst Ergebnis der Subtraktion des Operanden 2 von Operand 1 |
Fehler |
Nur bei nicht numerischem Datentyp |
|
Beispiel: |
- |
Zeitspanne
XML-Tag: |
timespan |
|
Operanden: |
genau zwei Werte (Zeitpunkte) |
|
Synopsis: |
<timespan> |
|
Operanden: |
TIME (TIMESTAMP, DATE) |
|
Ergebnis: |
Wert (Zeitspanne) |
|
Ergebnistyp: |
TIMESPAN oder |
|
Bezeichnung: |
Berechnet die Zeitdifferenz zwischen Zeitpunkt 1 und Zeitpunkt 2. Entsteht eine negative
Differenz, wird der Wert 0 zurückgegeben. |
|
Berechnung (PPM3) |
Ergebnis |
Zeitspanne zwischen Operand 1 und Operand 2 (Operand 1 minus Operand 2) |
Fehler |
Wenn mind. ein Operand gleich NULL oder mind. ein Operand mit unzulässigem Datentyp |
|
Berechnung (PPM4) |
Ergebnis |
NULL, wenn mind. ein Operand gleich NULL, sonst Zeitspanne zwischen Operand 1 und Operand 2 (Operand 1 minus Operand 2) |
Fehler |
Nur bei unzulässigem Datentyp |
|
Beispiel: |
<timespan type="FACTORYCALENDAR" |
Bei Verwendung eines Werkskalenders können durch Angabe des optionalen XML-Attributs
negfactorytimespan="TRUE" auch nicht positive Zeitspannen berechnet werden.
Standardwert: FALSE
Sie können Zeitspannenberechnungen auch auf der Basis externer Werkskalender durchführen, indem Sie eine Werkskalender XML-Datei angeben. Im optionalen XML-Attribut directoryname spezifizieren Sie das Verzeichnis mit der zu verwendenden Werkskalenderdatei. Im Attribut attributename spezifizieren Sie den Namen des Attributtyps, der den Namen der zu verwendenden Werkskalenderdatei enthält. Der Attributtyp muss am entsprechenden Objekt bzw. der Prozessinstanz gepflegt sein. Die beiden XML-Attribute müssen immer zusammen angegeben werden.
Multiplikation
XML-Tag: |
times |
|
Operanden: |
mindestens zwei Werte |
|
Synopsis: |
<times> |
|
Operanden: |
numerische Datentypen (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE) |
|
Ergebnis: |
Wert (Produkt) |
|
Ergebnistyp: |
Datentyp der Operanden bei einheitlichem Datentyp. |
|
Bezeichnung: |
Multipliziert die im XML-Element angegebenen Werte |
|
Berechnung (PPM3) |
Ergebnis |
Ergebnis der Multiplikation der Operanden 1 bis n |
Fehler |
Wenn mind. ein Operand gleich NULL oder mind. ein Operand mit nicht numerischem Datentyp |
|
Berechnung (PPM4) |
Ergebnis |
NULL, wenn mind. ein Operand gleich NULL, sonst Ergebnis der Multiplikation aller Operanden |
Fehler |
Nur bei nicht numerischem Datentyp |
|
Beispiel: |
- |
Division
XML-Tag: |
divide |
|
Operanden: |
genau zwei Werte |
|
Synopsis: |
<divide> |
|
Operanden: |
numerische Datentypen (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE) |
|
Ergebnis: |
Wert (Quotient) |
|
Ergebnistyp: |
immer DOUBLE |
|
Bezeichnung: |
Dividiert Wert 1 durch Wert 2. |
|
Berechnung (PPM3) |
Ergebnis |
Ergebnis der Division von Operand 1 durch Operand 2 |
Fehler |
Wenn mind. ein Operand gleich NULL oder mind. ein Operand mit nicht numerischem Datentyp oder Operand 2 = 0 |
|
Berechnung (PPM4) |
Ergebnis |
NULL, wenn mind. ein Operand gleich NULL, sonst Ergebnis der Division von Operand 1 durch Operand 2 |
Fehler |
Wenn mind. ein Operand mit nicht numerischem Datentyp oder Operand 2 = 0 |
|
Beispiel: |
- |
Betrag
XML-Tag: |
abs |
|
Operanden: |
genau ein Wert |
|
Synopsis: |
<abs> |
|
Operanden: |
numerische Datentypen (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE) |
|
Ergebnis: |
Wert (Betrag) |
|
Ergebnistyp: |
Datentyp des Operanden |
|
Bezeichnung: |
Bildet den Betrag eines Wertes. |
|
Berechnung (PPM3) |
Ergebnis |
Absoluter Betrag des Operanden |
Fehler |
Wenn Operand gleich NULL oder mit nicht numerischem Datentyp |
|
Berechnung (PPM4) |
Ergebnis |
NULL, wenn Operand gleich NULL, sonst absoluter Betrag des Operanden |
Fehler |
Nur bei nicht numerischem Datentyp |
|
Beispiel: |
- |
Ganzzahlige Division
XML-Tag: |
div |
|
Operanden: |
genau zwei ganzzahlige Werte |
|
Synopsis: |
<div> |
|
Operanden: |
LONG |
|
Ergebnis: |
Ganzzahliger Wert der Division |
|
Ergebnistyp: |
LONG |
|
Bezeichnung: |
Liefert den ganzzahligen Wert zurück, wie oft Wert 2 in Wert 1 enthalten ist. Divisionsreste werden ignoriert. Bei echten Brüchen wird 0 zurückgegeben. |
|
Berechnung (nur PPM4) |
Ergebnis |
NULL, wenn mind. ein Operand gleich NULL, sonst ganzzahliges Ergebnis der Division von Operand 1 durch Operand 2 |
Fehler |
Wenn mind. ein Operand mit unzulässigem Datentyp (nicht LONG) oder Operand 2 = 0 |
|
Beispiel: |
<div> |
Modulo
XML-Tag: |
mod |
|
Operanden: |
genau zwei ganzzahlige Werte |
|
Synopsis: |
<mod> |
|
Operanden: |
LONG |
|
Ergebnis: |
Ganzzahliger Divisionsrest |
|
Ergebnistyp: |
LONG |
|
Bezeichnung: |
Liefert als Ergebnis den Rest der ganzzahligen Division von Wert 1 durch Wert 2 zurück. Bei echten Brüchen wird der Wert des 1. Operanden zurückgegeben. Wenn value 1= value 2, wird 0 zurückgegeben. |
|
Berechnung (nur PPM4) |
Ergebnis |
NULL, wenn mind. ein Operand gleich NULL, sonst Rest der ganzzahligen Division von Operand 1 durch Operand 2 |
Fehler |
Wenn mind. ein Operand mit unzulässigem Datentyp (nicht LONG) oder Operand 2 = 0 |
|
Beispiel: |
<mod> |
Quadratwurzel
XML-Tag: |
squareroot |
|
Operanden: |
genau ein Wert |
|
Synopsis: |
<squareroot> |
|
Operanden: |
numerische Datentypen (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE und benutzerdefinierte Typen, z. B. COST) |
|
Ergebnis: |
Quadratwurzel |
|
Ergebnistyp: |
Datentyp DOUBLE |
|
Bezeichnung: |
Berechnet die Quadratwurzel aus dem angegebenen Wert |
|
Berechnung (nur PPM4) |
Ergebnis |
NULL, wenn der Operand gleich NULL, sonst Quadratwurzel des numerischen Operanden |
Fehler |
Wenn Operand mit unzulässigem Datentyp (nicht numerisch) oder Wert des Operanden kleiner 0 |
|
Beispiel: |
- |
Runden
XML-Tag: |
round |
|
Operanden: |
genau ein Wert vom Typ TIMESPAN |
|
Synopsis: |
<round> |
|
Operanden: |
TIMESPAN |
|
Ergebnis: |
Gerundeter Zeitspannenwert |
|
Ergebnistyp: |
TIMESPAN |
|
XML-Attribute |
scale (MINUTE|HOUR|DAY|WEEK|MONTH|YEAR) roundingkind (ROUND|FLOOR|CEIL) "ROUND" |
|
Bezeichnung: |
Liefert den gerundeten Wert von Zeitspannen zurück. Gerundet werden kann nur ein Wert vom Datentyp TIMESPAN. Die Skalierung (scale), in der gerundet werden soll, muss angegeben werden. Es gibt folgende Rundungsarten: ROUND (Nachkommastellen < 5 werden abgerundet bzw. wenn >= 5 aufgerundet) |
|
Berechnung (nur PPM4) |
Ergebnis |
Der gerundete Wert in der angegebenen Skalierung |
Fehler |
Wenn Operand von unzulässigem Datentyp bzw. unzulässige Anzahl von Operanden |
|
Beispiel: |
<round scale="MINUTE" roundingkind="CEIL"> Der Zeitspannenwert 1,19 Stunden wird gemäß Skalierungsangabe in 71,4 Minuten umgerechnet und gemäß angegebener Rundungsart auf 72 Minuten (Rückgabewert) aufgerundet. |
Nullwert
XML-Tag: |
nullvalue |
|
Operanden: |
genau zwei Werte |
|
Synopsis: |
<nullvalue> |
|
Operanden: |
Beliebiger Datentyp, beide Operanden müssen vom gleichen Datentyp sein. |
|
Ergebnis: |
Wert des ersten Operanden, wenn dieser nicht null ist, sonst Wert des zweiten Operanden |
|
Ergebnistyp: |
Datentyp des Operanden |
|
Bezeichnung: |
Ersetzt den ggf. nicht vorhandenen Wert des ersten Operators (Wert null) durch den
Wert des zweiten Operators. Liefert der erste Operand einen Wert, wird dieser zurückgegeben,
sonst der Wert des zweiten Operanden. |
|
Berechnung (nur PPM4) |
Ergebnis |
Wert des ersten Operanden, wenn dieser nicht null ist, sonst Wert des zweiten Operanden. |
Fehler |
Wenn Operanden unterschiedlichen Datentyp aufweisen |
|
Beispiel: |
<nullvalue> <subtext beginindex="3"> <filteredattribute name="AT_XYZ" </subtext> <constant> <dataitem> ABC <datatype name="TEXT">Text</datatype> </dataitem> </constant> </nullvalue> Falls der subtext-Operator keinen Wert liefert, wird die Konstante Zeichenkette ABC zurückgegeben. |