DE19959765B4 - Datei-Editor für mehrere Datenuntermengen - Google Patents

Datei-Editor für mehrere Datenuntermengen Download PDF

Info

Publication number
DE19959765B4
DE19959765B4 DE19959765A DE19959765A DE19959765B4 DE 19959765 B4 DE19959765 B4 DE 19959765B4 DE 19959765 A DE19959765 A DE 19959765A DE 19959765 A DE19959765 A DE 19959765A DE 19959765 B4 DE19959765 B4 DE 19959765B4
Authority
DE
Germany
Prior art keywords
file
data
records
record
subset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE19959765A
Other languages
English (en)
Other versions
DE19959765A1 (de
Inventor
Allen Kent Morgan Hill Hawley
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE19959765A1 publication Critical patent/DE19959765A1/de
Application granted granted Critical
Publication of DE19959765B4 publication Critical patent/DE19959765B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Computer-implementiertes Verfahren zum Definieren und Anzeigen von Datenuntermengen einer Datei (152) in einem Datei-Editor/-Browser, wobei die Datei Daten in Form von Datensätzen (610) umfasst, die anhand eines jeweils zugeordneten Schlüssels (422B) in der Datei sortiert und jeweils mit einer eindeutigen Datensatz-ID (422A) versehen sind, wobei der Datei-Editor/-Browser die Selektion von Datensätzen aus der Datei zur Anzeige über schlüsselbezogene Suchkriterien erlaubt, und der Datei-Editor/-Browser Kopien selektierter Datensätze aus der Datei in einem Cachespeicher (1208) speichert und die Kopien anzeigt, wobei bei der Selektion zuerst die Kopien von Datensätzen im Cachespeicher untersucht werden,
das Verfahren umfassend die folgenden Schritte:
– Instanziieren eines Datenuntermengenobjektes (1202);
– Definieren einer Datenuntermenge durch Selektieren von Datensätzen (1210) aus der Datei und Erzeugen einer Liste (1204) der Datensatz-IDs der selektierten Datensätze in dem Datenuntermengenobjekt;
– Anzeigen einer Datenuntermenge durch Auswahl eines Datenuntermengenobjekts, wobei zuerst alle Datensätze aus der Liste von Datensatz-IDs des Datenuntermengenobjekts...

Description

  • 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.

Claims (7)

  1. Computer-implementiertes Verfahren zum Definieren und Anzeigen von Datenuntermengen einer Datei (152) in einem Datei-Editor/-Browser, wobei die Datei Daten in Form von Datensätzen (610) umfasst, die anhand eines jeweils zugeordneten Schlüssels (422B) in der Datei sortiert und jeweils mit einer eindeutigen Datensatz-ID (422A) versehen sind, wobei der Datei-Editor/-Browser die Selektion von Datensätzen aus der Datei zur Anzeige über schlüsselbezogene Suchkriterien erlaubt, und der Datei-Editor/-Browser Kopien selektierter Datensätze aus der Datei in einem Cachespeicher (1208) speichert und die Kopien anzeigt, wobei bei der Selektion zuerst die Kopien von Datensätzen im Cachespeicher untersucht werden, das Verfahren umfassend die folgenden Schritte: – Instanziieren eines Datenuntermengenobjektes (1202); – Definieren einer Datenuntermenge durch Selektieren von Datensätzen (1210) aus der Datei und Erzeugen einer Liste (1204) der Datensatz-IDs der selektierten Datensätze in dem Datenuntermengenobjekt; – Anzeigen einer Datenuntermenge durch Auswahl eines Datenuntermengenobjekts, wobei zuerst alle Datensätze aus der Liste von Datensatz-IDs des Datenuntermengenobjekts in den Cachespeicher kopiert werden, und danach eine schrittweise Anzeige der kopierten Datensätze über Schnittstellen des zugehörigen Datenuntermengenobjekts erfolgt.
  2. Verfahren nach Anspruch 1, wobei der Schritt des Anzeigens einer Datenuntermenge begonnen wird, wenn eine Anzeigegrenze von Datensätzen selektiert wurde, und wobei das Selektieren von Datensätzen aus der Datei und das Erzeugen der Liste von Datensatz-IDs in einem separaten Ausführungs-Thread fortgesetzt wird.
  3. Verfahren nach einem der Ansprüche 1 oder 2, wobei das Selektieren von Datensätzen durch Kopieren von Datensätzen aus der Datei oder dem Cachespeicher in einen Zwischenspeicher erfolgt.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei bei Erreichen einer Maximalzahl von Datensatz-IDs in einer Liste von Datensatz-IDs die Liste unter Verwendung gespeicherter schlüsselbezogener Suchkriterien neu aufgebaut wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei neue Datenuntermengen aus Datenuntermengenobjekten gebildet werden.
  6. Computerprogramm mit Programmcode zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 5, wenn das Computerprogramm auf einem Computer abläuft.
  7. Computerprogramm-Produkt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode umfassend ein Computerprogramm nach Anspruch 6.
DE19959765A 1998-12-15 1999-12-11 Datei-Editor für mehrere Datenuntermengen Expired - Lifetime DE19959765B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/211,543 1998-12-15
US09/211,543 US6343294B1 (en) 1998-12-15 1998-12-15 Data file editor for multiple data subsets

Publications (2)

Publication Number Publication Date
DE19959765A1 DE19959765A1 (de) 2000-06-29
DE19959765B4 true DE19959765B4 (de) 2009-04-16

Family

ID=22787368

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19959765A Expired - Lifetime DE19959765B4 (de) 1998-12-15 1999-12-11 Datei-Editor für mehrere Datenuntermengen

Country Status (2)

Country Link
US (1) US6343294B1 (de)
DE (1) DE19959765B4 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6791585B1 (en) * 2000-01-21 2004-09-14 International Business Machines Corporation Computer method and system for reconciling disparate data archival mediums
US7490092B2 (en) 2000-07-06 2009-02-10 Streamsage, Inc. Method and system for indexing and searching timed media information based upon relevance intervals
WO2003046800A1 (en) * 2001-11-21 2003-06-05 Software Engineering 2000, Inc. System process and logic element for providing and managing record keeping applications
CA2538568C (en) 2003-09-15 2009-05-19 Ab Initio Software Corporation Data profiling
KR100644159B1 (ko) * 2005-09-05 2006-11-10 엔에이치엔(주) 검색 컨트롤러 제어 방법 및 그 장치
US8713016B2 (en) 2008-12-24 2014-04-29 Comcast Interactive Media, Llc Method and apparatus for organizing segments of media assets and determining relevance of segments to a query
US11531668B2 (en) 2008-12-29 2022-12-20 Comcast Interactive Media, Llc Merging of multiple data sets
US8176043B2 (en) 2009-03-12 2012-05-08 Comcast Interactive Media, Llc Ranking search results
US20100250614A1 (en) * 2009-03-31 2010-09-30 Comcast Cable Holdings, Llc Storing and searching encoded data
US8533223B2 (en) 2009-05-12 2013-09-10 Comcast Interactive Media, LLC. Disambiguation and tagging of entities
US9892730B2 (en) 2009-07-01 2018-02-13 Comcast Interactive Media, Llc Generating topic-specific language models
US9449057B2 (en) 2011-01-28 2016-09-20 Ab Initio Technology Llc Generating data pattern information
CN110096494B (zh) 2012-10-22 2024-04-26 起元科技有限公司 使用源跟踪剖析数据
US9892026B2 (en) 2013-02-01 2018-02-13 Ab Initio Technology Llc Data records selection
US11487732B2 (en) 2014-01-16 2022-11-01 Ab Initio Technology Llc Database key identification
JP6427592B2 (ja) 2014-03-07 2018-11-21 アビニシオ テクノロジー エルエルシー データ型に関連するデータプロファイリング操作の管理
US9372881B1 (en) * 2015-12-29 2016-06-21 International Business Machines Corporation System for identifying a correspondence between a COBOL copybook or PL/1 include file and a VSAM or sequential dataset
US10108632B2 (en) * 2016-05-02 2018-10-23 Google Llc Splitting and moving ranges in a distributed system
US10929346B2 (en) 2016-11-14 2021-02-23 Tuxera, Inc. Systems and methods for storing large files using file allocation table based file systems
US10838913B2 (en) * 2016-11-14 2020-11-17 Tuxera, Inc. Systems and methods for storing large files using file allocation table based file systems
US11194804B2 (en) * 2017-12-05 2021-12-07 Walmart Apollo, Llc System and method for an index search engine
US11068540B2 (en) 2018-01-25 2021-07-20 Ab Initio Technology Llc Techniques for integrating validation results in data profiling and related systems and methods

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5262943A (en) * 1991-10-15 1993-11-16 National Computer Systems, Inc. System and process for information management and reporting
US5615400A (en) * 1993-06-30 1997-03-25 Apple Computer, Inc. System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers
US5838965A (en) * 1994-11-10 1998-11-17 Cadis, Inc. Object oriented database management system
US5787274A (en) * 1995-11-29 1998-07-28 International Business Machines Corporation Data mining method and system for generating a decision tree classifier for data records based on a minimum description length (MDL) and presorting of records
US6208993B1 (en) * 1996-07-26 2001-03-27 Ori Software Development Ltd. Method for organizing directories
US5960199A (en) * 1996-11-12 1999-09-28 International Business Machines Corporation Model trace view for object-oriented systems
US6082776A (en) * 1997-05-07 2000-07-04 Feinberg; Lawrence E. Storing personal medical information
US6182107B1 (en) * 1997-06-03 2001-01-30 Object Technology Licensing Corporation Management of reference object lifetimes in object oriented programs

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHENG,J. [u.a.]: >>An Efficient Hybrid Join Algori thm: A DB2 Prototype<<, 1991, IEEE Data Engineerin g Conference, ISBN: 0-8186-2138-9, S.171-180
CHENG,J. [u.a.]: An Efficient Hybrid Join Algorithm: A DB2 Prototype , 1991, IEEE Data Engineering Conference, ISBN: 0-8186 2138-9, S.171-180 *

Also Published As

Publication number Publication date
US6343294B1 (en) 2002-01-29
DE19959765A1 (de) 2000-06-29

Similar Documents

Publication Publication Date Title
DE19959765B4 (de) Datei-Editor für mehrere Datenuntermengen
EP0910829B1 (de) Datenbanksystem
DE60319229T2 (de) Verfahren und system zur erweiterung der api eines dateisystems
DE69434096T2 (de) Verfahren und System, um mit einer graphischen Benutzerschnittstelle in einer Datenbank zu suchen
DE10051645B4 (de) Prozesssteuersystem und Verfahren zum Kontrollieren eines Prozesses
DE60036303T2 (de) Methode und modell für dynamische anfragen
DE60008498T2 (de) Verfahren und System zum Addieren und Löschen von Elementen in einem Bereich von mit Namen versehenen Zellen entsprechend verschiedener Methoden in einem elektronischen Kalkulationsblatt
DE10000124A1 (de) Verfahren zum Übertragen und Indexieren von Daten von alten Medien zu neuen Medien
DE60208778T2 (de) Datenstruktur für informationssysteme
DE19844013A1 (de) Strukturierter Arbeitsordner
DE602004003139T2 (de) System und verfahren für eine datentabelle zur verwaltung von einfügeoperationen in rekursiven skalierbaren vorlageninstanzen
DE10245018A1 (de) Verfahren und Gerät zum Präsentieren von Ressourcen in einer Computersystemumgebung
DE3743890A1 (de) Verfahren zum schnellen eroeffnen von plattendateien
DE112005003157T5 (de) Domainspezifisches Datenelement-Mappingverfahren- und System
DE102012209711A1 (de) Systeme und Verfahren zum Verwenden grafischer Darstellungen für die Verwaltung von Abfrageergebnissen
DE10151648B4 (de) Verfahren und Vorrichtung zum Erfassen und Speichern von während einer computerbasierten Sitzung gemachten Notizen
DE69908446T2 (de) Programmfehlerbeseitigung
DE102013203831A1 (de) Verfahren und System für ein Master-Seiten-basiertes integriertes Editieren und eine dynamische Layout-Aktivierung
DE4135347C2 (de) Verfahren zur Aufrechterhaltung einer gegenseitigen Beziehung zwischen mehreren Objekten in einem für objekt-orientierte Sprache vorgesehenen Computer-System und Vorrichtung zur Durchführung eines derartigen Verfahrens
EP1276056A1 (de) Verfahren zum Verwalten einer Datenbank
EP1166228A2 (de) Verfahren zur nutzung von fraktalen semantischen netzen für alle arten von datenbank-anwendungen
EP1224579A2 (de) Verfahren zur behandlung von datenobjekten
DE102016005519B4 (de) Verfahren zur Erstellung eines Metadaten-Datenmodells für eine BI-Infrastruktur
DE602004003140T2 (de) System und verfahren in einer datentabelle zur verwaltung von löschoperationen in rekursiven skalierbaren vorlageninstanzen
DE10057634C2 (de) Verfahren zur Verarbeitung von Text in einer Rechnereinheit und Rechnereinheit

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition
R071 Expiry of right