<< | Inhaltsverzeichnis | Suchen | >> |
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- |
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 |
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- |
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- |
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. |
Ändern |
Bei Eingabe von <J> wird der
geänderte Datensatz in die Indexdatei zurückgeschrieben. |
Löschen |
Bei
Eingabe von <J> wird der Datensatz in der Indexdatei gelöscht. |
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. |
|
|