Wertebereiche

Information

  • Wertebereiche werden pro Dataitem im Modul Dataitems erfasst. Dabei müssen pro Dataitem
    • eine Wertebereichsart im Feld WB-Art festgelegt werden, die angibt, ob
      • der erfasste Wertebereich wirkt
      • wann das DI berechnet oder geprüft wird.
    • eine Formel für den Wertebereich selbst im Feld Wertebereich definiert werden.

Details

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

Wertebereichsarten

Informationen
  • 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

  • Eingabeprüfung in ein Datenfeld auf Übereinstimmung mit festgelegten Werten

Der Wertebereich

  • stellt eine 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
      • 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!"
    • bleibt der zuletzt angenommene Wert bestehen.
  • Eine Eingabe ist richtig, wenn sie
    • Element des Wertebereichs ist .

PF: Prüfung durch Formel

Ziel

  • Eingabeprüfung in ein Datenfeld nach Werten, die sich aus Formeln ergeben

Der Wertebereich

Details

  • Eine Prüfformel muss den Ausdruck 0 oder 1 zurückgeben, 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!"
    • bleibt der zuletzt angenommene Wert bestehen.
  • Eine Eingabe ist richtig, wenn sie
    • die Wertebereichsformel den Wert WAHR zurückgibt.

CO: Berechnungen

Ziel

  • Berechnung des Ausgabewertes eines Feldes nach der vorgegebener 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 falschkonstruierten Wertebereichen erscheinen unter Umständen folgende Fehlermeldungen bei Modulstart:
    • 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 sein. 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 WB 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 WB

  • 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