Table of Contents
Allgemeine Spezifikationen
Gültigkeit der Version und Abwärtskompatibilität
Dies ist aktuell die Version 6.10.2. Kleine Änderungen, welche die Abwärtskompatibilität garantieren werden als dritte Stelle der Versionsnummer angegeben. Wird z.B. ein neues Datenfeld in einer Tabelle hinzugefügt, ohne das die bestehenden Felder geändert werden, dann wird die Version von z.B. 6.5.1 auf 6.5.2 erhöht. Änderungen am Format, welche leichte Änderungen an den verschiedenen Softwarepaketen erfordern, werden in der zweiten Stelle der Versionsnummer angegeben. z.B. Version 6.5.5 auf 6.6.0. Eine neue Strukturierung und Definition des Formates (z.B. XML) wird in der Version 7.0.0 festgelegt.
Trennzeichen und Datensatzlänge
Der Zeichensatz in den folgenden beschriebenen Dateien sind Textdateien im Zeichensatz ISO 8859-x. (Der Wert für x ist in der Datei Head.Dat festgelegt) (Siehe auch „http://de.wikipedia.org/wiki/ISO_8859-1“)
Die einzelnen Sätze sind durch die Zeichen CR (ASCII 13) und LF (ASCII 10) getrennt. Eine feste Satzlänge ist wegen der besseren Abwärtskompatibilität nicht vorhanden. Bei einer neuen Version des Dateiformates, werden neu definierte Datenfelder einfach an die bestehende Struktur angehangen. Softwareprodukte, die noch nicht an das jeweilig neue Dateiformat angepasst wurden, können daher dennoch das neue Dateiformat importieren.
Die Sätze ihrerseits bestehen aus Feldern fester Länge ohne Trennzeichen.
Feldspezifikation
Textfelder (Typ T..) sind linksbündig mit nachlaufenden SPACE (ASCII 32) in den Datensätzen abgelegt.
Numerische Werte (Typ 9.. oder B) werden mit führenden Nullen rechtsbündig ohne Dezimaltrennzeichen dargestellt. SPACE als “0” interpretiert. (Ausnahme sind die Preisfelder in der LensPrice.Dat und OptionsPrice.Dat, bei denen Blank für ein EK-Preisfeld als “Preis auf Anfrage” interpretiert wird und für ein VK-Preisfeld angibt, daß kein empf. VK vorhanden ist und vom Optiker selbst kalkuliert werden muss).
Datumsfelder (Typ D) werden im Format Jahr (4-stellig), Monat (2-stellig) und Tag (2-stellig) dargestellt (Format JJJJMMTT). Optionale Felder können mit SPACE gefüllt sein.
Boolesche Felder werden mit 0=Nein und 1=Ja definiert. SPACE wird als “0” interpretiert. Andere Definitionen werden unter Bemerkung in der Tabellenstruktur festgelegt.
Bei Dateien, die einen Primärschlüssel besitzen, sind die Felder, aus denen sich dieser zusammensetzt, mit einem '*' markiert. Ein Primärschlüssel darf in einer Datei nicht mehrfach auftreten. Ferner wird vorausgesetzt, daß die Sätze nach dem Primärschlüssel sortiert vorliegen.
Produktdefinition im GPL-Standard, Bestellfähigkeit
Ein Produkt ist, was durch einen definierten und eindeutigen Hersteller-Bestellcode identifiziert wird. Unterschieden wird zwischen Grundglas-Produkten und Zuschlags-Produkten (Beschichtungen). Es wird vorausgesetzt, daß mit den so definierten Produkten unter Beifügung von Durchmesser- und Wirkungsangaben, Bestellvorgänge an das Bestellsystem des Herstellers übergeben werden können.
Konsistenzbedingungen:
Die Primärschlüsseleigenschaft muß eingehalten werden. In keiner Datei dürfen mehrere Sätze mit dem selben Primärschlüssel auftauchen. Alle in den Dateien LensPrice.Dat, Combination.Dat, LensRange.Dat, LensGeo.Dat, Information.Dat, OrderOptions.Dat, ProductGroup.dat, CodeSubstitution.Dat und OeCodes.Dat vorkommenden Grundglascodes müssen in LensType.Dat definiert worden sein, Alle in den Dateien OptionsColor.Dat, OptionsPrice.Dat, Combination.Dat, LensRange.Dat, Information.Dat, OrderOptions.Dat, ProductGroup.dat, CodeSubstitution.Dat und OeCodes.Dat vorkommenden Zuschlagcodes müssen in Options.Dat definiert worden sein. Alle in der Datei OptionsPrice.Dat verwendeten Zuschlags-Indices müssen in LensType.Dat definiert sein. Alle in der Datei LensPrice.Dat verwendeten Lieferbereich-Indices müssen in LensRange.Dat definiert sein. Die in den Dateien LensType.Dat, Options.Dat, und OptionsColor.Dat angegebenen Produktbezeichnungen müssen, obwohl nicht im Primärschlüssel enthalten, innerhalb jeder Datei eindeutig sein.