Wertebereiche

Information

  • 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 (PL, 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 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

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.
  • Je nach Fehler erscheint eine Meldung nur einmal je Programmstart. D.h. bei weiteren Modulaufrufen wird dieses zwar ohne Fehlermeldung, jedoch ohne Berücksichtigung des falschen Wertebereichs 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

         PLANTA project









 
  • Suche in Topic-Namen

  • Suche in Topic-Inhalten
This site is powered by the TWiki collaboration platform Powered by Perl