DE10123377A1 - Reading data stored on data tape involves reading out parameters describing structure of label depending on data tape type, identifying , reading out label using parameter describing label - Google Patents

Reading data stored on data tape involves reading out parameters describing structure of label depending on data tape type, identifying , reading out label using parameter describing label

Info

Publication number
DE10123377A1
DE10123377A1 DE2001123377 DE10123377A DE10123377A1 DE 10123377 A1 DE10123377 A1 DE 10123377A1 DE 2001123377 DE2001123377 DE 2001123377 DE 10123377 A DE10123377 A DE 10123377A DE 10123377 A1 DE10123377 A1 DE 10123377A1
Authority
DE
Germany
Prior art keywords
data
label
labels
tape
type
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.)
Granted
Application number
DE2001123377
Other languages
German (de)
Other versions
DE10123377B4 (en
Inventor
Hermann Lankreijer
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.)
Canon Production Printing Germany GmbH and Co KG
Original Assignee
Oce Printing Systems GmbH and Co KG
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 Oce Printing Systems GmbH and Co KG filed Critical Oce Printing Systems GmbH and Co KG
Priority to DE2001123377 priority Critical patent/DE10123377B4/en
Publication of DE10123377A1 publication Critical patent/DE10123377A1/en
Application granted granted Critical
Publication of DE10123377B4 publication Critical patent/DE10123377B4/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1262Formatting, e.g. arrangement of data block or words on the record carriers with more than one format/standard, e.g. conversion from CD-audio format to R-DAT format
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1201Formatting, e.g. arrangement of data block or words on the record carriers on tapes
    • G11B20/1202Formatting, e.g. arrangement of data block or words on the record carriers on tapes with longitudinal tracks only
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/107Programmed access in sequence to addressed parts of tracks of operating record carriers of operating tapes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/328Table of contents on a tape [TTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor

Abstract

The method involves entering the data tape type into the reader, reading out parameters describing the structure of the label depending on the data tape type, identifying and reading out the label using the parameter describing the label, reading out the useful data using the information in the label and outputting the useful data. Independent claims are also included for (1) a computer program; and (2) a reader.

Description

Die Erfindung betrifft ein Verfahren zum Lesen von auf ei­ nem Datenband gespeicherter Daten mittels einer Lesevor­ richtung, wobei auf dem Datenband Nutzdaten und Formatdaten aufgezeichnet sind, und eine Lesevorrichtung.The invention relates to a method for reading on egg a data band of stored data by means of a reader direction, whereby on the data band useful data and format data are recorded, and a reading device.

Nutzdaten sind die Daten, die ein Benutzer eines Datenban­ des auf dem Datenband abspeichert und vom Datenband wieder lesen kann. Formatdaten sind zusätzlich zu den Nutzdaten auf dem Datenband gespeicherte Daten, die der Strukturie­ rung und Formatierung der Nutzdaten dienen, so dass die Nutzdaten beim Lesen mittels einer Lesevorrichtung aufge­ funden und von der Lesevorrichtung gelesen werden können.User data is the data that a user of a database which is stored on the data tape and from the data tape again can read. Format data is in addition to the user data data stored on the data tape, that of the structure serving and formatting the user data so that the User data when reading by means of a reading device find and can be read by the reading device.

Es gibt unterschiedliche Typen von Datenbändern, die sich im Wesentlichen durch die jeweilige Datenstruktur unter­ scheiden.There are different types of data tapes essentially through the respective data structure below divorce.

Derartige Datenbandtypen sind zum Beispiel: American Natio­ nal Standards Institute (ANSI), IBM OS/360, IBM BOS/360, IBM DOS/360, GRASP, IBM DOS/360, POWER II; IBM POWER/VS, IBM POWER/VSE, UNIVAC Series 70 (US 70), Medium Burroughs, Large Burroughs, Honeywell, UNIVAC SDR, IBM OS Writer, NCR, DEC PDP-11, ICL 2900 VME/B.Such data band types are, for example: American Natio nal Standards Institute (ANSI), IBM OS / 360, IBM BOS / 360, IBM DOS / 360, GRASP, IBM DOS / 360, POWER II; IBM POWER / VS, IBM POWER / VSE, UNIVAC Series 70 (US 70), Medium Burroughs, Large Burroughs, Honeywell, UNIVAC SDR, IBM OS Writer, NCR, DEC PDP-11, ICL 2900 VME / B.

Diese Datenbandtypen sind in Xerox Laser Printing Systems- Tape Formats Manual, RANK XEROX, Publication 700P91799, Fe­ bruar 1991, Version 3.5 beschrieben.These types of data bands are in Xerox Laser Printing Systems- Tape Formats Manual, RANK XEROX, Publication 700P91799, Fe February 1991, version 3.5.

Die Formatdaten dieser Datenbandtypen sind oft als soge­ nannte Label auf den Datenbändern aufgezeichnet. Diese La­ bel sind jeweils zu Beginn eines Datenbandes und zu Beginn der jeweiligen Datei angeordnet, wobei in der Regel eine Reihe unterschiedlicher Label vorgesehen sind. Die Label weisen in der Regel eine Label-ID auf, mit welcher die La­ bel bezeichnet werden. Der Label-ID folgen in der Regel eine Reihe von Formatierungs- und Organisationsdaten, die von dem vom Benutzer verwendeten Betriebssystem des Compu­ tersystems bzw. der Leseeinrichtung beschrieben und ausge­ lesen werden.The format data of these data band types are often called named labels recorded on the data tapes. This La are at the beginning of a data tape and at the beginning the respective file, usually a A number of different labels are provided. The label  usually have a label ID with which the La be designated. The label ID usually follow a set of formatting and organizational data that the Compu operating system used by the user tersystems and the reading device described and out will read.

Beim ANSI-Datenbandtyp sind zum Beispiel am Beginn eines jeden Datenbandes eine Reihe von Label vorgesehen, von wel­ chen das erste Label als VOL1 bezeichnet wird, was für "Vo­ lume 1" steht. Es können weitere Label mit der Bezeichnung VOLx, wobei x für eine ganze Zahl von 1 bis 9 steht, oder ein Label HDR1, der den sogenannten Header einer Datei dar­ stellt, folgen.For example, with the ANSI data band type there is a a series of labels are provided for each data band, by which the first label is called VOL1, which means "Vo lume 1 "stands. There can be further labels with the designation VOLx, where x is an integer from 1 to 9, or a label HDR1, which represents the so-called header of a file poses, follow.

Je nach Datenbandtyp werden die Label unterschiedlich be­ zeichnet und sind unterschiedlich aufgebaut. Dies hat zur Folge, dass mit bekannten Computerprogrammen zum Lesen von auf einem Datenband gespeicherten Daten üblicherweise nur ein Datenbandtyp gelesen werden kann. Sollen mit einer Le­ sevorrichtung mehrere Datenbandtypen gelesen werden, so sind für jeden Bandtyp ein separater Programmabschnitt (= Funktion) vorzusehen. Es besteht daher ein erheblicher Be­ darf nach einem Verfahren, mit welchen unterschiedliche Da­ tenbandtypen mit einer Lesevorrichtung gelesen werden kön­ nen.The labels are assigned differently depending on the data band type draws and are structured differently. This has to Consequence that with known computer programs for reading Data usually only stored on a data tape a data band type can be read. Should with a le device multiple data band types are read, so are a separate program section for each band type (= Function). There is therefore a considerable burden may according to a procedure with which different Da tenband types can be read with a reader NEN.

Bei bekannten Verfahren, wie zum Beispiel einem in der GB 2,285,525 A beschriebenen Verfahren, werden Datenbänder je­ weils eines einzigen Typs ausgelesen. Bei dem aus der GB 2,285,525 A hervorgehenden Verfahren wird ein besonderes schnelles Auslesen der Nutzdaten ermöglicht.In known methods, such as one in GB 2,285,525 A described methods, data tapes are each because of a single type. In the case of GB 2,285,525 A resulting procedure becomes a special one enables the user data to be read out quickly.

Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Lesen von auf einem Datenband gespeicherter Daten mittels einer Lesevorrichtung zu schaffen, das das Lesen unter­ schiedlicher Datenbandtypen erlaubt und dennoch einfach ausgebildet ist. Ferner liegt der Erfindung die Aufgabe zu­ grunde, ein Computerprogramm zum Ausführen des erfindungs­ gemäßen Verfahrens sowie eine Lesevorrichtung zu schaffen.The invention has for its object a method for Reading data stored on a data tape by means of to create a reading device that reads under Different data band types allowed and yet simple  is trained. Furthermore, the invention has the object reasons, a computer program for executing the invention according to the method and to create a reading device.

Die Erfindung wird mit einem Verfahren mit den Merkmalen des Anspruchs 1, mit einem Computerprogramm gemäß Anspruch 11 und einer Lesevorrichtung gemäß Anspruch 18 gelöst. Vor­ teilhafte Ausgestaltungen der Erfindung sind in den Un­ teransprüchen angegeben.The invention is based on a method having the features of claim 1, with a computer program according to claim 11 and a reading device according to claim 18 solved. before partial embodiments of the invention are in the Un claims specified.

Gemäß dem erfindungsgemäßen Verfahren werden die auf einem Datenband gespeicherten Daten mittels einer Lesevorrichtung ausgelesen, wobei auf dem Datenband Nutzdaten und Formatda­ ten aufgezeichnet sind, und die Formatdaten Label aufwei­ sen, mit welchen das Format der Nutzdaten definiert ist, wobei das Verfahren folgende Schritte umfasst:
According to the method according to the invention, the data stored on a data tape are read out by means of a reading device, useful data and format data being recorded on the data tape, and the format data having labels with which the format of the user data is defined, the method comprising the following steps:

  • - Eingeben des Datenbandtyps in die Lesevorrichtung,Entering the data band type in the reading device,
  • - Auslesen von Parametern, die die Struktur der Label beschreiben, wobei die Parameter in Abhängigkeit des eingegeben Datenbandtyps ausgelesen werden,- Reading parameters that determine the structure of the label describe, the parameters depending on the entered data band type are read out,
  • - Identifizieren und Auslesen der Label mittels der die Label beschreibenden Parameter,- Identify and read the labels using the Label describing parameters,
  • - Auslesen der Nutzdaten mittels der in den Label ent­ haltenen Angaben, und- Reading out the user data using the ent in the label held information, and
  • - Ausgeben der Nutzdaten.- Output of the user data.

Erfindungsgemäß werden somit die Formate der einzelnen Da­ tenbandtypen in Form von Parametern hinterlegt, nach deren Maßgabe das Leseverfahren arbeitet. Das erfindungsgemäße Verfahren kann somit mit einem einzigen Programmabschnitt (= eine einzige Funktion) realisiert werden, der auf die Parameter zugreift.According to the invention, the formats of the individual Da tenband types in the form of parameters, according to their Provided the reading process works. The invention The method can thus be used with a single program section (= a single function) that can be implemented on the Accesses parameters.

Dem Erfinder ist es gelungen, für die Parameter eine Struk­ tur vorzusehen, mit welcher grundsätzlich alle Datenbandty­ pen hinreichend beschreibbar sind. So sind nach einer bevorzugten Ausführungsform der Erfindung für jeden Bandtyp ein separater Satz Parameter hinterlegt, wobei jeder Satz Parameter eine Tabelle mit allen Label-IDs des Bandtyps aufweist, und durch die Struktur der Tabelle die Reihenfol­ gen, mit welcher die Label auf dem Band aufgezeichnet sein können, definiert ist. Durch die Parametrisierung ist es möglich, unterschiedliche Typen von Datenbändern mit einem einzigen Verfahren zu lesen.The inventor succeeded in creating a structure for the parameters to provide with which basically all data band are sufficiently writable. So are after a preferred one  Embodiment of the invention for each type of tape a separate set of parameters is deposited, with each set Parameters a table with all label IDs of the tape type and, due to the structure of the table, the order with which the labels are recorded on the tape can, is defined. By parameterization it is possible to use different types of data tapes with one single procedure to read.

Nach einer bevorzugten Ausführungsform der Erfindung weisen die Parameter Typbezeichnungen auf, wobei jedem Label eine Typbezeichnung zugeordnet ist. Mit diesen Typbezeichnungen können die Label in unterschiedliche Gruppen eingeteilt werden, wobei die Analyse der Label beim Identifizieren desselben durch Feststellen der Gruppenzuordnung wesentlich erleichtert wird. So sind Label, die immer vorzusehen sind, mit Typbezeichnung "immer" versehen, weshalb beim Abarbei­ ten einer Sequenz von Labeln ein Fehler sofort festgestellt werden kann, wenn ein Label des Typs "immer" fehlt. Beim erfindungsgemäßen Verfahren werden unterschiedliche Typbe­ zeichnungen verwendet. Es ist sogar vorteilhaft, eine Typbezeichnung "niemals" zu verwenden, die besagt, dass ein solcher Label bei dem jeweiligen Datenbandtyp niemals vor­ kommen kann. Hierdurch können mit geringem Aufwand Parame­ ter eines Datenbandtypes auf einen anderen Datenbandtyp ab­ geändert werden.According to a preferred embodiment of the invention the parameters type designations, whereby each label has a Type designation is assigned. With these type designations the labels can be divided into different groups be, the analysis of the labels when identifying of the same by determining the group assignment is facilitated. So labels that should always be provided provided with type designation "always", which is why when processing an error was immediately detected in a sequence of labels can be, if a label of the type "always" is missing. At the Methods of the invention are of different types drawings used. It is even beneficial to have one Type designation "never" to use, which means that a such a label never exists for the respective data tape type can come. This allows Parame with little effort ter of a data band type to another data band type be changed.

Das erfindungsgemäße Verfahren kann in Form eines Computer­ programmes umgesetzt werden, wobei bei einer bevorzugten Ausführungsform der Erfindung, das Computerprogramm in all­ gemeine Klassen und spezielle Klassen strukturiert ist, wo­ bei Methoden der speziellen Klassen den allgemeinen Klassen vererbt werden, und für jeden Datenbandtyp mindestens eine spezielle Klasse vorgesehen ist. Hierdurch können in den speziellen Klassen die Datenband-spezifischen Methoden und Variablen definiert werden, die dann auf die allgemeine Klasse vererbt werden. Hierdurch ist beim Einführen eines neuen Datenbandtypes lediglich notwendig, eine spezielle Klasse zu erstellen und die Variablen und Methoden der all­ gemeinen Klasse können, soweit sie nicht durch die spezi­ elle Klasse ersetzt werden, unverändert beibehalten werden. Eine derartige Programmstruktur erlaubt eine schnelle und einfache Adaption des Computerprogrammes an unterschiedli­ che Datenbandtypen.The method according to the invention can be in the form of a computer programs are implemented, with a preferred Embodiment of the invention, the computer program in all common classes and special classes is structured where for methods of the special classes the general classes are inherited, and at least one for each data band type special class is provided. This allows in the data-specific methods and special classes Variables are defined, which then apply to the general Class to be inherited. This is when a  new data band types only necessary, a special one To create class and the variables and methods of all general class, unless they are not specified by the spec All classes are replaced, are kept unchanged. Such a program structure allows a quick and simple adaptation of the computer program to different data types.

Nachfolgend wird die Erfindung beispielhaft anhand der Zeichnungen näher erläutert. In denen zeigen:In the following, the invention is exemplified on the basis of the Drawings explained in more detail. In which show:

Fig. 1 eine Übersicht des Verfahrens in einem Flussdiagramm, Fig. 1 shows an overview of the method in a flow chart,

Fig. 2 das Identifizieren von Label in einem Fluss­ diagramm, Fig. 2 diagrammatically identifying label in a river,

Fig. 3 das Vergleichen des gelesenen Labels mit Vorgaben, Fig. 3, comparing the read labels with instructions,

Fig. 4 das Extrahieren von Variablen in einem Flussdiagramm, Fig. 4 shows the extraction of variables in a flow chart,

Fig. 5 Parameter zum Lesen eines ANSI-Datenbandes, Fig. 5 Parameters for reading an ANSI data tape,

Fig. 6 Parameter zum Lesen eines Honeywell-Daten­ bandes, Fig. 6 Parameters for reading a Honeywell data tape,

Fig. 7 schematisch eine Lesevorrichtung, Fig. 7 shows schematically a read apparatus,

Fig. 8a-8d schematisch Datenbänder mit den darauf auf­ gezeichneten Daten, FIGS. 8a-8d schematically data tapes with it, on plotted data

Fig. 9 den Aufbau eines Computerprogramms zum Aus­ führen des erfindungsgemäßen Verfahrens schematisch in einem Wolkendiagramm, Fig. 9 shows the structure of a computer program lead to from the process of the invention schematically in a cloud diagram

Fig. 10 einen Ausschnitt des Computerprogramms aus Fig. 9 schematisch in einem Klassendiagramm, Fig. 10 shows a detail of the computer program of FIG. 9 schematically shows a class diagram,

Fig. 11-12b Ausschnitte des Computerprogramms nach Fig. 9 in Sequenzdiagrammen, und Fig. 11-12b sections of the computer program of FIG. 9 in sequence diagrams, and

Fig. 13 ein Drucksystem schematisch in einem Block­ diagramm. Fig. 13 shows a printing system schematically in a block diagram.

Eine Übersicht über das erfindungsgemäße Verfahren ist schematisch in der Fig. 1 gezeigt. Mit einem Schritt S1 beginnt das Verfahren. In einem Schritt S2 wird das Datenband 17 in eine Lesevorrichtung 18 eingelegt und hierbei in die Lesevorrichtung 18 der Bandtyp eingegeben. Dies kann zum Beispiel durch Betätigen einer entsprechend markierten Ta­ ste 19 an der Lesevorrichtung 18 erfolgen. Durch Betätigen dieser Taste 19 werden vorab hinterlegte Parameter ausge­ wählt, welche den jeweiligen Bandtyp beschreiben. Die Lese­ vorrichtung 18 wird von einer eine CPU und eine Spei­ chereinrichtung aufweisenden Steuereinrichtung 20 gesteu­ ert.An overview of the method according to the invention is shown schematically in FIG. 1. The method begins with a step S1. In a step S2, the data tape 17 is inserted into a reading device 18 and the tape type is entered into the reading device 18 . This can be done, for example, by actuating a correspondingly marked key 19 on the reading device 18 . By pressing this key 19 , previously stored parameters are selected which describe the respective belt type. The reading device 18 is controlled by a control device 20 having a CPU and a storage device.

Im Schritt S3 wird geprüft, ob der die Label beschreibende Code auf dem Datenband in ASCII vorliegt. Ist dies nicht der Fall, so wird dieser Code in ASCII umgesetzt (Schritt S4). Ansonsten geht der Verfahrensablauf direkt auf den Schritt S5 über, in dem die Label identifiziert werden. Dies wird unten näher erläutert. Im Schritt S6 wird ge­ prüft, ob die Label identifiziert werden konnten. Ist dies nicht der Fall, so geht der Verfahrensablauf auf den Schritt S7, mit dem eine entsprechende Fehlermeldung ausge­ geben wird und dann auf den Schritt S8 über, mit dem das Verfahren beendet wird. Konnte das Label identifiziert wer­ den, so geht das Verfahren vom Schritt S6 auf den Schritt S9 über, mit dem das identifizierte Label gelesen bzw. ex­ trahiert wird. Dies wird unten näher erläutert.In step S3 it is checked whether the label describing the label Code on the data tape is in ASCII. Is not this the case, this code is converted into ASCII (step S4). Otherwise, the procedure goes directly to the Step S5 in which the labels are identified. This is explained in more detail below. In step S6, ge checks whether the labels could be identified. Is this not the case, the procedure goes on Step S7, with which a corresponding error message is issued is given and then to step S8, with which the Procedure is ended. Could the label identify who the method goes from step S6 to step S9 with which the identified label is read or ex is trawled. This is explained in more detail below.

Im Schritt S10 wird geprüft, ob ein Bandende vorliegt. Ist dies der Fall, so wird im Schritt S11 eine entsprechende Funktion ausgeführt. Ansonsten wird im Schritt S12 geprüft, ob ein Dateiende vorliegt. Ist dies der Fall, wird im Schritt S13 eine Dateiendefunktion ausgeführt.In step S10 it is checked whether there is a tape end. is if this is the case, a corresponding one is made in step S11 Function carried out. Otherwise, it is checked in step S12 whether there is an end of file. If this is the case, Step S13 executes an end of file function.

Ansonsten wird im Schritt S14 geprüft, ob ein Dateianfang vorliegt. Ist dies der Fall, wird im Schritt S15 eine Da­ teianfangsfunktion ausgeführt. Ansonsten geht der Verfah­ rensablauf auf den Schritt S8 über, mit dem das Verfahren beendet wird. Die Verfahrensschritte S11, S13 und S15 gehen jeweils auf den Schritt S8 über, mit dem das Verfahren be­ endet wird.Otherwise, it is checked in step S14 whether a file start is present. If this is the case, a Da becomes in step S15 Partial function executed. Otherwise the procedure goes flow to step S8 with which the method is ended. The process steps S11, S13 and S15 go  in each case to step S8, with which the method be will end.

Der wesentliche Unterschied zu bekannten Verfahren liegt im Schritt S5, mit dem die Label identifiziert werden. Bevor dieses Verfahren im Detail erläutert wird, werden nachfol­ gend kurz Beispiele der Datenstrukturen von Datenbändern des ANSI-Typs anhand der Fig. 8a bis 8d erläutert.The main difference to known methods lies in step S5, with which the labels are identified. Before this method is explained in detail, examples of the data structures of data tapes of the ANSI type are briefly explained below with reference to FIGS . 8a to 8d.

Fig. 8a zeigt ein Datenband mit einer schematischen Dar­ stellung der Datenstruktur. Hierbei ist eine einzige Datei A auf ein einziges Datenband, das auch als Volume bezeich­ net wird, gespeichert. Am Anfang des Bandes sind zwei Label VOL1 (= volume 1) und HDR1 (= header 1) aufgezeichnet. Auf diese beiden Label folgt eine Tape Mark TM. Danach folgt die Datei A. Am Ende der Datei sind eine Tape Mark TM, ein Label EOF1 (1. End of File label) und zwei weitere Tape Marks TM aufgezeichnet, die das Ende des Datenbandes mar­ kieren. Fig. 8a shows a data tape with a schematic Dar position of the data structure. Here, a single file A is stored on a single data tape, which is also referred to as a volume. At the beginning of the tape, two labels VOL1 (= volume 1) and HDR1 (= header 1) are recorded. A Tape Mark TM follows these two labels. This is followed by file A. At the end of the file, a tape mark TM, a label EOF1 (1st end of file label) and two further tape marks TM are recorded, which mark the end of the data tape.

Bei diesem Beispiel stellen die Label VOL1, HDR1 und EOF1 und die Tape Marks TM die Formatdaten und die Datei A die Nutzdaten dar. Nach dem ANSI-Standard beginnen die Daten auf einem Datenband immer mit dem Label VOL1. Danach folgt der Label HDR1, der die die Datei A beschreibenden Daten beinhaltet.In this example, the labels VOL1, HDR1 and EOF1 and the Tape Marks TM the format data and the file A the Payload data. According to the ANSI standard, the data begins on a data tape always with the label VOL1. Then follows the label HDR1, which describes the data describing file A. includes.

Fig. 8b zeigt ein Beispiel, bei dem eine Datei A auf drei Datenbänder verteilt ist. Diese Datenbänder beginnen je­ weils mit den Labeln VOL1 und HDR1. In den Labels VOL1 und HDR1 sind Angaben enthalten, durch welche die Reihenfolge der drei Bänder festgelegt ist. Die beiden ersten Bänder weisen nach dem Ende des jeweiligen Teils der Datei A das Label EOV1 auf, das "1. End of Volume label" bedeutet. Mit diesem Label wird das Ende des auf dem jeweiligen Band be­ schriebenen Bereiches markiert. Das dritte Datenband weist statt dem Label EOV1 das Label EOF1 auf, wobei sowohl das Ende des auf dem Band beschriebenen Bereiches mit dem Ende der Datei A zusammenfällt. Das Label EOF1 und die beiden Tape Marks TM zeigen an, dass kein weiteres Datenband folgt. Fig. 8b shows an example in which a file A is divided into three data tapes. These data tapes start with the labels VOL1 and HDR1. The labels VOL1 and HDR1 contain information that determines the order of the three bands. After the end of the respective part of file A, the first two tapes have the label EOV1, which means "1st end of volume label". This label marks the end of the area described on the respective tape. The third data tape has the label EOF1 instead of the label EOV1, the end of the area described on the tape coinciding with the end of the file A. The EOF1 label and the two Tape Marks TM indicate that no further data tape follows.

Fig. 8c zeigt ein Beispiel, bei dem zwei Dateien A, B auf einem Datenband gespeichert sind. Der Beginn des Datenban­ des ist mit dem Label VOL1 markiert. Darauf folgt das Label HDR1, eine Tape Mark TM und die Datei A. Das Ende der Datei A ist mit dem Label EOF1 markiert und der Anfang der Datei B mit dem Label HDR1, wobei diese Label jeweils durch eine Tape Mark TM von den benachbarten Daten abgegrenzt sind. Das Ende der Datei B wird mit dem Label EOF1 markiert, wo­ bei wiederum zwei Tape Marks TM vorgesehen sind. FIG. 8c shows an example in which two files A, B are stored on a data tape. The beginning of the database is marked with the label VOL1. This is followed by the label HDR1, a tape mark TM and the file A. The end of the file A is marked with the label EOF1 and the beginning of the file B with the label HDR1, these labels each being separated from the neighboring data by a tape mark TM are delimited. The end of file B is marked with the label EOF1, where again two tape marks TM are provided.

Fig. 8d zeigt ein Beispiel, bei dem die Dateien A, B und C auf drei Datenbänder verteilt sind. Die Datenbänder sind am Anfang jeweils mit dem Label VOL1 markiert. Der Anfang der Dateien A, B und C ist jeweils mit dem Label HDR1 markiert, wobei dieses Label auch am Anfang der Fortsetzung der Datei B verwendet wird. Das Ende der Dateien ist jeweils durch das Label EOF1 markiert. Das Ende des auf einem Band be­ schriebenen Bereiches ist mit dem Label EOF1 markiert, so­ fern dieses Ende nicht mit einem Ende einer Datei zusammen­ fällt, wie es bei der Datei C der Fall ist. Hier wird wie­ derum das Label EOF1 verwendet. Fig. 8d shows an example in which the files A, B and C are divided into three data tapes. The data tapes are initially marked with the label VOL1. The beginning of files A, B and C is marked with the label HDR1, whereby this label is also used at the beginning of the continuation of file B. The end of the files is marked by the label EOF1. The end of the area written on a tape is marked with the label EOF1, provided that this end does not coincide with one end of a file, as is the case with file C. Here again the label EOF1 is used.

Die in Fig. 8a bis 8d gezeigten Beispiele zeigen, dass die in einem Bandtyp verwendeten Label mit unterschiedlicher Reihenfolge auftreten können. Zudem sind in diesen Beispie­ len keine optionalen Label dargestellt. Grundsätzlich ist es auch möglich, dass das verwendete Betriebssystem oder der Benutzer weitere Informationen zum Format und zur Struktur der gespeicherten Daten auf ein Datenband abspei­ chert. Diese weiteren Informationen werden nach dem ANSI- Standard in die Label VOLx, UVLx, HDRx, EOFx, UTLx, EOVx abgespeichert, wobei "x" für eine ganze, einstellige Zahl oder ein ASCII-Zeichen steht.The examples shown in FIGS . 8a to 8d show that the labels used in a tape type can occur in different orders. In addition, no optional labels are shown in these examples. In principle, it is also possible for the operating system used or the user to save further information on the format and structure of the stored data on a data tape. According to the ANSI standard, this additional information is stored in the VOLx, UVLx, HDRx, EOFx, UTLx, EOVx labels, where "x" stands for an integer, one-digit number or an ASCII character.

Die Abfolge dieser Label ist vorgegeben, wobei jedoch ei­ nige Label optional verwendet werden können und je nach Be­ darf vom Betriebssystem oder dem Benutzer eingesetzt wer­ den.The sequence of these labels is predetermined, however, ei Some labels can be used optionally and depending on the loading may be used by the operating system or the user the.

Weitere Bandtypen gehen aus Xerox Laser Printing Systems- Tape Formats Manual, RANK XEROX, Publication 700P91799, Fe­ bruar 1991, Version 3.5 hervor. Dieses Dokument wird unter Bezugnahme inkorperiert.Other ribbon types come from Xerox Laser Printing Systems- Tape Formats Manual, RANK XEROX, Publication 700P91799, Fe February 1991, version 3.5. This document is under Reference Incorporated.

Fig. 5 zeigt die Struktur von Parametern, die den ANSI- Standard beschreiben und bei erfindungsgemäßen Verfahren zum Auslesen von Bändern des ANSI-Typs verwendet werden. Diese Parameter sind in drei Tabellen, der Sequenztabelle TS, der Labeltabelle TL und der Feldtabelle TF unterteilt. In der Sequenztabelle TS sind insgesamt fünf Spalten für unterschiedliche Label IDs vorgesehen. Zu diesen fünf Spal­ ten sind zwei weitere Spalten für Folgesequenzen 1 und 2 vorgesehen, die auf jeweils eine Folgesequenz verweisen, die alternativ möglich sind. In den Zeilen sind mögliche Labelsequenzen für den Bandanfang, Dateianfang, Daten, Da­ teiende, Bandende und das Ende des Bandes aufgeführt. In jeder Zeile können mehrere Label angegeben sein. Die Label VOL1, HDR1, TM, EOF1 und EOV1 sind notwendige Label, die "immer" vorhanden sind. Die übrigen Label dieser Tabelle sind "optional". Die optionalen Label werden, wenn sie an­ gewandt werden, immer in der Reihenfolge, in der sie in ei­ ner Zeile dieser Tabelle dargestellt sind, verwendet. So kann der Bandanfang durch die Label VOL1, VOL2, VOL3, UVL1, UVL2 markiert sein. Auf die Label des Bandanfangs folgen, wie es in der Spalte Folgesequenz 1 angegeben ist, die La­ bel des Fileanfangs mit HDR1 usw. Sind in den Spalten Fol­ gesequenz 1 und Folgesequenz 2 zwei Alternative angegeben, wie zum Beispiel bei den Daten, auf welche die Folgesequenz Dateiende oder Bandende folgen, kann eine dieser beiden Folgesequenzen alternativ auftreten, wobei die Folgesequenz 2 nur angewandt wird, wenn der erste Label der Folgesequenz nicht vorbestimmten Bedingungen (Identifikation) ent­ spricht. So folgt nach den Daten und der jeweiligen Tape Mark die Folgesequenz Dateiende (End of File) mit EOF1 usw., falls ein Dateiende vorliegt, unabhängig davon, ob hiermit auch das Bandende markiert wird. Nur wenn kein Da­ teiende vorliegt und der Aufzeichnungsbereich am Bandende angelangt ist, wird die Folgesequenz Bandende (End of Tape) vorgesehen. Fig. 5 shows the structure of parameters that describe the ANSI standard and are used in the inventive method for reading bands of the ANSI type. These parameters are divided into three tables, the sequence table TS, the label table TL and the field table TF. A total of five columns are provided in the sequence table TS for different label IDs. In addition to these five columns, two further columns are provided for sequence sequences 1 and 2, each of which refers to a sequence sequence, which are alternatively possible. The lines list possible label sequences for the beginning of the tape, beginning of the file, data, end of file, end of the tape and the end of the tape. Several labels can be specified in each line. The labels VOL1, HDR1, TM, EOF1 and EOV1 are necessary labels that are "always" present. The remaining labels in this table are "optional". The optional labels, when applied to, are always used in the order in which they are shown in a row of this table. For example, the beginning of the tape can be marked by the labels VOL1, VOL2, VOL3, UVL1, UVL2. The label of the beginning of the tape is followed, as indicated in the column Sequence 1, the label of the beginning of the file with HDR1 etc. In the columns Sequence 1 and Sequence 2, two alternatives are given, such as for the data to which the Follow sequence file end or tape end, one of these two sequence sequences can occur alternatively, with sequence sequence 2 only being used if the first label of the sequence does not correspond to predetermined conditions (identification). After the data and the respective tape mark, the sequence of the end of file follows with EOF1 etc., if there is an end of file, regardless of whether this also marks the end of the tape. Only if there is no data end and the recording area has reached the end of the tape, the following sequence of end of tape is provided.

In der Labeltabelle TL ist der Aufbau der einzelnen Label definiert. Hierzu sind Spalten für die ID-Länge, das erste Label, das letzte Label, die Länge des Labels, des Typs, und verschiedene Felder vorgesehen. Das Label VOL1 besitzt zum Beispiel eine ID-Länge von 4 und die Werte für das er­ ste und letzte Label sind jeweils auf 0 gesetzt, da es nur eine Art von Label Volume 1 gibt. Bei dem Label VOLx be­ trägt die ID-Länge hingegen nur 3 und das erste Label ist auf 2 und das letzte Label ist auf 9 gesetzt, da x die Werte 2 bis 9 annehmen kann. Das Label UVLx hat wiederum eine ID-Länge von 3 und x kann einen beliebiges ASCII-Zei­ chen sein. Die Länge der Label VOL1 bis HDRx beträgt je­ weils 80. Wie es oben bereits angegeben ist, sind die Label VOL1 und HDR1 notwendige Label und werden daher mit dem Typ "immer" (= Always) versehen, wohingegen die Label VOLx, UVLx, HDR2, HDRx mit dem Typ "optional" (= Optional) verse­ hen sind. Die Label können auch mit einem Typ "niemals" (= never) versehen werden. Dies bedeutet, dass die Label nie­ mals auftreten. Diese Typbezeichnung ist vorteilhaft, wenn Tabellen TS, TL, TF für einen weiteren, neuen Datenbandtyp erstellt wird, indem bestehende Tabellen eines ähnlichen Datenbandtyps abgeändert werden. Hierbei können Label, die beim neuen Datenbandtyp nicht verwendet werden, mit dem Typ "niemals" versehen werden. Hierdurch ist es möglich mit geringen Änderungen den Wesentlichen Inhalt der Tabellen bei­ zubehalten.The structure of the individual labels is in the TL table Are defined. For this, columns for the ID length are the first Label, the last label, the length of the label, the type, and provided different fields. The label VOL1 owns for example an ID length of 4 and the values for it The top and last labels are both set to 0 because it is only some kind of label volume 1 there. With the label VOLx be however, the ID length is only 3 and the first label is to 2 and the last label is set to 9 because x is the Can assume values 2 to 9. The UVLx label has again an ID length of 3 and x can be any ASCII character be. The length of the label VOL1 to HDRx is each because 80. As already stated above, the labels are VOL1 and HDR1 necessary labels and are therefore with the type "Always", whereas the label VOLx, UVLx, HDR2, HDRx with the type "optional" (= optional) verse hen are. The labels can also be of a type "never" (= never). This means that the label never occur. This type designation is advantageous if Tables TS, TL, TF for another, new data band type is created by existing tables of a similar Data band types are changed. Here, labels that not be used with the new data type, with the type "never" be provided. This makes it possible with low  Changes to the main content of the tables to keep.

Das Versehen der Label mit den Typbezeichnungen "immer, "optional" und "niemals" erlaubt eine einfach strukturierte Parametrisierung der unterschiedlichsten Datenbandtypen. Soll die Anwendung des vorliegenden Verfahrens erweitert werden, wie z. B. auf das Lesen von Disketten, CDs, usw., so ist es grundsätzlich auch möglich, weitere Typbezeichnungen einzuführen.Providing the labels with the type designations "always, "optional" and "never" allows a simply structured Parameterization of the most diverse data band types. The application of the present method is intended to be expanded be such. B. on reading floppy disks, CDs, etc., so it is basically also possible to use other type designations introduce.

In den einzelnen Feldern (Field ID1 bis Field ID5) sind die Bezeichnungen angegeben, für die Daten, die darin gespei­ chert sind.In the individual fields (Field ID1 to Field ID5) are the Designations given for the data stored in it are chert.

Die Felder sind wiederum in der Feldtabelle TF näher defi­ niert, wobei diese Feldtabelle für jede Feld-ID eine Spalte für den vorstehenden Namen, des Typs, der Anfangsposition und der Länge des Feldes aufweist. So bezeichnet das Feld mit der Feld-ID Serial_No. die Seriennummer (Serial Num­ ber). Es ist ein alphanumerisches Feld mit der Startposi­ tion 4 und der Länge 6.The fields are again defined in the field table TF niert, this field table for each field ID a column for the preceding name, type, starting position and the length of the field. This is what the field is called with the field ID Serial_No. the serial number over). It is an alphanumeric field with the start posi tion 4 and length 6.

Für das erfindungsgemäße Verfahren sind für jeden damit lesbaren Bandtyp ein Satz Parameter hinterlegt, der jeweils die drei Tabellen TS, TL und TF umfasst.For the process according to the invention, everyone is using it readable tape type stores a set of parameters, each which includes three tables TS, TL and TF.

Im Schritt S2 werden diese Parameter für den jeweiligen Bandtyp ausgelesen. Das Identifizieren des Labels S5 folgt nach Maßgabe dieser Parameter. Hierzu wird das in Fig. 2 gezeigte Verfahren ausgeführt, das mit dem Schritt S16 be­ ginnt. Im Schritt S17 wird geprüft, ob das Label identifi­ ziert worden ist. Ist dies der Fall, wird auf den Schritt S18 verzweigt, mit dem das Identifizieren des Labels been­ det wird. Ansonsten wird der Programmablauf auf den Schritt S19 verzweigt, mit dem ein gelesenes Label mit einem Label der Sequenztabelle TS verglichen wird, wobei auf das Label der Sequenztabelle ein Zeiger zeigt. Dieses Vergleichsver­ fahren beginnt mit dem Schritt S20. Im Schritt S21 wird ge­ prüft, ob die Referenzlänge dieser Label-ID gleich 0 ist. Ist dies der Fall, wird im Schritt S22 geprüft, ob die Länge des Labels gleich der Referenzlänge ist. Ist dies nicht der Fall, so wird auf den Schritt S23 übergegangen, mit dem festgestellt wird, dass das ausgelesene Label nicht dem Referenzlabel entspricht. Hierauf wird im Schritt S24 dieses Vergleichsverfahren beendet. Ist die Label-ID-Länge ungleich 0, so verzweigt der Verfahrensablauf im Schritt S21 auf den Schritt S25. Hier wird geprüft, ob die Label-ID des ausgelesenen Labels mit der Label-ID des Referenzlabels übereinstimmt. Ist dies nicht der Fall, so wird auf die oben beschriebenen Schritte S23 und S24 verzweigt. Anson­ sten wird im Schritt S26 geprüft, ob dieses Label erlaubt ist. Hierbei wird die Spalte Typ in der Labeltabelle TL ab­ gefragt, die unter anderem auch den Begriff "niemals" ("ne­ ver") enthalten kann. Sollte hier niemals ausgelesen wer­ den, so ist das Label nicht erlaubt und es wird wiederum auf die Schritte S23 und S24 verzweigt. Ansonsten wird im Schritt S27 geprüft, ob die Länge des ausgelesenen Labels gleich der Länge des Referenzlabels ist. Ist dies nicht der Fall, so wird wiederum auf die Schritte S23, S24 verzweigt, ansonsten auf den Schritt S28 übergegangen. Im Schritt S28 wird geprüft, ob das Label einen Bereich aufweist. Das Vor­ liegen eines Bereiches bedeutet, dass das Label eine Varia­ ble, wie zum Beispiel die Variable "x" in VOLx, UVLx oder HDRx besitzt, die für eine Zahl oder ein beliebiges ASCII- Zeichen stehen kann. Bei den Label VOL1 und HDR1 nach dem ANSI-Standard gibt es keinen solchen Bereich. Beim Vorlie­ gen eines solchen Labels wäre die Antwort auf den Schritt S28 Nein und der Verfahrensablauf würde auf den Schritt S29 verzweigen, mit dem festgestellt wird, dass das ausgelesene Label das Referenzlabel ist. Ist das ausgelesene Label hin­ gegen ein Label VOL2, VOL3, . . ., UVL2, UVL3, . . ., HDR3, . . ., so ist die Antwort im Schritt S28 Ja und der Verfah­ rensablauf verzweigt auf den Schritt S30 mit dem geprüft wird, ob der Bereich ein alphanumerischer Bereich ist. Ist dies der Fall, wird der Verfahrensablauf auf den Schritt S31 verzweigt, in dem geprüft wird, ob das für die jewei­ lige Variable angegebene Zeichen ein alphanumerisches Zei­ chen ist. Ist dies nicht der Fall, wird mit dem Schritt S32 eine Fehlermeldung ausgegeben und auf die Schritte S23, S24 verzweigt. Ansonsten wird auf die Schritt S29, S24 ver­ zweigt.In step S2, these parameters are read out for the respective belt type. The identification of the label S5 follows in accordance with these parameters. For this purpose, the method shown in FIG. 2 is carried out, which begins with step S16. In step S17 it is checked whether the label has been identified. If this is the case, the process branches to step S18, which ends the identification of the label. Otherwise, the program flow branches to step S19, with which a read label is compared with a label of the sequence table TS, a pointer pointing to the label of the sequence table. This comparison process begins with step S20. In step S21 it is checked whether the reference length of this label ID is 0. If this is the case, it is checked in step S22 whether the length of the label is equal to the reference length. If this is not the case, step S23 is passed, with which it is determined that the label read out does not correspond to the reference label. This comparison method is then ended in step S24. If the label ID length is not equal to 0, the process flow branches in step S21 to step S25. Here it is checked whether the label ID of the read label matches the label ID of the reference label. If this is not the case, the process branches to steps S23 and S24 described above. Otherwise, it is checked in step S26 whether this label is permitted. The Type column in the TL table table is queried, which can include the term "never"("never"). If the reader is never read here, the label is not permitted and the process branches to steps S23 and S24. Otherwise, it is checked in step S27 whether the length of the label read is equal to the length of the reference label. If this is not the case, steps S23, S24 are branched off again, otherwise step S28. In step S28 it is checked whether the label has an area. The presence of an area means that the label has a variable, such as the variable "x" in VOLx, UVLx or HDRx, which can stand for a number or any ASCII character. There is no such area for the VOL1 and HDR1 labels according to the ANSI standard. If such a label was present, the answer to step S28 would be no and the process flow would branch to step S29, with which it is determined that the label read out is the reference label. Is the read label against a label VOL2, VOL3,. , ., UVL2, UVL3,. , ., HDR3,. , ., the answer in step S28 is yes and the process flow branches to step S30 with which it is checked whether the area is an alphanumeric area. If this is the case, the process flow branches to step S31, in which it is checked whether the character specified for the respective variable is an alphanumeric character. If this is not the case, an error message is output with step S32 and the process branches to steps S23, S24. Otherwise, branches are made to steps S29, S24.

Hat die Abfrage im Schritt S30 ergeben, dass kein alphanu­ merischer Bereich vorliegt, so ist es ein numerischer Be­ reich, womit im Schritt S33 geprüft wird, ob die für die Variable angegebene Nummer die erwartete Nummer ist. Ist die Antwort Nein, so wird wiederum auf die Schrittfolge S32, S23, S24 verwiesen. Ist die Antwort in der Abfrage des Schrittes S33 Ja, so wird im Schritt S29 festgestellt, dass das ausgelesene Label dem Referenzlabel entspricht und mit dem Schritt S24 das Verfahren beendet.Did the query in step S30 show that no alphanu there is a numerical range rich, with which it is checked in step S33 whether the for Variable specified number is the expected number. is the answer is no, so again the sequence of steps S32, S23, S24 referenced. The answer in the query is Step S33 Yes, it is determined in step S29 that the read label corresponds to the reference label and with the process ends at step S24.

Der Verfahrensablauf geht nun wieder zurück auf den Schritt S19 in Fig. 2, auf den der Schritt S34 folgt, mit dem ge­ prüft wird, ob ein Label gefunden worden ist. Ist diese Antwort Ja, wird im Schritt S35 geprüft, ob das Label er­ laubt (always, optional) ist und kein Bereich vorhanden ist, oder ob das Label nicht erlaubt ist (Typ niemals) und einen Bereich hat. Bei der Prüfung, ob kein Bereich vorhan­ den ist, wird geprüft, ob grundsätzlich kein Bereich da ist oder ob die letzte Möglichkeit eines Bereiches erreicht worden ist. Ergibt die Prüfung im Schritt S35 Ja, so geht der Verfahrensablauf auf den Schritt S36 über, in dem der Zeiger auf das nächste gültige Label gesetzt wird. Im Schritt S23 wird ein Flag, das als Flag-Sequenzwechsel be­ zeichnet wird, gesetzt, falls das letzte ausgelesene Label das letzte Label einer Folgesequenz ist und in der Tabelle TS für die letzte Folgesequenz zwei alternative Sequenzen (in Nextsequence1 und in Nestsequence2) angegeben sind. Das Setzen des Flag-Sequenzwechsel bedeutet, dass ein Wechsel von einer Folgesequenz auf eine andere Folgesequenz vor­ liegt und dass zwei Alternativen als Folgesequenzen zur Verfügung stehen.The procedure now goes back to step S19 in FIG. 2, which is followed by step S34, with which it is checked whether a label has been found. If this answer is yes, it is checked in step S35 whether the label is allowed (always, optional) and there is no area or whether the label is not allowed (type never) and has an area. When checking whether there is no area, it is checked whether there is basically no area or whether the last option of an area has been reached. If the test in step S35 results in yes, then the method sequence goes to step S36, in which the pointer is set to the next valid label. In step S23, a flag, which is referred to as a flag sequence change, is set if the last label read is the last label of a sequence and two alternative sequences (in Nextsequence1 and in Nestsequence2) are specified in table TS for the last sequence , Setting the flag sequence change means that there is a change from one sequence to another and that two alternatives are available as sequences.

Das Flag-Sequenzwechsel wirkt mit einem weiteren Flag, dem Flag-Alternativ, zusammen, das standardmäßig (default) nicht gesetzt ist. Das Setzen des Flag-Alternativ wird un­ ten näher erläutert. Danach geht der Verfahrensablauf wie­ der auf den Schritt S17 über.The flag sequence change works with another flag, the Flag alternative, together, the default is not set. Setting the flag alternative becomes un ten explained in more detail. Then the procedure goes like which to step S17.

Ergab die Abfrage im Schritt S35 die Antwort Nein, wird ge­ prüft, ob das Label erlaubt ist. Ergibt die Antwort Ja, geht das Verfahren auf den Schritt S17 über. Ergibt die Antwort Nein, so wird im Schritt S38 festgestellt, dass das ausgelesene Label nicht zulässig ist und der Verfahrensab­ lauf geht auf den Schritt S18 über.If the answer to the question in step S35 is no, ge checks whether the label is allowed. If the answer is yes, the process moves to step S17. Returns the Answer No, it is determined in step S38 that the read label is not permitted and the procedural run goes to step S18.

Hat hingegen der Schritt S34 ergeben, dass kein Label ge­ funden worden ist, so wird im Schritt S39 geprüft, ob ein Fehler vorhanden ist. Ergibt der Schritt S39 einen Fehler, so wird im Schritt S40 der Fehler ausgegeben und der Ver­ fahrensablauf geht auf den Schritt S18 über. Ergibt der Schritt S39 hingegen, dass kein Fehler vorhanden ist, so wird im Schritt S41 geprüft, ob das Flag-Sequenzwechsel nicht gesetzt ist und ob das Flag-Alternativ nicht gesetzt ist und der ausgelesene Bereich kein Datensegment ist und das Label vom Typ "optional" oder "niemals" ist. Ist das Flag-Sequenzwechsel nicht gesetzt, so bedeutet dies, dass kein Sequenzwechsel mit einer alternativen Folgesequenz vorliegt. Ist das Flag-Alternativ nicht gesetzt, so bedeu­ tet dies, dass der Zeiger nicht auf ein Label einer alter­ nativen Folgesequenz (Spalte NextSequence2 in TS) zeigt. Ergibt die Prüfung ein Ja, so geht der Verfahrensablauf auf den Schritt S36 über, in dem der Zeiger auf das nächste gültige Label gesetzt wird. On the other hand, step S34 has shown that there is no label has been found, it is checked in step S39 whether a There is an error. If step S39 results in an error, the error is output in step S40 and the ver driving flow goes to step S18. The result is On the other hand, step S39 that there is no error, so it is checked in step S41 whether the flag sequence change is not set and whether the flag alternative is not set and the read area is not a data segment and the label is "optional" or "never". Is this Flag sequence change is not set, it means that no sequence change with an alternative sequence is present. If the flag alternative is not set, then meaning This means that the pointer does not point to an old label native sequence (column NextSequence2 in TS) shows. If the test gives a yes, the procedure goes on over to step S36 in which the pointer to the next valid label is set.  

Ergibt die Abfrage im Schritt S41 ein Nein, so geht der Verfahrensablauf auf den Schritt S42 über, in dem geprüft wird, ob das Flag-Sequenzwechsel nicht gesetzt ist und ob das Flag-Alternativ gesetzt ist und ob das Label vom Typ "immer ist. Ergibt diese Abfrage ein Ja, so bedeutet dies, dass das Label ein Label einer alternativen Folgesequenz 2 ist, weshalb der Zeiger auf das erste Label der Folgese­ quenz 2 gesetzt wird (Schritt S43). Im Schritt S43 wird auch das Flag-Alternativ gesetzt, womit angezeigt ist, dass das ausgelesene Label ein Label einer alternativen Folgese­ quenz 2 ist. Der Verfahrensablauf geht dann auf den Schritt S17 über. Ergibt die Abfrage im Schritt S42 hingegen ein Nein, so wird im Schritt S44 geprüft, ob das Flag-Sequen­ zwechsel nicht gesetzt ist und ob das Flag-Alternativ nicht gesetzt ist und der ausgelesene Bereich kein Datensegment ist und das Label vom Typ "immer" ist, oder ob das Flag-Al­ ternativ gesetzt ist und der ausgelesene Bereich kein Da­ tensegment ist und das Label vom Typ "immer" ist. Ergibt diese Abfrage ein Ja, so wird im Schritt S45 festgestellt, dass das gesuchte Label nicht gefunden worden ist. Es wird eine entsprechende Fehlermeldung erzeugt und der Verfah­ rensablauf auf den Schritt S18 übergeben. Ergibt die Ab­ frage im Schritt S44 hingegen ein Nein, so geht der Verfah­ rensablauf auf den Schritt S46 über, in dem geprüft wird, ob der ausgelesene Code ein Label der Folgesequenz 1 ist und kein alternatives Label der Folgesequenz 2 existiert und ob der Code ein Datensegment ist oder ob der ausgele­ sene Code ein alternatives Label der Folgesequenz 2 ist und ob er ein Datensegment ist, indem abgefragt wird, ob das Flag-Sequenzwechsel nicht gesetzt ist und ob das Flag-Al­ ternativ nicht gesetzt ist und der ausgelesene Bereich ein Datensegment ist, oder ob das Flag-Alternativ gesetzt ist und der ausgelesene Bereich ein Datensegment ist. Ergibt diese Abfrage ein Ja, so geht der Verfahrensablauf auf den Schritt S18 über. Ansonsten geht der Verfahrensablauf zu­ nächst auf den Schritt S47, mit dem eine entsprechende Fehlermeldung erzeugt wird, und dann auf den Schritt S18 über.If the query in step S41 results in a no, then the Process flow to step S42 in which checked whether the flag sequence change is not set and whether the flag alternative is set and whether the label of the type "always is. If this query gives a yes, it means that the label is a label of an alternative sequence 2 is why the pointer to the first label of the next sequence quenz 2 is set (step S43). In step S43 also set the flag alternative, which indicates that the read label is a label of an alternative sequence quenz 2 is. The process then goes to the step S17 over. On the other hand, the query in step S42 No, it is checked in step S44 whether the flag sequence alternation is not set and whether the flag alternative is not is set and the read area is not a data segment and the label is of the type "always" or whether the flag-Al is set alternatively and the read area is not there is tensegment and the label is of the type "always". results this query is yes, it is determined in step S45 that the label was not found. It will a corresponding error message is generated and the procedure Pass the sequence to step S18. Returns the Ab if, however, in step S44 a no, the procedure goes flow to step S46, in which it is checked whether the code read is a label of sequence 1 and no alternative label of sequence 2 exists and whether the code is a data segment or whether the read out his code is an alternative label of sequence 2 and whether it is a data segment by querying whether that Flag sequence change is not set and whether the flag Al is not set alternatively and the area read out Data segment, or whether the flag alternative is set and the read area is a data segment. results If this query is yes, the process flow goes to Step S18 over. Otherwise, the procedure is closed next to step S47, with which a corresponding  Error message is generated, and then to step S18 about.

Mit dem Schritt S18 geht der Verfahrensablauf wieder auf das in Fig. 1 gezeigte Hauptverfahren über, in dem, wie es oben erläutert worden ist, geprüft wird, ob das Label iden­ tifiziert worden ist (Schritt S6) und danach die Variablen aus dem Label im Schritt S9 ausgelesen werden. Das Verfah­ ren zum Auslesen der Variablen aus dem Label ist ausführ­ lich in Fig. 4 gezeigt. Dieses Verfahren beginnt mit dem Schritt S48. Im Schritt S49 wird geprüft, ob das auszule­ sende Feld das letzte Feld des Labels ist. Wenn die Antwort Ja ist, wird das Ausleseverfahren gemäß Fig. 4 im Schritt S50 beendet. Ansonsten wird im Schritt S51 der Inhalt des Feldes des Labels kopiert und im Schritt S52 geprüft, ob das Feld ein numerisches Feld ist. Diese Prüfung erfolgt anhand der Spalte Typ der Feldtabelle TF. Ist das Ergebnis der Abfrage des Schrittes S52 Ja, so werden im Schritt S52 die aus dem Feld kopierten Zeichen in numerische Werte kon­ vertiert. Danach geht das Verfahren auf den Schritt S54 über. Wenn die Abfrage im Schritt S52 ergeben hat, dass das Feld kein numerisches Feld ist, so geht der Verfahrensab­ lauf direkt auf den Schritt S54 über. Im Schritt S54 wird das nächste Feld ausgewählt und der Verfahrensablauf springt auf den Schritt S49. Hier wird das Verfahren erneut durchlaufen, bis im Schritt S49 festgestellt worden ist, dass das letzte Feld ausgelesen worden ist.With step S18, the process flow returns to the main method shown in FIG. 1, in which, as has been explained above, it is checked whether the label has been identified (step S6) and then the variables from the label in Step S9 can be read out. The procedure for reading the variables from the label is shown in detail in FIG. 4. This process begins with step S48. In step S49 it is checked whether the field to be sent is the last field of the label. If the answer is yes, the readout process according to FIG. 4 is ended in step S50. Otherwise, the content of the field of the label is copied in step S51 and checked in step S52 whether the field is a numerical field. This check is carried out using the Type column of the TF field table. If the result of the query in step S52 is yes, the characters copied from the field are converted into numerical values in step S52. Thereafter, the process goes to step S54. If the query in step S52 has shown that the field is not a numerical field, the process flow goes directly to step S54. The next field is selected in step S54 and the process flow jumps to step S49. Here the process is run through again until it has been determined in step S49 that the last field has been read out.

Die hierdurch ausgelesenen Daten werden in den Schritten S10, S12 und S14 entsprechend den aus den Tabellen TS, TL und TF ausgelesenen Parametern abgefragt und interpretiert, so dass die Nutzdaten korrekt vom Datenband abgelesen wer­ den können.The data read out in this way are in steps S10, S12 and S14 correspond to those from tables TS, TL and TF read and interpret the parameters read out, so that the user data is correctly read from the data tape that can.

Mit dem erfindungsgemäßen Verfahren ist es möglich, jeden Bandtyp, für den die Tabellen TS, TL und TF mit den ent­ sprechenden Parametern hinterlegt sind, zu lesen. In Fig. 6 sind zum Beispiel die entsprechenden Tabellen TS, TL und TF für den Honeywell-Bandtyp angegeben. Der Aufbau der Tabel­ len ist identisch zu den in Fig. 5 angegebenen Tabellen. Die Parameter sind hierbei jedoch an das Format des Honey­ well-Bandtyps angepasst. Grundsätzlich können diese Tabel­ len für beliebige Bandtypen erstellt werden, so dass das erfindungsgemäße Verfahren grundsätzlich für alle Bandtypen verwendbar ist.With the method according to the invention, it is possible to read each type of tape for which the tables TS, TL and TF are stored with the appropriate parameters. In FIG. 6, the corresponding tables TS, TL and TF are given for the Honeywell-band type, for example. The structure of the tables is identical to the tables given in FIG. 5. However, the parameters are adapted to the format of the honey well tape type. In principle, these tables can be created for any type of tape, so that the method according to the invention can in principle be used for all types of tape.

Die Erfindung wird nachfolgend anhand eines Wolkendiagram­ mes (Fig. 9), eines Klassendiagrammes (Fig. 10) und von Se­ quenzdiagrammen (Fig. 11, 12a, 12b) erläutert. Die Klassen- und Sequenzdiagramme entsprechen der Unified Modeling Lan­ guage, wie sie z. B. im "UML-Unified Modeling Language", ob­ jektorientierte Modellierung für die Praxis, 2. Auflage, (ISBN 3-8273-1407-0) beschrieben ist.The invention is explained below using a cloud diagram ( FIG. 9), a class diagram ( FIG. 10) and sequence diagrams (FIGS . 11, 12a, 12b). The class and sequence diagrams correspond to the Unified Modeling Language, as they are e.g. B. in the "UML-Unified Modeling Language" whether object-oriented modeling for practice, 2nd edition, (ISBN 3-8273-1407-0) is described.

Fig. 9 zeigt in einem Wolkendiagramm eine spezielle Struk­ tur eines Programmes zum Ausführen des erfindungsgemäßen Verfahrens. Dieses Programm ist in C++ programmiert. Fig. 9 is a diagram of a specific cloud structural structure of a program for executing the method according to the invention. This program is programmed in C ++.

Die Wolken W1 (CActionList), W2 (CActionPos) und W3 (CActionRead) stellen drei Befehle dar, die dem Anwender zur Verfügung stehen, wobei mit CActionList eine Art Directory der auf dem Datenband bzw. Datenträger gespei­ cherten Dateien erstellt wird, mit CActionPos der Geräte­ zeiger gesetzt wird, wodurch zum Beispiel bei einem Daten­ band das Datenband an einer bestimmten Position über dem Lesekopf positioniert wird, und mit dem Befehl CActionRead der Datenträger gelesen wird.The clouds W1 (CActionList), W2 (CActionPos) and W3 (CActionRead) represent three commands to the user are available, whereby with CActionList a kind Directory of the data stored on the data tape saved files is created with CActionPos of the devices pointer is set, which means for example with a data tied the data tape at a specific position above the Read head is positioned, and with the command CActionRead the disk is read.

Die Wolken W1, W2, W3 stellen jeweils Klassen dar, die im Diagramm mit einer Wolke W4 (CAction) verbunden sind, wobei die Wolke W4 ein Interface bzw. eine Interfaceklasse ist. Eine Interfaceklasse ist eine vollständig abstrakte Klasse, was bedeutet, dass darin nur der Name der jeweiligen Me­ thode definiert ist und eine Beschreibung der Input-Parameter und der Output-Parameter angegeben ist. Beim Aufrufen einer der drei Befehle wird eine der Klassen W1, W2, W3 auf die Interfaceklasse W4 vererbt, wodurch die in der Interfa­ ceklasse W4 definierte Methode mit Programmcode der Klassen W1, W2, W3 implementiert wird.The clouds W1, W2, W3 each represent classes that are in the Diagram associated with a cloud W4 (CAction), being the cloud W4 is an interface or an interface class. An interface class is a completely abstract class, which means that only the name of the respective me method is defined and a description of the input parameters  and the output parameter is specified. When calling one of the three commands becomes one of classes W1, W2, W3 the interface class W4 is inherited, which means that the in the Interfa ceklasse W4 defined method with program code of the classes W1, W2, W3 is implemented.

Die Interfaceklasse W4 (CAction) verwendet weitere Interfa­ ceklassen W5 (CInput), W7 (CProcess) und W9 (COutput). Die Interfaceklassen W5 und W7 sind mit einer Pufferklasse W6 (CBuffer(Input)) und die Interfaceklassen W7 (CProcess) und W9 (COutput) sind mit einer Pufferklasse W8 (CBuffer(Output)) gekoppelt. Diese Klassen W6 und W8 bein­ halten Pufferabschnitte, die mit jeweils einem Flag verse­ hen sind, mit welchen Schreib- und Lesevorgänge der ent­ sprechenden Pufferabschnitte steuerbar sind, wobei die Flags von Puffer-Dienstprogrammen gesetzt werden. Diese Klassen W6 und W8 sind in der internationalen Patentanmel­ dung PCT/EP 00/12048 (deutsche Prioritätsanmeldung Nr. 199 57 594.0) beschrieben. Diese Patentanmeldung wird hiermit in die Offenbarung der vorliegenden Anmeldung aufgenommen. Die Interface und Klassen W5 bis W9 erzeugen eine vom In­ terface W5 bis zum Interface W9 durchgehenden Datenstrom, wobei der Datenstrom durch die Klassen W6, W8 derart gepuf­ fert ist, dass das vorstehende Programm sowohl in einem Single-Threadded-Modus als auch in einem Multi-Threadded- Modus ausgeführt werden kann. Viele Betriebssysteme erlau­ ben nur einen Single-Threadded-Modus. Auf derartigen Be­ triebssystemen ist das erfindungsgemäße Programm ausführ­ bar. Wenn ein Betriebssystem jedoch einen Multi-Threadded- Modus erlaubt und ein Computer mit mehreren Prozessoren verwendet wird, ist der Multi-Threadded-Modus in der Regel wesentlich effizienter und schneller. Durch die erfindungs­ gemäße Struktur dieses Programmes ist somit eine Ausführung in beiden Modi möglich, wodurch zum einen vielfältige Ein­ satzmöglichkeiten geschaffen werden und zum anderen ein ma­ ximal effizientes Abarbeiten sichergestellt wird. The interface class W4 (CAction) uses further interfaces Classes W5 (CInput), W7 (CProcess) and W9 (COutput). The Interface classes W5 and W7 are with a buffer class W6 (CBuffer (Input)) and the interface classes W7 (CProcess) and W9 (COutput) are with a buffer class W8 (CBuffer (Output)) coupled. These classes W6 and W8 include hold buffer sections, each with a flag hen with which write and read processes the ent speaking buffer sections are controllable, the Buffer utilities flags are set. This Classes W6 and W8 are in the international patent application PCT / EP 00/12048 (German priority application No. 199 57 594.0) described. This patent application is hereby included in the disclosure of the present application. The interfaces and classes W5 to W9 generate one from In interface W5 up to interface W9 continuous data stream, the data stream being puffed through classes W6, W8 in this way What is finished is that the above program is both in one Single-threadded mode as well as in a multi-threadded Mode can be run. Many operating systems allowed ben only a single-threadded mode. On such Be drive systems, the program according to the invention is executed bar. However, if an operating system has a multi-threaded Mode allowed and a computer with multiple processors Multi-threaded mode is usually used much more efficient and faster. Through the fiction the appropriate structure of this program is therefore an execution possible in both modes, which on the one hand makes it versatile possible opportunities are created and on the other hand a ma ximally efficient processing is ensured.  

Da die Interfaceklassen W5, W7 und W9 keine eigenen Pro­ grammabschnitte beinhalten, sondern lediglich die Methoden an sich definieren, verwenden sie weitere allgemeine Klas­ sen W10 (CDevice), W11 (CDriver), W12 (CLabel) und W13 (CData). Die Klasse W10 beinhaltet zum Beispiel Variablen und Methoden zum Ansteuern von Geräten, insbesondere von Lesegeräten zum Lesen von Datenspeichern, wie zum Beispiel Magnetbandlaufwerke, Floppylaufwerken oder dergleichen. Die Interfaceklasse W11 beinhaltet Variablen und Methoden, die ein Interface zu den Treibern der jeweiligen Geräte bilden. Die Klasse W12 (CLabel) beinhaltet Variablen und Methoden zum Bearbeiten von Labeln auf Datenbändern. Und die Klasse W13 (CData) beinhaltet Variablen und Methoden zum Verarbei­ ten des gelesenen Datenstromes, wobei je nach Datensystem Modifikationen in Abhängigkeit des Datentypes durchgeführt werden. Diese allgemeinen Klassen werden jeweils durch spe­ zielle Klasen W14 bis W18 bzw. W19 bis W21 bzw. W22 bis W32 bzw. W33 bis W42 ergänzt. Die Klassen W14 bis W18 enthalten Variablen und Methoden zum Ansteuern spezieller Geräte, wo­ bei diese Klassen auf die Klasse W10 vererbt werden und vom Interface W5 verwendet werden. Gleiches gilt für die spezi­ ellen Klassen W19 bis W21, die auf die Klasse W11 vererbt werden und vom Interface W5 verwendet werden. Mit den Klas­ sen W19 bis W21 erfolgt eine Anpassung der Treiber der Be­ triebssysteme auf das vorliegende Programm.Since the interface classes W5, W7 and W9 do not have their own Pro contain sections of the gram, just the methods define themselves, they use other general classes sen W10 (CDevice), W11 (CDriver), W12 (CLabel) and W13 (CData). For example, class W10 contains variables and methods for controlling devices, in particular of Readers for reading data memories, such as Magnetic tape drives, floppy drives or the like. The Interface class W11 contains variables and methods that form an interface to the drivers of the respective devices. The class W12 (CLabel) contains variables and methods for editing labels on data tapes. And the class W13 (CData) contains variables and methods for processing ten of the read data stream, depending on the data system Modifications made depending on the data type become. These general classes are given by spe specific classes W14 to W18 or W19 to W21 or W22 to W32 or W33 to W42 added. The classes W14 to W18 included Variables and methods for controlling special devices, where in these classes are passed on to class W10 and from Interface W5 can be used. The same applies to the spec Classes W19 to W21 that are inherited from class W11 and are used by the interface W5. With the class Sen W19 to W21 the drivers of the loading are adjusted drive systems on this program.

Die speziellen Klassen W22 bis W32 werden auf die allge­ meine Klasse W12 vererbt und vom Interface W7 verwendet. Diese Klassen stellen den Kern des Programmes dar, mit wel­ chem die unterschiedlichen Datenbandtypen analysiert und gelesen werden können. Diese Klassen W12, W22-W32 entspre­ chen im Wesentlichen dem in den Fig. 1 bis 4 dargestell­ ten Verfahren.The special classes W22 to W32 are inherited to the general class W12 and used by the interface W7. These classes form the core of the program, with which the different types of data tapes can be analyzed and read. These classes W12, W22-W32 essentially correspond to the method shown in FIGS . 1 to 4.

Die speziellen Klassen W33 bis W42 weisen Variablen und Me­ thoden auf, die in Abhängigkeit des Datenbandtypes spezi­ elle Modifikationen an den Daten ausführen und die auf die allgemeine Klasse W13 vererbt werden. Diese Klassenstruktur wird auch von dem Interface W7 verwendet.The special classes W33 to W42 have variables and me methods that, depending on the data band type, spec Make all modifications to the data and the on the  general class W13 to be inherited. This class structure is also used by the interface W7.

Die Interfaceklasse W9 (COutput) verwendet zwei Klassen W43 (CGCI) und W44 (CNoGCI), die die ausgegebenen Daten entwe­ der im Format GCI oder nicht im Format GCI darstellen.The interface class W9 (COutput) uses two classes W43 (CGCI) and W44 (CNoGCI), which contain the data output which are in GCI format or not in GCI format.

Die genaue Struktur dieses Computerprogrammes wird nachfol­ gend am Beispiel der speziellen Klassen W22 (CLblANSI) und W24 (CLblHoneywell) sowie der allgemeinen Klasse W12 (CLa­ bel) erläutert. Fig. 10 zeigt ein entsprechendes Klassen­ diagramm, in dem diese drei Klassen W22, W24 und W12 mit ihren Variablen und mit ihren Methoden dargestellt sind. Ferner sind in diesem Diagramm Subklassen W12a (CLabelSe­ quence), W12b (CLabelData) und W12c (CFieldData) darge­ stellt. Die allgemeine Klasse W12 enthält allgemeine Varia­ blen und allgemeine Methoden, die auf die Variablen und Me­ thoden der Subklassen zugreifen. Die Variablen und Methoden der Subklassen W12a, W12b, W12c können vom Interfaces W5, W7 und W9 nicht direkt aufgerufen werden, sondern werden indirekt über das Abfragen und Aufrufen der Variablen und Methoden der allgemeinen Klasse W12 bzw. der speziellen Klasse W22, W24 aufgerufen.The exact structure of this computer program is explained below using the example of the special classes W22 (CLblANSI) and W24 (CLblHoneywell) as well as the general class W12 (CLa bel). Fig. 10 shows a corresponding class diagram in which these three classes W22, W24 and W12 are shown with their variables and with their methods. This diagram also shows subclasses W12a (CLabelSequence), W12b (CLabelData) and W12c (CFieldData). The general class W12 contains general variables and general methods that access the variables and methods of the subclasses. The variables and methods of the subclasses W12a, W12b, W12c cannot be called directly from the interfaces W5, W7 and W9, but are called indirectly by querying and calling the variables and methods of the general class W12 or the special class W22, W24.

Die Variablen und Methoden der allgemeinen Klasse, die auch als Basisklasse bezeichnet werden kann, werden unabhängig vom jeweiligen Datenbandtyp verwendet. In den speziellen Klassen W22 bis W32 sind Variablen und Methoden enthalten, die speziell für den jeweiligen Datenbandtyp ausgebildet sind. Im vorliegenden Ausführungsbeispiel enthalten die speziellen Klassen keine Variablen, sondern lediglich Me­ thoden. Diese Methoden der speziellen Klassen W22, W24 wer­ den auf die Methoden der allgemeinen Klasse W12 vererbt, d. h. dass die Methode der speziellen Klasse die korrespon­ dierende Methode, d. h. die Methode mit dem gleichen Namen, der allgemeinen Klasse W12 ersetzt. Im vorliegenden Ausfüh­ rungsbeispiel werden jeweils die Methoden Init, PositionBeginningOfFile, PositionEndOfFile, PositionEndOfVolume und TapeProcess der allgemeinen Klasse W12 durch die Methoden der speziellen Klasse W22, falls ein Band des Typs ANSI bzw. durch die Methoden der speziellen Klasse W24 ersetzt, falls ein Band des Typs Honeywell aus­ gelesen wird. In den Methoden Init der speziellen Klassen sind die Parameter für den jeweiligen Bandtyp enthalten.The variables and methods of the general class, too can be called base class, become independent used by the respective data type. In the special Classes W22 to W32 contain variables and methods, which are specially designed for the respective data band type are. In the present embodiment, the special classes no variables, just Me methods. These methods of special classes W22, W24 who inherited from the methods of the general class W12, d. H. that the method of the special class the correspon method, d. H. the method with the same name, of the general class W12. In the present version For example, the methods Init,  PositionBeginningOfFile, PositionEndOfFile, General class PositionEndOfVolume and TapeProcess W12 through the methods of the special class W22, if one Band of the type ANSI or by the methods of the special Class W24 will replace if a Honeywell type tape is made is read. In the Init methods of special classes the parameters for the respective belt type are included.

Nachfolgend wird anhand von beispielhaften Programmaus­ schnitten anhand der Sequenzdiagramme der Fig. 11 bis 12b das Zusammenwirken der Klassen näher erläutert.The interaction of the classes is explained in more detail below with the aid of exemplary program sections using the sequence diagrams of FIGS. 11 to 12b.

In Fig. 11 ist der erzeugte Sequenzablauf durch den Aufruf der Methode Init der speziellen Klasse W22 für Datenbänder des ANSI-Typs dargestellt. Dieser Aufruf erfolgt im Pro­ grammschritt S2 des Flussdiagrammes aus Fig. 1. Hierdurch wird eine Sequenz SEQ1 gestartet, die der speziellen Klasse W22 zugeordnet ist. Mit dieser Sequenz werden zunächst Wie­ derholt die Methoden Set und SetNext der Subklasse W12a (CLabelSequence) aufgerufen, wodurch die Variablen dieser speziellen Klasse beschrieben werden. Durch die Methode Set werden die Zeilen der Tabelle TS mit den jeweiligen Label- Sequenzen beschrieben und durch den Befehl SetNext werden die Angaben zur nächsten Folgesequenz (NextSequence1 bzw. NextSequence2) beschrieben. Diese Befehle werden sooft wie­ derholt, bis alle Zeilen der Tabelle TS ausgefüllt sind.In Fig. 11 of the sequence run produced is represented by calling the method Init of the special class W22 for data bands of the ANSI type. This call is made in program step S2 of the flow diagram from FIG. 1. This starts a sequence SEQ1 which is assigned to the special class W22. With this sequence the methods Set and SetNext of the subclass W12a (CLabelSequence) are called repeatedly, which describes the variables of this special class. The method Set describes the rows of the table TS with the respective label sequences and the command SetNext describes the information about the next sequence (NextSequence1 or NextSequence2). These commands are repeated as often as necessary until all rows of table TS have been filled.

Danach erfolgt ähnliches zum Beschreiben der Tabelle TL mittels der Befehle SetId, wobei diese Methode in der Klasse CLabelData enthalten ist. Hierdurch werden entspre­ chende Variablen dieser Klasse beschrieben. Durch das Auf­ rufen der Methode SetId werden jeweils die Parameter der ersten fünf Spalten der Tabelle TL eingetragen. Durch das Aufrufen der Methode SetVar werden dann die Feldnamen wie zum Install_ID, Serial_No, usw. in die Datenfelder einge­ tragen, wodurch die Zuordnung der Felder der Tabelle TF zu den Labeln der Tabelle TL erfolgt. This is followed by a similar procedure for describing the table TL by means of the commands SetId, this method in the Class CLabelData is included. This will correspond corresponding variables of this class are described. By opening call the SetId method, the parameters of the the first five columns of the TL table. By the Calling the SetVar method will then make the field names like for Install_ID, Serial_No, etc. in the data fields contribute, whereby the assignment of the fields of the table TF to the labels in table TL.  

Die Methoden SetId und SetVar sind in der Unterklasse CLa­ belData enthalten.The methods SetId and SetVar are in the subclass CLa belData included.

Mit der Methode Set der Subklasse CFieldData wird die Ta­ belle TF zeilenweise beschrieben.With the method set of the subclass CFieldData the Ta Belle TF described line by line.

Dieses Sequenzdiagramm zeigt schematisch, wie durch Aufru­ fen der Methode Init der speziellen Klasse W22 die Methoden der Subklassen aufgerufen und zur Ausführung gebracht wer­ den. Mit der Methode Init werden die zum Auslesen eines be­ stimmten Bandtypes notwendigen Parameter in die entspre­ chenden Variablen geschrieben, die die Tabellen TS, TL und TF darstellen.This sequence diagram shows schematically how by Aufru methods of the init method of the special class W22 of the subclasses called and executed the. The Init method is used to read a be agreed band type necessary parameters in the corresponding corresponding variables written in the tables TS, TL and Represent TF.

In Fig. 12a ist ein Sequenzdiagramm gezeigt, das eine Struktur eines Computerprogrammes in Ausschnitten zeigt, das dem Verfahren nach den Fig. 1 und 2 entspricht. Bei diesem Computerprogramm werden Methoden der speziellen Klasse W22 (CLblANSI) und der allgemeinen Klasse W12 (CLa­ bel)aufgerufen. Des Weiteren werden in diesem Programmab­ schnitt Methoden der Subklassen W12a (CLabelSequence) und W12b (CLabelData) aufgerufen. Da dieser Aufruf von den Me­ thoden der speziellen Klasse W22 bzw. der allgemeinen Klasse W12 erfolgt, ist dies in den Sequenzdiagrammen durch entsprechende Pfeile dargestellt, die auf die jeweilige Se­ quenz der Subklasse zeigen. FIG. 12a shows a sequence diagram which shows sections of a structure of a computer program which corresponds to the method according to FIGS. 1 and 2. This computer program calls methods of the special class W22 (CLblANSI) and the general class W12 (CLabel). Furthermore, methods of the subclasses W12a (CLabelSequence) and W12b (CLabelData) are called in this program section. Since this call is made by the methods of the special class W22 or the general class W12, this is shown in the sequence diagrams by corresponding arrows pointing to the respective sequence of the subclass.

Dieses Programm beginnt mit der Methode CheckType (SEQ2), die dem Schritt S1 aus Fig. 1 entspricht. Mit dieser Me­ thode wird ein ausgelesener String überprüft, ob er ein La­ bel ist und wenn dies der Fall sein sollte, welchen Label er darstellt. Mit dieser Sequenz wird eine weitere Sequenz SEQ3 gestartet, die den Schritten S3 und S4 entspricht, mit welchen geprüft wird, ob der String ein ASCII-Code ist, und wenn dies nicht der Fall ist, wird der ASCII-Code über­ setzt. Danach wird von der Sequenz SEQ2 die Sequenz SEQ4 aufgerufen, die dem Schritt S5 entspricht und die auf Me­ thoden der speziellen Klasse W12a über eine weitere Sequenz SEQ5 zugreift. Hierbei bedeutet nRc die Variable "n return code", in welche als Rückgabewert ein logischer Wert einge­ tragen wird, je nach dem, ob das Label identifiziert worden ist oder nicht. Weiterhin werden Variable nData und nCur­ rent zur Steuerung des Programmes verwendet.This program begins with the CheckType (SEQ2) method, which corresponds to step S1 from FIG. 1. With this method, a read string is checked whether it is a label and, if this is the case, which label it represents. With this sequence, a further sequence SEQ3 is started, which corresponds to steps S3 and S4, with which it is checked whether the string is an ASCII code, and if this is not the case, the ASCII code is translated. The sequence SEQ4 is then called by the sequence SEQ2, which corresponds to step S5 and which accesses methods of the special class W12a via a further sequence SEQ5. Here, nRc means the variable “n return code”, in which a logical value is entered as the return value, depending on whether the label has been identified or not. Furthermore, variables nData and nCur rent are used to control the program.

Die Sequenz SEQ4 ruft eine weitere Sequenz SEQ6 auf, mit welcher abgefragt wird, ob der Label identifiziert worden ist, wobei dieses programmtechnisch durch eine negative Ab­ frage, d. h. ob der Label nicht identifiziert worden ist, realisiert ist. Dies entspricht dem Schritt S17. Die Se­ quenz SEQ6 ruft wiederum weitere Sequenzen SEQ7 und diese weitere Sequenzen bzw. Methoden SEQ8, SEQ9 und SEQ10 auf, die zum Teil Methoden der Subklasse W12b und W12a aufrufen. Diese Sequenzen entsprechen den Schritten S19 (SEQ6), S34 (SEQ7), S35 und S36 (SEQ8), S32 und S38 (SEQ9). Bei der Se­ quenz SEQ9 wird die Variable nRc mit dem Wert-1 belegt, was einem Fehler entspricht, wenn in der vorgeschalteten Abfrage festgestellt wird, ob der aktuelle Label vom Typ "niemals" ist.The sequence SEQ4 calls another sequence SEQ6, with which is queried whether the label has been identified is, this programmatically by a negative Ab ask d. H. whether the label has not been identified, is realized. This corresponds to step S17. The Se sequence SEQ6 calls further sequences SEQ7 and these further sequences or methods SEQ8, SEQ9 and SEQ10, some of which call methods of subclasses W12b and W12a. These sequences correspond to steps S19 (SEQ6), S34 (SEQ7), S35 and S36 (SEQ8), S32 and S38 (SEQ9). At the Se sequence SEQ9, the variable nRc is assigned the value -1, which corresponds to an error if in the upstream Query is determined whether the current label of the type is "never".

Die Abfrage in der Sequenz SEQ10 überprüft, ob ein Bereich vorliegt und wenn dies der Fall ist, wird die Variable nRc auf Null gesetzt, das bedeutet, dass kein Fehler vorliegt. Das Sequenzdiagramm der Fig. 12b stellt eine Fortsetzung zu dem Sequenzdiagramm aus Fig. 12a dar, weshalb die drei Sequenzen SEQ2, SEQ4 und SEQ6 weitergeführt werden und dar­ aus neue Sequenzen SEQ11 bis SEQ21 aufgerufen werden. Die­ ser Programmabschnitt umfasst den Programmablauf vom Schritt S34 bis zum Schritt S47 und von dort zurück zu dem Verfahren nach Fig. 1 mit den Schritten S10 bis S15. Auch hierbei wird von den Methoden der speziellen Klasse W22 und der allgemeinen Klasse W12 Methoden der Subklassen aufgeru­ fen und entsprechende Sequenzen gestartet. The query in sequence SEQ10 checks whether there is an area and if this is the case, the variable nRc is set to zero, which means that there is no error. The sequence diagram of FIG. 12b represents a continuation of the sequence diagram of FIG. 12a, which is why the three sequences SEQ2, SEQ4 and SEQ6 are continued and new sequences SEQ11 to SEQ21 are called up from them. This water program section comprises the program flow from step S34 to step S47 and from there back to the method according to FIG. 1 with steps S10 to S15. Here too, the methods of the special class W22 and the general class W12 call methods of the subclasses and corresponding sequences are started.

Durch die Struktur mit speziellen Klasse und allgemeinen Klassen ist es möglich, das Programm einfach und schnell auf einen weiteren Datenbandtyp zu adaptieren, indem ledig­ lich eine neue spezielle Klasse eingefügt wird, in der die Methoden enthalten sind, die speziell an den Datenbandtyp anzupassen sind und die entsprechenden Parameter enthalten. Durch das Vererben der speziellen Klassen auf allgemeine Klassen wird der Programmieraufwand sehr gering gehalten. Die erfindungsgemäße Parametrisierung erlaubt somit nicht nur das Verwenden eines Programmes für mehrere Datenbandty­ pen, sondern erlaubt in Kombination mit dieser Programm­ struktur auch eine sehr schnelle und einfache Anpassung dieses Programmes an andere Datenbandtypen. Grundsätzlich ist es auch möglich, mit dem erfindungsgemäßen Verfahren nicht nur Datenbänder, sondern auch andere Datenträger oder andere Inputströme auszulesen.Due to the structure with special class and general Classes make it possible to make the program easy and quick to adapt to another data band type by single A new special class is added, in which the Methods are included that are specific to the data band type are to be adapted and contain the corresponding parameters. By inheriting special classes to general ones Classes the programming effort is kept very low. The parameterization according to the invention therefore does not allow only using one program for several data bands pen, but allowed in combination with this program structure also a very quick and easy adjustment this program to other data types. in principle it is also possible with the method according to the invention not only data tapes, but also other data carriers or read other input streams.

In Fig. 13 ist ein Hochleistungsdrucksystem 1 gezeigt, bei welchem verschiedene System-Komponenten über ein Datennetz­ werk 2, welches ein lokales Netz (Local Area Network, LAN) oder auch ein größeres Netzwerk (Wide Area Network, WAN) sein kann. An dem Netzwerk 2 hängt mindestens ein Client- Terminal 3, auf welchen Druckaufträge erzeugt werden kön­ nen. Das Terminal 3 ist ein an sich bekannter Computer (z. B. Personal Computer PC) mit angeschlossenem Bildschirm 3a. FIG. 13 shows a high-performance printing system 1 in which various system components can be via a data network 2 , which can be a local area network (LAN) or a larger network (wide area network, WAN). At least one client terminal 3 depends on the network 2 , on which print jobs can be generated. The terminal 3 is a computer known per se (for example a personal computer PC) with a connected screen 3 a.

Die Druckaufträge können wahlweise auch auf einem Hauptcom­ puter (Main Frame) 4 erzeugt oder zumindest Daten von dem Main Frame 4 in den Druckauftrag eingefügt werden. Der Main Frame 4 des Rechenzentrums wird über eine geeignete Be­ triebssystem-Steuerung wie MVS, BS2000 oder VSE gesteuert. Am Main Frame 4 können Steuerungsfunktionen und Anzeigen über den daran angeschlossenen Bildschirm 4a erfolgen. An den Hauptcomputer 4 (Main Frame) ist außerdem ein Bandlese­ gerät 5 sowie ein erster Hochleistungsdrucker 6 direkt an­ geschlossen. The print jobs can optionally also be generated on a main computer (main frame) 4 or at least data from the main frame 4 can be inserted into the print job. The main frame 4 of the data center is controlled by a suitable operating system control such as MVS, BS2000 or VSE. Control functions and displays can be carried out on the main frame 4 via the screen 4 a connected to it. On the main computer 4 (main frame) is also a tape reader 5 and a first high-performance printer 6 directly connected to.

Am Datennetzwerk 2 sind außerdem ein zweiter Drucker 7, ein Druckserver 8 sowie ein Archivserver 9 angeschlossen. Der Druckserver 8 wiederum ist mit einem zweiten Bandlesegerät 10 sowie einem Bildschirm 11 verbunden. Zusätzlich zur Ver­ bindung 11 zwischen dem Druckserver 8 und dem Haupt-Daten­ netzwerk 2 ist der Druckserver 8 über die Verbindung 12 mit einem zweiten, lokalen Netzwerk 15 verbunden, an dem wei­ tere Drucker 13, 14 angeschlossen sind. Der Druckserver 8 sowie der Drucker 14 können optional mit einer Anlage zur Produktion von Archivspeichern (CD-ROM) 16 verbunden wer­ den. Die Archivanlage 16 hängt jedoch hauptsächlich am Ar­ chivserver 9. Zusätzliche Bildschirme 9a, 16a und 14a sind mit den jeweiligen Geräten 9, 16 und 14 verbunden.A second printer 7 , a print server 8 and an archive server 9 are also connected to the data network 2 . The print server 8 in turn is connected to a second tape reader 10 and a screen 11 . In addition to the connection 11 between the print server 8 and the main data network 2 , the print server 8 is connected via the connection 12 to a second, local network 15 , to which further printers 13 , 14 are connected. The print server 8 and the printer 14 can optionally be connected to a system for the production of archive memories (CD-ROM) 16 who the. However, the archive system 16 mainly depends on the archive server 9 . Additional screens 9 a, 16 a and 14 a are connected to the respective devices 9 , 16 and 14 .

Die Bandleser 1, 5 sind prozessgesteuerte Geräte, die von einem Computerprogramm gemäß Fig. 9 gesteuert werden. Die­ ses Computerprogramm ist auf einer Festplatte oder in einem Halbleiterspeicher in dem Bandleser abgespeichert und steu­ ert die Funktionen des Bandlesers mittels einer eine CPU beinhaltende Prozesssteuerung.The tape readers 1 , 5 are process-controlled devices which are controlled by a computer program according to FIG. 9. This computer program is stored on a hard disk or in a semiconductor memory in the tape reader and controls the functions of the tape reader by means of a process control including a CPU.

Die Bandleser 1, 5 entsprechen der in Fig. 1 gezeigten Le­ sevorrichtung.The tape readers 1 , 5 correspond to the reading device shown in FIG. 1.

Die Erfindung kann folgendermaßen kurz zusammengefasst wer­ den:
Die Erfindung betrifft ein Verfahren zum Lesen von auf ei­ nem Datenband gespeicherter Daten mittels einer Lesevor­ richtung.
The invention can be briefly summarized as follows:
The invention relates to a method for reading data stored on egg NEM data tape by means of a reader device.

Die Erfindung zeichnet sich dadurch aus, dass die Daten in Abhängigkeit von Parametern, die das Format des jeweiligen Datenbandtyps beschreiben, ausgelesen und auf ihre Voll­ ständigkeit und Korrektheit überprüft werden. The invention is characterized in that the data in Dependence on parameters that affect the format of each Describe, read out and to their full data band types Continuity and correctness are checked.  

Hierdurch ist es möglich, unterschiedliche Typen von Daten­ bändern mit einem einzigen Verfahren zu lesen. This makes it possible to have different types of data to read tapes with a single process.  

Bezugszeichenreference numeral

11

Hochleistungsdrucksystem
High-performance printing system

22

Datennetzwerk
Data network

33

Client-Terminal
Client terminal

33

a Bildschirm
a screen

44

Hauptcomputer
main computer

55

Bandlesegerät
Tape reader

66

Hochleistungsdrucker
High-performance printers

77

Drucker
printer

88th

Druckserver
print server

99

Archivserver
archive server

99

a Bildschirm
a screen

1010

Bandlesegerät
Tape reader

1111

Bildschirm
screen

1212

Verbindung
connection

1313

Drucker
printer

1414

Drucker
printer

1414

a Bildschirm
a screen

1515

Netzwerk
network

1616

Archivanlage
archive system

1616

a Bildschirm
a screen

1717

Datenband
data tape

1818

Lesevorrichtung
reading device

1919

Taste
button

2020

Steuereinrichtung
control device

Verfahrensschrittesteps

S1 Anfang
S2 Eingabe des Bandtyps und Auslesen der Parameter
S3 Abfrage: Ist Labelcode ASCI?
S4 Umsetzen des Labelcodes in ASCI
S5 Identifiziere Label
S6 Abfrage: Ist Label identifiziert?
S7 FEHLER!!!
S8 Ende
S9 Auslesen der Felder
S10 Abfrage: Bandende?
S11 Bandende-Funktion
S12 Dateiende?
S13 Dateiende-Funktion
S14 Abfrage: Dateianfang?
S15 Dateianfangs-Funktion
S16 Anfang
S17 Abfrage: Ist das Label identifiziert?
S18 Ende
S19 Vergleiche ausgelesene Label mit Referenzlabel
S20 Anfang
S21 Abfrage: Länge der Label-ID = 0?
S22 Abfrage: Länge des Labels gleich Länge des Refe­ renzlabels?
S23 Label ist nicht Referenzlabel
S24 Ende
S25 Abfrage: Ist Label-ID gleich Label-ID des Referenz­ labels?
S26 Abfrage: Ist das Label erlaubt?
S27 Abfrage: Ist die Länge des Labels gleich der Länge des Referenzlabels?
S28 Hat das Label einen Bereich?
S29 Label ist Referenzlabel
S30 Abfrage: Ist der Bereich ein alphanumerischer Be­ reich?
S31 Abfrage: Liegt ein alphanumerisches Zeichen vor?
S32 FEHLER!!!
S33 Abfrage: Liegt die erwartete Nummer vor?
S34 Abfrage: Wurde das Label gefunden?
S35 Abfrage: Ist das Label erlaubt und liegt kein Be­ reich vor oder ist das Label nicht erlaubt und hat es einen Bereich?
S36 Setze Zeiger auf nächsten gültigen Label in der Se­ quenz und setze ggfs. Flag-Sequenzwechsel.
S37 Abfrage: Ist das Label erlaubt?
S38 Kein zulässiges Label gefunden
S39 Abfrage: Fehler?
S40 FEHLER!!!
S41 Abfrage: Ist das Flag-Sequenzwechsel nicht gesetzt und ist das Flag-Alternativ nicht gesetzt und ist der ausgelesene Bereich kein Datensegment und ist das Label vom Typ "optional" oder "niemals"?
S42 Abfrage: Ist das Flag-Sequenzwechsel nicht gesetzt und ist das Flag-Alternativ gesetzt und ist das La­ bel vom Typ "immer"?
S43 Setze Zeiger auf Label einer alternativen Sequenz und setze Flag-Alternativ.
S44 Abfrage: Ist das Flag-Sequenzwechsel nicht gesetzt und ist das Flag-Alternativ nicht gesetzt und ist der ausgelesene Bereich kein Datensegment und ist das Label vom Typ "immer", oder ist das Flag-Alter­ nativ gesetzt und ist der ausgelesene Bereich kein Datensegment und ist das Label vom Typ "immer"?
S45 FEHLER!!!
S46 Abfrage: Ist das Flag-Sequenzwechsel nicht gesetzt und ist das Flag-Alternativ nicht gesetzt und ist der ausgelesene Bereich ein Datensegment, oder ist das Flag-Alternativ gesetzt und ist der ausgelesene Bereich ein Datensegment?
S47 FEHLER!!!
S48 Anfang
S49 Abfrage: Letzte Feldvariable gelesen?
S50 Ende
S51 Kopiere Feldinhalt
S52 Abfrage: Ist der Feldinhalt numerisch?
S53 Konvertiere Zeichen in numerischen Wert
S54 Nächstes Feld
S1 beginning
S2 Enter the tape type and read out the parameters
S3 query: Is label code ASCI?
S4 Convert the label code into ASCI
S5 Identify label
S6 Query: Has the label been identified?
S7 ERROR !!!
S8 end
S9 Read the fields
S10 query: end of tape?
S11 tape end function
S12 end of file?
S13 End of file function
S14 Query: beginning of file?
S15 File start function
S16 beginning
S17 Query: Has the label been identified?
S18 end
S19 Compare read labels with reference labels
S20 beginning
S21 query: length of label ID = 0?
S22 Query: Length of the label equal to the length of the reference label?
S23 label is not a reference label
S24 end
S25 Query: Is the label ID equal to the label ID of the reference label?
S26 Query: Is the label allowed?
S27 Query: Is the length of the label equal to the length of the reference label?
S28 Does the label have an area?
S29 label is reference label
S30 Query: Is the area an alphanumeric area?
S31 Query: Is there an alphanumeric character?
S32 ERROR !!!
S33 Query: Is the expected number available?
S34 Query: Was the label found?
S35 Query: Is the label allowed and there is no area or is the label not allowed and does it have an area?
S36 Set pointer to the next valid label in the sequence and, if necessary, set flag sequence changes.
S37 Query: Is the label allowed?
S38 No valid label found
S39 query: error?
S40 ERROR !!!
S41 query: Is the flag sequence change not set and is the flag alternative not set and is the read area not a data segment and is the label of the type "optional" or "never"?
S42 query: Is the flag sequence change not set and is the flag alternative set and is the label of the type "always"?
S43 Set pointer to label of an alternative sequence and set flag alternative.
S44 query: If the flag sequence change is not set and the flag alternative is not set and the read area is not a data segment and the label is of the type "always", or the flag age is set natively and the read area is not a data segment and is the label of the type "always"?
S45 ERROR !!!
S46 Query: Is the flag sequence change not set and is the flag alternative not set and is the area read out a data segment, or is the flag alternative set and is the area read out a data segment?
S47 ERROR !!!
S48 beginning
S49 Query: Last field variable read?
S50 end
S51 Copy field content
S52 Query: Is the field content numeric?
S53 Convert characters to numeric value
S54 Next field

Claims (20)

1. Verfahren zum Lesen von auf einem Datenband gespeicher­ ter Daten mittels einer Lesevorrichtung, wobei auf dem Da­ tenband Nutzdaten und Formatdaten aufgezeichnet sind, und die Formatdaten Label aufweisen, mit welchen das Format der Nutzdaten definiert ist, umfassend folgende Schritte:
  • - Eingeben des Datenbandtyps in die Lesevorrichtung,
  • - Auslesen von Parametern, die die Struktur der Label be­ schreiben, wobei die Parameter in Abhängigkeit des ein­ gegeben Datenbandtyps ausgelesen werden,
  • - Identifizieren und Auslesen der Label mittels der die Label beschreibenden Parameter,
  • - Auslesen der Nutzdaten mittels der in den Label enthal­ tenen Angaben, und
  • - Ausgeben der Nutzdaten.
1. A method for reading data stored on a data tape by means of a reading device, useful data and format data being recorded on the data tape, and the format data having labels with which the format of the user data is defined, comprising the following steps:
  • Entering the data band type in the reading device,
  • Reading out parameters which describe the structure of the label, the parameters being read out as a function of the given data band type,
  • Identifying and reading out the labels by means of the parameters describing the labels,
  • - Reading out the user data using the information contained in the label, and
  • - Output of the user data.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass für jeden lesbaren Bandtyp jeweils ein Satz Parameter abgespeichert ist, wobei jeder Satz Parameter die Label ei­ nes Bandtyps beschreibt.2. The method according to claim 1, characterized, that one set of parameters for each readable tape type is stored, with each set of parameters the label ei describes the type of tape. 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass jeder Satz Parameter eine Tabelle aufweist, in der La­ bel-IDs des jeweiligen Bandtyps gespeichert sind, wobei durch die Struktur der Tabelle die Reihenfolgen, mit wel­ cher die Label auf dem Band aufgezeichnet sein können, de­ finiert ist.3. The method according to claim 2, characterized, that each set of parameters has a table in which La bel IDs of the respective band type are stored, where through the structure of the table the orders with which wel the labels can be recorded on the tape, de is finished. 4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass jeder Satz Parameter eine Tabelle aufweist, in der das Format aller Label des jeweiligen Bandtyps definiert ist.4. The method according to claim 2 or 3, characterized, that each set of parameters has a table in which the Format of all labels of the respective band type is defined. 5. Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass jeder Satz Parameter eine Tabelle aufweist, in der in den Label enthaltene Datenfelder definiert sind.5. The method according to any one of claims 2 to 4,  characterized, that each set of parameters has a table in which data fields contained in the label are defined. 6. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die Paramter Typbezeichnungen umfassen, wobei jedem Label eine Typbezeichnung zugeordnet ist.6. The method according to any one of claims 1 to 6, characterized, that the parameters include type designations, each Label is assigned a type designation. 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass eine Typbezeichnung ("immer") verwendet wird, die an­ gibt, dass das entsprechende Label immer in einer Sequenz von Labeln enthalten sein muss.7. The method according to claim 6, characterized, that a type designation ("always") is used that follows indicates that the corresponding label is always in a sequence must be contained by labels. 8. Verfahren nach Anspruch 6 oder 7, dadurch gekennzeichnet, dass eine Typbezeichnung ("optional") verwendet wird, die angibt, dass das entsprechende Label in einer Sequenz von Labeln enthalten sein kann.8. The method according to claim 6 or 7, characterized, that a type designation ("optional") is used that indicates that the corresponding label is in a sequence of Labels can be included. 9. Verfahren nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass eine Typbezeichnung verwendet wird, die angibt, dass das entsprechende Label niemals in einer Sequenz von Labeln enthalten sein darf.9. The method according to any one of claims 6 to 8, characterized, that a type designation is used that indicates that the corresponding label never in a sequence of labels may be included. 10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass beim Identifizieren und Auslesen der Label diese auf ihre Korrektheit überprüft werden und beim Feststellen ei­ nes Fehlers dieser ausgegeben wird.10. The method according to any one of claims 1 to 9, characterized, that when identifying and reading out the labels they their correctness are checked and when they are found error that is output. 11. Computerprogramm, dadurch gekennzeichnet, dass es zum Ausführen des Verfahrens nach einem der Ansprü­ che 1 bis 10 ausgebildet ist. 11. Computer program, characterized, that it is to carry out the method according to one of the claims che 1 to 10 is formed.   12. Computerprogramm nach Anspruch 11, dadurch gekennzeichnet, dass das Computerprogramm in allgemeine Klassen (W10, W12, W13) und spezielle Klassen (W14-W18, W22-W32, W33-­ W42) strukturiert ist, wobei die Methoden der speziellen Klassen den allgemeinen Klassen vererbt werden, und für je­ den Datenbandtyp mindestens eine spezielle Klasse (W22-­ W32) vorgesehen ist.12. Computer program according to claim 11, characterized, that the computer program in general classes (W10, W12, W13) and special classes (W14-W18, W22-W32, W33- W42) is structured using the methods of special Classes are inherited from general classes, and for each the data band type at least one special class (W22- W32) is provided. 13. Computerprogramm nach Anspruch 12, dadurch gekennzeichnet, dass in einer der Methoden der speziellen Klasse die Para­ meter des jeweiligen Bandtypes enthalten sind.13. Computer program according to claim 12, characterized, that in one of the methods of the special class, the para meters of the respective tape type are included. 14. Computerprogramm nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass das Computerprogramm mittels Interface-Klassen in eine Eingabeklasse (W5), Bearbeitungsklasse (W7) und eine Ausga­ beklasse (W9) strukturiert sind, wobei die Eingabeklasse (W5) und die Bearbeitungsklasse (W7) bzw. die Bearbeitungs­ klasse (W7) und die Ausgabeklasse (W9) jeweils über eine Pufferklasse (W6, W8) gekoppelt.14. Computer program according to one of claims 11 to 13, characterized, that the computer program using interface classes in a Input class (W5), processing class (W7) and an output beklasse (W9) are structured, with the input class (W5) and the processing class (W7) or the processing class (W7) and the output class (W9) each have one Buffer class (W6, W8) coupled. 15. Computerprogramm nach Anspruch 14, dadurch gekennzeichnet, dass die Pufferklassen (W6, W8) Pufferabschnitte, die mit jeweils einem Flag versehen sind aufweisen, mit welchen Schreib- und Lesevorgänge der entsprechenden Pufferab­ schnitte steuerbar sind, wobei die Flags von Puffer-Dienst­ programmen gesetzt werden.15. Computer program according to claim 14, characterized, that the buffer classes (W6, W8) buffer sections with each have a flag with which Write and read processes of the corresponding buffers cuts are controllable, with the flags of buffer service programs are set. 16. Computerprogramm nach einem der Ansprüche 11 bis 15, dadurch gekennzeichnet, dass das Computerprogramm in einer Steuereinrichtung einer Lesevorrichtung zum Lesen von Datenbändern gespeichert ist. 16. Computer program according to one of claims 11 to 15, characterized, that the computer program in a control device a Reading device for reading data tapes is stored.   17. Computerprogramm nach einem der Ansprüche 11 bis 15, dadurch gekennzeichnet, dass das Computerprogramm auf einem maschinenlesbaren Da­ tenträger gespeichert ist.17. Computer program according to one of claims 11 to 15, characterized, that the computer program on a machine-readable Da carrier is stored. 18. Lesevorrichtung zum Lesen von auf einem Datenband (17) gespeicherter Daten, wobei auf dem Datenband Nutzdaten und Formatdaten aufgezeichnet sind, und die Formatdaten Label aufweisen, mit welchen das Format der Nutzdaten definiert ist, wobei die Lesevorrichtung (18) eine Steuereinrichtung (20) umfasst, die derart ausgebildet ist, dass nach dem Einlegen eines Datenbandes und Eingeben des Datenbandtyps in die Lesevorrichtung, Parameter in Abhängigkeit des ein­ gegeben Datenbandtyps ausgelesen werden, die Label mittels der Paramter identifiziert und ausgelesen werden, die Nutzdaten mittels der in den Label enthaltenen Angaben ausgelesen und ausgegeben werden.18. Reading device for reading data stored on a data tape ( 17 ), useful data and format data being recorded on the data tape, and the format data having labels with which the format of the useful data is defined, the reading device ( 18 ) having a control device ( 20 ), which is designed in such a way that after inserting a data band and entering the data band type in the reading device, parameters are read out as a function of the given data band type, the labels are identified and read out by means of the parameters, and the useful data are contained in those contained in the label Information can be read out and output. 19. Lesevorrichtung nach Anspruch 18, dadurch gekennzeichnet, dass die Steuereinrichtung (20) eine CPU und eine Spei­ chereinrichtung aufweist und in der Speichereinrichtung ein nach einem der Ansprüche 11 bis 17 ausgebildetes Computer­ programm zum Steuern der Lesevorrichtung gespeichert ist.19. Reading device according to claim 18, characterized in that the control device ( 20 ) has a CPU and a storage device and in the storage device a computer program designed to control the reading device is stored according to one of claims 11 to 17. 20. Drucksystem mit zumindest einem Drucker (6, 7), einem Druckserver (8) und einer Lesevorrichtung (5, 10) zum Lesen von Datenbändern, dadurch gekennzeichnet, dass die Lesevorrichtung nach Anspruch 18 oder 19 ausgebil­ det ist.20. Printing system with at least one printer ( 6 , 7 ), a print server ( 8 ) and a reading device ( 5 , 10 ) for reading data tapes, characterized in that the reading device is designed according to claim 18 or 19.
DE2001123377 2001-05-14 2001-05-14 Method for reading data and reading device stored on a data tape Expired - Fee Related DE10123377B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2001123377 DE10123377B4 (en) 2001-05-14 2001-05-14 Method for reading data and reading device stored on a data tape

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001123377 DE10123377B4 (en) 2001-05-14 2001-05-14 Method for reading data and reading device stored on a data tape

Publications (2)

Publication Number Publication Date
DE10123377A1 true DE10123377A1 (en) 2002-11-28
DE10123377B4 DE10123377B4 (en) 2011-07-14

Family

ID=7684718

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001123377 Expired - Fee Related DE10123377B4 (en) 2001-05-14 2001-05-14 Method for reading data and reading device stored on a data tape

Country Status (1)

Country Link
DE (1) DE10123377B4 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819309A (en) * 1996-02-09 1998-10-06 Overland Data, Inc. Automated tape cartridge library with accelerated calibration

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327305A (en) * 1992-08-14 1994-07-05 Conner Peripherals, Inc. Tape format detection system
GB2285525B (en) * 1994-01-11 1998-04-01 Dascom Software Dev Services L A tape database control process
US6154852A (en) * 1998-06-10 2000-11-28 International Business Machines Corporation Method and apparatus for data backup and recovery
DE19957594B4 (en) * 1999-11-30 2004-08-26 OCé PRINTING SYSTEMS GMBH Method for synchronizing threads of a computer program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819309A (en) * 1996-02-09 1998-10-06 Overland Data, Inc. Automated tape cartridge library with accelerated calibration

Also Published As

Publication number Publication date
DE10123377B4 (en) 2011-07-14

Similar Documents

Publication Publication Date Title
DE60111376T2 (en) SYSTEM AND METHOD FOR DOCUMENT PROCESSING
DE2704842C2 (en) Data processing device operating in pipeline operation
EP1579309B1 (en) Method, computer programme product and device for the processing of a document data stream from an input format to an output format
DE69722652T2 (en) SYSTEM AND METHOD FOR REMOTELY GROUPING THE CONTENT OF A HISTORICAL BASEMENT STORAGE
DE602005001787T2 (en) Apparatus and method for editing print data
EP0432802A2 (en) Method for the automatic parsing of the computer program text in compilers
DE19741358A1 (en) Individual frame multimedia title formation method
DE60224271T2 (en) DATA PROCESSING METHOD, DATA PROCESSING PROGRAM AND DATA PROCESSING DEVICE
DE2515245A1 (en) PATTERN ANALYSIS SYSTEM
DE2801610A1 (en) PROCEDURE FOR DEFINING INITIAL VALUES FOR TEXT PROCESSING
DE10250641A1 (en) Upward and downward compatible schema evolution
DE4313958A1 (en) DEVICE AND METHOD FOR CONTROLLING THE PRESENTATION OF A TEMPLATE
DE10158419A1 (en) Process for digital printing of compound documents
WO2005106641A2 (en) Method, device and computer program product for generating a page and/or domain-structured data stream from a line data stream
DE10252797B4 (en) Method and system for creating document templates with resource management
EP1197848A2 (en) Method for automatic generation of program code
DE3503456A1 (en) Device for generating and editing written matter
EP0801388B1 (en) Editing device
DE10123377A1 (en) Reading data stored on data tape involves reading out parameters describing structure of label depending on data tape type, identifying , reading out label using parameter describing label
DE10325843B4 (en) A method, printing system, computer and computer program for managing resources for use in a resource-based document data stream
DE69722584T2 (en) MANUFACTURE OF MACROS IN A CONTROL SYSTEM BY RECORDING REACTIONS
DE3838732A1 (en) Information processing device
DE69925108T2 (en) DERIVING AN OBJECT CLASS THROUGH ADVERTISING, INSTALLATION OR CLONING
EP1265751B1 (en) Method and device for producing a printing pattern
EP1235123A2 (en) Add-om mechanism for a control system based on a type data-field

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8181 Inventor (new situation)

Inventor name: LANKREIJER, HERMAN, 85457 WUERTH, DE

R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20111015

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20131203