EXPOS Funktionsbibliothek
- lk
In allen Formeln und Bedingungen muss darauf geachtet werden, dass sich keine Leerzeichen innerhalb der Formel bzw. Bedingung befinden. Ausdrücke können wie gewohnt geklammert werden mit "(" und ")". Argumente in Funktionsaufrufen werden durch ";" getrennt. Zahlen werden mit "," als Dezimaltrennzeichen dargestellt. Zeichenketten werden in " und " eingeschlossen.
Operatoren
Mathematische Operatoren
Operator | Anzahl Argumente | Beschreibung | Beispiel |
---|---|---|---|
+ | 2 | Addition | a+b |
- | 2 | Subtraktion | a-b |
* | 2 | Multiplikation, auch ** möglich | a*b |
: | 2 | Division, auch / möglich | a:b |
/ | 2 | Division, auch : möglich | a/b |
** | 2 | Multiplikation, auch * möglich | a**b |
Boolsche Operatoren
! Operator | Anzahl Argumente | Beschreibung | Beispiel |
---|---|---|---|
= | 2 | Vergleich auf Gleichheit | a=b |
<> | 2 | Vergleich auf Ungleichheit, auch != möglich | a<>b |
!= | 2 | Vergleich auf Ungleichheit, auch <> möglich | a!=b |
< | 2 | Kleiner | a<b |
> | 2 | Grösser | a>b |
<= | 2 | Kleiner oder gleich | a<= b |
>= | 2 | Grösser oder gleich | a>=b |
& | 2 | UND-Verknüpfung | a&b |
¦ | 2 | ODER-Verknüpfung | a¦b |
Funktionen
Mathematische Funktionen
! Funktion | Anzahl Argumente | Beschreibung | Beispiel |
---|---|---|---|
max | 2 | Maximum | max(a;b) |
min | 2 | Minimum | min(a;b) |
sin | 1 | Sinus | sin(a) |
cos | 1 | Kosinus | cos(a) |
tan | 1 | Tangens | tan(a) |
arcsin | 1 | Arkussinus | arcsin(a) |
arccos | 1 | Arkuskosinus | arccos(a) |
arctan | 1 | Arkustangens | arctan(a) |
abs | 1 | Absolutwert | abs(a) |
ln | 1 | natürlicher Logarithmus | ln(a) |
log | 1 | Logarithmus zu 10 | log(a) |
sqrt | 1 | Quadratwurzel | sqrt(a) |
mod | 2 | Modulo (Rest bei Division) | mod(a;b) |
round | 2 | kaufm. Runden | round(a;b) |
roundo | 2 | Aufrunden | roundo(a;b) |
roundu | 2 | Abrunden | roundu(a;b) |
rounds | 2 | Runden Sonderfunktion | rounds(a;b) |
^ | 2 | Potenz | a^4 |
² | 1 | Quadrat | a² |
³ | 1 | Kubik | a³ |
Zeichenketten
Operatoren für Zeichenketten
! Operator | Anzahl Argumente | Beschreibung | Beispiel |
---|---|---|---|
+ | 2 | Aneinanderhängen | a+b |
= | 2 | Vergleich auf gleich | a=b |
<> | 2 | Vergleich auf ungleich | a<>b |
< | 2 | Alphabetisch kleiner | a<b |
> | 2 | Alphabetisch grösser | a>b |
<= | 2 | Alphabetisch kleiner oder gleich | a<=b |
>= | 2 | Alphabetisch grösser oder gleich | a>=b |
Funktionen für Zeichenketten
Funktion | Anzahl Argumente | Beschreibung | Beispiel |
---|---|---|---|
substr | 3 | Schneidet eine Anzahl Zeichen aus Zeichenkette aus | substr(X;2;3) |
upper | 1 | Konvertiert in Grossbuchstaben | upper(X) |
Beispiel:
Es soll das 2.,3. und 4. Zeichen aus dem Merkmalinhalt part001 herausgeschnitten werden. Der Inhalt des Merkmals sei "Muenchen".
Formel:
substr(part001;2;3) = "uen"
Standard-Regeln
Start
NI_<Produktklasse>
Diese Regel wird beim Start eines Konfigurationsprozesses, im Modus Ändern oder Neuanlegen, ausgeführt. (z.B.: AR11/VE11/... im Modus Ändern oder Neuanlegen)
NA_<Produktklasse>
Diese Regel wird beim Start eines Konfigurationsprozesses, im Modus Anzeigen, ausgeführt. (z.B.: AR11/VE11/... im Modus Anzeigen)
Speichern
<Produktklasse>
Diese Regel wird beim Speichern, vor Vergabe der Artikel-Nr., eines Konfigurationsprozesses gerufen.
N_<Produktklasse>
Diese Regel wird beim Speichern, nach evtl. Vergabe einer Artikel-Nr., eines Konfigurationsprozesses gerufen. Die erstellte Artikel-Nr. ist im Systemmerkmal ARTNRN verfügbar.
SpeichernOhneEnde
<Produktklasse>
Diese Regel wird wie beim Speichern ausgeführt, wenn die Maske offen bleiben soll.
N_<Produktklasse>
Wie beim Speichern.
Laufzeit
<Regelname>_B
Diese Regel wird vor dem Betätigen des Parameterbuttons ausgeführt. Damit kann eine Suche mit dynamischen Einschränkungen abgebildet werden.
Beenden
E_<Regelname>
Diese Regel wird gerufen sobald versucht wird die EXPOS-Hauptmaske zu schliessen. (Ende-Button, ALT+F4 oder X) Hier können demnach Regeln implementiert werden welche das Beenden der EXPOS-Konfiguration unterbinden sollen. (z.B. Aufgrund von vorgenommenen Änderungen des Sachbearbeiters)
Hierzu vgl.: Systemmerkmal SYSTEM_ENDE_SYSTEMMERKMAL
Funktionen für Datenbankzugriff
Funktion | Anzahl Argumente | Beschreibung | Beispiel |
---|---|---|---|
LiesTab | 1 | Die Funktion LiesTab liest einen Datensatz aus einer Tabelle aus und übergibt die Feldinhalte an Merkmale. | |
ExecSql | 1 | Die Funktion ExecSql führt einen SQL Befehl direkt aus. | ExecSql(merkmal) |
Beispiel für LiesTab:
Es sollen die Artkelbezeichnung_1 und die Artikelgruppe aus dem Artikelstamm eines Artikels ausgelesen und in die Merkmale "bezart" und "gruppe" übergeben werden. Die Artikelnummer (artnr) wurde zuvor ermittelt und dem Merkmal "artikel" zugewiesen.
Formel:
LiesTab(arttab;artikel;;bezart;;;;;;;;;;;gruppe)
Beispiel für ExecSql:
Der Nummernkreis "TEST" soll um 1 erhöht werden.
Vorgehensweise:
Der SQL-Befehl hierzu wird im Regelwerk einem Merkmal zugewiesen (upd_snrk). Nun wird im Regelwerk die Funktion mit aufgerufen.
Regelaufbau
Regel-name | Lfd-Nr. | Merkmal-ID | Formel | Kommentar |
---|---|---|---|---|
upd_nrk | 5 | upd_snrk | UPDATE snrtab SET nextnr=nextnr+step WHERE finr=1 AND nrkreis='TEST' | SQL-Befehl ist Inhalt des Merkmals upd_snrk |
upd_nrk | 10 | retcod | ExecSql(upd_snrk) | Die Funktion ExecSql führt den Befehl aus, das Ergebnis der Transaktion wird an das Merkmal retcod übermittelt. |
Funktionen für Feldsteuerung
Funktion | Anzahl Argumente | Beschreibung | Beispiel |
---|---|---|---|
invisible | 2 | Ausblenden eines Merkmals auf einer Maske | invisible(2;merkmal2) |
visible | 2 | Einblenden eines Merkmals auf einer Maske | visibe(1;merkmal4) |
input | 2 | Merkmal auf Maske wird zu Eingabefeld | input(2;preis) |
output | 2 | Merkmal auf Maske wird zu Ausgabefeld | output(2;preis) |
Achtung
sonstige Funktionen
Funktion | Anzahl Argumente | Beschreibung | Beispiel |
---|---|---|---|
ArtikelNeu | 1 | Anlegen einer Komponente aus bestehender Konfiguration | ArtikelNeu(KompGrundArtikel) |
Sonderfunktionen für Buttons
Die Funktionsbuttons werden bei der Platzierung in der Maske definiert.
Funktion | Parameter | Beschreibung | Beispiel |
---|---|---|---|
MASKE | Nummer der Maske | Anzeigen der Maske mit der angegebenen Nummer. | MASKE 2 |
SPEICHERN | Aufruf des Regelwerks der Produktklasse zum generieren eines Artikels aus den vom Benutzer in die Masken eingegebenen Daten. Falls keine Fehlercodes der Klasse 'Abbruch' gefunden wurden, werden Artikelstamm, Lagerteilestamm, Stückliste, Arbeitsplan gespeichert. Falls Fehlercodes der Klasse 'Abbruch' gefunden wurden, wird das Fehlercode-Fenster gezeigt und diese Button unsichtbar geschaltet. | ||
RECHNEN | Aufruf des Regelwerks der Produktklasse zum generieren eines Artikels aus den vom Benutzer in die Masken eingegebenen Daten. Es werden keine Daten gespeichert. | ||
ABBRUCH | Abbruch mit Problemen der kaufmännischen Realisierung. Die Daten werden gespeichert und die Auftragsposition mit dem Status X - neue Position oder P - aus vorhandenem Artikel versehen. | ||
TECHABBRUCH | Abbruch mit Problemen der technischen Realisierung. Die Daten werden gespeichert und die Auftragsposition mit dem Status Y - neue Position oder Q - aus vorhandenem Artikel versehen. | ||
LAGERABBRUCH | Abbruch, kein neuer Artikel wird berechnet. Der Auftrag soll aus Lagerbeständen realisiert werden. | ||
KALKULIEREN | Aufruf der Kalkulation PRKO10 | ||
DEBUGGER | Aufruf des Debug-Fensters. Dort können Regeln zeilenweise ausgeführt und analysiert werden. Der Debugger kann für Feldregeln angestossen werden, indem vorher das Merkmal 'DEBUG' auf 1 gesetzt. wird. | ||
TEXT | Aufruf des Texteditors für ein Textmerkmal. | ||
OPENDATEI | zu öffnende Datei | Öffnen einer beliebigen Datei. Es gelten die Voraussetzungen und Einschränkungen des DVS! | OPENDATEI Mydoc.doc |