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>