Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:im_importitemdata_ad

im_ImportItemData_Ad

Importiert Artikeldaten aus den Tabellen …

  • „ImportItemData_Items“
  • „ImportItemData_Variants“
  • „ImportItemData_Properties“
  • „ImportItemData_ValueDetails“
  • „ImportItemData_CopyItems“.

Außerdem werden Artikel bzw. Varianten, die in der Tabelle „RemoveItemsOrVariants“ stehen, gelöscht bzw. deaktiviert.

Hinweis :
Schnittstellen-Tabellen bilden generell die einzige Ausnahme für eine direkte Daten-Manipulation, d.h. OHNE Verwendung von Prozedur-Aufrufen. Daher werden in dieser Dokumentation (s.u., „Tabellen-Definitionen und Hinweise“) die Spalten der genannten Tabellen dokumentiert, was gleichzeitig die Gewähr von Abwärtskompatibilität bedeutet - es kann sich lediglich der Datentyp „erweitern“ (z.B. von „tinyint“ auf „smallint“ oder von „varchar(100)“ auf „varchar(250)“ o.ä.) oder es können neue Spalten, die dann aber „NULL“able (also optional) sind, hinzukommen !

Die Prozedur erkennt, welche Daten bereits importiert wurden und welche Eigenschaften sich geändert haben.

Die Reihenfolge der Knoten unterhalb ihres Vorgängers wird durch die Reihenfolge bestimmt, in der die Datensätze in „ImportItemData_Items“ bzw. „ImportItemData_Variants“ eingefügt wurden; diese wird - falls „UpdateSortNo = 1“ - auch in „TreeView“ entsprechend via „SortNo“ abgebildet. Soll die evtl. bestehende Reihenfolge (es sind also bereits Daten vorhanden) nicht geändert werden, ist der Parameter „UpdateSortNo“ auf den Wert „0“ zu setzen. In jedem Fall werden neue Artikel bzw. Varianten unten (also mit kleinerer „SortNo“ als die bereits existierenden „benachbarten“ Elemente) angefügt.

Artikel, die neu importiert wurden, sind immer deaktiviert. Möchte man, daß diese Elemente automatisch aktiviert werden, ist „ActivateImportedItems“ auf „1“ zu setzen.
Wenn „ActivateImportedItems = 1“, dann werden deaktivierte Elemente, die in den Schnittstellen-Tabellen sind, aber bereits existieren, aktiviert !

Wenn ein Artikel oder eine Variante bereits vorhanden ist, jedoch einen anderen Vorgänger hat, als in der entsprechenden Import-Tabelle angegeben, wird ein neues Element angelegt, d.h. diese Prozedur verschiebt keine Knoten !!! Das kann allerdings durch den Parameter „HandleExistingItemNotImported“ quasi simuliert werden. Dieser Parameter bestimmt, was mit den Elementen passieren soll, die bereits existieren, aber nicht mit dem gleichen Vorgänger (!) in den Importtabellen stehen. Hier die Bedeutung für „HandleExistingItemNotImported“ :

  • 0 : es passiert gar nichts
  • 1 : diese Elemente werden deaktiviert
  • 2 : die betroffenen Knoten sollen gelöscht werden (!!! noch nicht implementiert !!!)

Der Parameter wird komplett ignoriert, wenn die Schnittstellentabellen „ImportItemData_Items“ und „ImportItemData_Variants“ leer sind, also nur Eigenschaften importiert werden !

Die „UniqueCategoryName“s in „ImportItemData_Items“ kennzeichnen Elemente im Artikelbaum, die auf einer höheren Hierarchiestufe als Produkte sind. Für die eindeutige Kennzeichnung eines solchen Elements KANN die „NodeDescription“ aus „dStore“ herangezogen werden oder aber die Eigenschaft zum Merkmal „Eindeutiger Bezeichner“ mit der ID „18“. Dabei ist allerdings zu beachten, daß die Prozedur ZUERST nach der Eigenschaft sucht und nur falls diese Eigenschaft NICHT vorhanden ist die „NodeDescription“ verwendet.

Der Import schlägt fehl (mit einer Meldung, daß ein „NULL“-Wert nicht in eine Spalte eingefügt werden kann, die keine „NULL“-Werte erlaubt, Return-Code „530“), wenn es im dStore Produkt-Elemente (oder Varianten) gibt, die keine Artikelnummer (also keine Eigenschaft zum Merkmal „Artikelnummer“, ID „6“) haben.

ACHTUNG : Es können keine Eigenschaften zum Merkmal „6“ oder „18“ importiert werden (→ sonst Fehler „-500“)

„CheckTextAndBitCharacs“ gibt an, ob Eigenschaften NUR ZU DEN Merkmalen überprüft werden, deren Basis-Feldtyp „Text“ oder „Ja/Nein“ ist. Analog werden im Fall „CheckExceptTextAndBitCharacs = 1“ Eigenschaften zu allen Merkmalen gecheckt, deren Basis-Feldtyp NICHT „Text“ oder „Ja/Nein“ ist.
Anmerkung :
Die Unterscheidung zwischen diesen Arten von Merkmalen liegt darin begründet, daß beim Check von Zahl- oder Datumsformaten keine im SQL-Server eingebauten Funktionen wie „IsDate“ oder „IsNumber“ verwendet werden können. (Es muß daher ein cursor verwendet werden, um für jeden einzelnen Wert eine Prozedur aufzurufen - was langsamer ist)

ACHTUNG : Die Default-Werte der „Check“-Parameter sollten nur dann geändert werden, wenn man sich ganz sicher ist, daß die Daten ok sind oder eine Überprüfung vor dem Import stattgefunden hat !!!

Fehler werden, falls gewünscht (→ „LogErrors“), in der Tabelle „ImportItemData_Property_Errors“ protokolliert.
Z.Zt. gibt es nur einen Error-Code, nämlich :

  • 1 : Der Wert ist ungültig, d.h. entspricht nicht dem Feldtyp des zugehörigen Merkmals

Hinweis zur Tabelle „ImportItemData_CopyItems“ :
Eigenschaften der Merkmal-IDs, die in „Settings“ zum Schlüssel „NodeCharacIDsToIgnoreDuringCopyOrSync“ konfiguriert sind, werden hierbei ignoriert also weder kopiert noch synchronisiert !

Der Parameter „PerformanceTuning“ hat folgenden Hintergrund :
Um eine Verbindung zwischen den in den Interface-Tabellen angegebenen Artikelnummern und den „NodeID“s herstellen zu können, muß eine Abfrage auf „NodeCharacteristicValues“ und „NodeProperties“ durchgeführt werden. Es gibt dabei grundsätzlich zwei Möglichkeiten. Man kann entweder nur die „NodeID“s zu den Artikelnummern aus den Schnittstellen-Tabellen ermitteln („PerformanceTuning = 1“) oder man ermittelt die Artikelnummern zu allen „NodeID“s („PerformanceTuning = 0“). Gerade wenn aber keine neuen Artikel, sondern nur einige Eigenschaften zu bestehenden Artikeln importiert werden sollen, kann die erste Variante („PerformanceTuning = 1“) wesentlich günstiger sein !
ACHTUNG : Falls Daten in „ImportItemData_Items“ und/oder „ImportItemData_Variants“ stehen, wird „PerformanceTuning = 1“ nur berücksichtigt, wenn gleichzeitig „UpdateSortNo = 0“ und „HandleExistingItemNotImported = 0“ ist !

Wenn sehr viele Artikeldaten importiert werden, ist es ratsam, das Transaktionslog am Anfang zu leeren; wenn dem so ist, muß der Parameter „DumpTransaction“ entsprechend auf „1“ gesetzt werden.
WICHTIG : Der Aufrufer muß Systemoperator sein, um ein „dump transaction“ ausführen zu dürfen.

Zum Leeren des Transaktions-Logs ist noch zu sagen, daß man alternativ ein Backup des Logs mit anschließendem Leeren veranlassen kann, indem man über den Settings-Eintrag „DumpPath“ einen (relativ zum $SYBASE directory !) Pfad angibt, in dem ein Backup des Transaktions-Logs geschrieben werden soll. Der Name des Files hat immer die Form „<Datenbankname>_logdump_<aktueller Timestamp>“.

Anmerkungen :
1) Kommen neue Werte zu Merkmalen mit vordefinierten Werten („PredefinedValues = 1“) hinzu, werden diese nach unten sortiert.
2) Zu „ValueDetails“ : Wie der Name schon sagt, handelt es sich um Details ZU Werten, das bedeutet, zu jedem Datensatz in „ImportItemData_ValueDetails“ muß ein entsprechender Wert in „ImportItemData_Properties“ (oder bereits in „NodeCharacteristicValues“) existieren !

Wenn in „ImportFromTableName“ der Name einer speziellen Import-Tabelle (durch im_DeleteInterfaceTables_Ad angelegt - siehe Parameter „CreateImportTable_dstoreifin“ - und i.d.R. anschließend via „bcp“ befüllt) angegeben wird, werden die Daten aus dieser Tabelle importiert.
Genauer werden die Daten von dort in die besagten „normalen“ Import-Tabellen („ImportItemData_Items“, „ImportItemData_Variants“, „ImportItemData_Properties“, „ImportItemData_ValueDetails“, „ImportItemData_CopyItems“ und „RemoveItemsOrVariants“) hier umkopiert und anschließend dann der „normale“ Import durchgeführt.
Wird der Import über die spezielle Import-Tabelle in „ImportFromTableName“ ausgeführt, kann über den „Settings“-Eintrag zum Schlüssel „MaxNumberOfItemsToImportSimultaneously“ konfiguriert werden, wie viele Items pro Transaktion importiert werden. Ist keine Einstellung zum Schlüssel vorhanden oder ein Wert < 1 konfiguriert, werden alle „Items“ in einer großen Transaktion importiert.
ACHTUNG : Das Vorgehen über die spezielle Import-Tabelle in „ImportFromTableName“ ist derzeit noch „experimentell“ und ausschließlich der speziellen Anwendung „xml_SmartGate“ vorbehalten, daher steht bis auf weiteres KEINE nähere Dokumentation hierzu zur Verfügung. Wie die Tabellen-Definition aussieht, kann man zwar im_DeleteInterfaceTables_Ad entnehmen (und theoretisch kann man auch selbst eine entsprechende temporäre „Session“-Tabelle erstellen und füllen), aber eine Beschreibung zur Bedeutung der einzelnen Spalten (bzw. welche Werte man dort wie einfügen muß) gibt es z. Zt. NICHT.

„Tabellen-Definitionen und Hinweise“

1.) Definition „ImportItemData_Items“ :

CREATE TABLE
ImportItemData_Items ( UniqueCategoryName varchar(400) NULL,
ItemNo varchar(400) NOT NULL,
ItemDescription varchar(100) NOT NULL
)

CREATE UNIQUE INDEX PK_IMPORTITEMDATA_ITEMS ON ImportItemData_Items ( ItemNo )

Hinweis : Wie Artikel-Elemente (genauer „Kategorien“) anhand von „UniqueCategoryName“ gefunden/identifiziert werden, wurde oben schon beschrieben.

2.) Definition „ImportItemData_Variants“ :

CREATE TABLE
ImportItemData_Variants ( ItemNo varchar(400) NOT NULL,
VariantNo varchar(400) NOT NULL,
VariantDescription varchar(100) NOT NULL
)

CREATE UNIQUE INDEX PK_IMPORTITEMDATA_VARIANTS ON ImportItemData_Variants ( VariantNo )

Hinweise :
a) Die „ItemNo“-Werte referenzieren auf die Werte der gleichnamigen Spalte von „ImportItemData_Items“ ODER auf Artikelnummern (Eigenschaft zum Merkmal mit der ID „6“) von schon vorhandenen Produkten.
b) Es ist natürlich NICHT erlaubt, „VariantNo“-Werte zu verwenden, die als „ItemNo“ übergeben werden ODER schon zu bestehenden Produkten als Artikelnummer verwendet werden !

3.) Definition „ImportItemData_Properties“ :

CREATE TABLE
ImportItemData_Properties ( VariantOrItemNo varchar(400) NOT NULL,
NodeCharacteristicID smallint NOT NULL,
Value varchar(1000) NOT NULL
)

CREATE UNIQUE CLUSTERED INDEX PK_IMPORTITEMDATA_PROPERTIES ON ImportItemData_Properties ( VariantOrItemNo, NodeCharacteristicID )

Hinweis : „VariantOrItemNo“-Werte referenzieren auf „ItemNo“-Werte aus „ImportItemData_Items“ oder „VariantNo“-Werte aus „ImportItemData_Variants“ ODER auf Artikelnummern (Eigenschaft zum Merkmal mit der ID „6“) von schon vorhandenn Produkten/Varianten.

4.) Definition „ImportItemData_ValueDetails“ :

CREATE TABLE
ImportItemData_ValueDetails ( NodeCharacteristicID smallint NOT NULL,
Value varchar(1000) NOT NULL,
ValueDetail text NOT NULL
)

CREATE UNIQUE CLUSTERED INDEX PK_IMPORTITEMDATA_VALUEDETAILS ON ImportItemData_ValueDetails ( NodeCharacteristicID, Value )

5.) Definition „ImportItemData_CopyItems“ :

CREATE TABLE
ImportItemData_CopyItems ( SourceUniqueCategoryName varchar(400) NOT NULL,
SourceItemNo varchar(400) NOT NULL,
TargetUniqueCategoryName varchar(400) NOT NULL,
Clone bit NOT NULL
)

CREATE UNIQUE CLUSTERED INDEX PK_IMPORTITEMDATA_COPYITEMS ON ImportItemData_CopyItems ( SourceUniqueCategoryName, SourceItemNo, TargetUniqueCategoryName )

Hinweise :
a) Wie Artikel-Elemente (genauer „Kategorien“) anhand von „SourceUniqueCategoryName“/„TargetUniqueCategoryName“ gefunden/identifiziert werden, wurde oben schon beschrieben (Abschnitt „Die „UniqueCategoryName“s in „ImportItemData_Items“ kennzeichnen …“).
b) In die Spalte „Clone“ sollte immer nur der Wert „0“ eingefügt werden. Der Wert „1“ wird nämlich derzeit noch nicht unterstützt (es gibt aber auch keinen Fehler), d.h. es werden immer KOPIEN (d.h. eigene „NodeID“s) erzeugt und keine „Clones“ (mehrere „TreeNodeID“s, die auf dieselbe „NodeID“ referenzieren). Diese Funktionalität wird evtl. aber in einer späteren Version implementiert, deswegen sollte man immer „0“ angeben, um nicht irgendwann „überrascht“ zu werden.

6.) Definition „RemoveItemsOrVariants“ :

CREATE TABLE
RemoveItemsOrVariants ( UniqueNameOfPredecessor varchar(400) NOT NULL,
VariantOrItemNo varchar(400) NOT NULL,
IsItemNo bit NOT NULL,
Deactivate bit NOT NULL
)

CREATE UNIQUE CLUSTERED INDEX PK_REMOVEITEMSORVARIANTS ON RemoveItemsOrVariants ( UniqueNameOfPredecessor, VariantOrItemNo )

Hinweise :
a) „IsItemNo“ steuert, ob in „VariantOrItemNo“ die Artikelnummer (Eigenschaft zum Merkmal mit der ID „6“) eines Produktes oder einer Variante steht und damit, ob „UniqueNameOfPredecessor“ eine Artikelnummer eines Produktes („IsItemNo = 0“) ist ober einen „UniqueCategoryName“ darstellt - wie Artikel-Elemente (genauer „Kategorien“) anhand von „UniqueCategoryName“ gefunden/identifiziert werden, wurde oben schon beschrieben (Abschnitt „Die „UniqueCategoryName“s in „ImportItemData_Items“ kennzeichnen …“).
b) „Deactivate“ steuert, ob das Produkt bzw. die Variante gelöscht („0“) oder nur deaktiviert („1“) werden soll.

HTTP-MethodPOST
HTTP-AuthOptional
Tags
Engine-Kategorieitem management
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
LogErrors1 „0“ : Fehler nicht protokollieren
„1“ : Fehler in „ImportItemData_Property_Errors“ protokollieren lassen (→ „ErrorDateAndTime“ wird belegt, mit dessen Hilfe man im_GetImportErrors_Ad aufrufen kann, um an die Daten zu kommen)
bit3.5.0
UpdateSortNo1 Soll die Reihenfolge der Elemente korrigiert werden ? (siehe „Beschreibung“)
bit3.5.0
CheckTextAndBitCharacs1 Format der Eigenschaften zu Merkmalen vom Typ „Text“ oder „Ja/Nein“ überprüfen ?
bit3.5.0
CheckExceptTextAndBitCharacs1 Format der Eigenschaften zu allen Merkmalen überprüfen, deren Basis-Feldtyp NICHT „Text“ oder „Ja/Nein“ ist ? (Hintergrund ist langsamere Performance, weil für NICHT-„Text“-Eigenschaften ein cursor verwendet werden muß.)
bit3.5.0
PerformanceTuning1 siehe „Beschreibung“
tinyint3.5.0
ActivateImportedItems1 Importierte Elemente nach dem Import aktivieren?
bit3.5.0
HandleExistingItemNotImported0 Gibt an, was mit vorhandenen Elementen passieren soll, die aber nicht in den Schnittstellen-Tabellen übergeben wurden:
„0“ : Nichts
„1“ : Elemente deaktivieren
„2“ : Elemente löschen (derzeit nicht implementiert !)
tinyint3.5.0
DumpTransaction0 Soll vor dem Import das Transaktions-Log geleert werden? (siehe auch „Beschreibung“)
bit3.5.0
Country'german' Gibt an, in welchem Format Datums-Eigenschaften (Spalte „Value“ in „ImportItemData_Properties“) angegeben sind (Groß-/Kleinschreibung wird nicht beachtet) :
'german', 'germany' : Tag-Monat-Jahr
'english', 'england' : Monat-Tag-Jahr
varchar(10)4.0.5
EmptyStringToDeleteDetails0 Ist hier „1“ angegeben, bedeutet der sogenannte „leere string“ ('') in der Spalte „Details“ von „ImportItemData_ValueDetails“, daß ein evtl. vorhandener „Detail“-Wert gelöscht wird
bit5.0.3
EmptyStringToDeleteProperty0 Entscheidet wie Datensätze in „ImportItemData_Properties“ mit „ Value = '' “ („leerer string“) zu behandeln sind :
- „0“ : Wert speichern (für „Datum“s- oder „Zahl“-Eigenschaften ist das ein ungüliger Wert)
- „1“ : Evtl. vorhandene Eigenschaft löschen
bit6.5.0
ImportFromTableNameNULL Name einer speziellen Import-Tabelle (temporäre Session-Tabelle oder durch im_DeleteInterfaceTables_Ad, s. „CreateImportTable_dstoreifin“, angelegt) in der die Daten anstelle der üblichen Import-Tabellen übergeben wurden - s. Beschreibung !
varchar(100)7.0.3
DebugModeNULL Ausschließlich für interne Zwecke ! Dient dazu, den Import an diversen Stellen „anhalten“ zu können und/oder eine oder mehrere Ergebnismenge(n) auszugeben (zu „debug“-Zwecken eben).
varchar(50)7.0.3

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

ErrorDateAndTimeAusgabeparameter für den Zeitpunkt, zu dem fehlerhafte Daten protokolliert wurden. Nur NICHT „NULL“, wenn „LogErrors = 1“ ist UND auch Fehler auftraten ! Um an die Daten zu kommen, im_GetImportErrors_Ad aufrufen („FromDate“/„ToDate“ hiermit belegen).

Mögliche Return-Codes

Code Beschreibung Quelle 4)
-621Fehlender oder falscher Eintrag in PersonTypeSettingsnur indirekt
-599Lizenz ist ungültig oder abgelaufennur indirekt
-569Der Benutzer hat kein Ausführungsrecht für die Prozedurnur indirekt
-567Die Prozedur darf z. Zt. nicht ausgeführt werdennur indirekt
-566Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werdennur indirekt
-565Die „Objekt-ID“ der Prozedur konnte nicht ermittelt werdennur indirekt
-564Der Status in BatchJobs konnte nicht gesetzt werdennur indirekt
-562Die Prozedur ist nicht in BatchJobs registriertnur indirekt
-560Prozedur konnte nicht gestartet werdennur indirekt
-550Fehlender oder falscher Eintrag in Settingsnur indirekt
-540Falsches Formatnur indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-518Es ist eine bestimte ASE-Rolle erforderlich, die der Benutzer aber nicht besitztnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-505Es existiert ein anderer Prozeß, der ein „dump“ ausführt, Prozedur wird daher abgebrochennur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur indirekt
-500Falsche Parameternur indirekt
-110Das (die) Element(e) ist (sind) nicht vorhandennur indirekt

XML-Schema

Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.

Historie

7.0.7 2015-01-291. Dokumentation aktualisiert
2. Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
7.0.3 2013-12-13Neue Parameter „ImportFromTableName“ und „DebugMode“
7.0.1 2013-08-071. Anpassungen an den aktuellen Quellcode-Standard
2. Doku-Anpassung wg. der Spalten-Eweiterungen einiger Import-Tabellen
6.5.2 2013-02-26Anpassungen, weil es Änderungen an der intern aufgerufen „_mi_TryToStartBatchJob“-Prozedur gab
6.5.1 2012-11-02Neuer Ausgabeparameter „ErrorDateAndTime“
6.5.0 2012-09-17Neuer Parameter „EmptyStringToDeleteProperty“
6.0.3 2011-09-07Neuer Settings-Eintrag „NodeCharacIDsToIgnoreDuringCopyOrSync“ ⇒ Anpassung der Doku
5.5.1 2008-07-29Fehler im Aufruf von „_mi_TryToStartBatchJob“ bzgl. des Parameters „ParameterNames_List1“ behoben
5.0.3 2005-06-07Neuer Parameter „EmptyStringToDeleteDetails“
4.0.11 2004-03-311. Aufruf der Prozeduren „_mi_StartProcedure“, „_mi_FinishProcedure“ und „_mi_ChooseParamValueSeperator“
2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur
4.0.7 2004-01-161. Verwendung der neuen Prozedur „_mi_TryToFinishBatchJob“ zum Setzen des Status am Schluß
2. „_mi_TryToStartBatchJob“ hat zahlreiche neue Parameter bekommen (u.a. die Parameter-Werte automatisch in „BatchJobParameters“ eingefügen zu lassen)
4.0.5 2003-10-041. „PerformanceTuning“ wird jetzt auch beachtet, wenn Daten in „ImportItemData_Items“/„…_Variants“ vorhanden sind
2. Speicherung der Prozedur-Parameter in „BatchJobParameters“
3. Neuer Parameter „Country“
4.0.1 2003-05-161. Komplette Umstellung der internen Prozeduren zum Import, ab jetzt wird „_im_ImportItems_Start“ aufgerufen, die den Import koordiniert
2. Fehler bzgl. der Doku zum Parameter „PerformanceTuning“
3.5.20 2002-07-22
3.5.0 2000-11-23Erstmalig in dieser Version erstellt

Code-Snippets

Engine Playground

Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:

cURL

Unformatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/im_ImportItemData_Ad'

Mit xmllint 5) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/im_ImportItemData_Ad' | xmllint --format -
dStore_php
use dStore_php\WebService;
 
$service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80);
 
$request = new WebService\Requests\Engine\Procedure\Request(
			new WebService\Requests\AccessData('default'),
	'im_ImportItemData_Ad',
		array(
			// 'LogErrors' => 1,
			// 'UpdateSortNo' => 1,
			// 'CheckTextAndBitCharacs' => 1,
			// 'CheckExceptTextAndBitCharacs' => 1,
			// 'PerformanceTuning' => 1,
			// 'ActivateImportedItems' => 1,
			// 'HandleExistingItemNotImported' => 0,
			// 'DumpTransaction' => 0,
			// 'Country' => 'german',
			// 'EmptyStringToDeleteDetails' => 0,
			// 'EmptyStringToDeleteProperty' => 0,
			// 'ImportFromTableName' => NULL,
			// 'DebugMode' => NULL
		)
);
 
$service->execute($request);
 
			$xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument();
			$ResultSet = $xml_result->getRowsAsArray();
 
$OutputParams = $xml_result->getOutputParametersAsArray();
engine/execute

XML zur Ausführung mit der Methode engine/execute, z.B. per

curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>'
<?xml version="1.0" encoding="UTF-8"?>
<ListOfBatches>
	<Batch No="0">
		<Procedure Name="im_ImportItemData_Ad">
			<Parameters>
				<!-- <Parameter Name="LogErrors">1</Parameter> -->
				<!-- <Parameter Name="UpdateSortNo">1</Parameter> -->
				<!-- <Parameter Name="CheckTextAndBitCharacs">1</Parameter> -->
				<!-- <Parameter Name="CheckExceptTextAndBitCharacs">1</Parameter> -->
				<!-- <Parameter Name="PerformanceTuning">1</Parameter> -->
				<!-- <Parameter Name="ActivateImportedItems">1</Parameter> -->
				<!-- <Parameter Name="HandleExistingItemNotImported">0</Parameter> -->
				<!-- <Parameter Name="DumpTransaction">0</Parameter> -->
				<!-- <Parameter Name="Country">'german'</Parameter> -->
				<!-- <Parameter Name="EmptyStringToDeleteDetails">0</Parameter> -->
				<!-- <Parameter Name="EmptyStringToDeleteProperty">0</Parameter> -->
				<!-- <Parameter Name="ImportFromTableName">NULL</Parameter> -->
				<!-- <Parameter Name="DebugMode">NULL</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
4)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
5)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/im_importitemdata_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)