Wertebereiche
Informationen
- Wertebereiche werden pro Dataitem im Modul Dataitems erfasst.
- Dabei muss pro Dataitem
- eine Wertebereichsart im Feld WB-Art festgelegt werden, die angibt,
- ob der erfasste Wertebereich wirkt und
- wann das DI berechnet oder geprüft wird.
- eine Formel für den Wertebereich selbst im Feld Wertebereich definiert werden.
- eine Wertebereichsart im Feld WB-Art festgelegt werden, die angibt,
Hinweis
- Wertebereiche können deaktiviert werden, ohne das ihre Formel gelöscht wird. Hierzu den Eintrag im Feld WB-Art löschen.
Wertebereichsarten
Information
- Es gibt drei Gruppen von Wertebereichsarten. Dataitems können über Wertebereiche
Standard-Wertebereiche
PL: Prüfung nach Liste
Ziel
- Überprüfung der Datenfeldeingabe auf Übereinstimmung mit den festgelegten Werten
Der Wertebereich
- stellt eine tabellarische Auflistung der zulässigen Werte dar.
- besteht aus Operatoren und Operanden.
Details
- Numerische Dataitems
- Liste der erlaubten Eingabewerte mit Komma getrennt
DI | Bezeichnung | WB-Art | Wertebereich | Erklärung |
---|---|---|---|---|
000090 | Terminabw. Anfang 1 | PL | 1,2,3,4,5,6,7,8 | Es können nur die angegeben Werte eingetragen werden. |
- Alphanumerische Dataitems
- Liste der erlaubten Eingabewerte in Anführungszeichen angegeben und mit Komma getrennt.
DI | Bezeichnung | WB-Art | Wertebereich | Erklärung |
---|---|---|---|---|
000162 | Klasse | PL | "A","B","C","D","E","X" | Es können nur die angegeben Werte eingetragen werden. |
Hinweise
- Bei einer falschen Eingabe
- erscheint in der Statuszeile die Meldung: "Bitte Eingabe überprüfen" und
- der falsche Wert wird nicht übernommen, so dass der vorherige Wert wieder angezeigt wird.
- Eine Eingabe ist richtig, wenn sie Element des Wertebereichs ist.
PF: Prüfung durch Formel
Ziel
- Überprüfung der Datenfeldeingabe auf Werte, die sich aus den Formeln ergeben
Der Wertebereich
- stellt eine Prüfformel dar.
- besteht aus Operatoren, Operanden und ggf. Funktionen.
Details
- Eine Prüfformel gibt den Ausdruck 0 oder 1 zurück, wobei gilt:
- 0: FALSCH
- 1: WAHR
- Es kann nur eine einzige Formel pro DI angegeben werden.
- Eine Formel kann auf mehrere Zeilen verteilt werden.
Beispiel
DI | Bezeichnung | WB-Art | Wertebereich | Erklärung |
---|---|---|---|---|
001019 | Wunsch-AT | PF | (DI001019 <= DI001020) || (DI001020 0) | Wunsch-AT darf keinen Termin erhalten, der größer ist als der Termin in Wunsch-ET. |
001020 | Wunsch-ET | PF | (DI001019 <= DI001020) || (DI001020 0) | Wunsch-ET darf keinen Termin erhalten, der niedriger ist als der Termin in Wunsch-AT. |
Hinweise
- Bei einer falschen Eingabe
- erscheint in der Statuszeile die Meldung: "Bitte Eingabe überprüfen" und
- der falsche Wert wird nicht übernommen, so dass der vorherige Wert wieder angezeigt wird.
- Eine Eingabe ist richtig, wenn die Wertebereichsformel den Wert WAHR zurückgibt.
CO: Berechnungen
Ziel
- Berechnung des Ausgabewertes eines Feldes nach der vorgegebenen Formel.
Der Wertebereich
- stellt eine Berechnungsformel dar.
- besteht aus Operatoren, Operanden und Funktionen.
- Es kann nur eine einzige Formel pro DI angegeben werden.
- Eine Formel kann auf mehrere Zeilen verteilt werden.
Hinweise
- Bei falsch konstruierten Wertebereichen erscheinen beim Modulstart unter Umständen folgende Fehlermeldungen:
- WB: Division durch Null
- Versuch eine Zahl durch Null zu dividieren.
- WB: Rechnungsergebnis ungültig (Speichergröße)
- Ergebnis in der Berechnung überschreitet die definierte Länge des virtuellen DIs, z.B. beim Zusammensetzen von Zeichenketten aus Konstanten oder Variablen ohne Verwendung der TRIM() Funktion
- WB: Operanden sind Typ-inkompatibel
- Versuch eine Berechnung zwischen zwei unterschiedlichen Datentypen auszuführen, z.B. eine Zeichenkette und eine Zahl. Relevante Operanden durch die dazugehörige Funktion, z.B. FMT(), ATOI() umzuwandeln.
- WB ist ungültig: Dixxxxxx
- Syntaxfehler im Wertebereich. Auch Folgemeldung zu den oben aufgeführten Fehlermeldungen.
- WB: Division durch Null
- Je nach Fehler erscheint eine Meldung nur einmal pro Session beim erstmaligen Aufruf des Wertebereichs. Danach wird der Wertebereich nicht mehr ausgeführt.
Aufbauregeln für Wertebereiche CO, PL, PF
Zulässige Objekte
Operatoren
- arithmetisch: +, -, *, /, % (Modulo)
- logisch:
- AND: &&
- OR: ||
- NOT: !
- binäre:
- AND: &
- OR: |
- NOT: !
- Vergleiche: <, =, >, <=, ==, >=, <>, != (Bedeutet NOT)
- Anführungszeichen: „"
- Klammern: ( )
Operanden
- Dataitems: reelle, virtuelle
- Variablen:
- Benutzer: @U
- Dynamische: @D
- Globale: @G
- System: @
- Programm-Konstanten
- Fester Wert: Strings, Zahlen
Datentypen
- Integer: 2-Byte, 4-Byte, gemischt
- String: beliebige Zeichenanzahl (auch mit Matchcode *)
Regeln
Regeln für Operatoren
- Arithmetische, logische, binäre und Vergleichsoperatoren können durch Leerzeichen zwischen Operanden getrennt werden. Funktionell hat dies keine Bedeutung, hilft jedoch bei der Lesbarkeit eines Wertebereichs.
- Anführungszeichen und Klammern müssen den Inhalt exakt einbinden, d.h. Leerzeichen dürfen nur vorkommen, wenn sie eine funktionale Bedeutung haben.
- Soll der boolesche Wert eines Wertebereichs invertiert werden d.h. statt WAHR soll FALSCH ausgegeben werden, muss der Inhalt des Wertebereichs geklammert und der Ausdruck "!=1" angehängt werden.
Beispiel
DI | Bezeichnung | WB-Art | Wertebereich | Erklärung |
---|---|---|---|---|
005297 | zu belastende KST | EXIST(DI005297,808) | Funktion EXIST mit Prüfung auf nicht vorhandene Datensätze |
Details
- In Wertebereichen kann mit Modulo gerechnet werden (Operator = %).
Beispiel
DI | Bezeichnung | WB-Art | Wertebereich | Erklärung |
---|---|---|---|---|
007585 | Uhrzeit R | CL | HYEXIST3("006428") %86400 | DIxxxxx % DIyyyyyy = Rest der Division (z.B. 9 % 5 = 4) |
Regeln für Operanden
- Der Operandenwert kann
- direkt ausgegeben werden (z.B. als Teil eines Strings) oder
- nur als Teil einer Berechnung dienen
Beispiel
DI | Bezeichnung | WB-Art | Wertebereich | Erklärung |
---|---|---|---|---|
003136 | HB-Element | CO | TRIM(@G100) + "\" + TRIM(@G106) + "\" + DI001825 + "\" + @191 + "\" + TRIM(@G103) + "\" + "M" + @191 + DI000123 + @G107 | Wert wird berechnet und ausgegeben |
Regeln zur Eingabe in Wertebereiche
- Dataitem: DI<DI-Identnummer>
- wird immer mit dem Präfix DI angegeben.
- Variable: "@ <Variablenart> <Variablennummer>"
- werden immer in Anführungszeichen angegeben. Das Abschneiden überflüssiger Leerzeichen am Ende erfolgt automatisch.
Bedeutung | Variablennummer |
---|---|
Systemvariable | @[ID] |
Dynamische Variable | @D[ID] |
Globale Variable | @G[ID] |
Benutzervariable | @U[ID] |
- Konstante: CONST <"Konstanten-ID">
- Konstanten-ID wird immer in Hochkommata angegeben. Das Abschneiden überflüssiger Leerzeichen erfolgt automatisch.
- Fester Wert:
- Zahlen müssen ohne Hochkommata eingebunden werden, damit sie zur Berechnung verwendet werden können. Eine von Hochkommata eingeschlossene Zahl wird als String interpretiert.
- Strings müssen mit Hochkommata eingebunden werden.
Hinweis
- Die Operanden Variable und Konstante müssen im Wertebereich getrimmt werden, wenn nicht die gesamte Datenfeldlänge der Quelle ausgegeben werden soll (bei Konstante z.B. 70 lang).
Beispiel
- Wert wird wie eingegeben auch ausgegeben:
Python-Wertebereiche
PY: Prüfung, Berechnung, Änderung
Information
- Mit den Python-Wertebereichsfunktionen, den Funktionen aus der Python-Api und Standard-Python-Funktionen können Dataitems geprüft, berechnet und geändert werden.