Seite: Home > Software > Softwarestandards > Benutzerorientierte Funktionen > Formelprozessor > Steuerung der Verarbeitung

Softwarestandards: Formelprozessor
Steuerung der Verarbeitung

Die Formeln können nicht nur einen fix vorgegeben Rechengang enthalten, der Ablauf der Berechnung kann vielmehr bei Verwendung von Variablen abhängig von den aktuellen Werten auf mehrere Arten beeinflusst werden.

Vergleichsoperationen
Um zwei Werte in einer Formel miteinander zu vergleichen, können folgende Operatoren verwendet werden:
= gleich
# ungleich
> größer als
>= größer oder gleich (nicht kleiner)
< kleiner als
<= kleiner oder gleich (nicht größer)
Die Vergleichsoperationen liefern den Wert 1, wenn die angegebene Bedingung erfüllt ist, andernfalls wird der Wert 0 erzeugt. Diese Vergleichsergebnisse können auch in die Berechnungen einbezogen werden.

Bedingte Anweisungen
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.

Logische Operationen
Man kann mehrere Vergleiche auch durch Addition und Multiplikation zu logischen Funktionen verknüpfen:

Die Addition von zwei Bedingungen ergibt eine ODER-Verknüpfung : Die Formel
(B100 < 50) + (E240 > 60) ? 75 : 0
liefert das Ergebnis 75, wenn die Variable B100 kleiner als 50 oder die Variable E240 größer als 60 ist. Andernfalls ist das Ergebnis 0.

Analog kann man eine UND-Verknüpfung von mehreren Vergleichen durch eine Multiplikation festlegen. Es müssen im WENN-Teil einer bedingten Anweisungen alle Bedingungen gleichzeitig erfüllt sein, damit der DANN-Teil ausgeführt wird:
(B100 < 50) * (E240 > 60) * (B230 # 0) * ((B321+ B322) <= (B340 - B330)) ? 75 : 0
Hier erhält man das Ergebnis 75 nur dann, wenn alle vier angegebenen Bedingungen gleichzeitig erfüllt sind, weil die Ergebnisse aller Vergleichsoperationen miteinander multipliziert werden. Falls sich darunter auch nur eine 0 befindet (weil eine Bedingung nicht zutrifft), ist auch das Gesamtergebnis 0 und es wird der SONST-Teil (Ergebnis 0) verwendet. Nur wenn alle Bedingungen gleichzeitig erfüllt sind, ist das Ergebnis aller Multiplikationen 1 und es wird der DANN-Teil (Satz 75) angewendet.
Benutzerorientierte Funktionen Benutzerorientierte Funktionen
Formelprozessor Formelprozessor
Rundung Rundung
Bitte beurteilen Sie unsere Webseiten durch Klick auf eine Schulnote (noch besser über die Feedbackseite):
Die aktuelle Seite: 
Note 1 Note 2 Note 3 Note 4 Note 5
Gesamte Website: 
Note 1 Note 2 Note 3 Note 4 Note 5

Home  |  Unternehmen  |  Lösungen  |  Hardware  |  Software  |  Dienstleistungen  |  Linux  |  Konzepte  |  News & Infos  |  Webservice
Zurück zum Seitenanfang Fragen, Anregungen, Wünsche: Feedback * Impressum * Update 03-Feb-2016

www.mibs.at: Das Mitarbeiterbetreuungssystem MIBS (neues Fenster)
www.linuxoffice.at
: Linux im Unternehmen (neues Fenster)
www.dialogdata.net: Providerfunktionen und Internetdienstleistungen (neues Fenster)


© Dialog Data GmbH., Zweiglgasse 11, A-8020 Graz, Steiermark/Austria, Tel. +43/316/810091, E-Mail: office@dialogdata.com, AGB