Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— |
engine:procedures:im_searchbinaries_ad [11.01.2016 ] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== im_SearchBinaries_Ad ===== | ||
+ | |||
+ | Dient der Suche von "Binaries", die entweder Artikel-Elementen oder Artikel-Eigenschaften zugewiesen sind.\\ | ||
+ | |||
+ | Die Suche erfolgt aufgrund von (Binary-)Eigenschafts-Bedingungen, die zuvor via "if_mi_SearchBinaries_Conds" angegeben und in eine entsprechende "Input-Schnittstelle" eingetragen worden sein müssen. In "InputNestLevel_Conds" wird der "NestingLevel" angegeben, der beim Füllen dieser Schnittstelle durch "if_mi_SearchBinaries_Conds" im Ausgabeparameter "InputNestingLevel"\\ zurückgegeben wurde.\\ Hinweis : Als direkter Aufrufer (d.h. wenn diese Prozedur NICHT innerhalb einer anderen Prozedur ausgeführt wird) kann man davon ausgehen, dass "InputNestingLevel" nach der (fehlerfreien) Ausführung mit dem Wert "2" belegt ist (daher auch de default-Wert dieses Parameters).\\ | ||
+ | |||
+ | Wie eine Such-Bedingung für Binaries auszusehen hat, ist der Dokumentation von "if_mi_SearchBinaries_Conds" zu entnehmen.\\ | ||
+ | |HTTP-Method|GET | | ||
+ | |HTTP-Auth|Optional | | ||
+ | |Tags|{{tag>[im Search Binaries Ad]}}| | ||
+ | |Engine-Kategorie|item management | | ||
+ | |Engine-Typ|Daten-Ermittlung | | ||
+ | |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 ^ | ||
+ | |AssignedToTable|0 |Welche "Art von Binaries" (i.S.v. "in welcher Tabelle referenziert") :\\ - "0" : für (nicht-gelöschte) Artikel-Elemente (s.a. [[dstoreproc>im_GetBinaryCodeIDsForNode_Pu]])\\ - "1" : für Artikel-Eigenschaften (s.a. [[dstoreproc>im_GetBinaryCodeIDsForValue_Pu]])\\ |tinyint|7.0.1| | ||
+ | |InputNestLevel_Conds|2 |Die Suchbedingungen werden vorher durch "if_mi_SearchBinaries_Conds" übergeben. Der Wert des Ausgabeparameters "InputNestingLevel" besagter Prozedur ist dann anschließend hier zu übergeben (nur bei indirektem Aufruf nötig).\\ |tinyint|7.0.1| | ||
+ | |ValueSeparator_IN_Operator|',' |Gibt an, durch welche Zeichenkette bei Verwendung des "IN"-Operators die Werte voneinander getrennt sind (s.a. Doku von "if_mi_SearchBinaries_Conds")\\ |varchar(4)|7.0.1| | ||
+ | |StartAtRowNo|1 |Erste Zeile der Ausgabe innerhalb des gesamten Suchergebnisses. Zusammen mit "RowCount" kann man sich so durch das gesamte Ergebnis "blättern". Es sind nur Werte ">= 1" erlaubt !\\ |integer|7.0.1| | ||
+ | |RowCount|100 |Anzahl der auszugebenden Datensätze der Suche ("0" für alle Daten). Zusammen mit "StartAtRowNo" kann man sich so durch das gesamte Ergebnis "blättern". Im Fall "IncludeBinaryCode = 1" sind nur Werte zwischen "1" und "100" erlaubt !\\ |integer|7.0.1| | ||
+ | |OutputBinaryCharacID1|NULL |ID eines Merkmals für Binary-Eigenschaften. Falls angegeben, enthält die Rückgabespalte "BinaryValue1" zu jedem gefunden Binary die Eigenschaft zu diesem Merkmal.\\ |smallint|7.0.1| | ||
+ | |OutputBinaryCharacID2|NULL |Wird nur beachtet, wenn "OutputBinaryCharacID1" angegeben ist ! ID eines Merkmals für Binary-Eigenschaften. Falls angegeben, enthält die Rückgabespalte "BinaryValue2" zu jedem gefunden Binary die Eigenschaft zu diesem Merkmal.\\ |smallint|7.0.1| | ||
+ | |OutputBinaryCharacID3|NULL |Wird nur beachtet, wenn "OutputBin...ID1" und "OutputBin...ID2" angegeben sind ! ID eines Merkmals für Binary-Eigenschaften. Falls angegeben, enthält die Rückgabespalte "BinaryValue3" zu jedem gefunden Binary die Eigenschaft zu diesem Merkmal.\\ |smallint|7.0.1| | ||
+ | |IncludeBinaryCode|0 |Normalerweise wird nicht der "Code" der "Binaries" selbst ermittelt, sondern nur die IDs. Möchte man aber auch den "Code" (das "Binary selbst also") und den "Thumbnail-Code" bekommen, übergibt man hier "1".\\ |bit|7.0.1| | ||
+ | |NodeCharacteristicID1|NULL |Wird nur beachtet wenn "AssignedToTable = 0" ! ID eines Artikel-Merkmals. Falls angegeben, erhält man zu jedem gefundenen Element im Artikelbaum (Rückgabespalte "ChosenTreeNodeID") die Eigenschaft zu diesem Merkmal.\\ |smallint|7.0.1| | ||
+ | |NodeCharacteristicID2|NULL |Wird nur beachtet wenn "AssignedToTable = 0" und "NodeCh...ID1" angegeben ist ! ID eines Artikel-Merkmals. Falls angegeben, erhält man zu jedem gefundenen Element im Artikelbaum (Rückgabespalte "ChosenTreeNodeID") die Eigenschaft zu diesem Merkmal.\\ |smallint|7.0.1| | ||
+ | |NodeCharacteristicID3|NULL |Nur beachtet wenn "AssignedToTable = 0" und "NodeCh...ID1" und "No...ID2" angeg. sind ! ID eines Artikel-Merkmals. Falls angegeben, erhält man zu jedem gefund. Element im Artikelbaum (Rückgabesp. "ChosenTreeNodeID") die Eigenschaft zu diesem Merkmal.\\ |smallint|7.0.1| | ||
+ | ==== Rückgabe ==== | ||
+ | |||
+ | === wenn AssignedToTable = 0 und IncludeBinaryCode = 0 === | ||
+ | |||
+ | ^Spaltenname ^Beschreibung ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^ab Version ^ | ||
+ | |BinaryCodeID|ID eines gefundenen Binaries\\ |integer|7.0.1 | | ||
+ | |NodeID|ID eines Artikel-Elementes, dem "BinaryCodeID" zugewiesen ist\\ |integer|7.0.1 | | ||
+ | |ChosenTreeNodeID|ID eines Elementes im Artikelbaum, das auf "NodeID" verweist. Hintergrund : Die Zuordnung eines Binaries erfolgt zu einem Artikel-Element, das MEHRFACH im Artikelbaum eingeordnet sein KANN (derzeit aber nur theoretisch).\\ |integer|7.0.1 | | ||
+ | |Value1|Eigenschaft von "ChosenTreeNodeID" zum Merkmal "NodeCharacteristicID1" (Vererbung wird beachtet, aber ohne rekursive Auswertung)\\ |varchar(1000)|7.0.1 | | ||
+ | |Value2|Eigenschaft von "ChosenTreeNodeID" zum Merkmal "NodeCharacteristicID2" (Vererbung wird beachtet, aber ohne rekursive Auswertung)\\ |varchar(1000)|7.0.1 | | ||
+ | |Value3|Eigenschaft von "ChosenTreeNodeID" zum Merkmal "NodeCharacteristicID3" (Vererbung wird beachtet, aber ohne rekursive Auswertung)\\ |varchar(1000)|7.0.1 | | ||
+ | |BinaryValue1|Eigenschaft von "BinaryCodeID" zum Merkmal "OutputBinaryCharacID1"\\ |varchar(250)|7.0.1 | | ||
+ | |BinaryValue2|Eigenschaft von "BinaryCodeID" zum Merkmal "OutputBinaryCharacID2"\\ |varchar(250)|7.0.1 | | ||
+ | |BinaryValue3|Eigenschaft von "BinaryCodeID" zum Merkmal "OutputBinaryCharacID3"\\ |varchar(250)|7.0.1 | | ||
+ | |||
+ | == Sortierung der Rückgabe == | ||
+ | |||
+ | (parameterunabängige Sortierung) | ||
+ | * BinaryCodeID (aufsteigend) | ||
+ | * NodeID (aufsteigend) | ||
+ | |||
+ | === wenn AssignedToTable = 0 und IncludeBinaryCode = 1 === | ||
+ | |||
+ | ^Spaltenname ^Beschreibung ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^ab Version ^ | ||
+ | |BinaryCodeID|ID eines gefundenen Binaries\\ |integer|7.0.1 | | ||
+ | |NodeID|ID eines Artikel-Elementes, dem "BinaryCodeID" zugewiesen ist\\ |integer|7.0.1 | | ||
+ | |ChosenTreeNodeID|ID eines Elementes im Artikelbaum, das auf "NodeID" verweist. Hintergrund : Die Zuordnung eines Binaries erfolgt zu einem Artikel-Element, das MEHRFACH im Artikelbaum eingeordnet sein KANN (derzeit aber nur theoretisch).\\ |integer|7.0.1 | | ||
+ | |Value1|Eigenschaft von "ChosenTreeNodeID" zum Merkmal "NodeCharacteristicID1" (Vererbung wird beachtet, aber ohne rekursive Auswertung)\\ |varchar(1000)|7.0.1 | | ||
+ | |Value2|Eigenschaft von "ChosenTreeNodeID" zum Merkmal "NodeCharacteristicID2" (Vererbung wird beachtet, aber ohne rekursive Auswertung)\\ |varchar(1000)|7.0.1 | | ||
+ | |Value3|Eigenschaft von "ChosenTreeNodeID" zum Merkmal "NodeCharacteristicID3" (Vererbung wird beachtet, aber ohne rekursive Auswertung)\\ |varchar(1000)|7.0.1 | | ||
+ | |BinaryValue1|Eigenschaft von "BinaryCodeID" zum Merkmal "OutputBinaryCharacID1"\\ |varchar(250)|7.0.1 | | ||
+ | |BinaryValue2|Eigenschaft von "BinaryCodeID" zum Merkmal "OutputBinaryCharacID2"\\ |varchar(250)|7.0.1 | | ||
+ | |BinaryValue3|Eigenschaft von "BinaryCodeID" zum Merkmal "OutputBinaryCharacID3"\\ |varchar(250)|7.0.1 | | ||
+ | |BinaryCode|Die Binärdaten selbst\\ |longvarbinary|7.0.1 | | ||
+ | |ThumbnailCode|Das sogenannte "Thumbnail" zur "BinaryCodeID"\\ |longvarbinary|7.0.1 | | ||
+ | |||
+ | == Sortierung der Rückgabe == | ||
+ | |||
+ | (parameterunabängige Sortierung) | ||
+ | * BinaryCodeID (aufsteigend) | ||
+ | * NodeID (aufsteigend) | ||
+ | |||
+ | === wenn AssignedToTable = 1 und IncludeBinaryCode = 0 === | ||
+ | |||
+ | ^Spaltenname ^Beschreibung ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^ab Version ^ | ||
+ | |BinaryCodeID|ID eines gefundenen Binaries\\ |integer|7.0.1 | | ||
+ | |ValueID|ID einer Eigenschaft von Artikel-Elementen, der "BinaryCodeID" zugewiesen ist\\ |integer|7.0.1 | | ||
+ | |NodeCharacteristicID|ID des Merkmals, zu dem "ValueID" gehört\\ |smallint|7.0.1 | | ||
+ | |Value|Wert der Eigenschaft "ValueID"\\ |varchar(1000)|7.0.1 | | ||
+ | |BinaryValue1|Eigenschaft von "BinaryCodeID" zum Merkmal "OutputBinaryCharacID1"\\ |varchar(250)|7.0.1 | | ||
+ | |BinaryValue2|Eigenschaft von "BinaryCodeID" zum Merkmal "OutputBinaryCharacID2"\\ |varchar(250)|7.0.1 | | ||
+ | |BinaryValue3|Eigenschaft von "BinaryCodeID" zum Merkmal "OutputBinaryCharacID3"\\ |varchar(250)|7.0.1 | | ||
+ | |||
+ | == Sortierung der Rückgabe == | ||
+ | |||
+ | (parameterunabängige Sortierung) | ||
+ | * BinaryCodeID (aufsteigend) | ||
+ | * ValueID (aufsteigend) | ||
+ | |||
+ | === wenn AssignedToTable = 1 und IncludeBinaryCode = 1 === | ||
+ | |||
+ | ^Spaltenname ^Beschreibung ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^ab Version ^ | ||
+ | |BinaryCodeID|ID eines gefundenen Binaries\\ |integer|7.0.1 | | ||
+ | |ValueID|ID einer Eigenschaft von Artikel-Elementen, der "BinaryCodeID" zugewiesen ist\\ |integer|7.0.1 | | ||
+ | |NodeCharacteristicID|ID des Merkmals, zu dem "ValueID" gehört\\ |smallint|7.0.1 | | ||
+ | |Value|Wert der Eigenschaft "ValueID"\\ |varchar(1000)|7.0.1 | | ||
+ | |BinaryValue1|Eigenschaft von "BinaryCodeID" zum Merkmal "OutputBinaryCharacID1"\\ |varchar(250)|7.0.1 | | ||
+ | |BinaryValue2|Eigenschaft von "BinaryCodeID" zum Merkmal "OutputBinaryCharacID2"\\ |varchar(250)|7.0.1 | | ||
+ | |BinaryValue3|Eigenschaft von "BinaryCodeID" zum Merkmal "OutputBinaryCharacID3"\\ |varchar(250)|7.0.1 | | ||
+ | |BinaryCode|Die Binärdaten selbst\\ |longvarbinary|7.0.1 | | ||
+ | |ThumbnailCode|Das sogenannte "Thumbnail" zur "BinaryCodeID"\\ |longvarbinary|7.0.1 | | ||
+ | |||
+ | == Sortierung der Rückgabe == | ||
+ | |||
+ | (parameterunabängige Sortierung) | ||
+ | * BinaryCodeID (aufsteigend) | ||
+ | * ValueID (aufsteigend) | ||
+ | |||
+ | ==== Output-Parameter ==== | ||
+ | |||
+ | |NumberOfElementsInResult|Ausgabeparameter, um zu erfahren, wieviele Binaries insgesamt gefunden wurden| | ||
+ | ==== Mögliche Return-Codes ==== | ||
+ | |||
+ | ^Code ^Beschreibung ^Quelle ((direkt meint "von der Prozedur selber" und indirekt meint "von intern aufgerufenen Unterprozeduren")) ^ | ||
+ | |-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| | ||
+ | |-535|Das Datum liegt nicht in der Vergangenheit|nur indirekt| | ||
+ | |-530|Der Wert ist nicht konvertierbar|nur indirekt| | ||
+ | |-510|Der Benutzer ist nicht registriert|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|direkt und indirekt| | ||
+ | |-283|Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu ermitteln|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|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_SearchBinaries_Ad|im_SearchBinaries_Ad im Engine Playground öffnen]] | ||
+ | == cURL == | ||
+ | Unformatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/im_SearchBinaries_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 GET 'http://<partner>-<project>.dstore.de/default/engine/im_SearchBinaries_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_SearchBinaries_Ad', | ||
+ | array( | ||
+ | // 'AssignedToTable' => 0, | ||
+ | // 'InputNestLevel_Conds' => 2, | ||
+ | // 'ValueSeparator_IN_Operator' => ',', | ||
+ | // 'StartAtRowNo' => 1, | ||
+ | // 'RowCount' => 100, | ||
+ | // 'OutputBinaryCharacID1' => NULL, | ||
+ | // 'OutputBinaryCharacID2' => NULL, | ||
+ | // 'OutputBinaryCharacID3' => NULL, | ||
+ | // 'IncludeBinaryCode' => 0, | ||
+ | // 'NodeCharacteristicID1' => NULL, | ||
+ | // 'NodeCharacteristicID2' => NULL, | ||
+ | // 'NodeCharacteristicID3' => NULL | ||
+ | ) | ||
+ | ); | ||
+ | |||
+ | $service->execute($request); | ||
+ | |||
+ | $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); | ||
+ | $ResultSet = $xml_result->getRowsAsArray(); | ||
+ | |||
+ | $OutputParams = $xml_result->getOutputParametersAsArray();</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_SearchBinaries_Ad"> | ||
+ | <Parameters> | ||
+ | <!-- <Parameter Name="AssignedToTable">0</Parameter> --> | ||
+ | <!-- <Parameter Name="InputNestLevel_Conds">2</Parameter> --> | ||
+ | <!-- <Parameter Name="ValueSeparator_IN_Operator">','</Parameter> --> | ||
+ | <!-- <Parameter Name="StartAtRowNo">1</Parameter> --> | ||
+ | <!-- <Parameter Name="RowCount">100</Parameter> --> | ||
+ | <!-- <Parameter Name="OutputBinaryCharacID1">NULL</Parameter> --> | ||
+ | <!-- <Parameter Name="OutputBinaryCharacID2">NULL</Parameter> --> | ||
+ | <!-- <Parameter Name="OutputBinaryCharacID3">NULL</Parameter> --> | ||
+ | <!-- <Parameter Name="IncludeBinaryCode">0</Parameter> --> | ||
+ | <!-- <Parameter Name="NodeCharacteristicID1">NULL</Parameter> --> | ||
+ | <!-- <Parameter Name="NodeCharacteristicID2">NULL</Parameter> --> | ||
+ | <!-- <Parameter Name="NodeCharacteristicID3">NULL</Parameter> --> | ||
+ | </Parameters> | ||
+ | </Procedure> | ||
+ | </Batch> | ||
+ | </ListOfBatches></code> | ||