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

Beschreibung:

Gleichheit aller angegebenen Werte liefert TRUE.

Berechnung (PPM3)

Resultat

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

Fehler

Wenn ein Operand NULL ist

Berechnung (PPM4)

Resultat

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

Fehler

Keiner

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>

Ungleichheit (Wert)

XML-Tag:

ne

Operanden:

mindestens zwei Werte

Synopsis:

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

Operanden:

alle Datentypen

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Beschreibung:

Ungleichheit aller angegebenen Werte liefert TRUE

Berechnung (PPM4)

Resultat

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

Fehler

Keiner

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

Beschreibung:

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

Berechnung (PPM3)

Resultat

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)

Resultat

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

Fehler

Keiner

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)

Resultat

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)

Resultat

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

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)

Resultat

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)

Resultat

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

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)

Resultat

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

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)

Resultat

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

Fehler

Nur bei unzulässigem Datentyp

Beispiel:

-

Existenzprüfung

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

Beschreibung:

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

Berechnung (PPM3/PPM4)

Resultat

TRUE, wenn alle angegebenen Attribute existieren, sonst FALSE

Fehler

Keiner

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)

Resultat

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

Fehler

Keiner

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)

Resultat

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

Beschreibung:

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)

Resultat

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)

Resultat

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:

or

Operanden:

mindestens zwei Wahrheitswerte

Synopsis:

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

Operanden:

BOOLEAN

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Beschreibung:

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)

Resultat

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)

Resultat

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

Beschreibung:

Liefert TRUE, wenn genau ein Wahrheitswert TRUE ist

Berechnung (PPM3)

Resultat

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)

Resultat

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

Beschreibung:

Kehrt den angegebenen Wahrheitswert um.

Berechnung (PPM3)

Resultat

TRUE, wenn Operand FALSE liefert, sonst FALSE

Fehler

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

Berechnung (PPM4)

Resultat

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>
<value 1>
<value 2>
</containstext>

Operanden:

TEXT

Ergebnis:

Wahrheitswert

Ergebnistyp:

BOOLEAN

Berechnung (nur PPM4)

Resultat

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 Teilzeichenkette abc im Wert des Attributs AT_ABCDEF enthalten ist.