Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:mi_searchbinaries_ad

mi_SearchBinaries_Ad

Dient der Suche von „Binaries“.

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.

Anmerkungen zum Parameter „OnlyUsedInTable_Bitmap“ :

Hier können Werte zwischen „0“ und „15“ übergeben werden, um nach Referenzierung der „Binaries“ in bestimmten Tabellen zu filtern. Es ist ein Summe folgender Werte („0“ für „keine Filterung“) :

  • „1“ : Nur „Binaries“ beachten, die in „NodePresentations“ (Artikel-Element-Zuordnung) referenziert werden
  • „2“ : Nur „Binaries“ beachten, die in „BinariesForValues“ (Artikel-Eigenschaft-Zuordnung) referenziert werden
  • „4“ : Nur „Binaries“ beachten, die in „BinariesForPersons“ (Person-Zuordnung) referenziert werden
  • „8“ : Nur „Binaries“ beachten, die in „AuctionItems“ (Auktions-Zuordnung) referenziert werden

Dabei werden MEHRERE Filterangaben mit ODER verknüpft, d.h. „OnlyUsedInTable_Bitmap = 3“ bedeutet z.B., daß NUR „Binaries“ gefunden werden, die in „NodePresentations“ ODER „BinariesForValues“ referenziert werden.

HTTP-MethodGET
HTTP-AuthOptional
Tags
Engine-Kategoriemiscellaneous
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
InputNestLevel_Conds2 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).
tinyint7.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
StartAtRowNo1 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 !
integer7.0.1
RowCount100 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 !
integer7.0.1
OnlyUsedInTable_Bitmap0 Optionale Filterung nach (Tabellen-)Referenzierung (s.a. Beschreibung). Summe folgender Werte (Binaries mit Zuordnung zu) :
- „1“ : Artikel-Elemente
- „2“ : Artikel-Eigenschaften
- „4“ : Personen
- „8“ : Auktionen
tinyint7.0.1
IncludeBinaryCode0 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“.
bit7.0.1
OutputBinaryCharacID1NULL ID eines Merkmals für Binary-Eigenschaften. Falls angegeben, enthält die Rückgabespalte „BinaryValue1“ zu jedem gefunden Binary die Eigenschaft zu diesem Merkmal.
smallint7.0.1
OutputBinaryCharacID2NULL 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.
smallint7.0.1
OutputBinaryCharacID3NULL 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.
smallint7.0.1

Rückgabe

wenn IncludeBinaryCode = 0

Spaltenname Beschreibung SQL-Datentyp4) ab Version
BinaryCodeIDID eines gefundenen Binaries
integer7.0.1
UsedInTable_BitmapWo „BinaryCodeID“ referenziert wird. Summe folgeder Werte :
- „1“ : „NodePresentations“ (Artikel-Elemente)
- „2“ : „BinariesForValues“ (Artikel-Eigenschaften)
- „4“ : „BinariesForPersons“ (Personen)
- „8“ : „AuctionItems“ (Auktionen)
tinyint7.0.1
BinaryValue1Eigenschaft von „BinaryCodeID“ zum Merkmal „OutputBinaryCharacID1“
varchar(250)7.0.1
BinaryValue2Eigenschaft von „BinaryCodeID“ zum Merkmal „OutputBinaryCharacID2“
varchar(250)7.0.1
BinaryValue3Eigenschaft von „BinaryCodeID“ zum Merkmal „OutputBinaryCharacID3“
varchar(250)7.0.1
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • BinaryCodeID (aufsteigend)

wenn IncludeBinaryCode = 1

Spaltenname Beschreibung SQL-Datentyp5) ab Version
BinaryCodeIDID eines gefundenen Binaries
integer7.0.1
UsedInTable_BitmapWo „BinaryCodeID“ referenziert wird. Summe folgeder Werte :
- „1“ : „NodePresentations“ (Artikel-Elemente)
- „2“ : „BinariesForValues“ (Artikel-Eigenschaften)
- „4“ : „BinariesForPersons“ (Personen)
- „8“ : „AuctionItems“ (Auktionen)
tinyint7.0.1
BinaryValue1Eigenschaft von „BinaryCodeID“ zum Merkmal „OutputBinaryCharacID1“
varchar(250)7.0.1
BinaryValue2Eigenschaft von „BinaryCodeID“ zum Merkmal „OutputBinaryCharacID2“
varchar(250)7.0.1
BinaryValue3Eigenschaft von „BinaryCodeID“ zum Merkmal „OutputBinaryCharacID3“
varchar(250)7.0.1
BinaryCodeDie Binärdaten selbst
longvarbinary7.0.1
ThumbnailCodeDas sogenannte „Thumbnail“ zur „BinaryCodeID“
longvarbinary7.0.1
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • BinaryCodeID (aufsteigend)

Output-Parameter

NumberOfElementsInResultAusgabeparameter, um zu erfahren, wieviele Binaries insgesamt gefunden wurden

Mögliche Return-Codes

Code Beschreibung Quelle 6)
-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
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-510Der Benutzer ist nicht registriertnur 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 Parameterdirekt und 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-07Erstmalig 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 GET  'http://<partner>-<project>.dstore.de/default/engine/mi_SearchBinaries_Ad'

Mit xmllint 7) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/mi_SearchBinaries_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'),
	'mi_SearchBinaries_Ad',
		array(
			// 'InputNestLevel_Conds' => 2,
			// 'ValueSeparator_IN_Operator' => ',',
			// 'StartAtRowNo' => 1,
			// 'RowCount' => 100,
			// 'OnlyUsedInTable_Bitmap' => 0,
			// 'IncludeBinaryCode' => 0,
			// 'OutputBinaryCharacID1' => NULL,
			// 'OutputBinaryCharacID2' => NULL,
			// 'OutputBinaryCharacID3' => NULL
		)
);
 
$service->execute($request);
 
			$xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument();
			$ResultSet = $xml_result->getRowsAsArray();
 
$OutputParams = $xml_result->getOutputParametersAsArray();
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="mi_SearchBinaries_Ad">
			<Parameters>
				<!-- <Parameter Name="InputNestLevel_Conds">2</Parameter> -->
				<!-- <Parameter Name="ValueSeparator_IN_Operator">','</Parameter> -->
				<!-- <Parameter Name="StartAtRowNo">1</Parameter> -->
				<!-- <Parameter Name="RowCount">100</Parameter> -->
				<!-- <Parameter Name="OnlyUsedInTable_Bitmap">0</Parameter> -->
				<!-- <Parameter Name="IncludeBinaryCode">0</Parameter> -->
				<!-- <Parameter Name="OutputBinaryCharacID1">NULL</Parameter> -->
				<!-- <Parameter Name="OutputBinaryCharacID2">NULL</Parameter> -->
				<!-- <Parameter Name="OutputBinaryCharacID3">NULL</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
6)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
7)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/mi_searchbinaries_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)