7 Prozesstypisierung
7.1 Typisierungsregeln erstellen
7.1.3 Definition von Attributberechnungen
7.1.3.4 Operatoren
7.1.3.4.4 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.
118
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
119
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.
120
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: -
121
"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
122
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>
123
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>
Operanden: alle Datentypen
124
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
125
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
126
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
127
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
128
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
129
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.