<< Inhaltsverzeichnis Suchen >>

Stammdaten-Verwaltung

Die Stammdaten-Verwaltung bietet dem Programmierer die Möglichkeit, die Grundfunktionen einer Datenbank-Verwaltung ohne eigenen Codier-Aufwand zu implementieren.

 

Erfassung und Änderung der Stammdaten-Maske

 

Bei der Gestaltung des Masken-Layouts kann durch Eingabe von <F7> oder <CTRL/P> die Maske als Stammdaten-Maske deklariert werden.

Es erscheint ein Fenster mit folgenden Eingabefeldern:

Stammdaten-Ver-
waltung für Datei

Hier muß die Indexdatei angegeben werden, für die die Stammdaten-Maske erstellt wird. Mit <F2> werden auf dem Bildschirm die vorhandenen Indexdatei-Namen angezeigt. Mit Hilfe der Cursortasten und <RETURN> kann ein Datei-Name ausgewählt werden.

Erzeugen Dateifelder
ab Feldnr.

 

Diese Eingabe hat nur eine Bedeutung, wenn die Maske leer ist. Wird hier <0> eingegeben, so werden für alle Indexdatei-Felder Maskenfelder auf der Maske erzeugt. Wird eine Zahl > 0 angegeben, so werden nur die Maskenfelder für die Felder des Haupt-Schlüssels und die Indexdatei-Felder ab der angegebenen Feldnummer angelegt.

Die erzeugten Maskenfelder werden mit dem Feldnamen des Indexdatei-Feldes beschriftet. Die Maskenfelder und die Beschriftung können beliebig verschoben, gelöscht oder geändert werden.

Stammdatenverwal-
tung mit Modus-Abfrage

Es wird eine Stammdatenmaske erzeugt, auf der beim Ansprung der Maske der Berabeitungsmodus (Erfassen, Ändern, Löschen, Anzeigen) abgefragt wird.

Oben links in der Maske wird mit

S:<DATEI-NAME>

angezeigt, daß es sich um eine Stammdaten-Maske für die Indexdatei <DATEI-NAME> handelt. Anstelle dieser Anzeige erscheint im EBUS-Programm der aktuelle Bearbeitungsmodus (ERFASSEN, ÄNDERN, ...).

Ist die Maske bei der Eingabe von <F7> bzw. <CTRL/P> nicht vollkommen leer, so wird die Maske nur als Stammdaten-Maske deklariert. Maskenfelder werden dann nicht erzeugt.

Eine Stammdaten-Maske kann wieder in eine normale Maske umgewandelt werden, indem nach der Eingabe von <F7> oder <CTRL/P> bei Datei-Name eine leere Eingabe erfolgt.

Stammdatenverwal-
tung mit Buttons

Im Gegensatz zur Modus-Abfrage wird hier die Bearbeitung des Datensätze (Speichern, Löschen, Auswahl) über Buttons gesteuert. Der EBUS-GENERATOR-C erzeugt hierfür automatisch alle notwendigen Macros.

Folgende zusätzliche Funktionen können gewählt werden:

 

Auswahl-Button erzeugen (SELECT)

Neben den Buttons 'Speichern' und 'Löschen' wird ein weiterer Button zur Auswahl von Datensätzen erzeugt. Auf einer weiteren Maske können die in der Auswahl anzuzeigenden Felder festgelegt werden. Unter WINDOWS werden dort in einer 3. Spalte die Feldüberschriften angezeigt. Die Feldüberschriften können geändert werden, wenn sie doppelt angeklickt werden.

 

Auswahl immer am Dateianfang beginnen

Vor dem Aufruf des SELECT wird die Anweisung INITIALIZE <INDEXDATEI> ausgeführt. Dadurch beginnt die Anzeige immer mit dem ersten Datensatz der Indexdatei.

 

Felder löschen bei Neuanlage eines Datensatzes

Wird ein Datensatz neu erfaßt, so werden automatisch alle Maskenfelder gelöscht.

 

Felder löschen nach dem Löschen eines Datensatzes

Nach dem erfolgreichen Löschen eines Datensatzes werden alle Maskenfelder gelöscht.

 

Abfrage vor dem Löschen eines Datensatzes

Vor dem Löschen eines Datensatzes erfolgt eine sicherheitsabfrage, ob der Datensatz wirklich gelöscht werden soll.

 

Hinweis wenn Datensatz gelöscht wurde

Nach dem Löschen eines Datensatz erfolgt ein Hinweis, daß der Datensatz gelöscht wurde.

Zweistufige Dateiverwaltung

Es wird eine zweistufige Dateiverwaltung erzeugt. Zusätzlich müssen noch folgende Parameter angegeben werden:

 

Untergeordnete Datei

Der Primärschlüssel der untergeordneten Datei muß den gleichen Aufbau haben wie der Primärschlüssel der Stammdaten-Datei. Zusätzlich muß der Primärschlüssel der untergeordneten Datei am Ende noch eine laufende Nummer (= numerisches Feld ohne NKS) besitzen.

 

Window mit Titelleiste

Bei <J> wird für die Editierung der Datensätze der untergeordneten Datei ein Window mit Titelleiste erzeugt. Bei <N> wird das Window ohne Titelleiste erzeugt. Es wird dann keine Window-Überschrift angezeigt.

 

Window-Überschrift

Legt die Überschrift fest, die im Window mit Titelleiste angezeigt wird.

 

Anzahl Positionen

Legt fest, wieviele Datensätze der untergeorneten Datei maximal bearbeitet werden sollen.

 

Auf einer weiteren Maske können die Felder der untergeordneten Datei, die angezeigt und editiert werden sollen, ausgewählt werden. Alle Felder bis auf die Felder des Primärschlüssels werden zur Auswahl angeboten, auch die laufende Nummer der untergeordneten Datei. Die laufende Nummer wird im Programm aber nur angezeigt, sie kann nicht geändert werden. Im erzeugten Macro <PROGRAMMNAME>.M<MASKEN-NUMMER>.ON.SELA.RETURN wird die Funktion SELAEDIT aufgerufen, die die editierung der ausgewählten Felder durchführt. Unter WINDOWS werden auf der Maske in einer 3. Spalte die Feldüberschriften angezeigt. Die Feldüberschriften können geändert werden, wenn sie doppelt angeklickt werden.

 

 

 

Achtung: Die Felder des Haupt-Schlüssels (genannt Schlüsselfelder) müssen auf der Stammdaten-Maske vorhanden sein, sie sollten änderbar sein und in der Reihenfolge als erste vor den anderen Maskenfeldern erscheinen. Im EBUS-Programm wird nach dem letzten Schlüsselfeld durch eine intern ausgeführte READ-Anweisung überprüft, ob ein Datensatz mit dem angegebenen Haupt-Schlüssel existiert. Sind die Schlüsselfelder des Haupt-Schlüssels auf der Maske nicht oder nur unvollständig vorhanden, so arbeitet die Stammdaten-Verwaltung u.U. nicht korrekt. Sind Schlüsselfelder nicht änderbar, so kann dies im Fehlerfall zu Endlos-Schleifen führen. Deshalb ist unbedingt darauf zu achten, daß wenigstens eines der Schlüsselfelder änderbar ist.


Abarbeitung der Stammdaten-Maske mit Modus-Abfrage im EBUS-Programm

Wird eine Stammdaten-Maske angesprungen, erscheint vor der Masken-Bearbeitung die Abfrage:

1=ERFASSEN   2=ÄNDERN   3=LÖSCHEN   4=ANZEIGEN

Durch Eingabe der entsprechenden Zahl oder Drücken des entsprechenden Buttons wird der gewünschte Bearbeitungs-Modus ausgewählt.

In allen Bearbeitungs-Modi kann in den mit Indexdatei-Variablen verknüpften Feldern geblättert werden. Mit <F3> oder <CTRL/+> wird der nachfolgende Datensatz angezeigt, mit <F4> oder <CTRL/-> der vorherige.

Nach dem letzten Schlüsselfeld des Haupt-Schlüssels wird intern durch eine READ-Anweisung versucht, den durch die Schlüsselfelder festgelegten Datensatz aus der Indexdatei zu lesen. Ist der Datensatz vorhanden, so wird er am Bildschirm angezeigt. Im Modus 1=ERFASSEN erscheint die Fehlermeldung

Datensatz bereits vorhanden

und dasselbe Maskenfeld wird wieder angesprungen.

Ist der Datensatz nicht vorhanden, so erscheint im Modus 2=ÄNDERN, 3=LÖSCHEN und 4=ANZEIGEN die Fehlermeldung

Datensatz nicht gefunden

und dasselbe Maskenfeld wird wieder angesprungen.

Die Änderung einer oder mehrerer Indexdatei-Variablen führt erst dann zur Aktualisierung der Indexdatei, wenn nach dem Beenden der Maskeneingabe (<F12> oder <CTRL/E> oder Eingabe des letzten Maskenfeldes) die Frage, ob der Datensatz erfaßt, geändert oder gelöscht werden soll, mit <J> beantwortet wurde.

Der Bearbeitungsmodus bestimmt, wie die Indexdatei nach der Beantwortung der Frage bearbeitet wird:

Erfassen

Bei Eingabe von <J> wird ein neuer Datensatz in die Indexdatei geschrieben.
Bei Eingabe von <N> wird der Datensatz nicht gespeichert.

Ändern

Bei Eingabe von <J> wird der geänderte Datensatz in die Indexdatei zurückgeschrieben.
Bei Eingabe von <N> wird die Indexdatei nicht verändert.

Löschen

Bei Eingabe von <J> wird der Datensatz in der Indexdatei gelöscht.
Bei Eingabe von <N> wird die Indexdatei nicht verändert.

Anzeigen

Die Datensätze der Indexdatei werden nur angezeigt, können aber nicht verändert werden.

Wird in einem Macro vor der Bearbeitung der Stammdaten-Maske die Anweisung DISABLE STV ausgeführt, so erscheint die Frage nach dem Bearbeitungs-Modus nur, wenn der Modus im laufenden EBUS-Programm bisher noch nicht festgelegt wurde. Durch die erste Eingabe am Bildschirm oder durch die Anweisung EBUS_STV = <MODUS> wird der Bearbeitungs-Modus festgelegt. Dieser kann in Macros durch die Anweisung EBUS_STV = <MODUS> und in Stammdaten-Masken mit <F7> oder <CTRL/P> jederzeit geändert werden.

Bei ENABLE STV wird der Programm-Benutzer jedesmal nach dem Bearbeitungs-Modus gefragt, wenn eine Stammdaten-Maske angesprungen wird.

 

 

Achtung: Bei Beendigung der Maskeneingabe mit <F12> oder <CTRL/E> bzw. nach der Eingabe im letzten Maskenfeld erscheint im Gegensatz zu Nicht-Stammdaten-Masken die Abfrage, ob der Datensatz erfaßt, geändert oder gelöscht werden soll. (Im Modus Anzeigen erscheint diese Abfrage nicht.) Nach deren Beantwortung wird wieder zum ersten Feld der Maske gesprungen.