Berechnungsformel

Beschreibung

Eine Formel ist ein beliebiger arithmetischer Ausdruck mit Operatoren, Konstanten, Variablen und Funktionsaufrufen:

Operatoren

Arithmetische Operatoren: *    /    +    -
Vergleichsoperatoren: <    >    <=   >=    !=
Logische Operatoren: &    |
Zuweisung: := 
Separator: ;
Bedingter Ausdruck: if ... else

Zulässige Konstanten

Ganze Zahl: 7
Reelle Zahl: 2,714
Wert mit Dimension: 3 cm
Enumerationskonstante: Holz (richtet sich nach der aktuell eingestellten Sprache)

Variablen

Variablen sind (vor allem) dynamische Datenfelder.

Es können jedoch auch lokale temporäre Variablen definiert werden, die nur innerhalb der Formel gültig sind. Hierfür ist am Anfang einer Bedingung eine Variablendefinition nach folgendem Beispiel vorzunehmen:

local a;

Anschließend erfolgt die Zuweisung des Wertes für a:

local a; a:=133m+LAENGE_GEWINDE;

(LAENGE_GEWINDE ist der Name eines Sachmerkmals, welches für die Berechnung im Kontext erreichbar ist (PlugSpace)) Auch hier wird der Bereich am Ende durch ein Semikolon begrenzt.

Jetzt folgt die eigentliche Formel bzw. Bedingung

local a; a:=133m+LAENGE_GEWINDE; a>200mm | (a<=200mm & a > 133mm)

Dieses Beispiel liefert nur ein TRUE/FALSE zurück und ist nur als Bedingung (z.B. für eine bedingte Tabelle oder eine Übergangsbeschreibung in den Geschäftsprozessen) zu gebrauchen.

Achtung:
Wenn bei bedingten Tabellen in der Bedingung eine Variablendefinition (local a;) vorhanden ist, darf in die Tabelle keine Spalte eingefügt werden, da die Spalten vor der restlichen Bedingung ausgewertet werden und somit mitten in der Bedingung auf einmal eine Trennung durch ein Semikolon entstehen würde!

Die Meldung ist dann beim Verlassen der Zeile: Operand expected!

Die vorbereiteten Beispiele benutzen folgende Variablen:

l Länge (Klasse CX_VALUE)
b Breite (Klasse CX_VALUE)
ma Materialart (Enumeration)
ID Position einer technischen Komponente (Enumeration)
d Datum (Klasse CX_DATE)
t Zeit (Klasse CX_TIME)
comment ein Kommentar als Zeichenkette (String)

Bevor eine Formel berechnet werden kann, müssen den in der Formel vorkommenden Variablen Werte zugeordnet werden. Dies erfolgt automatisch mit den Objekten, die vorher im PlugSpace registriert wurden.

Die in einer Formel vorkommenden Variablen können selbst eine Formel oder eine Bedingungstabelle (Objekt CX_CONDITIONED_BAG) repräsentieren.

Das Formel-Objekt kann feststellen, welche Variablen es zur Berechnung benötigt (auch im Falle einer Formel in der Formel usw.).

Das Modul Formel testen konstruiert ein Fenster für die Eingabe der Variablenwerte. Dazu wird ein Objekt der Klasse CX_CONTAINER benutzt - ein Objekt dessen einzige Funktion darin besteht, beliebige dynamische Datenfelder zu halten.

Das Ergebnis einer Formel Berechnung kann ein Wert sein - bei einem arithmetischen Ausdruck - oder TRUE/FALSE als Ergebnis eines logischen Ausdrucks.
Eine Formel, die mit ; endet, liefert keinen Wert.

Funktionalität

Eingabefenster

Dieses Fenster dient der Pflege von Berechnungsformeln. Sie können eine Berechnungsformel auswählen, in dem Sie im Feld Nummer die gewünschte Nummer eingeben und mit RETURN bestätigen. Wenn Sie das Listenfenster aufrufen wollen, dann können Sie den Menüpunkt "Suchen" auswählen.

Über den Menüpunkt ‚Basisdaten – Berechnungsformeln’ gelangen Sie in das entsprechende Suchfenster, in dem alle aktuellen Berechnungsformeln angezeigt werden. 

Mit einem Doppelklick auf einen der Einträge öffnet sich das Fenster ‚Berechnungsformel’ und Sie können den Eintrag bearbeiten. 

Mit OK speichern Sie die Änderungen ab. 

Mit ‚Neu’ ist es mögliche eine neue Formel zu erstellen. Geben Sie im Feld ‚Nr.’ eine laufende Nummer oder einen Begriff vor und wählen Sie für das Feld ‚Name’ eine sinnvolle Bezeichnung aus. 

Im Feld ‚Formel’ können Sie nun eine Formel vorgeben, die das System umsetzen soll. 

Über den Punkt ‚Bearbeiten – Formel testen’ können Sie anschließend testen, ob die Formel richtig umgesetzt wird. Mit OK speichern Sie Ihre Eingaben ab.

Menü
Menüpunkt Beschreibung
Bearbeiten -
: Berechnungsformel testen Berechnung einer Formel bedeutet, dass ihr Ausdruck ausgewertet wird. Es öffnet sich dabei ein neues Fenster, in welchem die in der Formel vorkommenden Werte eingegeben werden können. (Formel testen)
: Interne Darstellung Öffnet ein Fenster, das die interne Repräsentation der Formel in Postfix-Notation zeigt. Diese Codierung erlaubt eine sehr schnelle Berechnung. Bei bedingten Ausdrücken werden Bedingung und davon abhängige Terme in if ... fi bzw. if ... else ... fi eingeschlossen, mit fi als "schließende Klammer für jedes if.
: Schließen Fenster schließen
Suchen Listenfenster aufrufen
Beispiele Mit dem Menüpunkt Beispiele bringen Sie eine Liste verschiedener Formeln zur Anzeige, die Sie mit Anklicken auswählen können. Sie können Formeln auch selbst eingeben oder verändern (vor Berechnung mit dem Button Eingabe speichern!).

Toolbar
Symbol Beschreibung
Neue Berechnungsformel anlegen
Änderungen speichern
Berechnungsformel löschen
Berechnungsformel drucken
Berechnung einer Formel bedeutet, dass ihr Ausdruck ausgewertet wird. Es öffnet sich dabei ein neues Fenster, in welchem die in der Formel vorkommenden Werte eingegeben werden können. (Formel testen)

Felder
Feld Beschreibung
Nr. Nummer der Formel
Name Formelname
Formel Formelausdruck

Knöpfe
Knopf Beschreibung
OK Änderungen an der Berechnungsformel werden gespeichert. Wenn keine Änderungen getätigt wurden ist der Knopf gesperrt.
Neu Das Eingabefenster wird geleert.
Löschen Die angezeigte Berechnungsformel wird gelöscht.
Schließen Das Fenster wird geschlossen, ohne Änderungen zu speichern. Wenn Sie die Änderungen sichern wollen, so müssen Sie den Knopf "OK" drücken.

 

Listenfenster

Dient der Auflistung der Berechnungsformeln.

Toolbar
Symbol Beschreibung
Neue Berechnungsformel anlegen
Berechnungsformel bearbeiten
Berechnungsformel löschen
Berechnungsformeln drucken
Berechnungsformeln exportieren
Alle Berechnungsformeln in die Zwischenablage kopieren

Suchfelder
Feld Beschreibung
Nr. Nach Formelnummer suchen
Name Nach Formelname suchen

Knöpfe
Knopf Beschreibung
Bearbeiten Die aktuelle Berechnungsformel wird im Eingabefenster angezeigt.
Neu Ein leeres Eingabefenster wird geöffnet.
Löschen Die ausgewählte Berechnungsformel wird gelöscht.
Schließen Das Fenster wird geschlossen.

 

Selektionsfenster

Dieses Fenster dient der Selektion einer Berechnungsformel.

Suchfelder
Feld Beschreibung
Nr. Nach Formelnummer suchen
Name Nach Formelname suchen

Knöpfe
Knopf Beschreibung
OK Das selektierte Berechnungsformel-Objekt wird übernommen.
Schließen Die Selektion wird abgebrochen.

Beispiele

Felder
Feld Beschreibung
Einfache Formeln Arithmetische Ausdrücke werden berechnet.
Zuweisungen Einer Variablen wird ein Wert zugewiesen. Dies kann der Hauptzweck der Formel sein, die auch nicht unbedingt ein Ergebnis liefern muss.
Falls...dann... Auch Bedingungen werden als Ausdrücke aufgefasst.
Beachten Sie: Die letzten drei Zeilen zeigen verschiedene Schreibweisen für die gleiche Berechnungsvorschrift

 

Verwandte Themen

 


Technische Dokumentation

Übersicht

formula.bmp (8118 Byte)

Berechnungsformel Basismodul

Modulname

formula.mod

Klassen

CX_FORMULA

Security

Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.

Empfangene Messages
Message Parameter Funktion Security
FORMULA_CHANGED Berechnungsformel-Objekt Berechnungsformel wurde geändert  
FORMULA_CREATED Berechnungsformel-Objekt Berechnungsformel wurde erzeugt  
FORMULA_DELETED Berechnungsformel-Objekt Berechnungsformel wurde gelöscht  

Gesendete Messages
Message Parameter Funktion Empfangs-Modul
EDIT_FORMULA NULL oder Berechnungsformel-Objekt Eingabefenster für Berechnungsformel aufrufen Berechnungsformel-Editiermodul

Berechnungsformel Editiermodul

Modulname

formuedt.mod

Klassen

CX_FORMULA

Security

Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.

Empfangene Messages
Message Parameter Funktion Security
EDIT_FORMULA NULL oder Berechnungsformel-Objekt Eingabefenster für Berechnungsformel aufrufen  
FORMULA_CHANGED Berechnungsformel-Objekt Berechnungsformel wurde geändert  
FORMULA_CREATED Berechnungsformel-Objekt Berechnungsformel wurde erzeugt  
FORMULA_DELETED Berechnungsformel-Objekt Berechnungsformel wurde gelöscht  
FORMULA_SELECTED Berechnungsformel-Objekt Berechnungsformel wurde selektiert  
LIST_FORMULA Collection Berechnungsformel-Objekte oder NULL Listenfenster für Berechnungsformel aufrufen  
LOAD_FORMULA   Berechnungsformel importieren  

Gesendete Messages
Message Parameter Funktion Empfangs-Modul
EDIT_FORMULA NULL oder Berechnungsformel-Objekt Eingabefenster für Berechnungsformel aufrufen Berechnungsformel-Editiermodul
FORMULA_CHANGED Berechnungsformel-Objekt Berechnungsformel wurde verändert  
FORMULA_CREATED Berechnungsformel-Objekt Berechnungsformel wurde erzeugt  
FORMULA_DELETED Berechnungsformel-Objekt Berechnungsformel wurde gelöscht  
LIST_FORMULA   Listenfenster für Berechnungsformel aufrufen Berechnungsformel-Editiermodul
SHOW_FORMULA_SAMPLES X-Position, Y-Position, Empfänger der Antwort Beispiele für Berechnungsformeln  
SHOW_PREVIEW Widget Druckvorschau Druckvorschau
TEST_FORMULA Formel-Objekt Formel testen Modul Formel testen

Berechnungsformel Selektionsmodul

Modulname

formusel.mod

Klassen

CX_FORMULA

Security

Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.

Empfangene Messages
Message Parameter Funktion Security
FORMULA_CHANGED Berechnungsformel-Objekt Berechnungsformel wurde geändert  
FORMULA_CREATED Berechnungsformel-Objekt Berechnungsformel wurde erzeugt  
FORMULA_DELETED Berechnungsformel-Objekt Berechnungsformel wurde gelöscht  
SELECT_FORMULA Collection Berechnungsformel-Objekte oder NULL, Empfänger der Antwort Selektionsfenster für Berechnungsformel aufrufen  

Gesendete Messages
Message Parameter Funktion Empfangs-Modul
EDIT_FORMULA NULL oder Berechnungsformel-Objekt Eingabefenster für Berechnungsformel aufrufen Berechnungsformel-Editiermodul
FORMULA_SELECTED Berechnungsformel-Objekt, Empfänger Berechnungsformel wurde selektiert