-
QUERVERWEIS AUF ZUGEHÖRIGE ANMELDUNGEN
-
Diese
Anmeldung bezieht sich auf die folgenden ebenfalls anhängigen und
gemeinsam übertragenen Patentanmeldungen,
von denen beide hier als Quellenangabe enthalten sind:
Anmeldung
lfd. Nr. 197 612 mit dem Titel "DATA
FILE EDITOR PRESENTING SEMI-FORMATTED VIEW" von Allen K. Hawley und Sheila I. Sholars,
angemeldet am 23. November 1998; und
Anmeldung lfd. Nr. 197
916 mit dem Titel "MULTIPLE
RECORD BROWSER AND EDITOR" von
Rebecca M. Lau, Kevin J. Poole und Sheila I. Sholars, angemeldet
am 23. November 1998.
-
GRUNDLAGEN DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf Systeme und Verfahren zum
Anzeigen und Bearbeiten von Dateien und insbesondere auf ein Verfahren
und System zum Definieren, Anzeigen und Ausführen von Gruppenvorgängen an
mehreren Untermengen von Datensätzen.
-
2. Beschreibung des zugehörigen Standes
der Technik
-
Das
Verfahren des virtuellen Speicherzugriffes (VSAM) ist ein Verfahren,
um unter Verwendung einer B+Baumorganisationsstruktur auf Daten
zuzugreifen. VSAM-Dateien enthalten einen oder mehrere VSAM-Datensätze, wobei
jeder eine Vielzahl von Datenfeldern hat. VSAM-Datenfelder sind
durch VSAM-Dateneditoren bearbeitbar. Üblicherweise werden VSAM-Datensätze dem
Benutzer dargestellt, indem sie aus VSAM-Dateien herausgelesen werden
und in einem Cachespeicher gespeichert werden. Ein Datenformatierer
arbeitet dann mit den im Cachespeicher gespeicherten Daten, um jeden
Datensatz mit einer Markierung oder einer Struktur zu verbinden,
die auf den Datensatz in der Datei (wie etwa einem Datensatzkennzeichner
oder ID) zeigt. Um intelligente Benutzung des Cachespeichers zu
realisieren, sind Datenformatierer in der Lage, Datensätze zu kennzeichnen,
die in der Datei festgehalten und gespeichert werden, indem sie
geeignete Markierungen in den Datensätzen im Datei-Cachespeicher
anbringen.
-
Unter
manchen Umständen
ist es wünschenswert,
anstelle der gesamten Menge eine Untermenge von Datensätzen zum
Ansehen, Analysieren und Bearbeiten zu definieren und diese Untermenge
zum späteren
Gebrauch zu speichern. Beispielsweise könnte der Benutzer wünschen,
anstelle der Ansicht aller Datensätze in der Datei nur diese
Datensätze
ansehen und bearbeiten zu wollen, die bestimmte Kriterien der Eintragswerte
(d. h. persönliche
Datensätze,
die für
das Postleitzahlenfeld einen Eintrag von 60145 enthalten) oder Datenkriterien
haben (d. h. Daten, die in den beiden vorhergehenden Tagen eingegeben
worden sind). Diese Fähigkeit
würde den
Benutzer in die Lage versetzen, sich direkter auf die interessierenden
Datenfelder zu konzentrieren. Unglücklicherweise kann sich die
Größe der Untermenge
in Abhängigkeit
davon, wie sie definiert worden ist, der vollständigen VSAM-Datei annähern und
die Größe des Cachespeichers
leicht überschreiten.
-
Es
ist ebenfalls wünschenswert,
Vorgänge
zwischen definierten Datenuntermengen zuzulassen. Beispielsweise
könnte
der Benutzer wünschen,
alle Datensätze
anzusehen und aufzubearbeiten, die an den zwei vorhergehenden Tagen
eingegeben worden sind und bei denen der Postleitzahleneintrag 60145
ist.
-
Wie
aus dem Vorstehenden zu erkennen ist, besteht ein Bedarf, für das Definieren
von beliebigen Untermengen von Datensätzen in einer Datei oder Dateien
und für
das Ausführen
von Vorgängen
an diesen Untermengen zu sorgen, ohne dass die Cachespeicherkapazitäten des
Datei-Editors überschritten
werden. Der Editor für
mehrere Datenuntermengen der vorliegenden Erfindung erfüllt dieses
Bedürfnis.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Um
den vorstehend beschriebenen Bedürfnissen
zu genügen,
legt die vorliegende Erfindung ein Verfahren, eine Vorrichtung,
einen Herstellungsgegenstand und eine Speicherstruktur dar, um Datenuntermengen zu
definieren und anzuzeigen, die aus einer aus Datensätzen bestehenden
Datei gebildet werden.
-
Datenuntermengen
werden definiert, und es wird ein Datenuntermengenobjekt erzeugt,
das eine Liste von Datensatz-IDs enthält, die Datensätze kennzeichnen,
die Glieder der definierten Datenuntermenge sind. Das Datenuntermengenobjekt
gehört
zu einer Gruppen-ID-Klasse, die eine Datensatz-ID-Unterklasse und eine
Untermengenunterklasse hat. Wenn die Gruppen-ID-Klasse als Untermengenunterklasse
quantifiziert wird (is instantiated), werden die in der Liste der
Datensatz-ID aufgelisteten Datensätze entsprechend der Datensatz-ID-Liste
aus der Datei schrittweise abgerufen. Wenn die Gruppen-ID-Klasse
als Datensatz-ID-Unterklasse quantifiziert wird, werden Datensätze schrittweise
aus der Datei abgerufen. Der Herstellungsgegenstand umfasst eine
Datenspeichervorrichtung, die praktisch Befehle verkörpert, um
die vorstehend beschriebenen Verfahrensschritte auszuführen.
-
Die
Vorrichtung umfasst ein Mittel zum Erzeugen eines Datenuntermengenobjektes,
das eine Liste von Datensatz-IDs hat, die Datensätze kennzeichnen, die Glieder
der Datenuntermenge sind, und ein Mittel zum schrittweisen Abrufen
der Datensätze,
die in der Liste der Datensatz-IDs aufgelistet sind. Das Datenuntermengenobjekt
gehört
zu einer Gruppen-ID-Klasse, die eine Datensatz-ID-Unterklasse und
eine Untermengenunterklasse hat. Die in der Datensatz-ID-Liste aufgelisteten
Datensätze
werden schrittweise abgerufen, wenn die Gruppen-ID-Klasse als Untermengen-Unterklasse
quantifiziert wird, und es werden Datensätze aus einer Datei aus Datensätzen schrittweise
abgerufen, wenn die Gruppen-ID-Klasse als Datensatz-ID-Unterklasse quantifiziert
wird.
-
Das
Vorstehende kann dafür
benutzt werden, mehrere Datenuntermengen zu definieren und an diesen
Untermengen Vorgänge
auszuführen,
um zusätzliche
Datenuntermengen zu definieren. Zusätzliche Datenuntermengen können unter
Zuhilfenahme eines zweiten Such- oder Auffindebefehles definiert
werden, der ein zweites Suchkriterium beschreibt, oder können definiert
werden, indem ein Such- oder Auffindebefehl angewandt wird, der
schon erzeugten Datenuntermengen ein Suchkriterium vorgibt. Sobald
mehrere Datenuntermengen definiert worden sind, können Gruppenbeziehungen
zwischen den Untermengen dafür
benutzt werden, zusätzliche
Datenuntermengen zu definieren.
-
Diese
Fähigkeit,
Vorgänge
zu definieren und durchzuführen,
die zwei oder mehr Untermengen betreffen, hat mehrere Vorteile.
Erstens vermindert die vorliegende Erfindung für den Benutzer die Notwendigkeit, komplexe
boolesche Suchketten zu bilden und einzugeben. Daher erfordert die
vorliegende Erfindung weniger Anzeigefläche und vermindert die Wahrscheinlichkeit,
dass der Benutzer Fehler begeht. Zweitens gestattet es die vorliegende
Erfindung dem Benutzer, statt einer Datei eine Untermenge zu betrachten,
um das zweite Suchkriterium aufzubauen. Dies ist von Nutzen, weil
eine Untermenge gewöhnlich
viel kleiner ist als eine Datei und weil es viel wahrscheinlicher
ist, dass die interessierenden Datensätze sofort sichtbar sind (d.
h. viel weniger Rollvorgänge
erforderlich sind, um einen Datensatz mit einem Feld/Feldern anzusehen,
der von der nächsten
Suche betroffen ist). Drittens erhöht die vorliegende Erfindung
die Suchgeschwindigkeit, wenn ein erneutes Suchen erforderlich ist,
weil eine Untermenge schneller durchsucht werden kann als eine Datei.
Viertens kann die vorliegende Erfindung kleine Untermengen zum späteren Abrufen
im Cachespeicher speichern, ohne dass eine große Datei erneut durchsucht
werden muss. Schließlich
kann die vorliegende Erfindung Vorgänge zwischen Untermengen (oder
Dateien) ablaufen lassen (einschließlich boolescher Vorgänge), um
eine dritte Untermenge zu bilden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Unter
Bezugnahme auf die Zeichnungen, in denen gleiche Bezugsnummern grundsätzlich entsprechende
Teile darstellen, ist:
-
1 ein
Blockschaltbild, das eine beispielhafte Hardware-Umgebung für die praktische Durchführung der
vorliegenden Erfindung zeigt;
-
2 ein
Flussbild, das ein veranschaulichendes Beispiel von Vorgangsschritten
darstellt, wie sie beim Aufzeichnen von kontextsensitiven Kommentaren
zu einem Bestimmungsort benutzt werden; und
-
3 ein
Schaubild, das eine veranschaulichende Ausführungsform eines Fensters zur
Kopiedateiauswahl zeigt;
-
4 die
Darstellung des Aussehens einer beispielhaften Ausführungsform
eines Fensters eines Dateibrowsers/-editors nach der Auswahl einer
Kopiedatei;
-
5 ein
Schaubild, das eine veranschaulichende Ausführungsform des Fensters zur
Dateiauswahl zeigt;
-
6 ein
Schaubild, das eine veranschaulichende Ausführungsform des Fensters für den Datei-Browser/-Editor
zeigt, nachdem sowohl die Datei als auch die Kopiedatei geöffnet worden
sind;
-
7 ein
Flussbild, das beispielhafte Vorgangsschritte darstellt, die bei
der Annahme einer Datenfeldauswahl und dem Darstellen des Datenfeldes
benutzt werden;
-
8 ein
Diagramm, das eine veranschaulichende Ausführungsform des Fensters für den Datei-Browser/-Editor
nach dem Auswählen
des Datenfeldes zeigt;
-
9 ein
Flussbild, das beispielhafte Schritte zeigt, die beim Verändern von
Datensätzen
und -feldern ausgeführt
werden;
-
10 ein
Flussbild, das die Vorgänge
darstellt, die beim Erzeugen und Anzeigen einer Untermenge der Daten
in einer Datei benutzt werden;
-
11 ein
Flussbild, das die Vorgänge
veranschaulicht, die bei der Erzeugung eines Datenuntermengenobjektes
durchgeführt
werden;
-
12 ein
Schaubild, das die Erzeugung eines Datenuntermengenobjektes veranschaulicht;
-
13 ein
Schaubild, das eine beispielhafte Benutzerschnittstelle zum Erzeugen
eines Datenuntermengenobjektes zeigt;
-
14 ein
Schaubild, das die Eingabe von Suchkriterien zum Erzeugen eines
Datenuntermengenobjektes zeigt;
-
15 ein
Diagramm, das die Ergebnisse der in 14 beschriebenen
Suchkriterien zeigt;
-
16 ein
Flussbild, das eine beispielhafte Ausführungsform der Vorgänge veranschaulicht,
die zum Definieren von zusätzlichen
Untermengen benutzt werden;
-
17 ein
Schaubild, das eine beispielhafte Benutzerschnittstelle zum Eingeben
der zweiten Suchkriterien veranschaulicht;
-
18 ein
Diagramm, das die Ergebnisse der Anwendung der zweiten Suchkriterien
auf die erste Datenuntermenge zeigt;
-
19 ein
Schaubild, das den Vorgang des Anzeigens von Datenuntermengen veranschaulicht;
-
20 eine
Darstellung beispielhaften Ausführungsform
der Benutzerschnittstelle, mit welcher der Benutzer auswählen kann,
welche Datenuntermenge oder Datei in dem Datei-Editor dargestellt
werden sollen;
-
21 ein
Schaubild, das ein Aktionsfenstermenü-Element in einer Benutzerschnittstelle
zum Speichern einer Datenuntermenge als Datei zeigt;
-
22 ein
Schaubild, das eine Dialogbox zeigt, die dafür verwendet wird, eine Datenuntermenge
zu speichern;
-
23 ein
Flussbild, das den Vorgang des Definierens einer dritten Datenuntermenge
durch Einstellen von Vorgängen
aus einer ersten und einer zweiten Datenuntermenge veranschaulicht;
und
-
24 ein
Schaubild, das veranschaulichende Beispiele von Untermengenvorgängen darstellt.
-
AUSFÜHRLICHE BESCHREIBUNG VON BEVORZUGTEN
AUSFÜHRUNGSFORMEN
-
In
der folgenden Beschreibung wird auf die zugehörigen Zeichnungen Bezug genommen,
die einen Teil davon bilden und mit denen in veranschaulichter Form
mehrere Ausführungsformen
der vorliegenden Erfindung gezeigt werden. Es versteht sich, dass
andere Ausführungsformen
benutzt werden können
und dass strukturelle Veränderungen
vorgenommen werden können,
ohne dass vom Umfang der vorliegenden Erfindung abgewichen wird.
-
1 veranschaulicht
ein beispielhaftes Rechnersystem 100, das dafür benutzt
wird, einen mehrfachen Browser und Editor zu realisieren. Der Rechner 102 umfasst
einen Prozessor 104 und einen Speicher 106, wie
etwa einen Speicher mit wahlfreiem Zugriff (RAM). Der Rechner 102 wird
funktionsmäßig mit
einer Anzeige 122 verbunden, die dem Benutzer Abbilder
darstellt. Der Rechner 102 kann mit anderen Einheiten verbunden
sein, wie etwa einer Tastatur 114, einem Mauselement 116,
einem Drucker oder ähnlichen
E/A-Einheiten. Jegliche Kombination der vorstehenden Komponenten
oder jede beliebige Anzahl von unterschiedlichen Komponenten, peripheren
und anderen Einheiten kann mit dem Rechner 102 benutzt
werden.
-
Im
Allgemeinen tritt der Benutzer mit dem Rechner in Verbindung, der
Eingaben und Befehle annimmt und über ein grafisches Benutzerschnittstellenmodul
(GUI) 118A und GUI 118B Ergebnisse darstellt.
Obgleich das GUI-Modul 118A als getrenntes Modul dargestellt
ist, können
die Befehle, die GUI-Funktionen ausführen, im Betriebssystem 108,
dem Anwendungsprogramm 110 resident oder verteilt sein
oder können
mit zweckbestimmten Speichern und/oder -Prozessoren realisiert werden.
-
Das
Betriebssystem 108 und das Rechneranwendungsprogramm 110 bestehen
aus Befehlen, die, wenn sie vom Rechner 102 gelesen und
ausgeführt
werden, den Rechner 102 veranlassen, die Schritte auszuführen, die
erforderlich sind, um die vorliegende Erfindung zu realisieren und/oder
zu benutzen. Rechneranwendungsprogramm 110 und/oder Betriebsbefehle
können
sich in der Praxis auch im Speicher 106 befinden und/oder über Datenübertragungsvorrichtungen
bereitgestellt werden, so dass sie dadurch ein Rechnerprogrammprodukt
oder einen Herstellungsgegenstand erfindungsgemäß realisieren. Die Begriffe "Programmspeichervorrichtung", "Herstellungsgegenstand" und "Rechnerprogrammprodukt" als solche werden
hier mit der Absicht benutzt, ein Rechnerprogramm einzuschließen, auf
das durch jegliche rechnerlesbare Vorrichtung oder -medien zugegriffen
werden kann. In einer Ausführungsform
werden Befehle, die das Betriebssystem 108, das Rechnerprogramm 110 und
die Kompiliereinrichtung 112 realisieren, physisch auf
einem rechnerlesbaren Medium gespeichert, z. B. Datenspeichereinheit 120,
wie etwa einem oder mehreren festen oder entnehmbaren Datenspeichereinheiten,
einem Zip-Laufwerk, einem Diskettenlaufwerk 124, einem
Festplattenlaufwerk, einem CD-ROM- Laufwerk, einem Bandlaufwerk oder einem
anderen Medium.
-
Der
Rechner 102 kann auch eine Kompiliereinrichtung 112 realisieren,
die es gestattet, dass ein Anwendungsprogramm 110, das
in einer Programmiersprache, wie etwa COBOL, C++, PL/1 FORTRAN oder
einer anderen Sprache geschrieben ist, in einen von Prozessor 104 lesbaren
Code übersetzt
wird. Nach Abschluss greift das Anwendungsprogramm 110 unter
Verwendung der Beziehungen und der Logik, die unter Verwendung der
Kompiliereinrichtung 112 erzeugt worden sind, auf Daten
zu, die in dem Speicher 106 des Rechners 102 gespeichert
sind, und verändert
sie.
-
Der
Fachmann wird erkennen, dass an dieser Konfiguration viele Veränderungen
vorgenommen werden können,
ohne dass vom Umfang der vorliegenden Erfindung abgewichen wird.
Beispielsweise wird der Fachmann erkennen, dass jegliche Kombination
der vorstehenden Komponenten oder jegliche Anzahl von unterschiedlichen
Komponenten, peripheren und anderen Einheiten mit der vorliegenden
Erfindung benutzt werden können.
-
Überblick
-
Die
vorliegende Erfindung umfasst einen mehrfachen Datensatz-Browser und -Editor,
der es dem Benutzter ermöglicht,
von der Arbeitsstation des Benutzers aus Dateien anzusehen und aufzubearbeiten,
wie etwa Dateien mit virtueller Speicherzugriffsmethode (VSAM).
VSAM ist ein allgemein benutztes Datenspeicherverfahren, das einen
B+Datenorganisationsbaum benutzt. Der Datei-Browser/-Editor stellt
eine grafische Schnittstelle bereit, welche die Datei gleichzeitig
sowohl in nichtformatierter als auch in formatierter Form im selben
Fenster darstellt. Formatierte Datensätze in der Datei werden jeweils
einzeln gemäß einer
Datenbeschreibung dargestellt, wie etwa als COBOL-Kopiedatei, und
nichtformatierte Datensätze
werden als Zeichenketten dargestellt, wie sie in der Datei vorgefunden
werden.
-
Der
Datei-Browser/-Editor gestattet es dem Benutzer vorzugeben, wie
die Datensätze
anzuzeigen sind. Beispielsweise können die Datensätze in ASCII
(American National Standard Code for Information Interchange) oder
EBCDIC (Extended Binary Coded Decimal Interchange Code) angezeigt
werden. Diese Ansichten können
zusätzlich
erweitert werden, um ihre hexadezimale Form zu zeigen. Der Datei-Browser/-Editor
gestattet es dem Benutzer ebenfalls, die Datensätze ungeachtet des Codes oder
der gewählten
Formatierung aufzubearbeiten. Dateien werden als Datensätze in dem
Fenster angezeigt, damit sie der Benutzer ansehen, durchsehen, bearbeiten
oder löschen
kann. Es ist Vorsorge getroffen, dass der Datei neue Datensätze hinzugefügt werden
können,
dass neue Dateien erzeugt werden können und dass sowohl die formatierten
als auch die nichtformatierten Datensätze aufbereitet werden können.
-
Der
Datei-Browser/-Editor gestattet es dem Benutzer, Datensatzuntermengen
zu definieren und diese Untermengen zur Ansicht darzustellen. Mehrere
Datensatzuntermengen können
definiert werden, und Untermengen können entsprechend boolescher
Logik verknüpft
werden, um weitere Datenuntermengen zu definieren. Wenn gewünscht, können die
Datenuntermengen zum späteren
Gebrauch gespeichert werden.
-
Darstellen von Dateiinformationen
-
2 ist
ein Flussbild, das die Vorgänge
zeigt, die zum Darstellen von Dateninformationen für den Benutzer
verwendet werden. Die im Hinblick auf 2 beschriebenen
Vorgänge
werden unter Bezugnahme auf 3 bis 8 beschrieben,
um veranschaulichende Ausführungsformen
der Benutzerschnittstelle des Datei-Browsers/-Editors zu zeigen
und zusätzliche
Einzelheiten des Betriebes zu zeigen.
-
Der
Vorgang beginnt mit dem Öffnen
einer Datei, die Strukturinformationen von Datensätzen enthält. Dies
ist in Block 202 dargestellt. Beispielsweise ist für Daten,
die in Verbindung mit Anwendungsprogramm 106 benutzt werden,
das in COBOL geschrieben ist und mit VSAM übereinstimmt, die geöffnete Datei
eine COBOL-Kopiedatei 150, und die Dateistrukturinformationen
werden in einem oder mehreren Datendeskriptoren und anderer Informationen
beschrieben, die in der Kopiedatei 150 gespeichert ist. 3 und 4 bieten veranschaulichende
Ausführungsformen
für eine
Benutzerschnittstelle zum Öffnen
der Kopiedatei 150 und einen Datei-Browser/-Editor.
-
3 ist
ein Schaubild, das eine veranschaulichende Ausführungsform eines Fensters zur
Kopiedateiauswahl 302 zeigt, die dafür benutzt werden kann, eine
Datei mit Dateistrukturinformationen zu öffnen. Das Fenster zur Kopiedateiauswahl 302 umfasst
ein Eingabefeld für
den Dateinamen 304. Der Benutzer kann die gewünschte Kopiedatei
vorgeben, indem er den Pfad zur Kopiedatei in diesem Feld einschreibt.
Andernfalls kann der Benutzer nach der gewünschten Datei unter Verwendung
des Laufwerkverzeichnis-Auswahlfeldes 308, des Verzeichnisfeldes 316 und
des Feldes für
die Dateinamenliste 312 suchen. Im Feld 312 für die Liste der
Dateinamen angezeigte Dateinamen werden entsprechend der Dateiart
unter Verwendung des Eingabefeldes 306 für die Dateiart
gefiltert. Ein im Feld 312 für die Liste der Dateinamen
ausgewählte
Datei kann automatisch in das Eingabefeld für Dateinamen 304 eingegeben
werden, indem die gewünschte
Datei durch Doppelklick ausgewählt
wird.
-
In
dem in 3 gezeigten Beispiel ist eine Kopiedatei 150 mit
dem Namen "VASMAA.CPY" zum Öffnen ausgewählt worden.
Sobald der gewünschte
Dateiname in dem Eingabefeld 304 für den Dateinamen erscheint,
wird die OK-Schaltfläche 314 angeklickt,
und die ausgewählte
Kopiedatei 150 wird in dem Editor angezeigt. Wenn der Benutzer
die Abbruch-Schaltfläche 318 wählt, verschwindet
das Kopiedatei-Auswahlfenster 302, und die Kopiedatei 150 wird
im Editor nicht angezeigt.
-
4 zeigt
das Erscheinungsbild einer beispielhaften Ausführungsform eines Fensters eines
Datei-Browsers/-Editors 402, nachdem die Kopiedatei 150 ausgewählt worden
ist. Das Fenster des Datei-Browsers/-Editors 402 umfasst
eine Menüleiste 416,
eine Statusleiste 418 und eine Funktionsleiste 420.
Die Menüleiste 416 stellt
die Funktionen dar, die dem Benutzer zur Verfügung stehen, um Dateien und
die Datensätze darin
auszuwählen
und zu verwalten. Die Menüleiste 416 gestattet
es dem Benutzer auch, durch die Dateien zu navigieren und das Anzeigen
von Daten in dem Fenster des Datei-Browsers/-Editors 402 dadurch
zu steuern, dass das Navigier-Aktionsfenstermenüelement 414 "Navigieren" ausgewählt wird.
-
Die
Statusleiste 418 spiegelt den Status der Datei wider. Der "Spalte"-Eintrag in der Statusleiste 418 bezeichnet
die Spaltenposition des Positionsanzeigers während des Bearbeitens. Der "Datensatzlänge"-Eintrag in der Statusleiste 418 zeigt
die Länge
des aktuellen Datensatzes an. Die Statusleiste 418 zeigt
auch die Dateiattribute an (wie etwa feste oder variable Länge und
die maximale Länge),
die der Editor benutzt, um die Datensätze anzuzeigen und die Anzahl
der Änderungen.
Die Funktionsleiste 420 umfasst Schaltflächen, die Kurzzeichen
für häufig benutzte
Auswahlvorgänge
aus Menüleiste 418 bereitstellen.
-
Das
Fenster für
den Datei-Browser/-Editor 402 umfasst ebenfalls einen Fensterbereich
für nichtformatierte
Daten 404 und einen Fensterbereich für formatierte Daten 406.
Der Fensterbereich für
formatierte Daten 406 zeigt den aktuellen Datensatz an,
der nach der Datenbeschreibung der Kopiedatei 150 formatiert
ist. Der Titelbereich der formatierten Ansicht 408 zeigt
den Namen der Kopiedatei 150 an, die dafür benutzt
wird, den im Fensterbereich für
formatierte Daten 406 angezeigten Datensatz zu formatieren.
-
In
einer Ausführungsform
umfasst der Fensterbereich der formatierten Daten 406 einen
ersten formatierten Unterbereich des Fensters 410 und einen
zweiten formatierten Unterbereich des Fensters 412. Der
erste formatierte Unterbereich des formatierte Fensters 410 stellt
eine Festwertspalte von Datenelementen dar, die als Datendeskriptoren 422A bis 422E bekannt
sind (insgesamt als Datendeskriptoren 422 bezeichnet) und aus
der Kopiedatei 150 herausgelesen werden. Datenelementattribute
(insgesamt als 424 bezeichnet) der Datendeskriptoren 422 werden
wahlweise in einer Festwertspalte angezeigt, die den Datendeskriptoren 422 in dem
ersten formatierten Unterbereich des Fensters 410 benachbart
sind. Beispielsweise hat Datendeskriptor 422C ein Attribut 424C von
PIC X(10), und Attribut 422D ist mit einem Attribut 424C verbunden.
Der erste formatierte Unterbereich des Fensters 410 und
der zweite formatierte Unterbereich des Fensters 412 kann
auch durch eine durch den Benutzer bewegliche Aufteilungsleiste 440 getrennt
werden und damit als Fenster"scheibe" ausgebildet werden,
die es gestattet, dass die Begrenzung zwischen den Fensterunterbereichen
durch den Benutzer gesteuert wird.
-
Insgesamt
definieren Datendeskriptoren 422 und ihre zugehörigen Attribute 424 die
Struktur der Daten in den Dateien 152. Beispielsweise ist
in der Ausführungsform
des Datei-Browsers/-Editors 402,
die in 4 veranschaulicht wird, die Kopiedatei mit dem
Titel "VSAMAA.CPY", wie sie im Hinblick
auf 3 beschrieben wurde, geöffnet worden. Die Datei "VSAMAA.CPY" umfasst eine hierarchische
Organisation von Datenelementen, die einen "Datensatz"-Datendeskriptor 422A enthält, der
einen "Schlüssel"-Datendeskriptor 422B und einen "Adress"-Datendeskriptor 422E umschließt. Der
Schlüssel-Datendeskriptor 422B umschließt einen "Nachnamen"-Datendeskriptor 422C und
einen "Vornamen"-Datendeskriptor 422D,
von denen jeder ein Attribut mit einer Kette von 10 Zeichen hat.
Datendeskriptoren 422A, 422B und 422E sind
Gruppenelemente, und Datendeskriptoren 422C und 422D sind
Datenelemente. Daher hat der Benutzer in dem vorstehenden Beispiel die
Wahl getroffen, zuerst mit dem Öffnen
der Kopiedatei 150 zu beginnen. Da eine Datei 152 nicht
vorgegeben worden ist, sind der zweite formatierte Unterbereich
des Fensters 412 und der nichtformatierte Fensterbereich 404 leer.
Der Benutzer kann andernfalls wählen,
die Datei (wie nachstehend beschrieben) vor dem Öffnen der Kopiedatei 150 zu öffnen. In
diesem Falle werden aus der Datei 152 Daten ausgelesen
und dem Benutzer in nichtformatierter Form in dem nicht formatierten
Fensterbereich bis zu dem Zeitpunkt dargestellt, zu dem eine Kopiedatei 150 geöffnet wird.
-
Die
vorstehende Ansicht von Datendeskriptoren stellt eine hierarchische
Ansicht der Struktur von Daten dar. Obgleich das veranschaulichte
Beispiel eine Struktur für
eine COBOL-Datenstruktur
anzeigt, kann eine ähnliche
Anzeige der Datenstruktur für
andere Programmiersprachen dargestellt werden, wie etwa PL/1, C, C++,
FORTRAN oder andere Sprachen. In diesen Fällen bietet diese Ansicht dem
Benutzer das Sichtbarmachen von mitgeschleppten Attributen und Verfahren.
Es gestattet die Ansicht der unterschiedlichen Strukturklassen einschließlich beliebiger
Verschachtelungsmerkmale.
-
In
einer Ausführungsform
ist die Kopiedatei über
einen Kopiedatei-Editor auch aus dem ersten formatierten Fensterunterbereich
bearbeitbar, was es dem Benutzer gestattet, Kopiedateiinformation
unter Einschluss von Attributen und Datendeskriptoren aufzubearbeiten.
-
Bei
Rückkehr
zur 2 öffnet
der Benutzer als nächstes
eine Datei 152. Dies wird in Block 204 dargestellt.
Die Datei umfasst mindestens einen Datensatz einschließlich mindestens
eines Datenfeldes. 5 und 6 stellen
veranschaulichende Ausführungsformen
einer Benutzerschnittstelle zum Öffnen
der Datei 152 und für
das Erscheinungsbild des Fensters für den Datei-Browser/-Editor 402 bereit,
nachdem die Datei 152 geöffnet worden ist.
-
5 ist
ein Schaubild, das eine veranschaulichende Ausführungsform eines Auswahlfensters 502 für eine Datei
zeigt, die dafür
benutzt werden kann, eine Datei 152 zu öffnen. Das Auswahlfenster für eine Datei 502 umfasst
ein Eingabefeld für
den Dateinamen 504, in dem der Benutzer die gewünschte Datei 152 angeben kann.
Andernfalls kann der Benutzer unter Verwendung des Auswahlfeldes
für das
Laufwerk des Dateiverzeichnisses 508, des Feldes für das Dateiverzeichnis 514 und
des Feldes für
die Liste der Dateinamen 512 nach der gewünschten
Datei suchen. In dem Feld der Liste der Dateinamen 512 angezeigte
Dateinamen können
entsprechend der Dateiart (üblicherweise
durch die Datei-Erweiterung
angezeigt) unter Verwendung des Eingabefeldes für die Dateiart 506 gefiltert
werden. Eine in dem Feld für
die Liste der Dateinamen 512 ausgewählte Datei kann automatisch
in das Eingabefeld für
Dateinamen von Dateien 504 eingegeben werden, indem die
gewünschte
Datei durch Klicken auf sie oder durch andere ähnliche Mittel ausgewählt wird.
-
In
dem in 5 gezeigten Beispiel ist eine Datei 152 mit
dem Namen "VSAMAAK" zum Öffnen ausgewählt worden.
Sobald der Name der gewünschten
Datei in dem Eingabefeld für
den Dateinamen 504 erscheint, wird die OK-Schaltfläche 518 angeklickt,
und die ausgewählte
Datei 152 wird geöffnet.
Wenn der Benutzer die Abbruch-Schaltfläche 516 wählt, verschwindet
das Dateiauswahlfenster 502, ohne dass die Datei geöffnet wird.
Wenn die Anzeige von zusätzlichen
Kopiedateien oder Dateien gewünscht
wird, können
diese ebenfalls wie vorstehend beschrieben geöffnet werden.
-
Wenn
eine Kopiedatei 150 nicht geöffnet worden ist, werden die
Daten in der Datei 152 direkt von der Datei 152 übersetzt
und in dem nichtformatierten Fensterbereich des Fensters für den Datei-Browser/-Editor 402 angezeigt,
ohne dass externes Verarbeiten erfolgt, um die Struktur aus der
Kopiedatei 150 abzuleiten. Wenn eine Kopiedatei 150 geöffnet worden
ist, werden die Informationen in der Kopiedatei 150 dafür benutzt, die
Datensätze
der Datei 152 in Datenfeldern zu formatieren. Dies wird
in Block 206 von 2 dargestellt. Nachdem
die Datensätze
formatiert wurden, wird der Datei-Browser/-Editor 402 wieder
angezeigt. Diesen Vorgang darstellende Logik wird in Block 208 von 2 dargestellt.
Zusätzliche
Einzelheiten hinsichtlich des Abrufens und Anzeigens von Daten werden
später
in dieser Darlegung dargestellt.
-
Wie
in Block 210 von 2 gezeigt,
kann der Benutzer eine von mehreren Anzeigearten, darunter ASCII
oder EBCDIC und hexadezimal, zum Ansehen der nichtformatierten oder
formatierten Daten über
das Ansichten-Aktionsfenster 454 auswählen. Weiterhin kann der Benutzer
eine Auswahl von Datensätzen
in dem Fensterbereich der nichtformatierten Daten 404 bereitstellen,
und in dem zweiten Unterbereich des formatierten Fensters 412 wird
eine formatierte Ansicht des ausgewählten Datensatzes erscheinen.
Die diese Vorgänge darstellende
Logik ist in Blöcken 212 und 214 dargestellt.
-
In
der vorstehenden Beschreibung wurden die Dateistrukturinformation
und die Daten in getrennten Dateien gespeichert (nämlich der
Kopiedatei 150 beziehungsweise der Datei 152).
Die vorliegende Erfindung kann auch in einem System realisiert werden,
in dem Dateistrukturinformation und Dateninformation in einer einzigen
Datei gespeichert und aus ihr abgerufen werden. Im Vorstehenden
wurde die Kopiedatei 150 geöffnet, bevor die Datei 152 geöffnet wurde.
Die vorliegende Erfindung kann auch praktiziert werden, indem die
Datei 152 vor dem öffnen
der Kopiedatei 150 geöffnet
wird. In diesem Falle werden die Daten in der nichtformatierten Ansicht
dargestellt, bis die Kopiedatei 150 geöffnet worden ist, da die Kopiedatei 150 die
Strukturinformationen enthält,
die für
das Darstellen einer formatierten Ansicht der Daten erforderlich
ist.
-
6 ist
ein Schaubild, das eine veranschaulichende Ausführungsform des Fensters für den Datei-Browser/-Editor 402 zeigt,
nachdem sowohl die Datei 152 als auch die Kopiedatei 150 geöffnet worden
sind. Eine nichtformatierte Ansicht der Datensätze, die aus der Datei 152 ausgelesen
wurden, wird in dem nichtformatierten Fensterbereich 404 des
Datei-Browsers/-Editors 402 dargestellt. Datensatznummernspalte 620 zeigt
dann und nur dann eine Nummer an, wenn der Datensatz gespeichert
worden ist oder in der Datei 152 vorhanden ist. Datensätze können in
dem nichtformatierten Fensterbereich 404 durchgesehen werden,
indem die Schiebeleiste 432 oder das Aktionsfenstermenü für das Navigieren 414 in
der Menüleiste 416 benutzt
werden. Datensätze
können
ebenso wie der aktuelle Datensatz durch Klicken auf den gewünschten
Datensatz ausgewählt
werden. Der aktuelle Datensatz wird in dem nichtformatierten Fensterbereich 404 durch
Begrenzen des Datensatzes angezeigt. "Begrenzen" eines Datensatzes bezieht sich auf
das Anordnen einer kennzeichnenden Bezeichnung des Datensatzes oder
des Feldes in der Anzeige. Dies kann durch Hervorheben, wie es in 6 gezeigt
wird, oder durch ähnliche
Mittel, wie Sonderzeichen, erfolgen.
-
In
dem in 6 gezeigten veranschaulichenden Beispiel ist Datensatz 610 ausgewählt worden.
Der ausgewählte
Datensatz 610 enthält
ein erstes Datenfeld 612C mit den Daten "Schön", ein zweites Datenfeld 612D mit
den Daten "Regenbogen---", (wobei das Symbol "-" ein Leerzeichen bezeichnet), ein drittes
Datenfeld 612F mit den Daten "Teilweise Wolkig-------", ein viertes Datenfeld 612E mit
den Daten "Städte--------------", ein fünftes Datenfeld 612H mit
den Daten "MN", ein sechstes Datenfeld 612I ohne
Daten und ein siebentes Datenfeld 612J mit den Daten "00000".
-
Datensätze können ebenfalls über Abrolltasten
von Tastatur 114 oder durch Auswählen des Datensatz-Aktionsfenstermenüelementes 452 und
Auswählen
von Menüelementen
Nächster,
Vorhergehender oder Suchen durchsucht und ausgewählt werden. Das Menüelement
Suchen öffnet
eine Dialogbox, in welcher der Benutzer Text oder Stellvertretersymbole
eingeben kann, und sucht nach einem Datensatz, der die Anforderungen
der eingegebenen Parameterkette erfüllt.
-
Bei
Auswahl von Datensatz 610 werden Datenfelder 612C bis 612J (hier
nachstehend zusammenfassend als 612 bezeichnet) dieses
Datensatzes in dem zweiten formatierten Fensterunterbereich 412 entsprechend
den Informationen in der Kopiedatei 150 angezeigt. Die
so dargestellte Feldspalte umfasst Festwertfelder (diese sind mit
Gruppenelementen verbunden, wie etwa 422A, 422B und 422E)
und lese- und aufzeichnungsfähige
Felder (diese sind mit Datenelementen verbunden, wie etwa 422C, 422D und 422F bis 422J).
In dem veranschaulichten Beispiel werden die Datenfelder 612 in
getrennten Zeilen angezeigt, die den Datendeskriptoren 422 in
der Kopiedatei 150 benachbart sind, die mit jedem Datenfeld
verbunden ist. Wenn der Benutzer einen nichtformatierten Datensatz
auswählt,
wird dieser Datensatz 610 entsprechend den Informationen
in der Kopiedatei 150 formatiert und in dem zweiten formatierten
Fensterunterbereich 412 dargestellt.
-
In
einer Ausführungsform
kann das Fenster für
den Datei-Browser/-Editor 402 eine
Auswahl eines Datensatzes annehmen und den ausgewählten Datensatz
gleichzeitig in dem Fensterbereich der nichtformatierten Daten 404 und
in dem Fensterbereich der formatierten Daten 406 anzeigen.
Weiterhin können,
wenn unterschiedliche Datensätze
ausgewählt
werden, die entsprechende Struktur und die entsprechenden Felder,
die mit dem ausgewählten
Datensatz verbunden sind, in dem ersten formatierten Fensterunterbereich 410 angezeigt
werden.
-
In
einer weiteren Ausführungsform
sind der Fensterbereich der nichtformatierten Daten 404 und
der Fensterbereich der formatierten Daten 406 "Fensterscheiben", deren Größe durch
Auswählen
der Begrenzung zwischen den Fensterscheiben und Bewegen des Trennbalkens 438 nach
oben und unten verändert
werden kann. Wenn gewünscht,
kann die Fensterscheiben-Begrenzung vollständig nach oben bewegt werden,
um den formatierten Fensterbereich 406 zu verbergen, oder
vollständig
nach unten, um den nichtformatierten Fensterbereich 404 zu
verbergen.
-
Zusätzlich können der
erste formatierte Fensterunterbereich 410 und der zweite
formatierte Fensterunterbereich 412 ebenfalls in ihrer
Größe verändert werden,
indem die Begrenzung zwischen diesen "Scheiben" ausgewählt und der Trennbalken 440 nach
links und rechts bewegt wird. Wenn gewünscht, kann die Scheibenbegrenzung
vollständig
nach links bewegt werden, um den ersten formatierten Fensterbereich 410 zu
verbergen oder vollständig
nach rechts, um den zweiten formatierten Fensterunterbereich 412 zu
verbergen.
-
In
einer weiteren Ausführungsform
können
die in dem nicht formatierten Fenster gezeigten Datensätze solche
sein, die ein oder mehrere bestimmte Kriterien erfüllen, wie
etwa das letzte Veränderungsdatum
oder der Dateninhalt. Diese Funktionalität kann mit einer Suchmaschine
realisiert werden.
-
6 veranschaulicht
auch einen der Vorzüge
der Anzeige, der von dem Fenster für den Dateibrowser/-Editor 402 geboten
wird. Wenn es in dem Fenster der nichtformatierten Daten 404 veranschaulicht
wird, kann der Benutzer nicht einfach das Vorhandensein oder die
Merkmale des sechsten Datenfeldes 612I erkennen, da es
keine Anzeige dafür
gibt, wo das fünfte
Datenfeld 612H endet. Wenn jedoch die synchronisierte Ansicht
benutzt wird, die von Dateneditorfenster 402 bereitgestellt
wird, zeigt der formatierte Fensterbereich 406 klar die
Definition eines Datenfeldes zu fünf Zeichen für das sechste
Feld 612I.
-
Auswählen von Datenfeldern
-
7 ist
ein Flussbild, das beispielhafte Vorgangsschritte darstellt, die
bei der Annahme einer Datenfeldauswahl und dem Darstellen des Datenfeldes
benutzt werden. Zuerst wird die Auswahl eines Datenfeldes bei 702 angenommen.
Dies kann durch die Verfahren bewerkstelligt werden, die im Hinblick
auf 8 nachstehend beschrieben werden. Wie durch die
Logik von Block 704 gezeigt, wird das ausgewählte Datenfeld
eingegrenzt und in dem Fensterbereich der nichtformatierten Daten 404 und
dem zweiten formatierten Fensterunterbereich 704 synchron
aktualisiert, und in dem ersten formatierten Fensterunterbereich 410 wird
der mit dem ausgewählten
Datenfeld verbundene Datendeskriptor 422 angezeigt. Dies
wird durch die Logik von Block 706 dargestellt. Das Eingrenzen
des Feldes kann auch eine Anzeige eines Attributes des Feldes enthalten. Beispielsweise
können
die Begrenzungen des Feldes durch Hervorheben der geeigneten Zeichen
in der Anzeige oder durch Verwendung von Klammern angezeigt werden.
-
Das
Vorstehende kann dadurch bewerkstelligt werden, dass der Datensatz
und das Feld in dem nichtformatierten Fensterbereich (in diesem
Falle werden der zugehörige
Datensatz und die Feldinformationen aktualisiert und in dem formatierten
Fensterbereich eingegrenzt) ausgewählt werden oder dass der Datensatz und
das Feld in dem formatierten Fensterbereich (in diesem Falle werden
der zugehörige
Datensatz und das Feld in dem nichtformatierten Fensterbereich aktualisiert
und eingegrenzt) ausgewählt
werden.
-
8 ist
ein Schaubild, das eine veranschaulichende Ausführungsform des Fensters von
Datei-Browser/-Editor 402 nach dem Auswählen eines Datenfeldes zeigt.
Der Fensterbereich mit den formatierten Daten 406 kann
dafür benutzt
werden, die Felder eines Datensatzes abzurollen und ein Datenfeld
als aktuelles Feld auszuwählen.
Dies kann über
den Gebrauch der Schiebeleiste 628 und das Anklicken eines
Feldes in dem zweiten formatierten Fensterunterbereich 412 oder
eines entsprechenden Datendeskriptors 422 in dem ersten formatierten
Fensterunterbereich 410 erfolgen.
-
Wenn
das gewünschte
Datenfeld ausgewählt
worden ist, werden das Datenfeld (in dem in 8 veranschaulichten
Beispiel Datenfeld 812G) und der zugehörige Datendeskriptor 422G in
dem Fensterbereich der formatierten Daten 406 hervorgehoben
oder anderweitig eingegrenzt.
-
In
einer Ausführungsform
der vorliegenden Erfindung werden die Datenfelder 812 innerhalb
eines Datensatzes ebenfalls eingegrenzt. Dies bietet dem Benutzer
in dem Fensterbereich der nichtformatierten Daten 404 eine
halbformatierte Ansicht des Datensatzes. In dem in 8 gezeigten
Beispiel wird das ausgewählte Datenfeld 812G innerhalb
des Datensatzes durch Hervorheben und Positionieren des Positionszeigers
auf das erste Zeichen in dem ausgewählten Datenfeld 812 angezeigt.
-
Andernfalls
kann das gesamte ausgewählte
Datenfeld 812G hervorgehoben werden. Es sind auch andere
Verfahrensweisen zum Eingrenzen des ausgewählten Datenfeldes möglich. Beispielsweise
können
die ausgewählten
Datenfelder 812 durch Klammern ("[]")
eingegrenzt werden, die das Datenfeld umgeben, durch Einfärben des
ausgewählten
Datenfeldes 812 in einer anderen Farbe als die anderen
Datenfelder in dem Datensatz oder durch andere Mittel. In jedem
Falle gestattet es das Eingrenzen von Datenfeldern 812 dem
Benutzer, die Begrenzungen der Datenfelder 812 zu erkennen.
Diese halbformatierte Ansicht ist für erfahrene Benutzer nützlich,
da sie genug Informationen darstellt, es dem Benutzer zu ermöglichen,
den Datensatz zu verändern
oder aufzubearbeiten (sie gestattet es dem Benutzer zu erkennen,
wo Datenfelder beginnen und enden), und doch nimmt sie weniger Anzeigefläche in Anspruch
als die vollständig
formatierte Ansicht. Es besteht die Aussicht, dass qualifizierte
Benutzer im Allgemeinen allein aus dieser Ansicht Datensätze bearbeitet
werden, indem sie sich der formatierten Ansicht in dem formatierten
Fensterbereich 406 nur im Bedarfsfall bedienen. Der formatierte
Fensterbereich 406 ist mit dem nichtformatierten Fensterbereich 404 synchronisiert.
Daher werden entsprechende Datenfelder 812 und der Datendeskriptor 422 sowohl
in dem formatierten Fensterbereich wie dem nichtformatierten Fensterbereich
gleichzeitig angezeigt.
-
Verändern von Datensätzen und
-feldern
-
9 ist
ein Flussbild, das beispielhafte Schritte zeigt, die beim Ändern von
Datensätzen
und -feldern erfolgen. Datensätze
können
sowohl aus dem Fensterbereich der formatierten Daten 406 wie
dem Fensterbereich der nichtformatierten Daten 404 aufbereitet
werden.
-
Um
einen Datensatz in dem Fenster der nichtformatierten Daten 404 zu
verändern,
wird der zu bearbeitende Datensatz bezeichnet und in dem Fenster
der nichtformatierten Daten 404 geöffnet. Dies wird in Block 902 gezeigt.
Dies kann entweder durch Doppelklick auf den Datensatz oder durch
Auswählen
des Datensatzes mit der Maus 116 und Auswählen des
Datensatzelementes 452 auf der Menüleiste 416 unter Auswählen des
Menüelementes
Datensatz Editieren erfolgen. Dies öffnet in dem Fensterbereich
der nichtformatierten Daten 404 einen Datensatzeintrag 820.
Der Fensterbereich der formatierten Daten 404 und der Fensterbereich
der nicht formatierten Daten 406 zeigen dann synchron die
Datenfelder des ausgewählten
Datensatzes an. Mit 904 werden bearbeitbare und nicht bearbeitbare
Felder gekennzeichnet, und in der Ansicht wird der Status jedes
Feldes angezeigt, wie es in Blöcken 906 und 908 gezeigt
wird. Beispielsweise zeigt 8 einen
als Block zusammengefassten Positionszeiger in Datenfeldern 812C, 812D und 812F bis 812J,
was anzeigt, das jedes dieser Datenfelder bearbeitbar ist. Die Informationen,
mit denen definiert wird, welche Felder in dem Datensatz bearbeitbar
sind, ist in der Kopiedatei 150 enthalten. Bearbeitbare
Datenfelder können
auch durch das Anbringen von Klammern um das bearbeitbare Feld oder
durch Schattieren des bearbeitbaren Feldes mit einer zum Hintergrund
des Fensterbereiches der nichtformatierten Daten 404 unterschiedlichen
Farbe angezeigt werden. In einer Ausführungsform zeigt die Ansicht
auch die Zeichenlänge
jedes Datensatzes an. Diese Zeichenlänge kann ebenfalls dargestellt
werden, entweder durch Klammern um das Datenfeld (nicht um die Daten)
oder durch Schattieren. Die Schattiertechnik macht maximalen Gebrauch
vom Raum für
das Fenster der nichtformatierten Daten 404, weil sie keine
zusätzlichen
Zeichen erfordert.
-
Dann
kann der Benutzer entweder die Maus 116 oder die Tastatursteuerung
des Positionsanzeigers oder den Tastaturtabulator zum Positionieren
des Positionszeigers benutzen, um bei 912 ein bearbeitbares Datenfeld
auszuwählen.
Dann werden Aufbereitungsvorgänge
an dem Feld, wie etwa Hinzufügungen,
Löschungen
oder Veränderungen
mit der Tastatur 114 eingegeben und vom Rechner 102 bei 912 angenommen.
-
Nach
Abschluß der
Aufbereitungsvorgänge
kann der Benutzer mit der Maus auf eine Stelle außerhalb des
Eingabefeldes klicken oder die Tabulatortaste der Tastatur 114 wählen, um
das Eingabefeld zu schließen und
die Datenänderungen
anzunehmen. Nachdem die Daten eingegeben worden sind, werden bei 914 Ansichten
des Datensatzes synchron aktualisiert, wobei sie in dem Fenster 402 angezeigt
werden. In Ausführungsformen,
die den Fensterbereich der nichtformatierten Daten 404 und
den Fensterbereich der formatierten Daten 406 benutzen,
werden beide Fensterbereiche aktualisiert. Dies hält die Daten
in beiden Fensterbereichen synchron.
-
Um
ein Feld eines Datensatzes unter Benutzung des Fensterbereiches
der formatierten Daten 406 zu verändern, wird der zum Verändern gesuchte
Datensatz durch das Fenster für
den Datei-Browser/-Editor 402 in dem Fensterbereich der
formatierten Daten 406 angezeigt. Das zum Verändern herausgesuchte
Datenfeld wird in dem formatierten Fensterbereich 406 ausgewählt. Dies
kann durch Doppelklick auf das ausgewählte Feld oder durch Auswählen des
Datensatzmenüs 452 aus
der Menüleiste 416 und
Auswählen
des Menüelementes
Datenfeld Edieren erfolgen. Der Datei-Browser/-Editor öffnet dann
einen Feldeintrag 812G, der das ausgewählte Datenfeld enthält. In dem
in 8 gezeigten veranschaulichenden Beispiel sind
die Daten in dem ausgewählten
Datenfeld 812G "Looney
Town". Die Tastatur 114 wird
dann dafür
benutzt, Daten in das Feld einzugeben, darin zu verändern und/oder
daraus zu löschen.
Der Benutzer kann dann anzeigen, dass der Aufbereitungsvorgang abgeschlossen
ist, indem er auf eine Stelle außerhalb des Feldes klickt.
-
Ein Datenfeld löschen
-
Datensätze können unter
Verwendung des Datei-Browsers/-Editors 402 auch gelöscht werden.
Dies erfolgt dadurch, dass der zu löschenden Datensatz aus dem
Fensterbereich der nichtformatierten Daten 404 des Datei-Browsers/-Editors 402 ausgewählt wird
und das Datensatzmenü 452 der
Menüleiste 416 ausgewählt wird
und das Menüelement
Löschen
gewählt
wird. Der Datei-Editor wird dann den Datensatz löschen. Andernfalls kann der
Datei-Editor den Benutzer auffordern zu überprüfen, ob der ausgewählte Datensatz
gelöscht werden
sollte.
-
Einen Datensatz hinzufügen
-
Der
Datei 152 können
unter Benutzung des Fensters des Datei-Browsers/-Editors 402 auch
Datensätze
hinzugefügt
werden. Dies erfolgt, indem der Datensatz oberhalb des Standortes
ausgewählt
wird, an dem in dem Fensterbereich der nichtformatierten Daten 404 ein
neuer Datensatz eingefügt
werden soll. Dann wählt der
Benutzer das Datensatzmenü 452,
wählt dann
das Menüelement
Einfügen
Neu oder Einfügen
Duplikat. Der Editor erzeugt dann einen Datensatz, der unmittelbar
auf den vom Benutzer ausgewählten
Datensatz folgt. Wenn der Befehl ein Befehl Einfügen Neu war, wird ein neuer,
leerer Datensatz erzeugt. Wenn der Befehl Einfügen Duplikat Datensatz hieß, wird
ein Duplikat des ausgewählten
Datensatzes erzeugt und eingefügt.
Die vorstehend beschriebenen Verfahren zum Bearbeiten des neuen
Datensatzes können
dann dafür
benutzt werden, den neuen Datensatz wie gewünscht zu verändern.
-
Erzeugen einer neuen Datei
-
Unter
Verwendung des Fensters für
den Dateibrowser/-Editor 402 kann auch eine neue Datei 152 erzeugt
werden. Dies erfolgt, indem das Dateimenü 450 ausgewählt wird,
um ein Menü zur
Dateiauswahl anzuzeigen, das ein Menüelement Neu enthält. Dies öffnet eine
Dialogbox für
eine neue Datei, das auf Anzeige 122 dargestellt wird.
Parameter für
die neue Datei werden dann in Eintragsfelder eingegeben, die in
der Dialogbox dargestellt werden, darunter einen Dateinamen, ein
Dateisystem, eine Dateiorganisation (z. B. indiziert, relativ usw.),
die Art des Datensatzes (Festlänge
oder variable Länge)
und die Datensatzlänge.
Eine "Erzeugen"-Schaltfläche in der
Dialogbox für
neue Dateien wird dann ausgewählt,
um den Vorgang abzuschließen. Das
Fenster für
den Datei-Browser/-Editor 402 zeigt dann eine neu erzeugte
leere Datei an. Die Datensätze werden
entsprechend der aktuellen Kopiedatei formatiert.
-
Datensatz-IDs
-
Datensätze werden
gewöhnlich
in der Datei 152 gespeichert, können aber von der Datei in
einen Cachespeicher 1208 gebracht werden. Eine Datensatz-ID
bezieht sich auf einen eindeutigen Datensatz, gleichgültig ob
der Datensatz in der Datei 152 oder in dem Cachespeicher 1208 gespeichert
ist, und kann als die "Nummer" eines Datensatzes
in der Datei 152 oder in Cachespeicher 1208 angesehen
werden. Die Datensatz-ID bezieht sich zu einem Zeitpunkt auf einen
und nur auf einen Datensatz. Die Datensatz-ID hat einen einstelligen
++Operator (d. h., er kann aufgefordert werden, sich selbst "zu erhöhen", genau so wie eine
ganze Zahl aufgefordert werden kann, selbst weiterzuzählen). Daher
kann sich die Datensatz-ID auf den "nächsten" Datensatz beziehen,
nachdem der Operator aufgerufen worden ist.
-
Die
Datensatz-ID kann als Parameter (z. B. getTextLines()) an eine Funktion
geschickt werden. Diese Funktion wird die Datensatz-ID dafür benutzen,
in der Datei 152 oder in Cachespeicher 1208 den
ersten interessierenden Datensatz zu finden. Innerhalb der Funktion
getTextLines() wird eine Datensatz-ID-Kopie an das Datei-/Cachespeicher-Untersystem
geschickt. Der erforderliche Datensatz befindet sich entweder im
Cachespeicher 1208 oder wird aus der Datei 152 in
den Cachespeicher 1208 eingelesen, und sein Zeiger wird
zurückgeschickt.
Die Kopie der Datensatz-ID kann weitergezählt werden, um nachfolgende
interessierende Datensätze
zu finden (z. B., um eine Anzeige mit 10 Zeilen aus 10 Datensätzen aufzufüllen). In
der Zwischenzeit hat der Aufrufer von getTextLines() noch die ursprüngliche
(unveränderte)
Datensatz-ID, die
den obersten Datensatz in der Anzeige kennzeichnet.
-
Die
Datensätze
sind in der Datei 152 und/oder in Cachespeicher 1208 geordnet.
Wenn die Datei eine indizierte VSAM-Datei ist, geht der ++Operator
in der Reihenfolge der Datensatzschlüssel die Datensätze durch.
-
Es
kann eine Datensatz-ID erzeugt werden, die sich auf den Anfang der
Datei 152 bezieht. Ein ++Vorgang veranlasst, dass der erste
Datensatz in der Datei 152 gekennzeichnet wird. Es kann
auch eine Datensatz-ID erzeugt werden, die sich auf das Ende der
Datei 152 (z. B. der "minus-minus-" oder "--"-Vorgang veranlasst,
dass der letzte Datensatz in der Datei gekennzeichnet werden soll)
bezieht.
-
Unter
Verwendung der Datensatz-ID können
zusätzliche
arithmetische Vorgänge
ausgeführt
werden. Beispielsweise kann der Aufrufer der Funktion getTextLines()
in der Datei 152 "abwärts blättern". Dies wird dadurch
bewerkstelligt, dass ein Vorgang "Datensatz-ID +=10" ausgeführt wird.
-
Wenn
zu viele Datensätze
angefordert werden (unter Verwendung eines beliebigen unterstützten Addieroperators),
verändert
sich der Status der Datensatz-ID auf "Ende der Datei", und das Datei-/Cachespeicher-Untersystem schickt NULL-Zeiger
zurück.
Dies veranlasst auf geeignete Weise, dass die letzte Anzeige geändert werden
soll (z. B. fünf
Zeilen statt der üblichen
zehn).
-
Definieren und Anzeigen von
Datenuntermengen
-
10 ist
ein Flussbild, das die Vorgänge
darstellt, die dafür
benutzt werden, eine Untermenge von Daten in der Datei 152 zu erzeugen
und anzuzeigen. Zuerst wird, wie in Block 1002 dargestellt,
ein Datenuntermengenobjekt erzeugt und ein Datenuntermengen-Kennzeichner
(ID) zugeordnet. Die Datenuntermenge gehört zu einer Gruppen-ID-Klasse.
Die Gruppen-ID-Klasse
gibt Schnittstellen vor, wie etwa einen einstelligen ++Operator.
Nachdem er aufgerufen worden ist, aktualisiert der ++Operator Verweise,
die sie zum nächsten Datensatz
führen.
Die Gruppen-ID-Klasse hat eine Datensatz-ID-Unterklasse und eine
Untermengen-Unterklasse. Da Unterklassen die Schnittstellen in Betracht
ziehen müssen,
die sie aus hierarchisch höherstehenden
Klassen mitgeschleppt haben (in diesem Falle die Gruppen-ID-Klasse), stellen
die Datensatz-ID- und Untermengen-Unterklassen auch den einstelligen
++Operator bereit.
-
Das
Datenuntermengenobjekt umfasst eine Liste von Datensatz-IDs, die
Datensätze
kennzeichnen, die Glieder der Untermenge sind. Wenn zusätzliche
Datenuntermengen
1004 gewünscht werden, können sie, wie
in Blöcken
1004 und
1006 dargestellt,
ebenfalls definiert werden. Datensätze werden dann danach abgerufen,
wie die Gruppen-ID-Klasse quantifiziert worden ist. Wenn die Gruppen-ID-Klasse
als Untermengen-Unterklasse quantifiziert worden ist, werden in
der Liste der Datensatz-ID aufgelistete Datensätze aus der Untermenge schrittweise
abgerufen. In einer Ausführungsform
erfolgt dies, indem ein ++Vorgang an der Untermenge ausgeführt wird,
der in seiner Liste zu der nächsten
Datensatz-ID fortschreitet. Wenn die Gruppen-ID-Klasse als Datensatz-ID-Unterklasse
quantifiziert worden ist, werden Datensätze schrittweise aus der Datei
der Datensätze
abgerufen. In einer Ausführungsform
erfolgt dies durch Ausführen
eines ++Vorganges an einer Datensatz-ID, der zum nächsten Datensatz
in der Datei fortschreitet. Dies wird durch die Logik realisiert,
die in Blöcken
1008 bis
1012 dargestellt
ist, und wird weiter in nachstehender Tabelle I zusammengefasst:
Matrixindex | Zeigertyp | Quantifizier-te
Klasse | ++Vorgang |
0 | Gruppen-ID | Datensatz-ID | Geht zu nächstem Datensatz
in Datei |
1 | Gruppen-ID | Untermenge | Geht zu nächstem Datensatz
in Untermenge 1 |
2 | Gruppen-ID | Untermenge | Geht zu nächstem Datensatz
in Untermenge 2 |
3 | Gruppen-ID | Untermenge | Geht zu nächstem Datensatz
in Untermenge 3 |
4 | Gruppen-ID | Untermenge | Geht zu nächstem Datensatz
in Untermenge 4 |
Tabelle
I
-
11 und 12 sind
Schaubilder, die das Erzeugen eines Datenuntermengenobjektes veranschaulichen.
Zuerst wird ein durch eine Gruppen-ID 1206 gekennzeichnetes
Datenuntermengenobjekt 1202 definiert. Dies wird in Block 1102 veranschaulicht.
Dann werden in der Datei 152 und in Cachespeicher 1208 die
Datensätze 1210 gesucht
(unter Verwendung eines Vorganges "Suche Alle ()" oder eines ähnlichen Vorganges), um Datensätze 1210 zu
suchen, die ein Suchkriterium erfüllen. Dies wird in Block 1104 veranschaulicht.
Dann wird, wie in Block 1106 gezeigt, die Datensatz-ID 1204 für jeden
Datensatz, der die Suchkriterien erfüllt (und sich damit in der
definierten Datenuntermenge befindet) in dem Datenuntermengenobjekt 1202 gespeichert
und mit einem Untermengen-Matrixindex 1206 verbunden.
-
Der
Daten-Editor speichert auch Metadaten des Datensatzes, die den Datensatzstatus
enthalten. Diese Metadaten können
auch in den Suchkriterien enthalten sein. Beispielsweise könnten die
Suchkriterien 1402 ein Befehl sein, wie etwa "&dup='D'", um alle Datensätze mit
duplizierten Schlüsseln
zu suchen. Dies könnte für VSAM-indizierte
Dateien von Nutzen sein, weil der Schlüsselfeldname und -Wert in den
booleschen Suchkriterien logisch mit ODER verknüpft werden könnte, um
eine Untermenge von jeglichen Schlüsseln mit einem Kollisionsproblem
zu finden, denen Aufmerksamkeit gezollt werden muss. Die Suchkriterien 1402 könnten auch
ein Befehl sein, wie etwa "&mod='M'".
Dies erlaubt das Auffinden aller veränderten Datensätze und
ihre Überprüfung, ehe
sie festgeschrieben werden, indem sie in einer Datei 152 gespeichert
werden.
-
13 ist
ein Diagramm, das eine beispielhafte Benutzerschnittstelle zum Erzeugen
eines Datenuntermengenobjektes 1202 zeigt. Hier hat der
Benutzer eine Datei 152 und eine Kopiedatei 150 geöffnet, und
der Anzeige-Editor
hat die Datensätze
in den Fensterbereichen für
formatierte Daten 406 und für nichtformatierte Daten 404 angezeigt.
Fensterbereich für
nichtformatierte Daten 404 zeigt einen Teil der Datensätze an,
die gesucht werden. Feldnamen 1306 werden in dem formatierten
ersten Fensterbereich 410 angezeigt. Datensätze, die
derzeit in dem Fensterbereich der nichtformatierten Daten 404 nicht
sichtbar sind, können
unter Verwendung der Schiebeleiste 1302 angesehen werden.
In Befehlszeile 1304 werden Suchbefehle eingegeben, um Suchkriterien
und andere wichtige Informationen zu definieren.
-
14 ist
ein Schaubild, das den Eintrag von Suchkriterien zum Erzeugen des
Datenuntermengenobjektes zeigt. Die Befehlszeile 1304 gestattet
es dem Benutzer, ein Suchkriterium 1402 und eine Suchquelle 1404 und
einen Operanden der Datenuntermengen-ID 1406 einzugeben.
In dieser Veranschaulichung hat der Benutzer um eine Suche gebeten,
um alle Datensätze
im Dateinamen "Datei" zu finden, für die der
Wert des variablen "vsamaa-Status" gleich "CA" ist, und hat angezeigt,
dass die Ergebnisse der Suche in einem Datenuntermengenobjekt mit
dem Namen "Untermenge
1" gespeichert werden
sollen. Die Suchkriterien 1402 können auch eine Suchkette umfassen,
die boolesche Logik realisiert.
-
15 ist
ein Schaubild, das die Ergebnisse der in 14 beschriebenen
Suchkriterien zeigt. Es ist anzumerken, dass es alle Datensätze in der
Datei sind, für
welche die "vsamaa- Status"-Variable gleich "CA" ist.
-
16 ist
ein Flussbild, das eine beispielhafte Ausführungsform der Vorgänge veranschaulicht,
die benutzt werden, um zusätzliche
Datenuntermengen zu definieren. Zuerst wird eine zweite Datenuntermenge definiert
und mit einer zweiten Gruppen-ID verbunden, wie in Block 1602 dargestellt.
Dann werden die Datensätze
durchsucht, um Datensätze
zu finden, die ein zweites Suchkriterium erfüllen. Dies wird in Block 1604 veranschaulicht.
Schließlich
wird die Datensatz-ID für
jeden Datensatz in dem zweiten Datenuntermengenobjekt gespeichert,
der das zweite Suchkriterium erfüllt.
-
Das
Vorstehende kann mit einem Befehl "findAll()" oder einem ähnlichen Vorgang wie vorstehend
beschrieben bewerkstelligt werden. In einer Ausführungsform nimmt der Befehl "findAll()" zwei Gruppen-ID-Parameter
an. Der erste Gruppen-ID-Parameter gibt die Quelle (Datei oder Untermenge)
für die
Suche vor, und der zweite Gruppen-ID-Parameter gibt den Bestimmungsort
vor, an dem die Übereinstimmungen
aufgezeichnet werden sollen, die durch die Suche gefunden worden
sind. Dies gestattet das Durchsuchen der Datenuntermengen.
-
In
dem veranschaulichten Beispiel ist das zweite Suchkriterium auf
das Ergebnis der Einwirkung des ersten Suchkriteriums, Untermenge
1, angewandt worden. Daher wird die Untermenge, die aus den vorhergehenden
Vorgängen
definiert ist, aus denjenigen Datensätzen bestehen, die sowohl das
erste als auch das zweite Suchkriterium erfüllen, und die zweite Datenuntermenge
ist aus der ersten Datenuntermenge erzeugt worden.
-
17 ist
ein Schaubild, das eine beispielhafte Benutzerschnittstelle zum
Eingeben des zweiten Suchkriteriums veranschaulicht. In dem veranschaulichten
Beispiel hat der Benutzer nach der Anwendung des ersten Suchkriteriums
(das zu der ersten Datenuntermenge führte) in die Befehlszeile 1304 eine
Zeichenkette eingegeben, mit der angezeigt wird, dass das Suchkriterium
darin besteht, Datensätze
mit "Städte"-Werten für die "vsamaa-Stadt"-Variable innerhalb
der Suchquelle "Untermenge
1" zu finden und
die Datensatz-IDs für
die Datensätze,
die das Suchkriterium erfüllen,
in einem Datenuntermengenobjekt zu speichern, das als "Untermenge 2" bekannt ist. In
einer anderen Ausführungsform
kann ein dritter Operand (zusätzlich
zu der Suchquelle 1404 und Datenuntermengen-ID 1406),
wie etwa "[append]" benutzt werden,
um das Hinzufügen
zu einer Untermenge statt des Beginns mit einer neuen vorzugeben.
-
18 ist
ein Schaubild, das die Ergebnisse der Anwendung des zweiten Suchkriteriums
auf die erste Datenuntermenge zeigt. Es ist anzumerken, dass die
in dem nichtformatierten Fensterbereich 404 gezeigten Datensätze diejenigen
sind, die sowohl das erste als auch das zweite Suchkriterium erfüllen.
-
Zusätzlich oder
als Alternative zur vorstehend beschriebenen Suchtechnik können Datenuntermengen mit
anderen Verfahren definiert werden. Beispielsweise kann eine Datenuntermenge
direkt dadurch definiert werden, dass Datensätze ausgewählt und bezeichnet werden,
die eine GUI-Schnittstelle im nichtformatierten Fensterbereich 404 benutzen.
Gleicherweise kann die vorstehend beschriebene Suchtechnik benutzt
werden, und es können
ebenfalls durch Auswahl und Bezeichnung aus der sich ergebenden
Datenuntermenge Datensätze
ausgeschieden werden.
-
Anzeigen von Datenuntermengen
-
19 veranschaulicht
den Vorgang des Anzeigens von Datenuntermengen. Nachdem ein Datenuntermengenobjekt
erzeugt worden ist und die Datensätze durch einen Vorgang "findAll()" oder Ähnliches
durchsucht worden sind, werden Datensätze in dem Cachespeicher 1208 oder
in Datei 152 nacheinander durch einen Befehl 1904 in
einen Dateizwischenspeicher eingelesen. Der Fortgang durch die Datei 152 oder
durch Cachespeicher 1208 wird in einer Datensatz-ID aufgezeichnet.
Treffer (Datensätze,
die das Suchkriterium erfüllen)
werden in einer Datensatz-ID-Liste aufgezeichnet, die von dem Datenuntermengenobjekt
geführt
wird. Wenn eine Anzeigegrenze 1902 von Datensätzen (in 19 als "n" dargestellt) angesammelt worden ist
(entsprechend des zum Anzeigen von Datensätzen zur Verfügung stehenden
Anzeigeplatzes), kehrt der Vorgang "findAll()" zurück,
was das Anzeigen der bis dahin gefundenen Datensätze ermöglicht. Gleichzeitig wird ein
getrennter Auftrag (thread) erzeugt, um durch Datei 152 oder
Cachespeicher 1208 in der gleichen Richtung mit den Vorgängen "findAll()" fortzufahren. Der
Datensatz-ID-Liste
werden jegliche Treffer hinzugefügt
und stehen zu nachfolgenden Anzeigen bereit. Wenn die Anzahl von
Datensatz-IDs im Speicher eine Schwelle überschreitet, wird ein zweiter
Algorithmus aufgerufen, und die Datei 152 oder Cachespeicher 1208 werden
unter Verwendung der gespeicherten Suchkriterien erneut durchsucht,
um die Datensatz-IDs neu aufzubauen, wie es die notwendige Anzeige
der Datensätze
erforderlich macht.
-
Ein
Vorgang getTextLines() oder ein ähnlicher
Vorgang 1906 wird benutzt, um die Datensätze anzuzeigen,
welche die ausgewählten
Suchkriterien erfüllen.
Der Vorgang getTextLines() nimmt einen Quellenparameter 1908 (z.
B. die Gruppen-ID), der den ersten Datensatz kennt, der angezeigt
werden soll, und ein Inkrement (n) an, das anzeigt, wie viele nachfolgende
Datensätze
angezeigt werden. Die Gruppen-ID 1908 zeigt auf eine Instanz,
an der die Datensatz-ID-Liste abgerufen wird, welche die Datensätze beschreibt,
die angezeigt werden sollen. Wenn die Gruppen-ID als Untermenge
quantifiziert worden ist (was eintritt, wenn der Matrixindex ≠ 0 ist), werden
die angezeigten Datensätze
diejenigen mit Datensatz-IDs sein, die in dem Datenuntermengenobjekt
aufgelistet sind. Wenn die Gruppen-ID als Datensatz-ID quantifiziert
worden ist (was eintritt, wenn der Matrixindex = 0 ist), werden
die angezeigten Datensätze
direkt aus der Datei ausgelesen. In dem in 19 veranschaulichten
Beispiel zeigt eine Gruppen-ID, die mit einer "1" indiziert
ist, an, dass die angezeigten Datensätze diejenigen sind, die in
dem Datenmengenobjekt 1910 aufgelistet sind, während dann,
wenn die Gruppen-ID mit einer "2" indiziert ist, die
angezeigten Datensätze
diejenigen sind, die in dem Datenmengenobjekt 1912 aufgelistet
sind. Wenn die Gruppen-ID auf "0" gesetzt wird, werden
die Anzeigezeilen aus dem Dateiobjekt 1914 aufgebaut, das
mit einer Datei und/oder einem Cachespeicher 152 verbunden
ist, und nicht aus einer Datenuntermenge. Sowohl die Untermengen-
als auch die Datensatz-ID-Unterklassen haben einen ++Vorgang. Dies
gestattet es ihnen, zum nächsten
Datensatz in der Untermenge oder Datei vorzugehen, bis n Treffer
angesammelt worden sind.
-
Auswählen von Untermengen zur Ansicht
-
20 zeigt
eine beispielhafte Ausführungsform
der Benutzerschnittstelle, mit welcher der Benutzer auswählen kann,
welche Datenuntermengen in dem Datei-Editor dargestellt werden.
In der veranschaulichenden Ausführungsform
wählt der
Benutzer die gesamte Datei aus, indem er die Aktionsfensteransicht 454 wählt. Der
Benutzer kann dann die Dateioption 2002 auswählen, um
alle Datensätze
in der Datei 152 aktuell und in dem Fensterbereich der
nichtformatierten Daten 404 ansehbar zu machen. Andernfalls
kann der Benutzer die Option 2004 für Untermenge 1 auswählen, um
Untermenge 1 zur aktuellen Untermenge zu machen und alle Datensätze in Untermenge
1 in dem Fensterbereich der nicht formatierten Daten 404 anzusehen.
Option 2006 für
Untermenge 2 wird mit einem Symbol markiert, um zu zeigen, dass
die Datensätze
in Untermenge 2 derzeit in dem nichtformatierten Fensterbereich 404 angezeigt
werden. Optionen 2008 und 2010 für Untermengen
3 und 4 sind nicht verfügbar,
wie es durch die graue Schriftform angezeigt wird.
-
Sobald
sie erzeugt und angezeigt werden, können die "Datensätze" der aktuellen Untermenge, d. h. Datei-Datensätze, die
durch Datensatz-IDs in der aktuellen Untermenge gekennzeichnet sind,
unter Verwendung der Fähigkeit
des Datei-Editors zu rollen, aufzufinden und zu bearbeiten, genau
so verändert
werden, wie es der Fall wäre,
wenn sich die Datensätze
in der Datei 152 befänden.
Ein Datensatz in einer Untermenge kann auch gelöscht werden, wobei der Datensatz
aus der Datei 152 gelöscht
wird, wenn die Datei 152 gespeichert wird. Es können, wie
gewünscht,
der Untermenge ausgewählte
Datensätze
hinzugefügt
oder von ihr abgezogen werden.
-
Speichern von Untermengen
-
21 und 22 sind
Schaubilder, die eine Benutzerschnittstelle zum Speichern von Datenuntermengen
zeigen. 21 zeigt ein Aktionsfenstermenü, das dem
Benutzer dann vorgelegt wird, wenn das Dateimenü 450 ausgewählt wird.
Der Benutzer kann wählen,
die aktuelle Untermenge zu speichern, indem er die Option 2102 "Untermenge speichern
unter..." auswählt. Wenn
diese Option gewählt
wird, ein "Speichern
Untermenge unter Datei",
wird die in 22 dargestellte Dialogbox 2202 vorgelegt.
Der Benutzer kann dann einen Namen in das Eingabefeld für den Dateinamen 2204 eingeben
und die OK-Schaltfläche 2206 wählen, um die
aktuelle Datenuntermenge zu speichern.
-
Durchführen von Gruppenvorgängen mit
Datenuntermengen
-
23 ist
ein Flussbild, das eine Ausführungsform
der Schritte darstellt, die benutzt werden, um Gruppenvorgänge auf
zwei vorhandene Datenuntermengen anzuwenden, um eine dritte Untermenge
zu definieren. Zuerst wird, wie in Block 2302 dargestellt,
eine dritte Datenuntermenge definiert und mit einer dritten Gruppen-ID
verbunden. Dann wird an den Gliedern der ersten Datenuntermenge
und der zweiten Datenuntermenge ein Vorgang ausgeführt, und
die Datensatz-ID für
jeden Datensatz, der den Vorgang erfüllt, wird in dem dritten Datenuntermengenobjekt
gespeichert. Dies ist in Blöcken 2304 und 2306 dargestellt.
-
24 stellt
eine beispielhafte Veranschaulichung von Untermengenvorgängen dar.
Diese Untermengenvorgänge
enthalten einen ADDIER-Vorgang, in dem alle Datensätze aus
der ersten Eingabedatenuntermenge und der zweiten Eingabedatenuntermenge
verknüpft,
werden, um eine Ausgabedatenuntermenge zu bilden; einen EXKLUSIV-ODER-Vorgang,
in dem die Ausgabedatenmenge die Glieder umfasst, die sich in der ersten
Eingabedatenuntermenge oder der zweiten Eingabedatenuntermenge befinden,
aber nicht in beiden Untermengen sind; und einen ODER-Vorgang, in
dem die Ausgabedatenuntermenge sowohl Glieder der ersten Eingabedatenuntermenge
als auch der zweiten Eingabedatenuntermenge umfasst, jedoch keine
Duplikat-Einträge.
Es können
unter Benutzung von Kombinationen aus dem Vorstehenden oder durch
getrennte logische Definition andere Gruppenvorgänge definiert werden. Jeder
Gruppenvorgang kann je nach Wunsch auf den gesamten Datensatz oder
einen beliebigen Teil des Datensatzes angewandt werden. Es kann
auch eine Untermenge aus zwei unterschiedlichen Dateien gebildet
werden. In einer Ausführungsform
wird dem Benutzer eine Dialogbox vorgelegt, die es dem Benutzer
gestattet, zwei Instanzen für
Eingabeuntermengen, die dritte Datenuntermenge (die eine Ausgabeuntermengen-Instanz
sein wird) und einen Vorgang vorzugeben, um die dritte Datenuntermenge
zu definieren.
-
Schlussfolgerung
-
Dies
beschließt
die Beschreibung von bevorzugten Ausführungsformen der vorliegenden
Erfindung. Zusammengefasst beschreibt die vorliegende Erfindung
ein Verfahren, eine Vorrichtung und einen Herstellungsgegenstand
zum Bilden und Anzeigen von Datenuntermengen, die aus einer Datei
aus Datensätzen
gebildet werden.
-
Es
werden Datenuntermengen definiert, und ein Datenuntermengenobjekt
wird erzeugt, das eine Liste von Datensatz-IDs enthält, die
Datensätze
kennzeichnen, die Glieder der definierten Datenuntermenge sind. Das
Datenuntermengenobjekt gehört
zu einer Gruppen-ID-Klasse, die eine Datensatz-ID-Unterklasse und eine
Untermengen-Unterklasse hat. Wenn die Gruppen-ID-Klasse als Untermengen-Unterklasse
quantifiziert wird, werden die in der Datensatz-ID-Liste aufgelisteten
Datensätze
schrittweise nach der Datensatz-ID-Liste abgerufen. Wenn die Gruppen-ID-Klasse
als Datensatz-ID-Unterklasse quantifiziert worden ist, werden Datensätze schrittweise
aus der Datei abgerufen. Der Herstellungsgegenstand umfasst eine
Datenspeichervorrichtung, die Befehle zum Ausführen der vorstehend beschriebenen
Verfahrensschritte gegenständlich
realisiert.
-
Die
Vorrichtung umfasst ein Mittel zum Erzeugen eines Datenuntermengenobjektes,
das eine Liste von Datensatz-IDs hat, die Datensätze kennzeichnen, die Glieder
der Datenuntermenge sind, und ein Mittel zum schrittweisen Abrufen
der Datensätze,
die in der Datensatz-ID-Liste aufgelistet sind. Das Datenuntermengenobjekt
gehört
zu einer Gruppen-ID-Klasse, die eine Datensatz-ID-Unterklasse und
eine Untermengen-Unterklasse hat. Die in der Datensatz-ID-Liste
aufgelisteten Datensätze
werden schrittweise abgerufen, wenn die Gruppen-ID-Klasse als Untermengen-Unterklasse
quantifiziert worden ist, und Datensätze werden schrittweise aus
der Datei aus Datensätzen
abgerufen, wenn die Gruppen-ID-Klasse als Datensatz-ID-Unterklasse quantifiziert
worden ist.
-
Das
Vorstehende kann dafür
benutzt werden, mehrere Datenuntermengen zu definieren und an diesen
Untermengen Vorgänge
durchzuführen,
um zusätzliche
Datenuntermengen zu definieren. Zusätzliche Datenuntermengen können unter
Verwendung eines zweiten Such- oder Auffinde-Befehles definiert
werden, der ein zweites Suchkriterium beschreibt, oder sie können definiert
werden, indem auf schon erzeugte Datenuntermengen ein Such- oder
Auffinde-Befehl einwirkt, der ein Suchkriterium vorgibt. Sobald
mehrere Datenuntermengen definiert worden sind, können Gruppenbeziehungen
zwischen den Untermengen dafür
benutzt werden, zusätzliche
Datenuntermengen zu definieren. Weiterhin können, obwohl das Vorstehende
im Hinblick auf das Erzeugen und Handhaben von Untermengen beschrieben
wird, die aus einer einzigen Datei gebildet werden, die gleichen
Prinzipien so angewandt werden, dass sie zwei Gruppen-IDs als 2
Datensatz-IDs definieren, die zu zwei Dateien gehören. Das
heißt,
die hier beschriebenen Datensatz-IDs und Quellen-IDs könnten zu
zwei oder mehr unterschiedlichen Dateien gehören. Dies würde es gestatten, logische
Funktionen, z. B. EXKLUSIV-ODER-Funktionen auszuführen, um
die Datensätze
in zwei unterschiedlichen Dateien zu vergleichen oder Untermengen
zu definieren, die Datensätze
aus zwei unterschiedlichen Dateien enthalten.
-
Die
vorstehende Beschreibung der bevorzugten Ausführungsform der Erfindung ist
zum Zwecke der Veranschaulichung und Beschreibung vorgelegt worden.
Es besteht nicht die Absicht, dass sie umfassend ist oder die Erfindung
auf die genaue Form festlegt, die dargelegt worden ist. Angesichts
der vorstehenden Darlegung sind viele Veränderungen und Abweichungen
möglich.
Es besteht die Absicht, dass der Umfang der Erfindung nicht durch
diese ausführliche
Beschreibung, sondern statt dessen durch die hier anhängenden
Ansprüche
begrenzt wird. Die vorstehende Darlegung, die Beispiele und Daten
bieten eine vollständige
Beschreibung des Aufbaus und der Verwendung der Beschaffenheit der
Erfindung. Da viele Ausführungsformen
der Erfindung realisiert werden können, ohne dass vom Sinn und
Umfang der Erfindung abgewichen wird, beruht die Erfindung auf den
hier anhängenden
Ansprüchen.