Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— |
engine:procedures:im_importbinaries_ad [11.01.2016 ] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== 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-Method|POST | | ||
+ | |HTTP-Auth|Optional | | ||
+ | |Tags|{{tag>[im Import Binaries Ad]}}| | ||
+ | |Engine-Kategorie|item management | | ||
+ | |Engine-Typ|Daten-Änderung | | ||
+ | |Letzte Aktualisierung|7.0.7 (2015-01-29)| | ||
+ | |||
+ | ==== Parameter ==== | ||
+ | |||
+ | ^Name ((Pflichtparameter sind unterstrichen)) ^Standard-Wert ^Beschreibung ((siehe [[webservice:engine_parameterconventions|Parameter-Konventionen engine/<Prozedur-Name>]])) ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^ab Version ^ | ||
+ | |ValueOrItemBinaries|0 |"0" : Import von "ItemBinaries" (also Binärobjekten zu Artikel-Elementen)\\ "1" : Import von "ValueBinaries" (also Binärobjekten zu Eigenschaften)\\ |tinyint|3.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 ((direkt meint "von der Prozedur selber" und indirekt meint "von intern aufgerufenen Unterprozeduren")) ^ | ||
+ | |-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| | ||
+ | ==== XML-Schema ==== | ||
+ | |||
+ | Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema [[http://resources.dstore.de/xsd/webservice_SmartGate/Response/EngineProcedure_v1_0.xsd|Response/EngineProcedure_v1_0.xsd]] validiert. | ||
+ | ==== Historie ==== | ||
+ | |||
+ | |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\\ | | ||
+ | |||
+ | ==== Code-Snippets ==== | ||
+ | |||
+ | == Engine Playground == | ||
+ | Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist: | ||
+ | * [[http://playground.dstore.de/index.php?proc=im_ImportBinaries_Ad|im_ImportBinaries_Ad im Engine Playground öffnen]] | ||
+ | == cURL == | ||
+ | Unformatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/im_ImportBinaries_Ad'</code>Mit xmllint ((I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org)) formatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/im_ImportBinaries_Ad' | xmllint --format -</code>== dStore_php == | ||
+ | <code 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(); | ||
+ | |||
+ | </code> | ||
+ | == engine/execute == | ||
+ | XML zur Ausführung mit der Methode [[:webservice:engine:execute|engine/execute]], z.B. per | ||
+ | curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>' | ||
+ | |||
+ | <code xml> | ||
+ | <?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></code> | ||