Entwicklung > Skript-Dictionary > Fenster 

Mit dieser Funktion können in der Software Fenster angelegt und verändert werden. Hierfür wird ihre Beschreibung in einer Tabelle definiert.

Damit eine Verarbeitung sowohl im Client-Server-Modus als auch im Webmodus durchgeführt werden kann, müssen die Masken derselben Anzeige in einem Fenster gruppiert werden.  

Jedes Fenster besteht aus einer Liste von Masken, Menüs, Schaltflächen im unteren Maskenbereich und Browsern. Jedes Menü und jede Schaltfläche sind mit einer Aktion und eventuell mit Parametern verknüpft.

Für eine Objektvorlage muss ein Fenster mit einem Code Oxxx erstellt werden, wobei es sich bei xxx um den Objektcode handelt. Diese Vorgabe wird empfohlen, ist aber nicht obligatorisch. Außerdem ist es möglich, mehrere Fenster mit einem Objekt zu verknüpfen und somit Variantenobjekte zuzulassen. Bei Freigabe der Erfassungstransaktion werden diese Zusatzfenster automatisch mit einem Code WOxxxyyy erstellt, wobei es sich bei xxx um den Objektcode und bei yyy um den Transaktionscode handelt.

Es ist möglich, Fenster im VT-Format zu definieren.

 

Voraussetzungen

SEEREFERTTO Siehe Dokumentation Umsetzung

Maskenverwaltung

Kopfzeile

Übersicht

Der Kopfzeile ist die Fenster-Id zu entnehmen.

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Der Code des Fensters muss aus 1 bis 10 Zeichen bestehen (Buchstaben oder Zahlen, das erste Zeichen muss ein Buchstabe sein). Ein mit einem Objekt O verknüpftes Fenster sollte xxx genannt werden, wobei xxx der Objektcode ist. Die für Sage X3 reservierten Wörter sind nicht erlaubt.

  • Bezeichnung (Feld ZDES)

 

Schließen

 

Register Masken

Felder

In diesem Register befinden sich die folgenden Felder :

Eigenschaften

  • Fenstervorlage (Feld MDL)

Dieses Feld ermöglicht die Definition der Fenster, die nie freigegeben werden. Auch ein Fenster, das eine Maskenvorlage enthält, wird nicht freigegeben.

  • Aktiv (Feld ENAFLG)

Dieses Feld ermöglicht die Deaktivierung des Fensters. Ist dieses FensterTeil der mit dem gleichen Objekt verknüpften Transaktionen,erscheint es nicht mehr im Transaktionsbutton derObjektverwaltung.

  • VT-Fenster (Feld FVT)

Dieses Kennzeichen gibt an, dass das Fenster im Format VT ist.

Blocknummer 2

Mit diesem Code kann der Zugriff auf das Fenster(Transaktion) für bestimmte Benutzer verboten werden.

Wird dieser Bereich ausgefüllt, können nur Benutzer auf dieses Fenster zugreifen, in deren Profil der Zugriffscode nach den zugeordneten Rechten definiert ist.

Pro Objekt können mehrere Fenster definiert werden. In diesem Fall müssen die Transaktionen definiert werden,um die Fenster unterscheiden zu können.

In der Objektverwaltung ermöglicht der Transaktionsbutton dieAnzeige der zugänglichen Transaktionstitel. Die VariableGFLAG ermöglicht die Definition einer Transaktion vor der Eingabein die Objektverwaltung.

Transaktionen können definiert werden, ohne dass ein definiertesObjekt besteht. In diesem Fall müssen die verschiedenen Transaktionen'manuell' verwaltet werden.

  • Transaktion (Feld TRN)

 

  • Bezeichnung (Feld LIBEL)

 

Das Feld muss für ein Fenster vom Typ Anzeige oder Anzeigekriterien ausgefüllt werden.

Blocknummer 5

Ein Aktivitätscode ermöglicht folgende Aktionen:

  • Optionalsetzung eines Dictionary-Elements, wenn der dem Aktivitätscode zugeordnete Wert Null ist.
  • Signatur spezifischer Elemente, falls deren Code mit X, Y oder Z beginnt.
  • Vorgabe einer Höchstanzahl von Zeilen, falls der Aktivitätscode sich auf Elemente einer Tabelle bezieht.

Wenn der Aktivitätscode deaktiviert ist:

  • kann das markierte Element nicht verwendet werden,
  • wird der zugehörige Code nicht generiert oder aktiviert.
  • Modul (Feld MODULE)

Angabe des Moduls, über das dieses Fenster verwendet wird. Wird diesesFenster von mehreren Modulen verwendet, "Supervisor" angeben.

  • Fenstertyp (Feld WINTYP)

Dieses Feld gibt dem Supervisor den Kontext an, in dem das Fenster aufgerufen wird:

  Objekt: Fenster, das für die Objektverwaltung aufgerufen wird.

  Anzeige: Hauptfenster, das für die Anzeige aufgerufen wird.

  Anzeigekriterien: Kriterienfenster, das für die Anzeige aufgerufen wird. 

  Sonstige: für jeden anderen Aufrufkontext für dieses Fenster anzugeben.

  • Anzeige (Feld TYP)

Ermöglicht die Angabe des Fenstertyps:

  • Vollbild (inpbox)
  • Dialogbox (unabhängiges Fenster, nicht zwingend im Vollbildmodus, kann Buttons, Menüs und linke Explorerlisten enthalten)
  • Mailbox (unabhängiges Fenster ohne Menüs, ohne Explorerlisten, ohne Verzweigung)

Zu öffnende Maske

Namensangabe der Maske, die über der oder den Masken positioniert ist. Gibt es nur eine einzige Maske, muss sie als ein Register definiert werden. 

Tabelle Register

Angabe der Verwaltungsmaskennamen in der Reihenfolge der Seitenanzeige. Es muss mindestens eine Maske in einem Fenster vorhanden sein.

Für die Fenster, die mit dem Objekt verknüpft sind, aber von den Transaktionen ausgegeben werden (Transaktionscode angegeben), werden diese Informationen von der Transaktion ausgegeben. Achtung!  Dies dient nur zur Änderung der Registercodes, wenn diese Informationen nach der Transaktionsfreigabe erneut erzeugt werden. 

  • Registertitel (Feld ZINTONG)

 

  • Rang (Feld ROWMSK)

Der Rang ermöglicht die Sortierung der Register im Fenster. Er wird für 5 von 5 initialisiert. Eine spezifische Maske muss am Tabellenende hinzugefügt werden; mit diesem Rang kann sie an die gewünschte Stelle im Fenster verschoben werden.

  • Sichtbar (Feld FLGMSK)

Ist dieses Feld nicht markiert, sind das Registerund dessen Felder sichtbar. Diese Funktion ermöglicht die Verwendung einer Objektverwaltung für eine vollständige Erfassung (Fenster mit allen Registern) oder für eine schnelle Anzeige, in der bestimmte Masken verborgen sind.

Wird ein unsichtbares Register positioniert, ist die Klasse [M] der Maske vorhanden.

Wird ein Register über einen inaktiven Aktivitätscode deaktiviert, ist die Klasse [M] der Maske weg.  

Schließen

 

Register Schaltflächen / Menüs

Übersicht

Hier werden alle Schaltflächen des unteren Fensterbereichs sowie die Menüs des oberen Fensterbereichs angezeigt. Jedes Menü und jede Schaltfläche ist mit einer Aktion und eventuell mit einer Parametertabelle verknüpft. 

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Tabelle Typ

  • Typ (Feld TYPBOUT)

Lokales Menü, mit dem der Button des Menüs oder der Menüzeile unterschieden werden kann. Der Button wird automatisch am Ende des Fensters positioniert; das Menü wird am Anfang des Fensters nach Datei / Ausgabe / ... platziert.

  • Code (Feld CODBOUT)

Der Button, der für die Programmierung in den Aktionen AVANT_BOUT, EXEBOUT, etc. verwendet werden kann. Genauso werden auch die Menüs identifiziert, die auf zwei Ebenen und anschließend den Menüzeilen definiert werden können. Der Code der niedrigeren Ebene übernimmt für die ersten Zeichen die der höheren Ebene. Beispiel: das Menü A ist in die Menüs AB und AC aufgeteilt, die wiederum in AB1 und AB2 sowie AC3 und AC4 aufgeteilt sind.

Die für die spezifische Entwicklung zulässigen Zeichen sind alle Kleinbuchstaben.

Die für die Standardentwicklung zulässigen Zeichen sind Großbuchstaben und Ziffern. Achtung: die unten definierte Beschränkung für die mit einem Objekt oder einer Anzeige verknüpften Fenster muss berücksichtigt werden. Bereits verwendete Codes können nicht für die Supervisor-Buttons verwendet werden.

Die für die Fenster-Buttons verfügbaren Codes sind: BGOUVYZ0123456789

Die für die Buttons der Hauptanzeigefenster verfügbaren Codes sind: ABHIJKMNOPQSTUVWXYZ12345678

  • Verwaltung (Feld VALBOUT)

  • Nicht freigebend: die Feldprüfungen werden nicht vor dem Ablauf des Buttons oder des Menüs ausgeführt.
  • Freigebend: hier wird angegeben, dass der Button ausgeführt wird, wenn alle Feldprüfungen gültig sind.

  • Text Schaltfläche (Feld ZTXTBOUT)

 

Der Aktionscode bezieht sich auf das Aktionsdictionary, das sowohl den Verarbeitungscode als auch die Parameterliste enthält. In der Fensterverwaltung muss der Wert für diese Parameter in der zweiten Tabelle für jede Aktion angegeben werden.

Öffnet die über den Button oder das Menü ausgelöste Verarbeitung kein Fenster, kann man sich im Aktionscode auf STD, SPE oder SPV beziehen. Beispiel: Für ein Objektfenster wird das Unterprogramm EXEBOUT oder STATUT der Verarbeitung SUBxxx, SPExxx oder SPVxxx ausgeführt (xxx ist der Objektcode).

Ein Aktivitätscode ermöglicht folgende Aktionen:

  • Optionalsetzung eines Dictionary-Elements, wenn der dem Aktivitätscode zugeordnete Wert Null ist.
  • Signatur spezifischer Elemente, falls deren Code mit X, Y oder Z beginnt.
  • Vorgabe einer Höchstanzahl von Zeilen, falls der Aktivitätscode sich auf Elemente einer Tabelle bezieht.

Wenn der Aktivitätscode deaktiviert ist:

  • kann das markierte Element nicht verwendet werden,
  • wird der zugehörige Code nicht generiert oder aktiviert.

Tabelle Einstellungen

 

  • Wert (Feld VALEUR)

Ist man in einer Zeile der Aktionstabellen positioniert, werden die Parameter dieser Aktion (aus dem Aktionsdictionary) angezeigt, um einen Ausdruck zu erfassen, der den Parameterwert zum Zeitpunkt des Aufrufs angibt. Dieser Ausdruck kann Konstanten, Funktionen und Zeilenvariablen zum Zeitpunkt des Aufrufs enthalten.

Schließen

 

Register Vorbelegte Schaltflächen

Übersicht

Hier sind alle vorbelegten Schaltflächen enthalten. Es handelt sich um eine feststehende Liste mit Schaltflächen. Es ist z.B. möglich anzugeben, ob die Schaltflächen im Fenster erscheinen sollen oder nicht.

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Tabelle Schaltflächen

  • Schaltflächen (Feld LIBSTD)

 

  • Code (Feld CODE)

 

  • Verwaltung (Feld VSTD)

 

  • J/N (Feld BSTD)

Ermöglicht die Anzeige eines normalen Buttons.

Der Aktionscode bezieht sich auf das Aktionsdictionary, das sowohl den Verarbeitungscode als auch die Parameterliste enthält. In der Fensterverwaltung muss der Wert für diese Parameter in der zweiten Tabelle für jede Aktion angegeben werden.

Öffnet die über den Button oder das Menü ausgelöste Verarbeitung kein Fenster, kann man sich im Aktionscode auf STD, SPE oder SPV beziehen. Beispiel: Für ein Objektfenster wird das Unterprogramm EXEBOUT oder STATUT der Verarbeitung SUBxxx, SPExxx oder SPVxxx ausgeführt (xxx ist der Objektcode).

Tabelle Einstellungen

 

  • Wert (Feld VALEUR)

Ist man in einer Zeile der Aktionstabellen positioniert, werden die Parameter dieser Aktion (aus dem Aktionsdictionary) angezeigt, um einen Ausdruck zu erfassen, der den Parameterwert zum Zeitpunkt des Aufrufs angibt. Dieser Ausdruck kann Konstanten, Funktionen und Zeilenvariablen zum Zeitpunkt des Aufrufs enthalten.

Schließen

 

Register Browser

Übersicht

Hier finden sich die Informationen über alle Browser, die für das Fenster definiert wurden.

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Zuletzt gelesene Datensätze

  • Anzeige (Feld DERLU)

Diese Option ermöglicht die Aktivierung/Deaktivierung der Explorerliste Zuletzt gelesene.

  • Anzeige an erster Stelle (Feld FIRLIS)

Mit diesem Feld kann die Explorerliste 'Zuletzt gelesene Datensätze' auf die erste Position gestellt werden.

Tabelle Objekte

Das Feld entspricht einem Objekt.

Dieses Objekt kann ein Objekt vom Typ 'Browser' sein, dass speziell einer Explorerliste zugeordnet wurde.

  • Bezeichnung (Feld ZINTLIS)

 

  • Index (Feld CLELIS)

Dieses Feld ermöglicht die Definition eines Durchlaufindexes der Hauptdatei für die Anzeige in der Explorerliste und den Auswahlfenstern. Ist das Feld leer, wird der erste Index der Tabelle verwendet.

  • Richtung (Feld ORDLIS)

Dieses Feld ermöglicht die Definition einer Durchlaufrichtung der Haupttabelle für die Anzeige in der Explorerliste und den Auswahlfenstern.

  • Listentyp (Feld TRELIS)

  • einfach
  • hierarchisiert : Besteht der ausgewählte Durchlaufschlüssel für die Explorerliste aus mehreren Teilen, stellt die Liste zunächst nur den ersten Teil des Schlüssels dar. Mit einem Doppelklick auf einen der Schlüsselwerte prüft man die Unterwerte des Schlüssels auf der Anzahl der vorhandenen Unterschlüsselebenen. Wurden alle Schlüsselebenen geprüft, kann man einen Datensatz der Tabelle auswählen.
  • einfache Kommissionierung : Möglichkeit, ein oder mehrere Elemente auszuwählen
  • Kommissionierung : Kommissionierung einer hierarchischen Liste
  • Rekursiv : übergeordnetes Element mit untergeordneten Elementen zu den nächsten übergeordneten Elementen mit untergeordneten Elementen

  • Browser (Feld BROLIS)

Ist dieses Feld auf Ja gesetzt, kann man mit einem Doppelklick auf diese Explorerliste den ausgewählten Datensatz auf der rechten Seite der Maske anzeigen.

 

  • Vorladen (Feld CHGLIS)

Dieser Bereich ermöglicht die Verwaltung des Vorladens der linken Auswahlliste beim Start.

  • Nein: kein Vorladen
  • Teilweise: Vorladen nach Anzahl der in den Parametern vorgesehenen Elemente (GNBGAUCHE)
  • Gesamt: die gesamte Tabelle wird vorgeladen.
  • Abk. (Feld ABRLIS)

Abkürzung der von der linken Auswahlliste verwendeten Tabelle. Es gibt die Möglichkeit, 2 Browser für eine Tabelle zu verwenden. Achtung: in diesem Browser (Objekt-Dictionary / Auswahlregister= muss die Abkürzung angegeben werden, gefolgt von dem Feld in den Ausdrücken der aufgelisteten Elemente. Beispiel: Objekt ORD.

  • Rang (Feld ROWLIS)

Der Rang ermöglicht die Sortierung der Explorerlisten im Fenster. Er wird für 5 von 5 initialisiert. Eine spezifische Explorerliste muss am Tabellenende hinzugefügt werden; mit diesem Rang kann sie an die gewünschte Stelle im Fenster verschoben werden.

Ein Aktivitätscode ermöglicht folgende Aktionen:

  • Optionalsetzung eines Dictionary-Elements, wenn der dem Aktivitätscode zugeordnete Wert Null ist.
  • Signatur spezifischer Elemente, falls deren Code mit X, Y oder Z beginnt.
  • Vorgabe einer Höchstanzahl von Zeilen, falls der Aktivitätscode sich auf Elemente einer Tabelle bezieht.

Wenn der Aktivitätscode deaktiviert ist:

  • kann das markierte Element nicht verwendet werden,
  • wird der zugehörige Code nicht generiert oder aktiviert.
  • Pfeile (Feld FLELIS)

Standardmäßig auf Ja positioniert. In diesem Fall erscheinen die Pfeile in der Kopfzeile der linken Auswahlliste und ermöglichen die Seitennummerierung. Man kann die Seitennummerierung z.B. für komplexe nicht entwickelte Seitennummerierungen untersagen, die zu viel Systemressourcen verbrauchen.

  • Linkausdruck (Feld EXPLIS)

Wichtiger Ausdruck für die rekursiven Listen, um eine Verknüpfung zwischen dem übergeordneten und dem untergeordneten Datensatz zu erstellen.

Schließen

 

Reports

Standardmäßig sind der Funktion folgende Reports zugeordnet :

 AWINDOW : Fensterdictionary

Dies kann durch geeignete Parameter geändert werden.

Spezifische Aktionen

Mit der Freigabe wird die automatische Verarbeitung des Fensters aktiviert (WGxxxx, wobei xxxx dem Fenstercode entspricht).

Im über diese Schaltfläche geöffneten Fenster befinden sich die folgenden Felder: :

Blocknummer 1

  • Feld OBJET

 

  • Feld CLES

 

Blocknummer 2

  • Von Ordner (Feld DOSORG)

Geben Sie den Ordner an, aus dem der Datensatz kopiert werden soll. Die möglichen Syntaxen sind im entsprechenden Anhang beschrieben.

  • Alle Ordner (Feld TOUDOS)

Mit dieser Option kann der Datensatz in alle im Dictionary definierten Ordner kopiert werden (Tabelle ADOSSIER der aktuellen Lösung).

  • Nach Ordner (Feld DOSDES)

Geben Sie den Ordner an, in den der Datensatz kopiert werden soll. Die möglichen Syntaxen sind im entsprechenden Anhang beschrieben.

Schließen

Übertragung der Fensterdefinition in einen anderen Ordner. Achtung: das Fenster muss im Zielordner freigegeben werden.

Mit dieser Schaltfläche wird das Ergebnis angezeigt. Die Maske muss freigegeben sein.

Mit dieser Schaltfläche wird das Ergebnis im Webmodus angezeigt. Die Maske muss freigegeben sein.

Menü Aktionen

Freigabe / Gesamtfreigabe

Die Gesamtfreigabe führt zur Freigabe aller Masken des laufenden Fensters, zur Freigabe des Objekts – sofern angegeben – sowie zur Freigabe des Fensters und der verknüpften Browserobjekte.

Fehlermeldungen

Während der Erfassung können außer den generischen Meldungen folgende Fehlermeldungen auftreten: :

Maske in den Registern referenziert

Die Maske, die in der Kopfzeile erfasst werden soll, ist bereits in der Liste der Register enthalten.

Dies ist keine Kopfzeilenmaske

Die in der Kopfzeile referenzierte Maske ist keine Maske vom Typ Kopfzeile.

Vorlagenmaske / Die Vorlagemasken können nur auf Vorlagefenstern definiert werden

Eine Vorlagenmaske kann nicht ausgeführt werden. Es ist somit nicht möglich, die Vorlagenmaske mit einem Vorlagenfenster zu verknüpfen.

Maske in der Kopfzeile referenziert

Die Maske, die in einem Register erfasst werden soll, ist bereits in der Kopfzeile enthalten.

Eingabe erforderlich

Bei Fenstern vom Typ Objekt ist der Objektcode obligatorisch.
Bei Fenstern vom Typ Anzeige oder Anzeigekriterien ist der Anzeigecode obligatorisch.

Zeichen '«' nicht zulässig

Aus technischen Gründen ist das Zeichen "»" in den folgenden Titeln nicht zulässig: Titel der Transaktion

Code bereits erfasst in Zeile nn

Die Codes der Schaltflächen und Menüzeilen dürfen für das Fenster nur einmal vorkommen.

Menü nicht vorhanden

Der Code einer Menüzeile besteht aus zwei Zeichen: einer Menü-Id und einer eigenen Id. Die Menü-Id ist unbekannt.

Code nicht korrekt

Zulässige Codes für die Schaltflächen und Menüzeilen sind Groß- und Kleinbuchstaben sowie Zahlen. Darüber hinaus sind folgende Zeichen für die Menüzeilen zulässig:
 " , ' , < , >.

Reservierter Code

Für die Schaltflächen der Objekt- und Anzeigefenster können nicht die Codes verwendet werden, die für die Supervisor-Schaltflächen reserviert sind. Folgende Codes sind für Objektfenster reserviert: ACDEFHJKLMRTW09@+=<>
Folgende Codes sind für Anzeigefenster reserviert: CDEFGLR09<>=+ -

Auswahlleiste für dieses Objekt nicht möglich

Es ist nicht möglich, eine Auswahlleiste in ein Objekt vom Typ Tabelle einzufügen. 

Anzahl der Auswahlbereiche ist Null

Es soll ein Browser verknüpft werden, für dessen Auswahlleiste kein Feld definiert wurde.

Auswahlfeld passt nicht zu Index

In einer hierarchisierten Liste (einfache oder Kommissionierliste) muss die Anzahl der für die Auswahlleiste angegebenen Elemente größer oder gleich der Anzahl der Elemente des verwendeten Index sein.

Es muss eine Kopfzeilenmaske geben

Werden mehrere Register definiert, muss eine Kopfzeilenmaske angegeben werden.

Es muss ein Register geben

Wird für dieses Fenster eine Kopfzeilenmaske definiert, muss mindestens ein Register angegeben werden.

Verwendete Tabellen

SEEREFERTTO Siehe Dokumentation Umsetzung