# Aufbau der XML-Datei (Gutschriftenimport) Für die einfache Validierung eines Gutschriftenimportes in Form einer XML-Datei stellen wir Ihnen gerne ein Schema bereit. Dieses Schema deckt die grundlegend erforderlichen Informationen der XML-Datei ab. Diese kann jedoch nach Belieben erweitert werden. Dabei können alle Tabellenfelder aus der Tabelle tgutschrift und tWarenLagerEingang in Form von Tags, bzw. deren Namen, direkt gefüllt werden. * [Header](#header) ## Tags * [tGutschriften](#tgutschriften) * [tGutschrift](#tgutschrift-attribute) * [tgutschriftpos](#tgutschriftpos) * [tGutschrifteigenschaft](#tgutschrifteigenschaft) * [twarenlagereingang](#twarenlagereingang) * [trechnungsadresse](#trechnungsadresse) ## Header Die XML Datei muss mit dieser Kopfinformation beginnen. ```xml ``` Die Datei muss in Latin-1 codiert sein, damit die Daten richtig in Datenbank übernommen werden und die Wawi das korrekt darstellen kann. ## tGutschriften Unter dem Header befindet sich immer der Tag ****, welcher beliebig viele Gutschriften zum Import bereitstellen kann. ```xml ``` ## tGutschrift Attribute Der Tag enthält alle Tags die für den Import einer Gutschrift verwendet werden. Zusätzlich stellt er Attribute bereit, über welchen der Import individuell gesteuert werden kann. Hier kann definiert werden, ob die Gutschrift nach erfolgreichem Import gedruckt werden soll. Folgende Attribute müssen im Tag für den Import angegeben werden: ```xml ``` * **kFirma**: Gibt die Firma an, welche zur Gutschrift hinterlegt werden soll (Tabelle: tfirma Feld: kFirma) * **kKunde**: Gibt den Kunden an, für welchen die Gutschrift erstellt wird (Tabelle: tkunde Feld: kKunde) *Achtung*: Der Kunde muss in der Datenbank, in welche die XML importiert wird, vorhanden sein. * **nGutschriftDrucken**: Gibt an ob die erstellten Gutschriften gedruckt werden sollen. * **kGutschriftFormular**: Gibt die Druckvorlage zum Druck der Rechnung an (Tabelle: tFormular Feld: kFormular vom nTyp = 4) ## tGutschrift Tags Innerhalb des Tags **** werden die Informationen zur Gutschrift hinterlegt, die übertragen werden sollen. Dies beinhaltet zum Einen Informationen, die direkt für die Gutschrift erforderlich sind und zum Anderen Auflistungen der Positionen und entsprechenden Warenlagereingänge. Des Weiteren wird hier die Rechnungsadresse hinterlegt. ```xml Beleg 4723 47.11 19.00 2012-08-10 EUR 1 151 ``` * **cGutschriftNr**: Enthält die Belegnummer der Gutschrift. Tag auslassen, damit die Fortlaufende Nummer, der Gutschriften, von der Wawi vergeben wird. * **fPreis**: Enthält den gesamten Brutto-Preis der Gutschrift. * **fMwSt**: Enthält die in 'fPreis' enthaltene Mehrwertsteuer (z.B. 19.00). * **dErstellt**: Enthält das Datum der Erstellung (Format: yyyy-mm-dd oder yyyy-mm-dd hh:nn:ss). * **cWaehrung**: Währung wird hier als Text hinterlegt (im Beispiel: 'EUR'). * **kSprache**: Enthält einen Verweis auf die Sprache der Gutschrift (Tabelle: tSprachen Feld: kSprache). * **kPlattform**: Enthält einen Verweis auf die Plattform der Gutschrift (z.B. 151 für LS-Pos) (Tabelle: tPlattform Feld: kPlattform). * **cText**: Eine Anmerkung zur Rechnungskorrektur. ## tgutschriftpos Jede Gutschrift beinhaltet beliebig viele Positionen, die im Tag **** einzeln definiert werden können. Hier bietet sich zusätzlich die Möglichkeit die Warenlagereingänge zu einer Positionen anzugeben und somit den Bestand eines Artikels wieder zu erhöhen. ```xml 2594860 47.11 19.00 1.00 0.00 16.7227 2594860 45 47.11 2594860 1 1.00 2.00 ``` Folgende Tags müssen innerhalb eines ****-Tags enthalten sein: * **tArtikel_kArtikel**: Beinhaltet einen Verweis auf den gewünschten Artikel und ist "0" bei Frei-Positionen (Tabelle: tartikel Feld:kArtikel). * **cString**: Enthält die Bezeichnung der Position. * **cArtNr**: Enthält die anzuzeigende Artikelnummer der Position. * **fVKPreis**: Enthält den Bruttopreis je Position ohne Rabatt. * **fMwSt**: Enthält die in 'fVKPreis' enthaltene Mehrwertsteuer (z.B. 19.00). * **nAnzahl**: Enthält die Menge. * **fRabatt**: Enthält den Rabatt der Position (z.B. 7.00 für 7%). * **fVKNetto**: Enthält den Verkaufs Nettopreis je Position ohne Rabatt ## tGutschrifteigenschaft Ein Tag **** kann beliebig viele Tags **** abbilden. Diese beinhalten jeweils einen Verweis auf eine kEigenschaft (entspricht einer Variation) (Tabelle: teigenschaftwert Feld:kEigenschaftWert) ```xml 2594860 45 47.11 ``` * **kEigenschaftWert**: Enthält einen Verweis auf die Variation (Tabelle: teigenschaftwert Feld: kEigenschaftWert). * **kArtikel**: Enthält einen Verweis auf den Artikel (Tabelle: tArtikel Feld: kArtikel) der Variation. * **fNettoPreis**: Enthält den Nettopreis der Variation. ## twarenlagereingang Ein Tag **** kann beliebig viele Tags **** abbilden. Damit kann die Ware auf die Lagerplätze verteilt und somit der Bestand der Artikel erhöht werden. Ist kein Wareneingang erforderlich kann das Tag einfach weggelassen werden (z.B. bei Freipositionen). ```xml 2594860 1 1.00 2.00 ``` Folgende Tags werden innerhalb des Tags **** erwartet: * **kArtikel**: Enthält einen Verweis auf den Artikel (Tabelle: tArtikel Feld: kArtikel). * **kWarenLagerPlatz**: Enthält den WarenLagerPlatz, von welchem die Ware geliefert wird. (Tabelle: tWarenLagerPlatz Feld:kWarenLagerPlatz) Das entsprechende WarenLager befindet sich in der Tabelle tWarenlager. * **fAnzahl**: Gibt die Anzahl des Warenlagerausgangs an (Bei Seriennummernartikeln z.B. immer 1 pro Seriennummer). * **cChargenNr**: Enthält die Chargennummer. (Wenn nicht benötigt einfach nur leeres '' übergeben) * **dMHD**: Enthält das Mindesthaltbarkeitsdatum. (Wenn nicht benötigt einfach nur leeres '' übergeben) * **fEKEinzel**: Enthält den Netto Ek für diesen Wareneingang je Einheit. * **kLagerArtikel**: Bei der Auslieferung von Seriennummern-Artikeln muss der entsprechende Lagerartikel angegeben werden, der die gewünschte Seriennummer enhält. * **Stücklisten**: Wie auch beim Auftrag, müssen hier die einzelnen Komponenten eingebucht werden! Es muss die tatsächlich eingebuchte Menge angegeben werden. Beispiel: Eine Stückliste als Position mit der Menge 2 mit 2 Komponenten (jeweils 2 Stück in Komponente) ergibt zwei Tags von twarenlagereingang: 1. Artikel Komponente 1 mit Menge 4 ( (2) * (2) = (4)) 2. Artikel Komponente 2 mit Menge 4 ( (2) * (2) = (4)) ## trechnungsadresse Über den Tag **** wird einer Gutschrift die entsprechende Rechnungsadresse zugewiesen. Im Folgenden werden die selbsterklärenden Tags innerhalb von **** angegeben, bei allen handelt es sich um Freitext-Felder. ```xml LCTT_Anrede LCTT_Vorname LCTT_Name LCTT_Titel LCTT_Firma LCTT_Straße LCTT_AZusatz LCTT_PLZ LCTT_Ort LCTT_Bundesland Marshallinseln LCTT_Tel LCTT_Mobil LCTT_Fax LCTT_EMail ```