Benutzer-Werkzeuge

Webseiten-Werkzeuge

Action disabled: source

xml:items_in_internals

items_in Interna

Ein Artikelimport läuft grundsätzlich so ab, dass die XML-Daten in die entsprechenden Schnittstellentabellen geschrieben werden. Nach dem Schreiben in die Schnittstellentabellen wird die Import-Prozedur aufgerufen. Es wird für den Import der Datenbankbenutzer „interfaceuser“ verwendet.

Im Detail passieren dabei folgende Schritte: Wie in items_in XML-Schema erwähnt, können durch das Attribut „ExecutionLevel“ von „ListOfItems“ einzelne Schritt übersprungen werden.

  • Löschen der Schnittstellen-Tabellen mittels im_DeleteInterfaceTables_Ad, dadurch werden die Schnittstellentabellen automatisch gegen konkurrierenden Zugriff geschützt. Dies wird durch den Eintrag eines Status 99 in Batchjobs für die Prozedur im_ImportItemData_Ad erreicht. Hat jemand bereits die Schnittstellentabellen für sich „reserviert“, so kommt es beim Versuch, die Schnittstellentabellen zu löschen, zu einem Fehler.
  • Einfügen der Daten der XML-Datei in die Schnittstellentabellen. Es werden dabei folgende Tabellen befüllt:
    • RemoveItemsOrVariants
    • ImportItemData_Items
    • ImportItemData_CopyItems
    • ImportItemData_Properties
    • ImportItemData_ValueDetails
  • Ausführen der Prozedur im_ImportItemData_Ad. Dabei wird abhängig vom Listen-Typ der Parameter „HandleExistingItemNotImported“ gesetzt.
  • Handelt es sich um eine PartialList, so werden - je nach ApplicationSetting „ITEMS_IN_PASS_ONLY_ITEMNOS“ - entweder nur die ItemNos oder die ItemNos und die VariantNos in die temporäre Tabelle tempdb..AnyValues eingefügt. Dieser Mechanismus erlaubt wesentliche Optimierungen bei der Erstellung der Datenankprozeduren die nach dem Import ausgeführt werden können.
  • Am Ende wird noch die in den ApplicationSettings angegeben Prozedur ausgeführt. Hierbei kann je nach Listen-Typ eine andere Prozedur angegeben werden1).
1)
in naher Zukunft wird die Möglichkeit Post-Import-Prozeduren auszuführen entfernt
xml/items_in_internals.txt · Zuletzt geändert: 13.11.2014 (Externe Bearbeitung)