Logische Operatoren

Folgende Operatoren stehen zur Verfügung: eq, eqset, lt, gt, gteq, lteq, ne, exists, filled, in, and, or, xor, not, containstext.

Gleichheit (Wert)

XML-Tag:

eq

Operanden:

mindestens zwei Werte

Synopsis:

<eq>
<Wert 1>
Wert 2>
...
<Wert n>
</eq>

Operanden:

alle Datentypen

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Bezeichnung:

Gleichheit aller angegebenen Werte liefert TRUE.

Berechnung (PPM3)

Ergebnis

TRUE, wenn die Operanden 1 bis n den gleichen Datentyp und Wert haben, sonst FALSE.

Fehler

Wenn ein Operand NULL ist.

Berechnung (PPM4)

Ergebnis

TRUE, wenn die Operanden 1 bis n den gleichen Datentyp und Wert haben, sonst FALSE. NULL, wenn ein Operand NULL ist

Fehler

Keine

Beispiel:

<eq>
<timespan type="NORMAL">
<max>
<attribute name="AT_CUSTDATE_WISH" nodetype="PROCESS"
onerror="EXIT_NO_WARNING"/>
</max>
<min>
<attribute name="AT_END_TIME" nodetype="OT_FUNC"
objectname="SAP.WAUS" onerror="EXIT_NO_WARNING"/>
</min>
</timespan>
<constant>
<dataitem value="0">
<datatype name="TIMESPAN"/>
</dataitem>
</constant>
</eq>

Gleichheit (Wert)

XML-Tag:

ne

Operanden:

mindestens zwei Werte

Synopsis:

<ne>
<Wert 1>
<Wert 2>
...
<Wert n>
</ne>

Operanden:

alle Datentypen

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Bezeichnung:

Ungleichheit aller angegebenen Werte liefert TRUE

Berechnung (PPM4)

Ergebnis

TRUE, wenn alle Operanden 1 bis n ungleich sind (z.B. Operand 1 != Operand 2), sonst FALSE. NULL, wenn ein Operand NULL ist

Fehler

Keine

Beispiel:

<ne>
<timespan type="NORMAL">
<max>
<attribute name="AT_CUSTDATE_WISH"
nodetype="PROCESS"
onerror="EXIT_NO_WARNING"/>
</max>
<min>
<attribute name="AT_END_TIME"
nodetype="OT_FUNC"
objectname="SAP.WAUS"
onerror="EXIT_NO_WARNING"/>
</min>
</timespan>
<constant>
<dataitem value="0">
<datatype name="TIMESPAN"/>
</dataitem>
</constant>
</ne>

Gleichheit (Wertemenge)

XML-Tag:

eqset

Operanden:

mindestens zwei Wertemengen

Synopsis:

<eqset>
<Wertemenge 1<
<Wertemenge 2>
...
<Wertemenge n>
</eqset>

Operanden:

alle Datentypen

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Bezeichnung:

Gleichheit der angegebenen Wertemengen liefert TRUE. Die Operanden 2 bis n werden nacheinander mit Operand 1 verglichen.

Berechnung (PPM3)

Ergebnis

TRUE, wenn die zu vergleichenden Mengen gleich groß sind und alle Werte darin gleich sind, sonst FALSE.

Fehler

Wenn ein Operand NULL ist.

Berechnung (PPM4)

Ergebnis

TRUE, wenn die zu vergleichenden Mengen gleich groß sind und alle Objekte darin gleich sind, sonst FALSE. NULL, wenn ein Operand NULL ist

Fehler

Keine

Beispiel:

-

"Kleiner als"-Vergleich

XML-Tag:

lt

Operanden:

genau zwei Werte

Synopsis:

<lt>
<Wert 1>
<Wert 2>
</lt>

Operanden:

Einheitlicher numerischer Datentyp

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Berechnung (PPM3)

Ergebnis

TRUE, wenn Operand 1 und Operand 2 den gleichen Datentyp haben und Operand 1 kleiner als Operand 2 ist, sonst FALSE

Fehler

Wenn mind. ein Operand gleich NULL oder mind. ein Operand mit unzulässigem Datentyp

Berechnung (PPM4)

Ergebnis

TRUE, wenn Operand 1 und Operand 2 den gleichen Datentyp haben und Operand 1 kleiner als Operand 2 ist, sonst FALSE NULL, wenn mind. ein Operand gleich NULL ist.

Fehler

Nur bei unzulässigem Datentyp

Beispiel:

-

"Größer als"-Vergleich

XML-Tag:

gt

Operanden:

genau zwei Werte

Synopsis:

<gt>
<Wert 1<
<Wert 2<
</gt>

Operanden:

Einheitlicher numerischer Datentyp

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Berechnung (PPM3)

Ergebnis

Liefert TRUE, wenn Wert 1 größer als Wert 2 ist und die Operanden von einheitlichem Datentyp sind, sonst FALSE

Fehler

Wenn mind. ein Operand NULL oder mind. ein Operator mit unzulässigem Datentyp

Berechnung (PPM4)

Ergebnis

Liefert TRUE, wenn Wert 1 größer als Wert 2 ist und die Operanden von einheitlichem Datentyp sind, sonst FALSE NULL, wenn mind. ein Operand gleich NULL ist.

Fehler

Nur bei unzulässigem Datentyp

Beispiel:

-

"Größer oder gleich"-Vergleich

XML-Tag:

gteq

Operanden:

genau zwei Werte

Synopsis:

<gteq>
<Wert 1>
<Wert 2>
</gteq>

Operanden:

Einheitlicher numerischer Datentyp

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Berechnung (PPM4)

Ergebnis

Liefert TRUE, wenn Wert 1 größer oder gleich Wert 2 ist und die Operanden von einheitlichem Datentyp sind, sonst FALSE. NULL, wenn mind. ein Operand gleich NULL ist.

Fehler

Nur bei unzulässigem Datentyp

Beispiel:

-

"Kleiner oder gleich"-Vergleich

XML-Tag:

lteq

Operanden:

genau zwei Werte

Synopsis:

<glteq>
<Wert 1>
<Wert 2>
</lteq>

Operanden:

Einheitlicher numerischer Datentyp

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Berechnung (PPM4)

Ergebnis

Liefert TRUE, wenn Wert 1 kleiner oder gleich Wert 2 ist und die Operanden von einheitlichem Datentyp sind, sonst FALSE. NULL, wenn mind. ein Operand gleich NULL ist.

Fehler

Nur bei unzulässigem Datentyp

Beispiel:

-

Prüfung der Existenz

XML-Tag:

exists

Operanden:

mindestens ein Attributbezeichner (attribute, filteredattribute)

Synopsis:

<exists>
<Attribut 1>
<Attribut 2>
...
<Attribut n>
</exists>

Operanden:

alle Datentypen

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Bezeichnung:

Liefert TRUE, wenn die angegebenen Attribute vorhanden sind, unabhängig davon, ob den Attributen Werte zugewiesen ist.

Berechnung (PPM3/PPM4)

Ergebnis

TRUE, wenn alle angegebenen Attribute existieren, sonst FALSE

Fehler

Keine

Beispiel:

<exists>
<attribute name="AT_ORDER_VOL" nodetype="OT_FUNC"/>
</exists>

Inhaltsprüfung

XML-Tag:

filled

Operanden:

mindestens ein Wert oder eine Wertemenge

Synopsis:

<filled>
<Wert 1>
<Wert 2>
...
<Wert n>
</filled>

oder

<filled>
<Wertemenge 1>
<Wertemenge 2>
...
<Wertemenge n>
</filled>

oder

<filled>

<Wert 1>
<Wert 2>
...
<Wert n>
<Wertemenge 1>
<Wertemenge 2>
...
<Wertemenge n>
</filled>

Operanden:

alle Datentypen

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Berechnung (PPM3/PPM4)

Ergebnis

TRUE, wenn alle angegebenen Werte bzw. Wertemengen gepflegt sind, sonst FALSE

Fehler

Keine

Beispiel:

-

Inhaltsprüfung Mengen

XML-Tag:

in

Operanden:

1. Operand: Wert oder Wertemenge
2. Operand: Wertemenge

Synopsis:

<in>
<Wert 1>
<Wertemenge 2>
</in>

oder

<in>
<Wertemenge 1>
<Wertemenge 2>
</in>

Operanden:

alle Datentypen

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Berechnung (nur PPM4)

Ergebnis

TRUE, wenn der Wert bzw. die Wertemenge des 1. Operanden in der durch den 2. Operanden angegebenen Wertemenge enthalten ist.
NULL, wenn ein Operand NULL liefert.

Fehler

Nur bei unverträglichen Datentypen

Beispiel:

<calcattr name="AT_KI_ABL" type="PROCESS">
<calculation>
<in>
<constant>
<dataitem>
HR-ABL
<datatype name="TEXT">Text</datatype>
</dataitem>
</constant>
<attribute name="AT_HRMODUL" nodetype="OT_FUNC" />
</in>
</calculation>
</calcattr>

Der in-Operator liefert TRUE, wenn es an mindestens einer Funktion der EPK ein Attribut AT_HRMODUL mit dem Wert HR-ABL gibt.

Logisches UND

XML-Tag:

and

Operanden:

mindestens zwei Wahrheitswerte

Synopsis:

<and
<Wahrheitswert 1>
<Wahrheitswert 2>
...
<Wahrheitswert n>
</and>

Operanden:

BOOLEAN

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Bezeichnung:

Liefert TRUE, wenn alle Wahrheitswerte TRUE sind. Beim ersten Operanden, der FALSE liefert, wird die Auswertung der Operandenliste abgebrochen und FALSE zurückgeliefert.

Berechnung (PPM3)

Ergebnis

TRUE, wenn alle Operanden TRUE liefern, sonst FALSE

Fehler

Wenn ein Operand NULL liefert oder wenn mind. ein Operand einen unzulässigen Datentyp hat

Berechnung (PPM4)

Ergebnis

TRUE, wenn alle Operanden TRUE liefern.
FALSE, wenn ein Operand FALSE liefert und alle davor TRUE.
NULL, wenn ein Operand NULL liefert und alle davor TRUE

Fehler

Wenn mind. ein Operand mit unzulässigem Datentyp (nicht BOOLEAN)

Beispiel:

-

Logisches ODER

XML-Tag:

oder

Operanden:

mindestens zwei Wahrheitswerte

Synopsis:

<or>
<Wahrheitswert 1>
<Wahrheitswert 2>
...
<Wahrheitswert n>
</or>

Operanden:

BOOLEAN

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Bezeichnung:

Liefert TRUE, wenn mindestens ein Wahrheitswert TRUE ist. Beim ersten Operanden, der TRUE liefert, wird die Auswertung der Operandenliste abgebrochen und TRUE zurückgeliefert.

Berechnung (PPM3)

Ergebnis

TRUE, wenn ein Operand TRUE liefert und alle davor nicht NULL liefern, sonst FALSE

Fehler

Wenn ein Operand NULL liefert und alle anderen Operanden davor FALSE oder wenn mind. ein Operand einen unzulässigen Datentyp hat

Berechnung (PPM4)

Ergebnis

TRUE, wenn ein Operand TRUE liefert und alle davor nicht NULL liefern. FALSE, wenn alle Operanden FALSE liefern. NULL, wenn ein Operand NULL liefert und alle davor FALSE

Fehler

Wenn mind. ein Operand mit unzulässigem Datentyp (nicht BOOLEAN)

Beispiel:

-

Logisches EXKLUSIV ODER

XML-Tag:

xor

Operanden:

mindestens zwei Wahrheitswerte

Synopsis:

<xor>
<Wahrheitswert 1>
<Wahrheitswert 2>
...
<Wahrheitswert n>
</xor>

Operanden:

BOOLEAN

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Bezeichnung:

Liefert TRUE, wenn genau ein Wahrheitswert TRUE ist

Berechnung (PPM3)

Ergebnis

TRUE, wenn genau ein Operand TRUE liefert, sonst FALSE

Fehler

Wenn ein Operand NULL liefert oder wenn mind. ein Operand einen unzulässigen Datentyp hat

Berechnung (PPM4)

Ergebnis

TRUE, wenn genau ein Operand TRUE liefert. FALSE, wenn kein Operand oder mehr als ein Operand TRUE liefern. NULL, wenn ein Operand NULL liefert

Fehler

Wenn mind. ein Operand mit unzulässigem Datentyp (nicht BOOLEAN)

Beispiel:

-

Logisches NICHT

XML-Tag:

not

Operanden:

genau ein Wahrheitswert

Synopsis:

<not>
<Wahrheitswert>
</not>

Operanden:

BOOLEAN

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Bezeichnung:

Kehrt den angegebenen Wahrheitswert um.

Berechnung (PPM3)

Ergebnis

TRUE, wenn Operand FALSE liefert, sonst FALSE

Fehler

Wenn Operand NULL liefert oder wenn mind. ein Operand einen unzulässigen Datentyp hat

Berechnung (PPM4)

Ergebnis

TRUE, wenn Operand FALSE liefert. FALSE, wenn Operand TRUE liefert. NULL, wenn Operand NULL liefert

Fehler

Wenn Operand mit unzulässigem Datentyp (nicht BOOLEAN)

Beispiel:

<not>
<exists>
<attribute name="AT_ORDER_VOL" nodetype="OT_FUNC"/>
</exists>
</not>

Prüfung auf Text in Text

XML-Tag:

containstext

Operanden:

genau zwei Werte vom Typ TEXT

Synopsis:

<containstext>
<Wert 1>
<Wert 2>
</containstext>

Operanden:

TEXT

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Berechnung (nur PPM4)

Ergebnis

TRUE, wenn der vom 2. Operanden gelieferte Text eine Teilzeichenkette des vom 1. Operanden gelieferten Wertes ist, sonst FALSE. NULL, wenn ein Operand NULL liefert

Fehler

Wenn mind. ein Operand mit unzulässigem Datentyp (nicht TEXT)

Beispiel:

<containstext>
<filteredattribute name="AT_ABCDEF"
nodetype="OT_FUNC" objectname="this"
onerror="EXIT_NO_WARNING"/>
<constant>
<dataitem>
abc
<datatype name="TEXT">Text</datatype>
</dataitem>
</constant>
</containstext>

Operator liefert TRUE, wenn die Zeichenkette abc im Wert des Attributs AT_ABCDEF enthalten ist.