CH638913A5 - Vorrichtung in textverarbeitungsanlagen zum auswaehlen von zum ordnen qualifizierten datensaetzen unterschiedlicher laenge. - Google Patents

Vorrichtung in textverarbeitungsanlagen zum auswaehlen von zum ordnen qualifizierten datensaetzen unterschiedlicher laenge. Download PDF

Info

Publication number
CH638913A5
CH638913A5 CH878A CH878A CH638913A5 CH 638913 A5 CH638913 A5 CH 638913A5 CH 878 A CH878 A CH 878A CH 878 A CH878 A CH 878A CH 638913 A5 CH638913 A5 CH 638913A5
Authority
CH
Switzerland
Prior art keywords
register
data
memory
field
block
Prior art date
Application number
CH878A
Other languages
English (en)
Inventor
David Allen Berger
John William Welch
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of CH638913A5 publication Critical patent/CH638913A5/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90348Query processing by searching ordered data, e.g. alpha-numerically ordered data
    • 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/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • 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/99931Database or file accessing
    • Y10S707/99937Sorting

Landscapes

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

Description

Die Erfindung betrifft eine Vorrichtung zum Auswählen von zum Ordnen qualifizierter Datensätze unterschiedlicher Länge, die in Blöcken einer in einem Speicher gespeicherten Datei stehen. Die Vorrichtung findet in Textverarbeitungsanlagen Verwendung.
Einrichtungen zur Textverarbeitung, die automatisch gedruckte Briefe oder andere Dokumente liefern, in denen jeweils ein fixer Text mit variablem Text vermischt wird, um das Dokument zu individualisieren, sind bereits bekannt. Bei einer bekannten Magnetbandschreibmaschine wurde beispielsweise der fixe Text auf einem ersten Magnetband und der variable Text auf einem zweiten Magnetband gespeichert, wobei in beiden Texten an geeigneten Stellen Umschaltcodewörter gespeichert wurden, um das Mischen der beiden Texte zum Drucken einer Serie von individualisierten Briefen ohne ständige Beaufsichtigung durch eine Bedienungsperson zu veranlassen. Eine Weiterentwicklung der genannten Schreibmaschine hat die Fähigkeit, ausgewählte Felder aus einem Satz variabler Daten ausschliesslich für die Erstellung eines Briefes zu benutzen, während andere Felder nur für die Herstellung des betreffenden Briefumschlags verwendet wurden. Einzelzeiten der genannten Magnetbandschreibmaschine sowie ihre Weiterentwicklung können aus den deutschen Offenlegungsschriften 22536352 und 27239458 entnommen werden.
Keine der bekannten Einrichtungen hat die Fähigkeit, aus der Gesamtzahl der gespeicherten Sätze automatisch diejenigen für die zu druckenden Dokumente auszuwählen, die im Sinne von durch die Bedienungsperson eingegebenen Merkmale qualifiziert sind. So kann beispielsweise in jeder Aufzeichnung in einer Datei ein Feld für den Beruf der in der Aufzeichnung genannten Person reserviert sein. Damit wäre es möglich, falls erwünscht, einen Brief beispielsweise nur an alle in der Datei aufgeführten Zahnärzte zu verschicken. Weiterhin bietet keine der bekannten Einrichtungen die Möglichkeit, die Aufzeichnungen nach irgendwelchen Sortierkriterien in einer bevorzugten Ordnung, wie alphabetisch oder nach der Postleitzahl, auszugeben. Die Aufgabe von Massensendungen s nach Postleitzahl geordnet kann für die Postdienststelle eine grosse Arbeitserleichterung bedeuten.
Das Qualifizieren und Ordnen von Daten ist seit langem gängige Praxis. So gibt die USA Patentschrift 3 343133 Einzelheiten über das Sortieren von Daten. Wenn Dokumente in io einer vorgegebenen Reihenfolge aus Aufzeichnungen erstellt werden sollen, die im Sinne vorgegebener Bedingungen qualifiziert sind, ist es erforderlich, sich die Grenzen eines praktischen Textverarbeitungssystems, wie es in Büros üblicherweise verwendet wird, zu vergegenwärtigen. Eine Speichereinheit, 15 wie ein Plattenspeicher oder Magnetbandspeicher, enthält eine Vielzahl von Blöcken fester Länge, um eine grosse Datei zu speichern. Jeder der Blöcke des Speichers kann eine grosse Anzahl von Aufzeichnungen enthalten. Falls ein unbegrenzt grosser Direktzugriffsspeicher zur Verfügung steht, kann in 20 einfacher Weise die gesamte Datei in den Direktzugriffsspeicher eingelesen und innerhalb des Speichers durch Qualifizieren der Aufzeichnungen umsortiert und die geeigneten Felder der Aufzeichnungen aus dem Speicher zum Drucken ausgegeben werden. Für grosse Dateien ist dies mit einem typischen 25 Büro-Textverarbeitungssystem nicht mehr wirtschaftlich zu bewältigen.
Gemäss der USA Patentschrift 3 343 133 ist der Umfang des zum Ordnen erforderlichen Direktzugriffsspeichers dadurch reduziert, dass eine Vielzahl von segmentierten Spei-30 ehern und Vorrichtungen zum Übertragen von Daten zwischen diesen Speichern über den Direktzugriffsspeicher vorgesehen wird. Da beim häufigen Umspeichern der Daten Fehler auftreten können, besteht hier die Gefahr, dass die Integrität der Daten der Datei nicht gewährleistet ist. Änderung der Daten 35 in Speichern verlangt ferner häufigen Zugriff zu den Speicherblöcken und damit erhöhten mechanischen Verschleiss im Zugriffsmechanismus und benötigt im übrigen zusätzliche Zeit für die Ordnungsoperation.
Ebenfalls vorbekannt ist das sogenannte quadratische Ord-40 nungsverfahren, welches benutzt wird, um Aufzeichnungen umzuordnen, indem die Gesamtheit der Aufzeichnungen in N Aufzeichnungsgruppen eingeteilt wird, wobei jede Gruppe N Aufzeichnungen enthält. Jede der Gruppen wird dann nach der höchsten oder niedrigsten Aufzeichnung innerhalb der 45 Gruppe geordnet, und dann werden alle Gruppen nach der niedrigsten oder höchsten Aufzeichnung in der Datei geordnet. Um diese Technik auf eine Datei anzuwenden, in welcher eine veränderliche Anzahl von Aufzeichnungen auf einer veränderlichen Anzahl von Speicherblöcken gespeichert ist, so müssten die gespeicherten Daten durch Einlesen in Direktzugriffsspeicher umstrukturiert werden, dann müssten die Daten in eine Anzahl von Speicherblöcken unterteilt werden, welche der Quadratwurzel der Anzahl der Aufzeichnungen in der Datei entspricht, und schliesslich müssten die Daten in die 55 entsprechende Anzahl von Speicherblöcken übertragen werden. In den meisten Fällen wird sich zeigen, dass die erforderliche Anzahl von Speicherblöcken in dem vorhandenen Speicher nicht verfügbar ist. Ausserdem gibt es wie bei der vorher beschriebenen Technik die Möglichkeit der Veränderung der 60 Aufzeichnung infolge von Schreibfehlern und auch Ver-schleissprobleme.
Es wäre daher vorteilhaft, eine Einrichtung zum Ordnen qualifizierter Aufzeichnungen zu schaffen, die mit wirtschaftlich vertretbarem Aufwand eine Folge von geordneten Daten 65 an eine Druckvorrichtung ausgibt, ohne die Möglichkeit der unbeabsichtigten Änderung der Aufzeichnungen durch Schreibfehler und ohne exzessive Abnutzung der Speichermechanik, und mit einem nur relativ kleinen Direktzugriffsspeicher.
3
638 913
Die Erfindung betrifft daher eine Vorrichtung in Textver-arbeitungsanlagen zum Auswählen von zum Ordnen qualifizierten Datensätzen unterschiedlicher Länge, die einer in den Blöcken eines Speichers gespeicherten Datei angehören, welche Datensätze in einem ersten Feld ein Ordnungskriterium 5 und in einem zweiten Feld ein Qualifikationskriterium enthalten. Diese Vorrichtung ist gekennzeichnet durch erste Mittel zum Auffinden, in jedem de Blöcke, desjenigen qualifizierten Datensatzes, der im ersten Feld den niedrigsten bzw. höchsten Datenwert oberhalb bzw. unterhalb eines in einem Register io gespeicherten Anfangswertes aufweist, durch zwei Mittel zum Speichern einer Liste mit Eintragungen für jeden der Speicherblöcke, wobei diese Eintragungen je Block die Daten des ersten Feldes der von den ersten Mitteln gefundenen Datensätze sowie ein zugehöriges Kennzeichen enthalten, durch dritte 15 Mittel zum Auffinden des niedrigsten bzw. höchsten in der Liste vorkommenden Datenwertes, und durch vierte Mittel zum Zugreifen auf den durch das Kennzeichen identifizierten Datensatz mit dem niedrigsten bzw. höchsten Datenwert im Speicher zum Ausgeben an einen Drucker. 20
Einzelheiten eines Ausführungsbeispiels der erfindungsge-mässen Vorrichtung werden anhand der Zeichnungen im folgenden beschrieben.
In den Zeichnungen zeigen:
Fig. 1 eine Textverarbeitungseinrichtung, 25
Fig. 2 die Struktur eines Datenblocks,
Fig. 3 ein logisches Schaltwerk,
Fig. 4 Einzelheiten der Steuerschaltung aus Fig. 1,
Fig. 5 ein logisches Schaltwerk zum Speichern einer Liste der niedrigsten bzw. höchsten Datenwerte, 30
Fig. 6-8 Einzelheiten der Steuerschaltung 65 gemäss Fig. 5, Fig. 9 Einzelheiten der Steuerschaltung 15 gemäss Fig. 1, Fig. 10 Einzelheiten der Nachführ-Steuerschaltung 20 aus Fig. 1.
Wie erwähnt, können mit der zu beschreibenden Vorrich- 35 tung Datensätze einer Datei geordnet werden, die variables Format haben (d.h. variable Satzlänge, variable Feldanzahl und/oder variable Feldlänge), die in einer Mehrzahl von Blökken eines segmentierten Speichers gespeichert sind. Dabei wird diejenige Aufzeichnung in der Datei adressiert, die die 40 höchsten oder niedrigsten Datenwerte in einem ersten Feld eines Satzes aufweist, vorausgesetzt, dass der betreffende Satz im Sinne der in seinem zweiten Feld stehenden Daten qualifiziert ist, geordnet zu werden. Als Beispiel sei angenommen,
dass ein Brief nur an die in der Datei vorkommenden Inge- 45 nieure zu verschicken ist, und dass die Herstellung der Briefe in der Reihenfolge der Postleitzahlen zu erfolgen hat. Die Qualifikation besteht daher darin, dass jeder einer Person zugeordnete Satz der Aufzeichnung in dem dem Beruf zugeordneten Feld «Ingenieur» stehen hat. Der Zugriff zu den so Aufzeichnungen erfolgt dann nach dem Ordnungskriterium, z.B. beginnend mit der niedrigsten Postleitzahl und zur höchsten fortschreitend, das Ganze nur für Ingenieure.
Der Zugriff kann selbstverständlich auch bei der höchsten Postleitzahl beginnen und zur niedrigsten fortschreiten. Für 55 die Zwecke der folgenden Beschreibung wird der Einfachheit halber angenommen, dass das Ordnen jeweils in aufsteigender Ordnung von der niedrigsten Nummer zur höchsten fortschreitet, bzw. vom Anfang des Alphabets zum Ende. 60
Die Segmente des segmentierten Speichers werden Blöcke genannt. Jeder Block kann eine veränderliche Anzahl von Sätzen enthalten, was von der Länge der Sätze abhängt. Die Blöcke enthalten eine feste Anzahl von Speicherpositionen. In den Blöcken werden Sätze voneinander durch Satzanfangs- 65 kennzeichen und Satzendkennzeichen getrennt. Die Sätze können verschiedene Länge aufweisen, weshalb in einem Block mehr kurze als lange Sätze Platz finden.
In der in den Zeichnungen dargestellten Einrichtung sind logische Elemente enthalten, die es gestatten, in jedem Block denjenigen qualifizierten Satz aufzufinden, welcher die niedrigsten Daten in dem dem Ordnungskriterium zugeordneten Feld («Ordnungsfeld») enthält, und die Daten in Übereinstimmung mit den in einem Qualifikationsfeld der Sätze enthaltenen Daten zu sortieren. Wenn in den Blöcken solche Sätze aufgefunden werden, wird eine Liste erstellt, die das niedrigste Ordnungskriterium eines qualifizierten Satzes in jedem Block enthält, sowie das Satzkennzeichen desjenigen Satzes, dem das betreffende Feld angehört. Ferner sind logische Schaltungen vorgesehen, mit denen die niedrigsten Datenwerte in der gespeicherten Liste aufgefunden werden können, die also die niedrigsten Datenwerte in dem gewählten Feld bezüglich sämtlicher qualifizierter Sätze in der Datei darstellen. Weitere Schaltungen ermöglichen den Zugriff zu dem durch das Satzkennzeichen identifizierten Satz, der den niedrigsten in der genannten Liste aufgefundenen Datenwerten entspricht.
Die Felder der Sätze können variable Längen aufweisen. Die in einem Speicher endlicher Grösse gespeicherte Liste ist in Teile vorbestimmter maximaler Länge eingeteilt. Es ist daher möglich, dass nicht die gesamte Information aus einem Ordnungsfeld eines Satzes in die Liste übertragen werden kann. Das Satzkennzeichen wird in die Liste aus den folgenden Gründen übernommen: 1. Um zu gestatten, dass ein Vergleich «grösser» oder «kleiner» durchgeführt werden kann (jedes Satzkennzeichen ist eindeutig), und 2., um für zukünftige Benutzung den kleinsten Satz zu identifizieren.
Für die folgende Beschreibung wird angenommen, dass die logischen Schaltkreise positive Eingangssignale zur Erzeugung positiver Ausgangssignale benötigen, soweit nichts anderes angegeben ist. Logische Signalpegel, die nicht positiv sind, werden negativ genannt. Logische Speicherelemente, wie Register, Haltekreise, Zähler, usw., die in den Fig. 1 bis 10 vorkommen, werden durch Taktsignale gesteuert, wobei sie bei der nächsten ansteigenden Flanke des Taktsignals einen Zustand annehmen, der einem unmittelbar vorher an ihren Eingang angelegten Eingangssignal entspricht. Logische Schaltungen dieser Art werden als Synchronlogik bezeichnet. In der nachfolgenden Beschreibung wird eine Taktperiode eine Bitzeit genannt.
Die in Fig. 1 dargestellte Einrichtung wird durch Zurückstellen aller Verriegelungsschaltungen und Löschen aller Register betriebsbereit gemacht. Gewisse Register werden dann geladen, was weiter unten beschrieben wird. Der Speicher in Fig. 1 kann beispielsweise ein Plattenspeicher sein, bei dem auf einer Speicherplatte eine Vielzahl von Spuren jeweils einem Datenblick zugeordnet ist.
Fig. 2 zeigt die Reihenfolge der Aufzeichnung eines typischen Datenblocks im Speicher 1. Der Datenblock hat feste Länge und kann eine Vielzahl von Datensätzen unterschiedlicher Länge aufnehmen. Jeder Datensatz kann eine Mehrzahl von Datenfeldern unterschiedlicher Länge haben, die durch Feldtrennzeichen voneinander getrennt sind. Das erste Feld eines Satzes enthält das Satzkennzeichen, welches eindeutig ist. Vor dem Satz steht ein Satzanfangscode, und nach dem letzten Satz folgt ein Datenblock-Endekennzeichen.
Für den Qualifizier- und Ordnungsvorgang ist eine Steuervorrichtung (Fig. 1) erforderlich, um eine Liste aufzubauen, in welcher die niedrigsten Daten oberhalb einer Anfangsbedingung in angegebenen Feldern qualifizierter Sätze eines jeden Blocks von einer Steuerschaltung 10 aufgefunden und in ein Listen-Register 11 geladen werden. Die Steuerschaltung 10 prüft die von der Bedienungsperson in das Startregister 5 eingegebene Satznummer, welche denjenigen Satz kennzeichnet, welcher die niedrigsten Daten in den spezifizierten Ordnungsfeldern hat, gegen welche die Daten in den Ordnungsfeldern der übrigen qualifizierten Sätze zu vergleichen sind. Die
638 913
4
Bedienungsperson lädt ferner die Nummern der Ordnungsfelder in ein Ordnungsfeld-Register 6a-b, das mit einem Eingang der Steuerschaltung 10 verbunden ist. Im bevorzugten Ausführungsbeispiel kann die Bedienungsperson zwei verschiedene Ordnungsfelder spezifizieren, nämlich ein primäres und ein sekundäres Ordnungsfeld. In Register 7a-d lädt die Bedienungsperson die Nummern derjenigen Felder der Sätze, die für die Zwecke der Qualifikation geprüft werden müssen. In Register 8a-d werden die Vergleichsbedingungen geladen (gleich, ungleich, grösser, kleiner, usw.), die beim Vergleich der in Register 9a-d geladenen Daten mit den durch die Register 7a-d spezifizierten Feldern herangezogen werden müssen.
Als Beispiel der oben beschriebenen Initialisierung sei angenommen, dass die Einrichtung während eines Ordnungsvorgangs angehalten wurde, wobei zuletzt aus dem Satz Nr. 127 Daten zum Drucken ausgelesen worden waren. Die Bedienungsperson lädt die Nr. 127 in das Register 5. Weiterhin sei angenommen, dass der Druckauftrag die Ausgabe von individualisierten Briefen in alphabetischer Reihenfolge der Adressaten umfasste, die in der Datei gespeichert sind. Beispielsweise seien die Briefe lediglich für die in der Datei aufgeführten Ingenieure in Kansas und Buchhalter in Illinois bestimmt. Wenn der Familienname das zweite Feld in jedem Datensatz, der Vorname das dritte Feld im Datensatz, der Beruf das vierte Feld und der Wohnort das fünfte Feld belegen, werden die Ordnungsfeld-Register 6 mit den Bildern 2 und 3, die Qualifi-zier-Register 7 mit den Feldern 4 und/oder 5 die Register 8 mit der Bedingung «gleich» und die Datenregister 9 mit den Daten Ingenieure, Kansas, Buchhalter und Illinois geladen.
Da der Haltekreis 33 (Fig. 3) bei Erstellung der Betriebsbereitschaft der Einrichtung zurückgestellt worden ist, liefert er das Signal F, welches dem UND-Glied 4 in Fig. 1 zugeführt wird. Da auch der Haltekreis 3 in Fig. 1 zurückgestellt worden ist, liefert er das Signal SB ebenfalls an das UND-Glied 4. Durch an das UND-Glied 4 angelegte Taktsignal C kann daher die Steuerschaltung 10 aktiviert werden, zu den Sätzen des Datenblocks im Speicher 1 Zugriff zu nehmen, die Daten in den Eingabe/Ausgabe-Puffer 2 und von dort in die Steuerschaltung 10 zu übertragen, so dass der qualifizierte Satz eines jeden Blocks, der die niedrigsten Ordnungsmerkmale oberhalb derjenigen des im Register 5 spezifizierten Satzes aufweist, in die Register 11 geladen werden kann. Wenn die Register 11 geladen sind, liefert die Steuerschaltung 10 ein Signal an den Haltekreis 3, welcher ein positives SB-Signal an einen Eingang eines UND-Gliedes 13 liefert. Da auch die Signale SE, SS und F von den Haltekreisen 12,14 und 33 an den übrigen Eingängen des UND-Gliedes 13 anliegen, schaltet das nächste Taktsignal das UND-Glied 13 durch und aktiviert eine Steuerschaltung 15 für das Ordnen der Listen. Die Steuerschaltung 15 prüft dann sämtliche Daten der Ordnungsfelder, welche in den Registern 11 gespeichert sind, um das niedrigste qualifizierte Feld festzustellen und die entsprechende Antwort an das Register 21 zu geben, das der Antwort entsprechende Satzkennzeichen an das Register 22 zu übertragen und den Datenblock, in welchem der Satz gespeichert ist, an das Register 23.
Wenn die Liste sortiert ist, setzt die Steuerschaltung 15 den Haltekreis 14, der ein negatives Ausgangssignal an seinem Q-Ausgang liefert, welches das UND-Glied 13 sperrt, wodurch die Listen-Ordnungsoperation beendet wird. Über eine Leitung 167 wird dem Drucker 18 die Satznummer mitgeteilt, so dass der Drucker dann diesen Satz adressieren kann, um die darin enthaltenen variablen Daten oder wenigstens gewisse ausgewählte Felder derselben mit dem konstanten Text des betreffenden Briefes aus dem Formularbrief-Speicher 19 für das Ausdrucken aus individualisierten Briefen zu mischen. Wenn die Haltekreise 17 und 33 zurückgestellt sind, liefert der gesetzte Haltekreis 14 ein positives SF-Signal, welches das UND-Glied 16 durchschaltet, so dass die Taktsignale C eine
Nachführ-Steuerschaltung 20 aktivieren können, den Datenblock zu adressieren, aus welchem die genannte Antwort erhalten wurde und den entsprechenden Teil des Registers 11 mit den niedrigsten Ordnungsfelddaten zu laden, die höher sind als die Antwort, und die aus denjenigen Ordnungsfeldern stammen, die zu den Sätzen des Blocks gehören, die qualifiziert sind. Nachdem diese Operation abgeschlossen ist, wird beim Fehlen gültiger Daten in der Liste von der Nachführsteuerschaltung 20 über eine Leitung 26 ein Ausgangssignal abgegeben, welches den Haltekreis 12 setzt, dessen positives Ausgangssignal SE an den Eingang eines UND-Gliedes 31 (Fig. 3) geliefert wird, aufgrund dessen ein Taktsignal C durch das ODER-Glied 32 zum Haltekreis 33 gelangt, welcher gesetzt wird. Ferner wird nach jeder Nachführung der Liste der Haltekreis 17 gesetzt, wodurch auch der Haltekreis 33 gesetzt wird.
Die Steuerschaltung 10 ist im einzelnen in Fig. 4 gezeigt Wenn bei Betriebsbeginn die Haltekreise zurückgestellt werden, wird ein Rückstellimpuls auch an die Eingangsleitungen 38 einer Speicherzugriffssteuerung 35 und an einen Blocknummernzähler 36 angelegt. Der Zähler 36 zeigt dadurch auf den ersten Block des Speichers 1. Die Speicherzugriffssteuerung 35 stellt sich dann auf den Anfang des Speichers ein und veranlasst einen Lesewandler, Daten vom Anfang des ersten Blocks aus dem Speicher zu lesen. Diese Daten werden in Eingabe/ Ausgabe-Puffer 2 gelesen und stehen am Eingang des UND-Gliedes 41 zur Verfügung. Falls die Geschwindigkeit der logischen Schaltung mit der Lesegeschwindigkeit des Speichers 1 synchronisiert werden kann, ist der Eingabe/Ausgabe-Puffer 2 nicht erforderlich. Der E/A-Puffer 2 wird nur gebraucht,
damit die logische Schaltung und der Lesewandler für den Speicher mit unterschiedlicher Geschwindigkeit arbeiten können. Der E/A-Puffer 2 kann eine Kapazität haben, welche einem kleinen Bruchteil eines Speicherblocks des Speichers 1 entspricht.
Durch die in Fig. 4 gezeigte Schaltung wird das Register 58 mit den Daten aus den Ordnungsfeldern und der Satznummer desjenigen Satzes geladen, der von der Bedienungsperson während der Initialisierung spezifiziert worden war, und welches der letzte vorhergehende Satz war, dem der Drucker während des Ordnungsvorgangs benutzt hat. Wenn die Taktimpulse wie beschrieben durch das UND-Glied 4 durchgeschaltet werden und der Haltekreis 40 zurückgestellt ist, der anzeigt, dass das Register 58 voll ist, werden die Daten über das UND-Glied 41 dem Vergleicher 42 zugeführt. Wenn die dem Vergleicher 42 zugeführten Daten mit dem Muster des im Register 43 gespeicherten Satzanfangscodes übereinstimmen, werden die Daten über das UND-Glied 46 dem Vergleicher 47 zugeführt. Der Inhalt des Registers 5 wird ebenfalls dem Vergleicher 47 zugeleitet, so dass, falls das Satzkennzeichen, welches im Satz unmittelbar auf den Satzanfangscode folgt, mit dem von der Bedienungsperson eingegebenen Satzkennzeichen übereinstimmt, vom Vergleicher 47 ein positives Ausgangssignal abgegeben wird und die Daten über das UND-Glied 49 durchgeschaltet werden.
Aus diesem Block werden Sätze so lange ausgelesen, bis im Vergleicher 47 eine Übereinstimung festgestellt wird. Falls keine Übereinstimmung festgestellt wird, wird ein am Ende eines jeden Blocks auftretender Blockende-Code im Vergleicher 44 mit einem Blockende-Code aus dem Register 45 zusammentreffen und zu einem positiven Ausgangssignal auf der Leitung 37 führen, welches dem Blockzähler 36 zugeht und die Speicherzugriffssteuerung 35 veranlasst, den Anfang des nächsten Blocks im Speicher 1 zu adressieren.
Wenn im Vergleicher 47 eine Übereinstimmung festgestellt wird, werden die folgenden Daten des Satzes über das UND-Glied 49 einem Kennzeichendecoder 50 zugeführt.
Jedem Feld des Satzes geht ein Feldkennzeichen voran, welches im Kennzeichendecoder 50 decodiert und in einem
5
10
15
20
25
30
35
40
45
50
55
60
65
5
638 913
Kennzeichenzähler 51 gezählt wird. Die jeweils gelesene Feldnummer wird den Vergleichern 52 und 55 zugeführt. Wenn diese laufende Feldnummer mit denjenigen der von der Bedienungsperson spezifizierten Ordnungsfelder im Ordnungsfeldregister 6a oder 6b übereinstimmt, liefert der betreffende Vergleicher 52 bzw. 55 ein positives Ausgangssignal, aufgrund dessen die Daten aus diesem Feld über das UND-Glied 54 bzw. das UND-Glied 57 in das Register 58 übertragen werden, welches für die Daten der beiden von der Bedienungsperson spezifizierten Ordnungsfelder getrennte Sektionen enthält. Beim Auffinden der Felder wird der Zähler 59 durch die positiven Signale von den Vergleichern 52 und 55 über das ODER-Glied 56 weitergeschaltet. Wenn der Inhalt des Feldzählers 59 in einen Vergleicher 60 als mit dem Inhalt eines Registers 61, in welchem die Gesamtzahl der aufzufindenden Felder gespeichert ist (in diesem Ausführungsbeispiel zwei), übereinstimmt, gibt der Vergleicher 60 über eine Leitung 38 ein positives Ausgangssignal, welches die Speicherzugriffssteuerung 35 auf den Anfang eines Blocks und den Blockzähler 36 auf Block 1 zurückstellt.
Das Register 58 enthält nun sämtliche Ordnungsfelddaten, mit welchen die Ordnungsfelddaten aller qualifizierten Sätze verglichen werden müssen. Wenn ein qualifzierter Satz Ordnungsfelddaten aufweist, welche niedriger sind als die im Register 58 gespeicherten Daten, wird dieser Satz, obwohl qualifiziert, als bereits früher in der Ordnungsfolge berücksichtigt, übergangen. Qualifizierte Sätze mit Ordnungsfelddaten, die grösser sind als die im Register 58 gespeicherten werden in der folgenden Operation geordnet.
In der bisherigen Operationsbeschreibung wurde angenommen, dass der Betrieb nach einer Unterbrechung während einer früheren Ordnungsoperation der Datei wieder aufgenommen wurde. Das Register 58 könnte natürlich am Anfang des Ordnungsvorgangs mit Nullen geladen werden, so dass alle Ordnungsfelddaten, die in einem qualifizierten Satz gefunden werden, berücksichtigt werden. In diesem Fall muss der Haltekreis 40 gesetzt werden, was bedeutet, dass das Register 58 geladen ist.
Der Haltekreis 40 wird auch durch das positive Ausgangssignal vom Vergleicher 60 gesetzt, wodurch das UND-Glied 41 gesperrt wird, und wodurch über das UND-Glied 39 und über die Leitung 62 Daten an eine Steuerschaltung 65 (Fig. 5) übertragen werden. Aufgabe der in den Fig. 6-8 in Einzelheiten dargestellten Steuerschaltung 65 ist die Prüfung der Sätze jedes Blocks, der Vergleich der Ordnungsfelder jedes Blocks mit den im Register 58 gespeicherten Ordnungsfeldern, die Auswahl aus den qualifizierten Sätzen jedes Blocks der Ordnungsfelder, welche die niedrigsten Daten aufweisen, die gleich oder grösser als die im Register 8 gespeicherten Daten sind, und diese Daten in einer Sektion des Registers 11 abzuspeichern, welche derjenigen Spur zugeordnet ist, auf welcher der Satz angetroffen wurde. Zusammen mit den Daten wird die Satzkennummmer gespeichert, um den Satz zu identifizieren, aus welchem die Daten stammen.
Im Zusammenhang mit Fig. 5 wird daran erinnert, dass das Register 58 soeben geladen wurde und Daten nun auf der Leitung 62 zur Verfügung stehen, wozu auch der im ersten Datenblock des Speichers 1 gespeicherte erste Datensatz gehört. Die Daten auf der Leitung 62 werden einem Eingang eines Vergleichers 66 zugeführt, an dessen anderem Eingang das Bitmuster eines im Register 67 gespeicherten Satzanfangscodes anliegt. Wenn Übereinstimmung festgestellt wird, wird der Haltekreis 68 gesetzt, das UND-Glied durchgeschaltet und die Satzdaten an einen Eingang der UND-Glieder 74,78, 81, 83, 88,91 und 94 angelegt. Jedesmal, wenn der Decoder 70 ein Feldkennzeichen feststellt, wird der Zähler 71 von seiner ursprünglichen Nullstellung um einen Schritt weitergeschaltet. Der Inhalt des Zählers wird den Eingängen der Vergleicher 72,
76, 79, 82, 86, 89 und 92 zugeleitet. Die von der Bedienungsperson spezifizierten Ordnungsfeldnummern in den Registern 6a und 6b werden an die Vergleicher 72 und 76 angelegt. Die Feldnummer des Feldes eines jeden Satzes, welches die Satznummer enthält, wird im Register 80 gespeichert und an den Vergleicher 79 angelegt. Die von der Bedienungsperson spezifizierten Feldnummern in den Registern 7a bis 7d werden an die Vergleicher 86, 82,92 und 89 angelegt.
Bei jeder Übereinstimmung, die in einem Vergleicher auftritt, werden die Daten, die einem die Übereinstimmung veranlassenden Kennzeichen folgen, entweder in das Register 75 oder in das Register 85 übertragen. Ferner wird bei jeder Übereinstimmung ein positives Signal von dem Vergleicher, welcher die Übereinstimmung feststellt, auf die Leitungen 95 bis 101 gegeben, welche mit dem Eingang des ODER-Gliedes 102 (Fig. 7) verbunden sind.
Jedes dem ODER-Glied 102 zugeführte Signal inkremen-tiert den Feldzähler 112 von ursprünglich null um einen Schritt. Der Inhalt des Zählers 112 wird in einem Vergleicher 113 mit einem Signal des Registers 114 verglichen, in welchem die Anzahl der zu findenden Felder gespeichert ist. Wenn der Vergleicher 113 Übereinstimmung feststellt, d.h., dass alle sieben Felder aufgefunden worden sind, wird ein positives Ausgangssignal an das UND-Glied 115 abgegeben, wodurch der auf der Leitung 110 anstehende Inhalt des Registers 75 (Fig. 6) zu einem Vergleicher 116 durchgeschaltet wird. Der Inhalt des Registers 58 (Fig. 4) wird ebenfalls dem Vergleicher 116 zugeführt. Falls die Inhalte der Ordnungsfelder, die im Register 75 gespeichert sind (das sind die laufenden Felder), grösser sind als die im Register 58 gespeicherten Sortierfelder (das sind die zuletzt aufgefundenen Ordnungsfelder), wird ein positives Signal vom Vergleicher 116 über die Leitung 117 an einen Eingang eines UND-Gliedes 121 geführt. Dadurch werden die Daten aus den im Register 75 gespeicherten Ordnungsfeldern über die Leitung 110 durch das UND-Glied 121 zum Vergleicher 122 durchgeschaltet. In diesen wird auch der Inhalt des Zwischenregisters 123 übertragen. Während der Initialisierung der Einrichtung wird das Register 123 mit «grossen» Codes geladen, so dass die Leitung 118 mit einem positiven Signal andeutet, dass der Inhalt des Registers 75 kleiner ist als der «grosse» Inhalt des Zwischenregisters 123. Das positive Signal auf der Leitung 118 wird an einen Eingang einer Steuerschaltung 125 angelegt. Ferner werden der Steuerschaltung 125 die im Register 85 gesammelten Daten zugeführt, welche diejenigen Daten umfassen, die in durch die Bedienungsperson spezifizierten Feldern des Satzes enthalten sind. Die Daten aus diesen Feldern werden vom Register 85 über die Leitungen 105 bis 108 an die Steuerschaltung 125 übertragen.
Fig. 8 ist ein detailliertes logisches Schaltbild der Steuerschaltung 125 gemäss Fig. 7. Das positive Signal auf der Leitung 118 wird jedem der UND-Glieder 147 bis 150 zugeführt und gestattet die von der Bedienungsperson ausgewählten Felddaten auf den Leitungen 105 bis 108 an die Eingänge der Vergleicher 132, 136, 139 und 143 durchzuschalten. Ferner werden diese Vergleicher mit den durch die Bedienungsperson spezifizierten Inhalten der Register 9a bis 9d, im genannten Beispiel: Ingenieure, Kansas, Buchhalter, Illinois, und mit den von der Bedienungsperson gewählten und in den Registern 8a bis 8d gespeicherten Bedingungen, nämlich «gleich» gespeist. Aus der Fig. 8 ist ersichtlich, dass jeweils zwei zusätzliche Bedingungen erfüllt sein müssen, indem nämlich Übereinstimmung mit den Inhalten der Register 9a «Qualifikation 1 » und 9b «Qualifikation 2», oder 9c «Qualifikation 3» und 9d «Qualifikation 4» vorhanden sein muss. Offensichtlich kann die Bedienungsperson Felder in einer Weise spezifizieren, die zu einem von den beschriebenen logischen Ergebnissen abweichenden Ergebnis führt. So kann beispielsweise die Konfiguration der Verknüpfungsglieder 135, 142 und 146 geändert
5
10
15
20
25
30
35
40
45
50
55
60
65
638 913
6
werden, und es können weitere Qualifikationsfelder durch Erweiterung der beschriebenen Technik hinzugeführt werden.
Das von der Steuerschaltung 125 erzeugte positive Ausgangssignal RQ gelangt über eine Leitung 126 an einen Eingang eines UND-Gliedes 127, welches den Inhalt des Registers 75 an das Zwischenregister 123 weitergibt, wo er über die darin enthaltenen «grossen» Codewörter geschrieben wird.
Falls der Inhalt des Registers 75 niedriger ist als der Inhalt des Registers 58, liefert der Vergleicher 116 ein positives Ausgangssignal auf der Leitung 120. Ist der Inhalt des Registers 75 grösser als der Inhalt des Zwischenregisters 123, wird in ähnlicher Weise ein positives Signal über die Leitung 124 durch ein ODER-Glied 129 auf die Leitung 120 gegeben. Ist der Inhalt des Registers 75 niedriger als der Inhalt des Zwischenregisters 123, so erreicht ein positives Signal über die Leitung 118 durch das ODER-Glied 129 die Leitung 120 (auf der Leitung 124 erscheint kein positives Ausgangssignal, da in dem gewählten Beispiel das Zwischenregister anfangs mit «grossen» Codewörtern geladen war, welche grösser waren als der Inhalt des Registers 75). Das Signal auf der Leitung 120 dient der Rückstellung des Zählers 112, des Kennzeichenzählers 71 (Fig. 6) und des Haltekreises 68. Die Rückstellung der genannten Zähler und des Haltekreises bewirkt, dass zum nächsten Satz des Datenblocks forgeschritten wird und der Ordnungsvorgang andauert. Für jeden Satz des Datenblocks werden die Kennzeichen der Ordnungsfelder und des Satzes im Register 75 akkumuliert, während die Daten aus den Feldern im Register 85 gesammelt werden. Falls die Ordnungsfelddaten niedriger sind als die im Register 58 gespeicherten Daten, ignoriert die Einrichtung diesen Satz und schreitet zur Untersuchung des nächstfolgenden Satzes. Sind die Daten in den Ordnungsfeldern dieses Satzes grösser als die im Register 58 gespeicherten, so werden die Daten mit den im Register 123 gespeicherten und zu einem früheren Satz gehörenden Daten verglichen.
Sind die Ordnungsfelddaten in diesem Satz grösser als die im Register 123 gespeicherten, wird dieser Satz von nun an ignoriert, und die Einrichtung beginnt mit der Untersuchung des nächstfolgenden Satzes. Falls die Ordnungsfelddaten in diesem Satz niedriger sind als die im Zwischenregister 123 gespeicherten, und zu einem vorhergehenden Satz gehörenden Daten, und falls der Satz im Sinne der von der Bedienungsperson spezifizierten Information qualifiziert ist, werden die Daten dieses Ordnungsfeldes im Zwischenregister 123 gespeichert. Auf diese Weise wird das Zwischenregister 123 am Ende eines Datenblocks und nachdem eine Vielzahl von Sätzen untersucht worden ist, die Ordnungsfelddaten des qualifizierten Satzes mit den niedrigsten Ordnungsfelddaten enthalten, welche grösser sind als die Ordnungsfelddaten, die im Register 58 gespeichert sind.
Bei der Untersuchung der Daten eines jeden Blocks werden sie einem Vergleicher 48 zugeführt. Ferner liegt an dem Vergleicher 48 das Bitmuster des in einem Register 53 gespeicherten Datenblockendekennzeichens. Wenn der Vergleicher 58 Übereinstimmung feststelle, setzt er den Haltekreis 73 (Fig. 6), der auf seiner Ausgangsleitung 77 ein positives Ausgangssignal abgibt.
Das Signal auf der Leitung 77 gelangt zu einem Eingang eines UND-Gliedes 84 (Fig. 5), wodurch der Inhalt des Zwischenregisters 123 über das UND-Glied 84 durch den Datenblock-Verteiler 87 in denjenigen Teil des Registers 11 übertragen wird, der demjenigen Block zugeordnet ist, von dem die Daten stammen. Während der Verteilung der Daten in das Register 11 gibt der Verteiler 87 über die Leitung 90 ein positives Signal ab, welches an den Rückstelleingang des Haltekreises 73 (Fig. 6) gelangt, durch dessen Rückstellung das Ordnen der nächsten Sätze gestattet.
Die Sätze aller Blöcke werden in der oben beschriebenen Weise geordnet. Am Anfang der Prüfung der Sätze jedes
Blocks wird das Zwischenregister 123 erneut mit «grossen» Codewörtern geladen. Wenn in einem Block keine qualifizierten Sätze gefunden werden, deren Ordnungsfelder grösser sind als die im Register 58 gespeicherten, werden die «grossen» 5 Codewörter in den Teil des Registers 11 geladen, welcher der betreffenden Spur zugeordnet ist. Niedrige Daten aus qualifizierten Sätzen werden also zugunsten der «grossen» Codewörter ausgesondert.
Bei jeder Übertragung von Codewörtern aus dem Zwi-lo schenregister 123 (Fig. 5) in den zugeordneten Teil des Registers 11, werden die übertragenen Codewörter auch den Vergleichen 93 und 141 zugeführt. Am Vergleicher 93 liegt auch das Bitmuster eines permanent im Register 134 gespeicherten «grossen» Codewortes, so dass beim Auftreten einer Überein-15 Stimmung im Vergleicher 93 der Zähler 138 um einen Schritt inkrementiert wird. Die Zählung der Teile des Registers 11, in welche «grosse» Codewörter transferiert worden sind, erscheintauf der Ausgangsleitung 181 des Zählers 138.
Dem Vergleicher 141 wird aus einem Register 145 das Bit-20 muster eines Eingangsendekennzeichens zugeführt, welches die in das Register 11 übertragenen Daten betrifft. Dieses Endekennzeichen kann beispielsweise als feste Verdratung im Zwischenregister 123 ausgeführt sein, von dem es jeweils am Ende der übrigen aus dem Register 123 ausgegebenen Daten 25 erscheint. Jeweils beim Auftreten einer Übereinstimmung im Vergleicher 144 wird Blocknummernzähler 133 um einen Schritt inkrementiert, so dass beim Auftreten des nächsten Transfers des Inhalts des Zwischenregisters 123 in das Register 11 durch den Verteiler 87 die Adressierung des betreffen-3o den Teils des Registers 11 erfolgt. Der Zähler 133 wird bei der Initialisierung der Einrichtung auf 1 gesetzt.
Ein Register 140 speichert die Zählung der Anzahl Datenblöcke (und dementsprechend die Anzahl der separaten Teile im Register 11) plus eins. Nachdem der Inhalt des Zwischen-35 registers, der dem Block im Speicher 1 entspricht, in das Register 11 übertragen worden ist, wird der Blocknummernzähler 133 auf einen Zählerstand gebracht, der um eins grösser ist als die Anzahl der Blocks im Speicher. Zu dieser Zeit wird im Vergleicher 137 eine Übereinstimmung auftreten, worauf über 40 die Leitung 185 ein positives Ausgangssignal abgegeben wird, das an den Eintelleingang des Haltekreises 3 (Fig. 4) gelangt. Nun ist die Untersuchung der Daten im Speicher 1 unterbrochen.
Der folgende Teil der Operation betrifft das Auffinden der 45 niedrigsten Ordnungsfelddaten im Listen-Register 11. Die Steuerschaltung 15 der Fig. 1 ist in Fig. 9 im Detail dargestellt. Die Haltekreise 14 und 184 bleiben vom Anfang der Operation zurückgesetzt, so dass positive Signale SF und SE an den Eingängen des UND-Gliedes 13 anliegen. Am Ende des vorherge-50 henden Teils der Operation war der Haltekreis 3 gesetzt worden, so dass dessen positives Ausgangssignal SB auch an einem Eingang des UND-Gliedes 13 auftritt. Beim Eintreffen des nächsten Taktsignals C wird das UND-Glied 3 durchgeschaltet und liefert ein Eingangssignal an das UND-Glied 157. 55 Während der Initialisierung wird das Register 156 gesetzt. Dadurch wird der Ausgangswähler 155 veranlasst, denjenigen Teil des Listen-Registers 11 zu adressieren, der die Ordnungsfelddaten und die Satznummer des ersten Blocks im Speicher 1 enthält. Wenn das UND-Glied 157 durchgeschaltet ist, 6o gelangen die Ordnungsfelddaten und die Satznummer in das Listen-Register 158. Der die Ordnungsfelddaten umfassende Teil des Inhalts des Registers 158 gelangt an den Vergleicher 159, welcher diese mit dem Inhalt des Antwortregisters 21 vergleicht. Das Antwortregister 21 wurde ursprünglich mit «grosessen» Codewörtern geladen. Wenn diese nun mit dem Inhalt des Registers 158 verglichen werden, erscheint auf der Leitung 186 ein positives Ausgangssignal für alle Ordnungsfelddaten im Register 156, die von den «grossen» Codewörtern abwei
7
638 913
chen. Das positive Signal auf der Leitung 186 gelangt zum UND-Glied 164, so dass der Inhalt des Registers 158 in das Antwortregister 21 übertragen werden kann. Die Leitung 186 ist auch an einen Eingang des UND-Gliedes 165 angeschlossen, welches den Inhalt des Registers 156 in das Register 23 überträgt. Im Register 23 steht daher die Blocknummer des Blocks, aus welchem die Ordnungsfelddaten in das Antwortregister 21 übertragen worden sind. Falls im Register 158 «grosse» Codewörter vorhanden sind, wenn gleichzeitig aus der Initialisierung «grosse» Codewörter im Register 21 stehen, liefert der Vergleicher 159 ein positives Ausgangssignal über die Leitung 187, da dies immer dann der Fall ist, wenn der Inhalt des Registers 158 grösser oder gleich ist dem Inhalt des Registers 21.
Wenn neue Daten in das Register 158 geladen werden, steht je nach dem Ergebnis des Vergleichs auf einer Leitung 186 oder 187 ein positives Ausgangssignal. In beiden Fällen gelangt das Signal über das ODER-Glied 163 in eine Verzögerungsschaltung 172, die eine Verzögerung von einer Bitzeit bewirkt, so dass am Ende des Taktzyklus das Register 158 um eins inkrementiert wird.
Der Inhalt des Listen-Registers 158 wird kontinuierlich an den Vergleicher 168 weitergegeben. Die Anzahl der Gegenstände im Listen-Register 158 plus eins (die Anzahl der Blöcke im Speicher 1 plus eins) ist im Register 169 gespeichert und wird ebenfalls an den Vergleicher 168 geleitet. Bei Übereinstimmung wird das Ausgangssignal des Vergleichers 168 an den Einstelleingang des Haltekreises 14 gegeben, der beim Eintreffen des nächsten Taktsignals ein positives Ausgangssignal SS abgibt.
Wenn die Liste geordnet ist, enthält das Antwortregister 21 die niedrigsten Ordnungsfelddaten der Liste. Das Blocknummernregister 23 enthält die Blocknummer im Speicher 1, aus welcher die niedrigsten Ordnungsfelddaten der Liste entnommen sind. Das Satznummernregister 22 adressiert denjenigen Teil des Registes 21, welcher das den Ordnungsfelddaten im Antwortregister 21 zugeordnete Satzkennzeichen enthält. Auf diese Weise sind nun die niedrigsten Ordnungsfelddaten eines qualifizierten Satzes gefunden und im Antwortregister 21 gespeichert, die betreffende Satznummer steht im Register 21 und die Blocknummer des Blocks, aus welchem die Daten erhalten wurden, steht im Register 22. Dabei wird davon ausgegangen, dass die Operation von Anfang an gelaufen ist. Ist jedoch ein neuer Start nach einer Untebrechung erfolgt, d.h. eine Widerstart-Nummer war geladen, dann sind die aufgefundenen Ordnungsfelddaten die niedrigsten, die grösser sind als die Ordnungsfelddaten des Satzes an welchem der Wiederstand begonnen hat.
Das positive Signal SS vom Ausgang des Haltekreises 14 schaltet das UND-Glied 166 durch, so dass der Satzkennzei-chen-Inhalt des Satznummernregisters 22 über die Leitung 167 an den Drucker 18 gelangt. Ferner wird die Blocknummer des Blocks, aus welchem der Satz kam, vom UND-Glied 160 über die Leitung 161 an den Drucker 18 gegeben, wobei auch das UND-Glied 160 durch das positive SS-Signal durchgeschaltet wird. Wenn der Speicher 1 gerade nicht für einen Ordnungsvorgang adressiert wird, kann der Drucker 18 zu diesem Satz Zugriff nehmen, um daraus variable Daten für das Mischen zum Drucken entnehmen.
Die verbleibende Phase der Operation betrifft die Adressierung des Blocks im Speicher 1, aus welchem die Ordnungsfelddaten in das Antwortregister 21 übertragen wurden, das Ordnen aller weiteren qualifizierten Sätze in dem betreffenden Block, um den Satz zu erhalten, der die nächst höheren qualifizierten Ordnungsfelddaten aufweist zu den zur Zeit im Antwortregister 21 gespeicherten und Nachführen der List-Regi-ster 11 durch Überschreiben dieser Ordnungsfelddaten und zugeordneten Satzkennzeichen über die Ordnungsfelddaten und das Satzkennzeichen, die während des vorangehenden Zyklus gespeichert wurden.
Wenn der Haltekreis 17 (Liste nachgeführt) zurückgestellt ist, gestattet das positive SS-Signal vom Haltekreis 14 (Liste geordnet), dass das UND-Glied 16 durch Taktimpulse durchgeschaltet wird und ein positives Ausgangssignal an das UND-Glied 174 abgibt, so dass der Inhalt des Antwortregisters 21 in das Register 58 übertragen werden kann. Das positive Ausgangssignal des UND-Gliedes 16 bewirkt ferner, dass das UND-Glied 170 den Inhalt des Blocknummernregisters 23 an die Ladeklemme 178 des Blocknummernzählers 133 gibt. Dies veranlasst den Verteiler 87 den Teil des List-Registers 11 zu bezeichnen, aus welchem die Antwort erhalten wurde, so dass dieser Teil des Listen-Registers 11 nachgeführt werden kann. Der Inhalt des Blocknummernregisters 23 wird auch in die Ladeklemme 176 des Zählers 36 eingespeist. Dadurch wird die Speicherzugriffssteuerung 35 veranlasst, denjenigen Block im Speicher 1 zu adressieren, aus welchem der Inhalt des Antwortregisters 21 stammt. Mit den gleichen Signalen, die die UND-Glieder 180 und 16 öffnen, werden die Sätze aus dem adressierten Block des Speichers 1 aus dem Puffer 2 gelesen und über das UND-Glied 180 auf die Leitung 178, durch das ODER-Glied 177 an die Steuerschaltung 65 gegeben (Fig. 6,7 und 8). Der Einfachheit halber wird angenommen, dass die Zugriffssteuerung 35 augenblicklichen Zugriff zu allen im Speicher 1 gespeicherten Datenblöcken hat, doch kann beim UND-Glied 180 eine gewisse Verzögerung vorgesehen werden, um Ordnungs- und Qualifikationsvorgang zu sperren, bis die geeignete Spur adressiert worden ist.
Am Ende des Ordnungs- und Qualifikationsvorgangs für den einzelnen Datenblock im Speicher 1, aus welchem die vorangehende Antwort erhalten wurde, wird das Zwischenregister 123 mit der neuen Antwort der Ordnungsfelddaten und der Satznummer eines qualifizierten Satzes in diesem Block geladen. Als Alternative kann das Zwischenregister 123 mit «grossen» Codewörtern geladen werden. In beiden Fällen schaltet das Ausgangssigna] vom Haltekreis 73 das UND-Glied 84 durch, so dass der Inhalt des Zwischenregisters 123 über den Verteiler 87 in den zugeordneten Teil des Listen-Registers 11 übertragen wird, was durch die zuvor in den Blocknummernzähler 133 geladene Zählung spezifiziert wird. Diese Übertragung resultiert in einem positiven Signal am Einstelleingang des Haltekreises 17, welcher dadurch das positive Ausgangssignal SU abschaltet und weitere Nachführung sperrt. Damit sind die Listen-Register 11 nachgeführt, so dass ein neuer Ordnungsvorgang der Liste durchgeführt werden kann.
Das abwechselnde Ordnen und Nachführen der Liste kann fortgesetzt werden. Bei jeder Nachführoperation werden die in die Register 11 transferierten Codewörter an einen Eingang des Vergleichers 93 geliefert. «Grosse» Codewörter, die im Register 134 gespeichert sind, werden einem anderen Eingang des Vergleichers 93 zugeführt, und im Falle der Übereinstimmung wird ein positives Ausgangssignal abgegeben, welches den Zähler 138 inkrementiert. Der Inhalt des Zählers 138 wird dem Vergleicher 182 zugeführt. An diesem liegt ferner die im Register 183 gespeicherte Zählung der Datenblöcke. Wenn alle Teile des Listen-Registers 11 «grosse» Codewörter enthalten, wird ein positives Signal vom Vergleicher 182 den Haltekreis 184 einstellen. Dies bedeutet, dass die Liste leer ist und keine Ordnungsfelddaten eines qualifizierten Satzes enthält. Das positive Signal SE vom Haltekreis 184 schaltet das UND-Glied 31 durch, so dass die Taktimpulse über das ODER-Glied 32 den Haltekreis 33 einstellen können. Das positive F-Signal, welches der Haltekreis 33 abgibt, sperrt die weitere Operation der Einrichtung.
Für die vorstehende Beschreibung wurde davon ausgegangen, dass die Operation am Ende jeder Nachführung der Liste angehalten wird. Die Reihenfolge kann ohne weiteres verän5
10
15
20
25
30
35
40
45
50
55
60
65
638 913
8
dert werden, um kontinuierlichen Betrieb zu ermöglichen,
wobei zwischen dem Nachführen und dem weiteren Ordnen der Liste so lange abgewechselt wird, bis die Liste leer ist,
indem einfach auf die logische Schaltung gemäss Fig. 3 verzichtet wird. Das Signal F wird dann bei allen Verknüpfungs- s Schaltungen, die zuvor darauf angewiesen waren, weggelassen. Auf diese Weise kann die Einrichtung eine Liste von Identifikationsnummern qualifizierter Sätze in einer geeigneten Reihenfolge für späteren Zugriff erstellen.
Die Vergleicher 132, 136,139 und 143 in Fig. 8 und die ,0 Vergleicher 116 und 122 in Fig. 7 sowie 159 in Fig. 9 können so ausgelegt werden, dass sie gegenüber den Bitkonfigurationen der Gross- und Kleinschrift der alphabetischen Zeichen transparent sind, so dass der Ordnungsvorgang der gleiche ist, unabhängig davon, welche Zeichen in einem Namen oder 15 Wort in Grossschreibung oder Kleinschreibung vorliegen.
Diese Konfiguration kann die Form von ODER-Gliedern in den Vergleichen annehmen, so dass ein Ansprechen auf decodierte Zeichen der Gross- und Kleinschreibung gewährleistet ist, oder es kann der Zeichencode so gewählt werden, dass 20 eine vorgegebene Bitposition im Zeichencode angibt, ob das betreffende Zeichen zur Gross- oder Kleinschreibung gehört. Bezüglich des von der Bedienungsperson einzugebenden Qualifikationstextes sei erwähnt, dass neutrale Codezeichen definiert werden können, die der Einrichtung erlauben, eine Qua- 25 lifikation nur hinsichtlich derjenigen Zeichenpositionen im Qualifikationsfeld durchzuführen, die von der Bedienungsperson eingegebenen gültigen Zeichen entsprechen. Wenn + beispielsweise das neutrale Codezeichen darstellt, dann können alle Sätze, die ein mit S beginnendes Feld aufweisen, durch die 30 Eingabe von S + + + in das Qualifikationsregister 9a-d qualifiziert werden, wobei die Bedingung «gleich» in die entsprechende Qualifikationsregister 8a-d gesetzt wird und die betreffende Feldnummer in das Feldnummernregister 7a-d.
Die Bedienungsperson kann also eine Folge von Qualifikationsmerkmalen eingeben und eine geordnete Folge von gedruckten, individualisierten Briefen aus den in der Datei enthaltenen Sätzen zusammenstellen, die qualifiziert sind. Das Ordnen basiert auf der Auswahl bestimmter Felder des Satzes durch die Bedienungsperson. Wenn der Drucker den Satz adressiert, können andere Felder für das individualisierte Dokument benutzt werden. Es ist nicht erforderlich, dass irgendeins der Qualifikations- oder Ordnungsfelder benutzt wird. Bei andern Anwendungen kann es erwünscht sein, eine Liste von Sätzen oder Teilen von Sätzen in einer unterschiedlichen Ordnung auszudrucken als diejenige, in welcher sie physikalisch im Speicher abgespeichert sind. Die beschriebene Einrichtung gestattet die Ausgabe einer geordneten Folge von qualifizierten Sätzen ohne die Einschränkung, dass diese Daten in den Text eines individualisierten Dokumentes eingemischt werden müssen.
Es liegt also eine Einrichtung zum Ordnen von Sätzen einer Datei vor, in welcher derjenige Satz der Datei mit den höchsten oder niedrigsten Daten in einem oder mehreren Feldern der Sätze aufgefunden wird, unter der Voraussetzung, dass der Satz in Übereinstimmung mit den Daten in andern Feldern der Sätze zum Ordnen qualifiziert ist. Die Einrichtung kommt mit einem minimalen Direktzugriffsspeicher aus. Die Möglichkeit zum erneuten Starten gewährleistet, dass beispielsweise ein grosser Druckauftrag unterbrochen werden kann, ohne dass bei seiner Wiederaufnahme auf bereits vorgängig benutzte Sätze zurückgegriffen werden muss.
12 Blatt Zeichnungen

Claims (2)

638 913 2 PATENTANSPRÜCHE
1. Vorrichtung in Textverarbeitungsanlagen zum Auswählen von zum Ordnen qualifizierten Datensätzen unterschiedlicher Länge, die einer in den Blöcken eines Speichers gespeicherten Datei angehören, welche Datensätze in einem ersten Feld ein Ordnungskriterium und in einem zweiten Feld ein Qualifikationskriterium enthalten, gekennzeichnet durch erste Mittel (10) zum Auffinden, in jedem der Blöcke, desjenigen qualifizierten Datensatzes, der im ersten Feld den niedrigsten bzw. höchsten Datenwert oberhalb bzw. unterhalb eines in einem Register (5) gespeicherten Anfangswertes aufweist, durch zweite Mittel (11) zum Speichern einer Liste mit Eintragungen für jeden der Speicherblöcke, wobei diese Eintragungen je Block die Daten des ersten Feldes der von den ersten Mitteln (10) gefundenen Datensätze sowie ein zugehöriges Kennzeichen enthalten, durch dritte Mittel (58,65) zum Auffinden des niedrigsten bzw. höchsten in der Liste vorkommenden Datenwertes, und durch vierte Mittel (15,35) zum Zugreifen auf den durch das Kennzeichen identifizierten Datensatz mit dem niedrigsten bzw. höchsten Datenwert im Speicher (1) und zum Ausgeben an einen Drucker (18).
2. Vorrichtung nach Patentanspruch 1, dadurch gekennzeichnet, dass die zweiten Mittel zum Speichern einer Liste als Register (11) ausgebildet sind, und dass eine mit diesem Register (11) verbundene Nachführ-Steuerschaltung (20) vorgesehen ist, die unter Steuerung durch ein Taktsignal den in diesem Register (11) stehenden Anfangswert laufend auf den niedrigsten bzw. höchsten durch die ersten Mittel (10) festgestellten Datenwert nachführt.
CH878A 1977-01-25 1978-01-03 Vorrichtung in textverarbeitungsanlagen zum auswaehlen von zum ordnen qualifizierten datensaetzen unterschiedlicher laenge. CH638913A5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/762,374 US4209845A (en) 1977-01-25 1977-01-25 File qualifying and sorting system

Publications (1)

Publication Number Publication Date
CH638913A5 true CH638913A5 (de) 1983-10-14

Family

ID=25064863

Family Applications (1)

Application Number Title Priority Date Filing Date
CH878A CH638913A5 (de) 1977-01-25 1978-01-03 Vorrichtung in textverarbeitungsanlagen zum auswaehlen von zum ordnen qualifizierten datensaetzen unterschiedlicher laenge.

Country Status (14)

Country Link
US (1) US4209845A (de)
JP (1) JPS5393744A (de)
AU (1) AU516785B2 (de)
BE (1) BE862190A (de)
BR (1) BR7800423A (de)
CA (1) CA1108762A (de)
CH (1) CH638913A5 (de)
DE (1) DE2756352C3 (de)
ES (1) ES466290A1 (de)
FR (1) FR2378310A1 (de)
GB (1) GB1551686A (de)
IT (1) IT1126223B (de)
NL (1) NL7800647A (de)
SE (1) SE7800860L (de)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4532502A (en) * 1980-04-11 1985-07-30 Sony Corporation Apparatus for selectively transferring data between registers
US4510567A (en) * 1981-05-18 1985-04-09 International Business Machines Corp. Qualifying and sorting file record data
EP0065114B1 (de) * 1981-05-18 1988-03-30 International Business Machines Corporation Verfahren zur Qualifizierung und Sortierung von Informationen von einem Aufzeichnungssatzesspeicher in einem Textverarbeitungssystem
US4514826A (en) * 1981-05-18 1985-04-30 Tokyo Shibaura Denki Kabushiki Kaisha Relational algebra engine
US4454576A (en) * 1981-05-18 1984-06-12 International Business Machines Corporation Report preparation
US4441165A (en) * 1981-09-28 1984-04-03 Hughes Aircraft Company Real-time ordinal-value filters utilizing complete intra-data comparisons
US4439840A (en) * 1981-09-28 1984-03-27 Hughes Aircraft Company Real-time ordinal-value filters utilizing partial intra-data comparisons
US4456968A (en) * 1981-09-28 1984-06-26 Hughes Aircraft Company Real-time ordinal-value filter utilizing half-interval ranking
JPS5866152A (ja) * 1981-10-16 1983-04-20 Canon Inc 文字処理装置
NL8201057A (nl) * 1982-03-15 1983-10-03 Philips Nv Inrichting voor het serieel fuseren van twee geordende lijsten tot een enkele geordende lijst.
US4499555A (en) * 1982-05-06 1985-02-12 At&T Bell Laboratories Sorting technique
US4611310A (en) * 1982-08-23 1986-09-09 Canevari Timber Co. Method and system for rearranging data records in accordance with keyfield values
US4611280A (en) * 1984-03-12 1986-09-09 At&T Bell Laboratories Sorting method
US4679139A (en) * 1984-05-01 1987-07-07 Canevari Timber Co., Inc. Method and system for determination of data record order based on keyfield values
US4977536A (en) * 1984-12-10 1990-12-11 Canon Kabushiki Kaisha Document processor
JPS6254329A (ja) * 1985-05-22 1987-03-10 Hitachi Ltd フアイル装置へのデ−タの登録方法および検索方法
JP2753260B2 (ja) * 1987-05-13 1998-05-18 株式会社日立製作所 マージ方法
US5072367A (en) * 1987-10-01 1991-12-10 International Business Machines Corporation System using two passes searching to locate record having only parameters and corresponding values of an input record
JP2752634B2 (ja) * 1988-05-26 1998-05-18 優 喜連川 ソート処理装置
JPH02178730A (ja) * 1988-12-28 1990-07-11 Toshiba Corp 分割法を用いた内部ソート方式
US5111465A (en) * 1989-06-30 1992-05-05 Digital Equipment Corporation Data integrity features for a sort accelerator
JPH0776906B2 (ja) * 1989-06-30 1995-08-16 ディジタル イクイプメント コーポレーション 分類加速装置のための速度及びメモリー制御
US5274805A (en) * 1990-01-19 1993-12-28 Amalgamated Software Of North America, Inc. Method of sorting and compressing data
US5121493A (en) * 1990-01-19 1992-06-09 Amalgamated Software Of North America, Inc. Data sorting method
US5369762A (en) * 1990-06-28 1994-11-29 Wolf; William M. Method for sorting data in a computer at high speed by using data word values for address locations
US5563997A (en) * 1992-11-16 1996-10-08 Canon Kabushiki Kaisha Method and apparatus for sorting records into a list box in a graphic user interface
US5497486A (en) * 1994-03-15 1996-03-05 Salvatore J. Stolfo Method of merging large databases in parallel
US5630123A (en) * 1994-09-28 1997-05-13 I2 Technologies, Inc. Software system utilizing a filtered priority queue and method of operation
TW283220B (de) * 1994-09-28 1996-08-11 I2 Technologies Inc
US5628004A (en) * 1994-11-04 1997-05-06 Optima Direct, Inc. System for managing database of communication of recipients
JP3518034B2 (ja) * 1995-03-30 2004-04-12 三菱電機株式会社 ソート方法並びにソート処理装置並びにデータ処理装置
US6188989B1 (en) 1995-06-16 2001-02-13 I2 Technologies, Inc. System and method for managing available to promised product (ATP)
US5845258A (en) * 1995-06-16 1998-12-01 I2 Technologies, Inc. Strategy driven planning system and method of operation
US5764543A (en) * 1995-06-16 1998-06-09 I2 Technologies, Inc. Extensible model network representation system for process planning
US7085729B1 (en) 1995-06-16 2006-08-01 I2 Technologies Us, Inc. System and method for allocating manufactured products to sellers
US5832532A (en) * 1995-06-16 1998-11-03 I2 Technologies, Inc. Model-independent and interactive report generation system and method of operation
US6963847B1 (en) 1998-09-18 2005-11-08 I2 Technologies Us, Inc. System and method for managing ATP data in a distributed supply chain planning environment
US7039602B1 (en) 1999-06-14 2006-05-02 I2 Technologies Us, Inc. Configuring products with default sections determined according to optimization functions
DE10017785C2 (de) * 2000-04-10 2002-04-18 Oce Printing Systems Gmbh Verfahren und System zur Verarbeitung eines Druckdatenstroms
US8301535B1 (en) 2000-09-29 2012-10-30 Power Financial Group, Inc. System and method for analyzing and searching financial instrument data
US7249044B2 (en) * 2000-10-05 2007-07-24 I2 Technologies Us, Inc. Fulfillment management system for managing ATP data in a distributed supply chain environment
US7065499B1 (en) 2001-03-19 2006-06-20 I2 Technologies Us, Inc. Intelligent order promising
US7024371B2 (en) * 2001-04-13 2006-04-04 I2 Technologies Us, Inc. High availability planning and scheduling architecture
US7043444B2 (en) * 2001-04-13 2006-05-09 I2 Technologies Us, Inc. Synchronization of planning information in a high availability planning and scheduling architecture
US7797215B1 (en) 2002-06-26 2010-09-14 Power Financial Group, Inc. System and method for analyzing and searching financial instrument data
GB2424722A (en) * 2005-03-21 2006-10-04 Think Software Pty Ltd Method and apparatus for generating relevance sensitive collation keys
US7792825B2 (en) * 2005-09-08 2010-09-07 International Business Machines Corporation Fast select for fetch first N rows with order by
US8635190B2 (en) * 2005-11-04 2014-01-21 Oracle America, Inc. Method and system for pruned resilvering using a dirty time log
US8938594B2 (en) * 2005-11-04 2015-01-20 Oracle America, Inc. Method and system for metadata-based resilvering
US20070124271A1 (en) * 2005-11-25 2007-05-31 International Business Machines Corporation Method and system for managing file aliases
US8200569B1 (en) 2006-06-22 2012-06-12 Power Financial Group, Inc. Option search criteria testing

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB812015A (en) * 1955-09-02 1959-04-15 Lab For Electronics Inc Improvements in or relating to information sorting systems
US3540000A (en) * 1967-11-02 1970-11-10 Ibm Criss-cross sorting method and means
US3713107A (en) * 1972-04-03 1973-01-23 Ncr Firmware sort processor system
US3931612A (en) * 1974-05-10 1976-01-06 Triad Systems Corporation Sort apparatus and data processing system
US3927391A (en) * 1975-03-25 1975-12-16 Us Navy Technique for ranking data observations
US4007439A (en) * 1975-08-18 1977-02-08 Burroughs Corporation Select high/low register method and apparatus

Also Published As

Publication number Publication date
BE862190A (fr) 1978-04-14
DE2756352A1 (de) 1978-07-27
DE2756352B2 (de) 1980-02-07
SE7800860L (sv) 1978-07-26
AU516785B2 (en) 1981-06-25
BR7800423A (pt) 1978-10-03
JPS5735493B2 (de) 1982-07-29
NL7800647A (nl) 1978-07-27
GB1551686A (en) 1979-08-30
US4209845A (en) 1980-06-24
FR2378310B1 (de) 1980-12-19
FR2378310A1 (fr) 1978-08-18
AU3098177A (en) 1979-05-31
JPS5393744A (en) 1978-08-17
DE2756352C3 (de) 1980-10-09
CA1108762A (en) 1981-09-08
ES466290A1 (es) 1978-10-01
IT1126223B (it) 1986-05-14

Similar Documents

Publication Publication Date Title
CH638913A5 (de) Vorrichtung in textverarbeitungsanlagen zum auswaehlen von zum ordnen qualifizierten datensaetzen unterschiedlicher laenge.
DE2523414C3 (de) Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen
DE1449765B2 (de) Einrichtung zur Abfrage eines assoziativen Speichers
DE2621882B2 (de) Speicher für Rechenautomaten mit mindestens zwei parallel angeordneten, einen Rücklaufkreis aufweisenden Speicherschleifen
DE2331589A1 (de) Datenverarbeitungsanordnung
DE1293857B (de) Schaltungsanordnung zur Steuerung der bistabilen UEbereinstimmungs-Anzeigeelemente in einem assoziativen Speicher
DE3327379A1 (de) Einrichtung und verfahren zum umordnen von datensaetzen
DE2607842C2 (de)
DE1774052B1 (de) Rechner
DE2703559C2 (de)
DE1437002A1 (de) Vielfach-Schaltstufe und zugehoerige Steuerschaltung
DE4042161C2 (de)
EP0173769B1 (de) Anordnung zur Prioritätsvergabe
DE3851796T2 (de) Einrichtung zur Hochgeschwindigkeitsentscheidung der Verschachtelungsebene.
DE3828289A1 (de) Endgeraet-identifizierung-steuerschaltung
DE2519195A1 (de) Assoziativspeicher
DE2750126B2 (de)
DE4435457C2 (de) Verfahren zum Archivieren von Prozeßdaten
DE3105503A1 (de) Assoziativer zugriffsspeicher
DE2748859A1 (de) Schaltungsanordnung zum speichern eines textes
DE2846572A1 (de) Anzeigensteuerung fuer vermittlungstische
DE2911147C2 (de)
DE2901455A1 (de) Anordnung und verfahren zum wahlfreien zugriff eines umlaufenden speichers
EP0139816B1 (de) Verfahren und Anordnung zum Aufsuchen von einem vorgegebenen Suchargument entsprechenden Daten einer Datenfolge mit assoziativen Einrichtungen
DE3303380C2 (de) Halbleiterspeicher

Legal Events

Date Code Title Description
PL Patent ceased