====== Import ====== {{ :mod_xmlimexport:feldzuordnung1.png?300}} Der Import in mercaware kann nicht wie der [[Export]] als Datenbank-Operationen durchgeführt werden, da mercaware umfangreiche Formulare besitzt, die erweiterte Funktionen bereitstellen (beispielsweise das Ermitteln des Preises aus Menge und Artikelpreis in einer Bestellung).\\ Deshalb werden die Importe über die Masken von mercaware automatisiert durchgeführt. Dazu wird eine spezielle Schnittstelle genutzt, der die Kommandos übergeben werden können (Maskenwechsel, Button-Klicks, Felder ausfüllen, etc.). Diese Aktionen geschehen allerdings automatisch im Hintergrund. Der Import erwartet lediglich XML-Dateien in einem ungefähr vorgegebenen Format, deren Inhalt anhand von Regeln in die korrekten Felder auf den Masken von mercaware gefüllt wird. Die Masken von mercaware stellen wiederum zunächst die Möglichkeit bereit, verschiedene Systeme (mit unterschiedlichen Feldern und Dateinamen) einzurichten (Maske ''xmlimport'').\\ Im folgenden werden analog zum XML den verschiedenen XML-Tags und deren Attributen über die Masken die korrekten Masken- und Feldnamen eingetragen. Dabei sieht das XML für den Import von neuen Aufträgen in die Maske ''ATRK'' beispielsweise so aus (Datei ''magento-1328622659.xml''): {{ :mod_xmlimexport:feldzuordnung1.png?300}} // Create-Sektionen ensprechen neuen Datensätzen, das target-Attribut bestimmt die Zielmaske // Jeder einzelne Datensatz ist stets in ein item als Gruppierung verpackt // Das Feld debitor auf der oben angegebenen Maske muss mit dem Wert 10428 befüllt werden 10428 // Der Auftrag enthält auch Auftragspositionen, die allerdings in einer anderen Tabelle landen // Die Felder Artikel-Nummer und Menge müssen befüllt werden
2002
17
2000
5
10427
2015
19
2012
9
Hiermit sind nun zwei neue Aufträge erzeugt worden. Die Bezeichnungen für Masken und Felder (''order positions'', ''article'', etc.) entsprechen Zuordnungen, die in mercaware eingerichtet sind (siehe Screenshots). Wenn das PHP-Programm nun diese Datei einliest, ist der Ablauf im Hintergrund folgendermaßen: * Verbindung zu Mercaware wird hergestellt. * Verschiedene andere Dateien werden verworfen. * Die Datei „magento-1328622659.xml“ wird geöffnet und das XML geparst. * Zur Maske „/MENUVERK/ATRK“ (orders) springen. * Die Maske wird geleert. * Feld „DEBNR_ATRK_ATRK“ (debitor) mit Wert „10428“ befüllen. * Button „Einfügen“ betätigen. * Auf dem Feld „SUBMASK1_ATRK“ in die Submaske „/MENUVERK/ATRK/ATRP“ (order positions) wechseln. * Die Maske wird geleert. * Feld „VNR_ATRP_ATRP“ (article) mit Wert „2002“ befüllen. * Feld „ANZ_ATRP_ATRP“ (quantity) mit Wert „17“ befüllen. * Button „Einfügen“ betätigen. * Die Maske wird geleert. * Feld „VNR_ATRP_ATRP“ (article) mit Wert „2000“ befüllen. * Feld „ANZ_ATRP_ATRP“ (quantity) mit Wert „5“ befüllen. * Button „Einfügen“ betätigen. * Eine Maske zurückwechseln. * Die Maske wird geleert. * Feld „DEBNR_ATRK_ATRK“ (debitor) mit Wert „10427“ befüllen. * Button „Einfügen“ betätigen. * Auf dem Feld „SUBMASK1_ATRK“ in die Submaske „/MENUVERK/ATRK/ATRP“ (order positions) wechseln. * Die Maske wird geleert. * Feld „VNR_ATRP_ATRP“ (article) mit Wert „2015“ befüllen. * Feld „ANZ_ATRP_ATRP“ (quantity) mit Wert „19“ befüllen. * Button „Einfügen“ betätigen. * Die Maske wird geleert. * Feld „VNR_ATRP_ATRP“ (article) mit Wert „2012“ befüllen. * Feld „ANZ_ATRP_ATRP“ (quantity) mit Wert „9“ befüllen. * Button „Einfügen“ betätigen. * Eine Maske zurückwechseln. * Eine Maske zurückwechseln. * Die Verbindung zu Mercaware wird getrennt Außer der Sektion ''create'' gibt es auch noch die Sektionen ''update'' und ''delete''. Diese können Einträge verändern und löschen. Dazu wird auf der Maske statt der Leerung (wie oben) eine Suche nach dem korrekten Datensatz durchgeführt. Dazu sieht das XML in diesem Fällen leicht anders aus: 4 Die Attribute des ''item''-Tags beziehen sich dabei auf die Felder, die bei der Suche ausgefüllt werden, um einen Datensatz zu finden, und stellen die Werte dar, die der entsprechende Datensatz für diese Felder besitzt.\\ Eine Besonderheit stellt hierbei das Attribut ''vktyp'' dar, das auf das mercaware-Feld ''VTYP_ATRP_ATRP'' zeigt. Dieses Feld ist ein Dropdown verschiedener Werte, die ''16800'' sind hierbei der Code eines Sprachstrings.