5.2. Basis-Typen

5.2.1. Kennzeichner

Der Typ udt:IdentifierType wird verwendet, um in den Elementinstanzen etwas eindeutig zu kennzeichnen. Hierbei wird unterstellt, dass die Eindeutigkeit durch ein zugrunde liegendes Schema von Kennzeichnungen gewährleistet ist.

Ein Element von diesem Typ hat einfachen Inhalt vom Typ xsd:string und zusätzliche optionale Attribute, um das Kennzeichnungsschema zu identifizieren. Zwei Elementinstanzen sind als gleich anzusehen, wenn sie hinsichtlich Elementname, Inhalt und dem Attribut identificationSchemeID übereinstimmen.

Regel: EAN-Code. veloconnect-konforme Implementierungen müssen das Attribut identificationSchemeID auf den Wert EAN/UCC-13 setzen, wenn es sich bei der Kennzeichnung um einen EAN-Code handelt. Falls UPC-A-Codes verwendet werden sind diese durch eine führende 0 in einen EAN-Code zu transformieren.

Regel: ILN/GLN. veloconnect-konforme Implementierungen müssen das Attribut identificationSchemeID auf den Wert GLN setzen, wenn es sich bei der Kennzeichnung um eine Internationale Lokationsnummer (ILN) bzw. Global Location Number (GLN) handelt.

5.2.2. Mengenangaben

cbc:QuantityType.  Eine Mengenangabe besteht aus einem Wert (einer Zahl) und einer Einheit. Zur Darstellung von Mengenangaben wird der Basistyp cbc:QuantityType verwendet. Der Wert der Mengenangabe wird im Inhalt einer Elementinstanz als Zeichenkette vom Typ xsd:decimal dargestellt, die Einheit durch das Attribut quantityUnitCode. Dieses Attribut muss stets angegeben werden. Eine Einheit wird dargestellt durch einen Code aus bis zu drei Buchstaben aus der Codeliste nach TRADE/CEFACT/2001/20 . Diese Liste umfasst einige hundert Einheiten. Mit Rücksicht auf das Einsatzgebiet der veloconnect-Spezifikation schränken wir diese Liste wie folgt ein:

Regel: Einheiten.  Ein veloconnect-konformer Client oder Server muss in der Lage sein, die folgenden Einheiten korrekt zu behandeln:

EA
Diskret: Stück, Gegenstand, der als Einheit anzusehen ist.
PR
Diskret: Paar, besteht aus zwei Stück, die gleich sind bis auf genau ein Merkmal, das nur zwei Werte annehmen kann. Zum Beispiel: ein Paar Schuhe, ein Paar Bremsbacken.
PK
Diskret: Paket, besteht aus mehreren gleichen Teilen.
SET
Diskret: Set, besteht aus mehren Teilen, die aus funktionalen oder verkaufstechnischen Gründen zu einer Einheit zusammengefasst werden.
MTR
Länge: Meter
CMT
Länge: Zentimeter
MMT
Länge: Millimeter
KGM
Gewicht: Kilogramm
GRM
Gewicht: Gramm
LTR
Volumen: Liter
MLT
Volumen: Milliliter

Korrekt behandeln heisst: Zwei Mengenangaben sind als gleich zu behandeln, wenn sie nach Definition der Einheiten gleich sind.

Bei den physikalischen Maßeinheiten für Länge, Gewicht und Volumen ist offensichtlich, wie verschiedene Einheiten gleicher physikalischer Größen ineinander umzurechen sind. Zum Beispiel sind <cbc:Quantity quantityUnitCode="MTR">0.58</cbc:Quantity> und <cbc:Quantity quantityUnitCode="MMT">580</cbc:Quantity> als gleich zu behandeln.

Regel: Diskrete Einheiten. Bei den diskreten Einheiten ist das nicht offensichtlich. Wir setzen folgende Regeln für veloconnect-konforme Implementierungen fest:

  1. Die Einheiten Stück, Paar und Set sind untereinander nicht zu vergleichen und sind auch nicht mit einer der physikalischen Größen zu vergleichen.
  2. Eine Umrechnung einer Mengenangabe mit der Einheit Paket in eine andere Einheit Y, ist nur dann möglich, wenn Y eine von Paket verschiedene Einheit ist, und wenn explizit eine Zahl U angegeben wird, so dass 1 Paket einer Menge von U Y entspricht.

Die Beschreibung von Gegenständen erfolgt mit dem Elementtyp cac:ItemType. Dieser Elementtyp erlaubt die geforderte explizite Angabe zur Umrechung der Paket-Einheit in eine andere Einheit.

Regel: Andere Einheiten nach TRADE/CEFACT/2001/20 [10]. Es widerspricht nicht der veloconnect-Spezifikation, andere als die oben genannten Einheiten aus der TRADE/CEFACT/2001/20-Liste zu verwenden. Ein veloconnect-konformer Server darf auf eine Nachricht mit einer Fehlermeldung antworten, wenn der Client eine andere als eine der oben explizit aufgeführten Einheiten verwendet. Ein veloconnect-konformer Client muss eine solche Einheit verarbeiten, wenn sie vom Server geliefert wird. Dazu kann er diese Einheit entweder als Einheit betrachten, die mit keiner anderen vergleichbar ist, oder durch den Benutzer eine Umrechnung in eine bekannte Einheit festlegen lassen.