Fallweise sollen einzelne Berechnungen nur unter
bestimmten Voraussetzungen ausgeführt werden. Es gilt also eine Vorschrift "wenn
xxx, dann yyy, sonst zzz". |
|
Den ersten Teil dieser Formulierung (die Bedingung
"wenn") haben wir gerade bei den Vergleichsoperatoren besprochen. Um damit eine
bedingte Anweisung zu erstellen, wird in den Formeln folgende Schreibweise verwendet: |
xxx ? yyy : zzz |
Es folgt auf die Bedingung xxx ("wenn xxx") ein
Fragezeichen, danach der Ausdruck, der gilt, falls xxx zutrifft ("dann yyy").
Daran schließt ein Doppelpunkt an, auf den der Ausdruck folgt, der zu verwenden ist, wenn
xxx nicht zutrifft ("sonst zzz"). Zum Beispiel könnte man im Lohn mit der
Formel |
(B100 > 10000) ? 120 : 140 |
einen Satz festlegen, der 120 ausmacht, wenn der Betrag
der Lohnart 100 größer als 10000 ist, und 140, wenn der Betrag nicht größer (gleich
oder kleiner) als 10000 ist. |
|
In solchen Anweisungen wird je nach der Bedingung (vor dem
Fragezeichen) immer nur einer der beiden auf das Fragezeichen folgenden Teile der Formel
verwendet, entweder jener vor dem Doppelpunkt oder der Teil hinter dem Doppelpunkt. |
|
Bedingte Anweisungen können auch verschachtelt sein.
Grundsätzlich können in einem Ausdruck "xxx ? yyy : zzz" alle drei Teile xxx,
yyy und zzz beliebig komplex sein. Dieser Ausdruck kann in einer Formel an jeder Stelle
und so oft wie benötigt vorkommen. |
|
Bedingte Anweisungen können auch als Faktoren innerhalb
einer Berechnung verwendet werden. Mit |
((B100 > 10000) ? 120 : 90) + 160 |
ist der Satz je nach dem Betrag der Lohnart 100 entweder
280 (120 + 160) oder 250 (90 + 160). In dieser Form können auch Mindestwerte und
Höchstbeträge definiert werden. Ist e0 die Variable für den Einkaufspreis, kann zum
Beispiel mit |
e0 + ((e0 * 0.2) < 300 ? 300 : (e0 *
0.2)) |
ein Aufschlag auf den Einkaufspreis e0 von 20 %,
mindestens jedoch 300.00, berechnet werden. |