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.
-
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
-
als Eingabefelder bei der Benutzereingabe geprüft werden (Wertebereiche | PL, Wertebereiche | PF)
-
als Ausgabefelder berechnet werden (CO)
-
mit Python geprüft, berechnet und geändert werden (PY)
-
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 Wertebereiche | Operatoren und Wertebereiche | 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 Wertebereiche | Operatoren, Wertebereiche | 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 Wertebereiche | Operatoren, Wertebereiche | 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: Wertebereiche | Operanden sind Typ-inkompatibel
-
Versuch eine Berechnung zwischen zwei unterschiedlichen Datentypen auszuführen, z.B. eine Zeichenkette und eine Zahl. Relevante Wertebereiche | 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.
-
-
-
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 Wertebereiche | Operatoren
-
Arithmetische, logische, binäre und Vergleichsoperatoren können durch Leerzeichen zwischen Wertebereiche | 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 Wertebereiche | 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 Wertebereiche | 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.