<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="BuchungWareneingangZL" type="BuchungWareneingangWBWETyp">
    <xs:annotation>
      <xs:documentation>Version 004 - Release 001</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:simpleType name="an..1">
    <xs:restriction base="xs:string">
      <xs:maxLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..10">
    <xs:restriction base="xs:string">
      <xs:maxLength value="10"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..100">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..11">
    <xs:restriction base="xs:string">
      <xs:maxLength value="11"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..2">
    <xs:restriction base="xs:string">
      <xs:maxLength value="2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..20">
    <xs:restriction base="xs:string">
      <xs:maxLength value="20"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..3">
    <xs:restriction base="xs:string">
      <xs:maxLength value="3"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..35">
    <xs:restriction base="xs:string">
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..4">
    <xs:restriction base="xs:string">
      <xs:maxLength value="4"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..40">
    <xs:restriction base="xs:string">
      <xs:maxLength value="40"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..5">
    <xs:restriction base="xs:string">
      <xs:maxLength value="5"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..7">
    <xs:restriction base="xs:string">
      <xs:maxLength value="7"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ApplicationInternalDataAdditionalDetailsDataType">
    <xs:sequence>
      <xs:element name="Key" type="an..35" minOccurs="0"/>
      <xs:element name="Value" type="an..100" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ApplicationInternalDataAdditionalDetailsType">
    <xs:sequence>
      <xs:element name="Data" type="ApplicationInternalDataAdditionalDetailsDataType" minOccurs="0" maxOccurs="999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ApplicationInternalDataType">
    <xs:sequence>
      <xs:element name="AdditionalDetails" type="ApplicationInternalDataAdditionalDetailsType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="BuchungWareneingangWBWETyp">
    <xs:complexContent>
      <xs:extension base="DatenaustauschZLTyp">
        <xs:sequence>
          <xs:element name="EinzelBuchungWareneingang" type="EinzelBuchungWareneingangTyp" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DatenaustauschZLTyp">
    <xs:sequence>
      <xs:element name="Transaktion" type="TransaktionZLTyp"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EinzelBuchungWareneingangTyp">
    <xs:sequence>
      <xs:element name="ObjektIdentifizierung" type="ObjektIdentifizierungWBWETyp" minOccurs="0"/>
      <xs:element name="KopfDaten" type="KopfDatenBuchungWareneingangTyp" minOccurs="0"/>
      <xs:element name="Position" type="PositionBuchungWareneingangTyp" minOccurs="0" maxOccurs="99999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="KopfDatenBuchungWareneingangTyp">
    <xs:sequence>
      <xs:element name="Firma" type="an..3" minOccurs="0"/>
      <xs:element name="Werk" type="an..4" minOccurs="0"/>
      <xs:element name="Beteiligter" type="an..7" minOccurs="0"/>
      <xs:element name="Lagerprofil" type="an..20" minOccurs="0"/>
      <xs:element name="Belegnummer" type="an..35" minOccurs="0"/>
      <xs:element name="ATLASMeldeart" type="an..5" minOccurs="0"/>
      <xs:element name="Buchungsschluessel" type="an..3" minOccurs="0"/>
      <xs:element name="BuchungDatum" type="xs:date" minOccurs="0"/>
      <xs:element name="BuchungZeit" type="xs:time" minOccurs="0"/>
      <xs:element name="ZODIAKReferenz" type="an..35" minOccurs="0"/>
      <xs:element name="Registriernummer" type="an..35" minOccurs="0"/>
      <xs:element name="VeralteteWeitereRegistriernummer" type="an..35" minOccurs="0"/>
      <xs:element name="BetrieblicheWareneingangsnummer" type="an..35" minOccurs="0"/>
      <xs:element name="Kundenreferenz1" type="an..40" minOccurs="0"/>
      <xs:element name="Kundenreferenz2" type="an..40" minOccurs="0"/>
      <xs:element name="Kundenreferenz3" type="an..40" minOccurs="0"/>
      <xs:element name="KundenreferenzNum1" type="n15.3" minOccurs="0"/>
      <xs:element name="KundenreferenzNum2" type="n15.3" minOccurs="0"/>
      <xs:element name="KundenreferenzNum3" type="n15.3" minOccurs="0"/>
      <xs:element name="ApplicationInternalData" type="ApplicationInternalDataType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="n..12.2">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,10}([.,]\d{0,2}(0*))?( *)"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n..12.3">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,9}([.,]\d{0,3}(0*))?( *)"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n..15.5">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,10}([.,]\d{0,5}(0*))?( *)"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n12.3">
    <xs:restriction base="xs:decimal">
      <xs:pattern value="\d{9}\.\d{3}"/>
      <xs:maxInclusive value="999999999.999"/>
      <xs:minInclusive value="0"/>
      <xs:totalDigits value="12"/>
      <xs:fractionDigits value="3"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n15.3">
    <xs:restriction base="xs:decimal">
      <xs:pattern value="\d{12}\.\d{3}"/>
      <xs:maxInclusive value="999999999999.999"/>
      <xs:minInclusive value="0"/>
      <xs:totalDigits value="15"/>
      <xs:fractionDigits value="3"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n3">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="\d{3}"/>
      <xs:totalDigits value="3"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n5">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="\d{5}"/>
      <xs:totalDigits value="5"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n6">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="\d{6}"/>
      <xs:totalDigits value="6"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n9">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="\d{9}"/>
      <xs:totalDigits value="9"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ObjektIdentifizierungWBWETyp">
    <xs:sequence>
      <xs:element name="ObjektName" type="an..35"/>
      <xs:element name="ZeitpunktEingang" type="xs:dateTime"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PositionBuchungWareneingangTyp">
    <xs:sequence>
      <xs:element name="Positionsnummer" type="n6" minOccurs="0"/>
      <xs:element name="PositionsnummerWareneingang" type="n6" minOccurs="0"/>
      <xs:element name="Registriernummer" type="an..35" minOccurs="0"/>
      <xs:element name="VeralteteWeitereRegistriernummer" type="an..35" minOccurs="0"/>
      <xs:element name="RegistriernummerPosition" type="n5" minOccurs="0"/>
      <xs:element name="DatumAnnahme" type="xs:date" minOccurs="0"/>
      <xs:element name="DatumUeberlassung" type="xs:date" minOccurs="0"/>
      <xs:element name="Artikelnummer" type="an..35" minOccurs="0"/>
      <xs:element name="Chargennummer" type="an..35" minOccurs="0"/>
      <xs:element name="Einlagerungsmenge" type="n12.3" minOccurs="0"/>
      <xs:element name="EinlagerungsmengeMasseinheit" type="an..4" minOccurs="0"/>
      <xs:element name="Tarifnummer" type="an..11" minOccurs="0"/>
      <xs:element name="Zusatzcode" type="an..4" minOccurs="0" maxOccurs="10"/>
      <xs:element name="Rohmasse" type="n..15.5" minOccurs="0"/>
      <xs:element name="Eigenmasse" type="n..15.5" minOccurs="0"/>
      <xs:element name="Ursprungsland" type="an..2" minOccurs="0"/>
      <xs:element name="ZollwertInEuro" type="n..12.2" minOccurs="0"/>
      <xs:element name="Praeferenzcode" type="an..3" minOccurs="0"/>
      <xs:element name="AHStatistischerWert" type="n9" minOccurs="0"/>
      <xs:element name="AHStatistischerWertManuell" type="n9" minOccurs="0"/>
      <xs:element name="AHStatistischeMenge" type="n12.3" minOccurs="0"/>
      <xs:element name="AHStatistischeMengeManuell" type="n12.3" minOccurs="0"/>
      <xs:element name="WarenMenge" type="WarenMengeWBWETyp" minOccurs="0" maxOccurs="5"/>
      <xs:element name="Kundenreferenz1" type="an..40" minOccurs="0"/>
      <xs:element name="Kundenreferenz2" type="an..40" minOccurs="0"/>
      <xs:element name="Kundenreferenz3" type="an..40" minOccurs="0"/>
      <xs:element name="KundenreferenzNum1" type="n15.3" minOccurs="0"/>
      <xs:element name="KundenreferenzNum2" type="n15.3" minOccurs="0"/>
      <xs:element name="KundenreferenzNum3" type="n15.3" minOccurs="0"/>
      <xs:element name="ApplicationInternalData" type="ApplicationInternalDataType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TransaktionZLTyp">
    <xs:sequence>
      <xs:element name="IOPartner" type="an..100"/>
      <xs:element name="IODivision1" type="an..10" minOccurs="0"/>
      <xs:element name="IODivision2" type="an..10" minOccurs="0"/>
      <xs:element name="IODivision3" type="an..10" minOccurs="0"/>
      <xs:element name="IOReferenz" type="an..35"/>
      <xs:element name="IODatumZeit" type="xs:dateTime"/>
      <xs:element name="Version" type="n3" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="WarenMengeWBWETyp">
    <xs:sequence>
      <xs:element name="Menge" type="n..12.3" minOccurs="0"/>
      <xs:element name="Masseinheit" type="an..3" minOccurs="0"/>
      <xs:element name="Qualifier" type="an..1" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
