Führt einen Import von Binärobjekten für Artikel-Elemente oder Eigenschaften durch - das gibt man durch den Parameter „ValueOrItemBinaries“ an. Falls…
„0“ : Importiert „Binaries“ aus den Schnittstellen-Tabellen
„1“ : Importiert „Binaries“ aus den Schnittstellen-Tabellen
ACHTUNG :
Zu einem „Binary“ müssen immer Bildtyp und Dateierweiterung (Eigenschaften zur „BinaryCharacteristicID“ „1“ bzw. „7“) angegeben sein, sonst gibt die Prozedur den Fehler „-500“ zurück.
Hinweis :
Schnittstellen-Tabellen bilden generell die einzige Ausnahme für eine direkte Daten-Manipulation, d.h. OHNE Verwendung von Prozedur-Aufrufen. Daher werden im folgenden 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 !
„Tabellen-Definitionen und Hinweise“
1.) Definition „ImportItemBinaries“ :
CREATE TABLE
ImportItemBinaries ( VariantOrItemNo varchar(50) NOT NULL,
SortNo tinyint NOT NULL,
BinaryCode image NOT NULL,
ThumbnailCode image NULL,
BinaryDescription varchar(100) NULL
)
CREATE UNIQUE CLUSTERED INDEX PK_IMPORTITEMBINARIES ON ImportItemBinaries ( VariantOrItemNo, SortNo )
Hinweise :
a) „VariantOrItemNo“-Werte referenzieren auf Artikelnummern (Eigenschaft zum Merkmal mit der ID „6“) von vorhandenn Produkten/Varianten
b) Die „BinaryDescription“ ist tatsächlich eine direkt zur Tabelle, in der die „Binaries“ selbst (also die „BinaryCode“-Werte) gespeichert sind, zugehörige Spalte (also nicht etwa eine spezielle „Property“), um das „Binary“ kurz beschreiben zu können
c) Die „SortNo“ dient der eindeutigen Identifizierung eines „Binaries“ zu einer „VariantOrItemNo“, da man ja MEHRERE „Binaries“ zu einem Artikel bzw. einer Variante hinterlegen kann.
2.) Definition „ImportItemBinaries_Copy“ :
CREATE TABLE
ImportItemBinaries_Copy ( SourceVariantOrItemNo varchar(50) NOT NULL,
SourceBinaryCharacteristicID tinyint NOT NULL,
SourceCharacteristicValue varchar(250) NOT NULL,
TargetVariantOrItemNo varchar(50) NOT NULL
)
CREATE UNIQUE CLUSTERED INDEX PK_IMPORTITEMBINARIES_COPY ON ImportItemBinaries_Copy ( SourceVariantOrItemNo, SourceBinaryCharacteristicID, TargetVariantOrItemNo )
Hinweis : Jeder Datensatz läßt sich so beschreiben : Alle „Binaries“ dem/der durch „SourceVariantOrItemNo“ referenzierten Artikel/Variante (s. Hinweis bei „ImportItemBinaries“), die die Eigenschaft „SourceCharacteristicValue“ zum (Binary-)Merkmal „SourceBinaryCharacteristicID“ besitzen, sollen auch dem/der durch „TargetVariantOrItemNo“ referenzierten Artikel/Variante zugeordnet werden.
3.) Definition „ImportItemBinaries_Properties“ :
CREATE TABLE
ImportItemBinaries_Properties ( VariantOrItemNo varchar(50) NOT NULL,
SortNo tinyint NOT NULL,
BinaryCharacteristicID tinyint NOT NULL,
Value varchar(250) NOT NULL
)
CREATE UNIQUE CLUSTERED INDEX PK_IMPORTITEMBINARIES_PROPERTI ON ImportItemBinaries_Properties ( VariantOrItemNo, SortNo, BinaryCharacteristicID )
Hinweis : „VariantOrItemNo“ und „SortNo“ referenzieren natürlich auf die entsprechende (eindeutige) Kombination aus „ImportItemBinaries“.
4.) Definition „ImportValueBinaries“ :
CREATE TABLE
ImportValueBinaries ( NodeCharacteristicID smallint NOT NULL,
Value varchar(1000) NOT NULL,
SortNo tinyint NOT NULL,
BinaryCode image NOT NULL,
ThumbnailCode image NULL,
BinaryDescription varchar(100) NULL
)
CREATE UNIQUE CLUSTERED INDEX PK_IMPORTVALUEBINARIES ON ImportValueBinaries ( NodeCharacteristicID, Value, SortNo )
Hinweise :
a) Die „SortNo“ dient der eindeutigen Identifizierung eines „Binaries“ zu einer (durch „NodeCharacteristicID“ und „Value“ referenzierten) Eigenschaft, da man ja MEHRERE „Binaries“ zu einem Artikel bzw. einer Variante hinterlegen kann.
b) Die „BinaryDescription“ ist tatsächlich eine direkt zur Tabelle, in der die „Binaries“ selbst (also die „BinaryCode“-Werte) gespeichert sind, zugehörige Spalte (also nicht etwa eine spezielle „Property“), um das „Binary“ kurz beschreiben zu können
5.) Definition „ImortValueBinaries_Properties“ :
CREATE TABLE
ImportValueBinaries_Properties ( NodeCharacteristicID smallint NOT NULL,
Value varchar(1000) NOT NULL,
SortNo tinyint NOT NULL,
BinaryCharacteristicID tinyint NOT NULL,
CharacteristicValue varchar(250) NOT NULL
)
CREATE UNIQUE CLUSTERED INDEX PK_IMPORTVALUEBINARIES_PROPERT ON ImportValueBinaries_Properties ( NodeCharacteristicID, Value, SortNo, BinaryCharacteristicID )
Hinweis : „NodeCharacteristicID“, „Value“ und „SortNo“ referenzieren natürlich auf die entsprechende (eindeutige) Kombination aus „ImportValueBinaries“.
HTTP-Method | POST |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | item management |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 4) |
---|---|---|
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-599 | Lizenz ist ungültig oder abgelaufen | nur indirekt |
-569 | Der Benutzer hat kein Ausführungsrecht für die Prozedur | nur indirekt |
-567 | Die Prozedur darf z. Zt. nicht ausgeführt werden | nur indirekt |
-566 | Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden | nur indirekt |
-565 | Die „Objekt-ID“ der Prozedur konnte nicht ermittelt werden | nur indirekt |
-564 | Der Status in BatchJobs konnte nicht gesetzt werden | nur indirekt |
-562 | Die Prozedur ist nicht in BatchJobs registriert | nur indirekt |
-560 | Prozedur konnte nicht gestartet werden | nur indirekt |
-550 | Fehlender oder falscher Eintrag in Settings | nur indirekt |
-535 | Das Datum liegt nicht in der Vergangenheit | nur indirekt |
-530 | Der Wert ist nicht konvertierbar | nur indirekt |
-518 | Es ist eine bestimte ASE-Rolle erforderlich, die der Benutzer aber nicht besitzt | nur indirekt |
-510 | Der Benutzer ist nicht registriert | nur indirekt |
-505 | Es existiert ein anderer Prozeß, der ein „dump“ ausführt, Prozedur wird daher abgebrochen | nur indirekt |
-504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | nur indirekt |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-500 | Falsche Parameter | nur indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
7.0.1 | 2013-08-07 | 1. Anpassungen an den aktuellen Quellcode-Standard 2. Doku-Anpassung wg. der Spalten-Eweiterungen einiger Import-Tabellen |
4.0.11 | 2004-03-31 | 1. Aufruf der Prozeduren „_mi_StartProcedure“ und „_mi_FinishProcedure“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur |
4.0.7 | 2004-01-16 | Das Starten und Beenden des jeweiligen Jobs wird jetzt in der entsprechenden Unter-Prozedur selbst gesteuert |
3.5.20 | 2002-07-22 | |
3.5.14 | 2002-01-23 | |
3.5.0 | 2000-11-23 | Erstmalig in dieser Version erstellt |
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
Unformatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/im_ImportBinaries_Ad'
Mit xmllint 5) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/im_ImportBinaries_Ad' | xmllint --format -
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_ImportBinaries_Ad', array( // 'ValueOrItemBinaries' => 0 ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray();
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_ImportBinaries_Ad"> <Parameters> <!-- <Parameter Name="ValueOrItemBinaries">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>