Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:im_importbinaries_ad

im_ImportBinaries_Ad

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

  • „ImportItemBinaries“
  • „ImportItemBinaries_Copy“
  • „ImportItemBinaries_Properties“

„1“ : Importiert „Binaries“ aus den Schnittstellen-Tabellen

  • „ImportValueBinaries“
  • „ImortValueBinaries_Properties“

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-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
ValueOrItemBinaries0 „0“ : Import von „ItemBinaries“ (also Binärobjekten zu Artikel-Elementen)
„1“ : Import von „ValueBinaries“ (also Binärobjekten zu Eigenschaften)
tinyint3.5.0

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

Die Prozedur hat keine Output-Parameter.

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
-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

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-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
7.0.1 2013-08-071. Anpassungen an den aktuellen Quellcode-Standard
2. Doku-Anpassung wg. der Spalten-Eweiterungen einiger Import-Tabellen
4.0.11 2004-03-311. 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-16Das 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-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_ImportBinaries_Ad'

Mit xmllint 5) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/im_ImportBinaries_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_ImportBinaries_Ad',
		array(
			// 'ValueOrItemBinaries' => 0
		)
);
 
$service->execute($request);
 
			$xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument();
			$ResultSet = $xml_result->getRowsAsArray();
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_ImportBinaries_Ad">
			<Parameters>
				<!-- <Parameter Name="ValueOrItemBinaries">0</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_importbinaries_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)