Wertebereiche

info 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.

warning Hinweis

  • Wertebereiche können deaktiviert werden, ohne das ihre Formel gelöscht wird. Hierzu den Eintrag im Feld WB-Art löschen.

Wertebereichsarten

info Information
  • Es gibt drei Gruppen von Wertebereichsarten. Dataitems können über Wertebereiche
    • als Eingabefelder bei der Benutzereingabe geprüft werden (PL, PF)
    • als Ausgabefelder berechnet werden (CO)
    • mit Python geprüft, berechnet und geändert werden (PY)

Standard-Wertebereiche

PL: Prüfung nach Liste

target-blue Ziel

  • Überprüfung der Datenfeldeingabe auf Übereinstimmung mit den festgelegten Werten

info Der Wertebereich

  • stellt eine tabellarische Auflistung der zulässigen Werte dar.
  • besteht aus Operatoren und Operanden.

note 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.

warning 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

target-blue Ziel

  • Überprüfung der Datenfeldeingabe auf Werte, die sich aus den Formeln ergeben

info Der Wertebereich

note 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.

application 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.

warning 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

target-blueZiel

  • Berechnung des Ausgabewertes eines Feldes nach der vorgegebenen Formel.

info 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.

warning 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.
  • 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
info Operatoren
  • arithmetisch: +, -, *, /, % (Modulo)
  • logisch:
    • AND: &&
    • OR: ||
    • NOT: !
  • binäre:
    • AND: &
    • OR: |
    • NOT: !
  • Vergleiche: <, , >, <, =, >, <>, = (Bedeutet NOT)
  • Anführungszeichen: „"
  • Klammern: ( )

info Operanden

  • Dataitems: reelle, virtuelle
  • Variablen:
    • Benutzer: @U
    • Dynamische: @D
    • Globale: @G
    • System: @
  • Programm-Konstanten
  • Fester Wert: Strings, Zahlen

info Datentypen

  • Integer: 2-Byte, 4-Byte, gemischt
  • String: beliebige Zeichenanzahl (auch mit Matchcode *)
Regeln

note 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.

application 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

note Details

  • In Wertebereichen kann mit Modulo gerechnet werden (Operator = %).

application 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)

note Regeln für Operanden

  • Der Operandenwert kann
    • direkt ausgegeben werden (z.B. als Teil eines Strings) oder
    • nur als Teil einer Berechnung dienen

application 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

note 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.

warning 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).

application Beispiel

  • Wert wird wie eingegeben auch ausgegeben:

Python-Wertebereiche

PY: Prüfung, Berechnung, Änderung

info Information





 
  • Suche in Topic-Namen

  • Suche in Topic-Inhalten