• Keine Ergebnisse gefunden

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.