CLRL(nn|*END)

Kategorie
Anzeigenaufbau
Zusätzliche Informationen
CLRL-Sätze werden in der Anzeige standardmäßig als überlappende Schichten mit undurchsichtigem Hintergrund unterstützt. Obwohl diese Vorgehensweise vom Standard abweicht, liefert sie in einer Browserumgebung zufriedenstellende Ergebnisse. Die Hintergrundfarbe der CLRL-Schichten entspricht der Hintergrundfarbe Ihrer ausgewählten Darstellung. Sie müssen eine Darstellung mit einer undurchsichtigen Hintergrundfarbe verwenden, da andernfalls der Text in darunter befindlichen Sätzen durchscheint und möglicherweise an derselben Position wie die Daten aus der überlappenden Schicht angezeigt wird. Soll der standardmäßige Hintergrund für die Schicht geändert werden, können Sie die Darstellungsklasse wf_layer in der Datei apparea.css im Verzeichnis /WebContent/webfacing/styles/apparea aktualisieren.

Mit CLRL-Sätzen 'Nur Ausgabe' ist es möglich, Zeilen oberhalb und unterhalb der Sätze zu belegen, aus denen die Anwendung Eingabedaten erwartet. Dies funktioniert bei WebFacing nicht, da der gesamte CLRL-Satz undurchsichtig wird und die überlappenden Teile der Sätze darunter nicht sichtbar sind und nicht angeklickt werden können. Dieses nicht unterstützte Szenario kann umgangen werden, indem der CLRL-Satz 'Nur Ausgabe' in zwei Sätze aufgeteilt wird, von denen einer die Felder oberhalb des Eingabesatzes und der andere die Felder unterhalb des Eingabesatzes enthält.

Das Schlüsselwort CLRL wird noch nicht für Satzformate mit dem Schlüsselwort WINDOW unterstützt und wird ignoriert.

Fenstersimulation mit CLRL: Wird das Schlüsselwort CLRL(*NO) oder CLRL(nn) verwendet, um einen fensterähnlichen Satz in DDS zu implementieren, versucht WebFacing, ein Fenster für dieses Satzformat zu erstellen, um diese allgemeine Verwendung zu unterstützen. Für CLRL(nn) muss nn kleiner als die Satzlänge sein, um als Fenster erkannt zu werden.

Damit ein Satz als Fenster erkannt wird, darf er keine Felder außerhalb des rechteckigen Bereichs enthalten, der als Fenster dienen soll. Entwickler, die Funktionstastenbezeichnungen (oder andere nicht relevante Konstanten) außerhalb des Fensterbereichs definiert haben, können dieses Problem umgehen, indem sie diese Felder mit Hilfe der Webeinstellungen in CODE Designer verdecken. WebFacing respektiert diese Webeinstellungen und erkennt das Rechteck korrekt.

Der CLRL-Fenstererkennungsalgorithmus basiert auf gängigen CLRL-Fenstermustern. Die folgenden Regeln für den oberen Rand und den Seitenrand des simulierten Fensters müssen zutreffen, damit die Erkennung erfolgreich ist:

  1. Für den oberen Rand überprüft WebFacing, ob ein Konstantenfeld oder Ausgabefeld den Bereich von "erste Zeile, erste Spalte" bis "erste Zeile, letzte Spalte" belegt und verwendet es als Fenstertitel. Wird ein Konstantenfeld verwendet und wird dasselbe Zeichen wiederholt von (erste Zeile, erste Spalte+1) bis (erste Zeile, letzte Spalte-1) verwendet, werden die für den oberen Rand verwendeten Zeichen nicht als Fenstertitel verwendet, sondern einfach entfernt.
  2. Für die seitlichen Ränder überprüft WebFacing, ob ein Konstantenfeld von der zweiten Zeile bis zur vorletzten Zeile des Satzes vorhanden ist. Für den linken und den rechten Rand des simulierten Fensters muss dieselbe Zeichenfolge verwendet werden. Trifft dies zu, werden die Zeichenfolgen, die für die seitlichen Ränder verwendet werden, entfernt.

Anmerkung: Der untere Rand des simulierten Fensters wird nicht geändert, da diese Zeile manchmal verwendet wird, um Nachrichten anzuzeigen.

Die folgende 5250-Funktionsweise ist nicht intuitiv und wird nicht emuliert: Ein CLRL-Satz ohne eingabefähiges Feld belegt keinen Bereich in der Anzeige. Wird ein Satz CLRL(*ALL) ohne eingabefähige Felder geschrieben, wird zunächst der Inhalt der Anzeige gelöscht und danach der Satz angezeigt. Sätze, die sich zuvor in der Anzeige befanden, werden jedoch nicht aus der Tabelle der aktiven Sätze (Active Record Table) entfernt, und werden später für die OVERLAY-Prüfung verwendet. Wird ein OVERLAY-Satz geschrieben, überprüft er zunächst, ob Sätze in der Tabelle der aktiven Sätze überlappt sind. Ist dies der Fall, werden diese Sätze aus der Tabelle der aktiven Sätze entfernt und die Zeilen aus diesen Sätzen werden aus der Anzeige gelöscht, bevor der OVERLAY-Satz in die Anzeige geschrieben wird. Obige Regel gilt auch für CLRL(nn|*END|*NO). WebFacing weicht von diesem Verhalten ab und berücksichtigt nur Sätze, die sich in der Anzeige befinden, wenn die Überlappungsprüfung ausgeführt wird. Sätze, die sich in der Tabelle der aktiven Sätze, aber nicht in der Anzeige befinden, werden nicht berücksichtigt.


Feedback