Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:im_searchcharacteristics_pu

im_SearchCharacteristics_Pu

Sucht alle Artikel-Elemente, die (zu einem bestimmten Zeitpunkt) eine Eigenschaft (zu bestimmten Merkmalen) besitzen, die einem Suchbegriff („Value“) entspricht bzw. diesen enthält.

Es kann angegeben werden, ob nur direkt zugewiesene Eigenschaften in Frage kommen oder auch vererbte.

Weiter kann das Suchergebnis nur auf Elemente beschränkt werden, die zwischen zwei bestimmten Hierarchie-Stufen liegen.

Zusätzlich zur Suche in den Eigenschaften ist es möglich, auch in der Element-Bezeichnung („NodeDescription“) suchen zu lassen.

ANMERKUNG zum Parameter „MaintainSearchItemLacks“:
Wenn die Suche erfolglos war, dann wird (falls dieser Parameter auf „1“ gesetzt wird) der Suchbegriff in die Tabelle „SearchItemLacks“ eingetragen. Falls der Begriff schon vorhanden ist, wird der zugehörige „Counter“ erhöht. So kann man evtl. herausfinden, welche Begriffe häufig (aber vergebens) von Benutzern eingegeben werden. Aufgrund dieser Erkenntnis kann ein Sachbearbeiter herausfinden, welche Art von Artikeln wohl auf diesen Suchbegriff passen und einen entsprechenden Eintrag in „SearchItems“ machen (Prozedur hierfür in einer der kommenden Versionen), so daß eine erneute Suche dann erfolgreich ist.

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

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
NodeCharacteristicIDsNULL Eine Liste von IDs (durch das '¶'-Zeichen getrennt) von den Merkmalen, in deren Eigenschaften nach dem Suchbegriff „Value“ gesucht werden soll
varchar(255)3.5.0
Value Der Suchbegriff
varchar(1000)3.5.0
IsLike0 Dieser Parameter steuert, wie genau die Eigenschaft mit dem Suchbegriff übereinstimmen muß (Groß- und Kleinschreibung wird NIE beachtet !) :
„0“ : Genaue Übereinstimmung
„1“ : Der Suchbegriff muß in der Eigenschaft vorkommen
bit3.5.0
DateNULL Zeitpunkt der Gültigkeit der Eigenschaft
datetime3.5.0
IncludeInherited0 „0“ : Nur direkt zugewiesene Eigenschaften werden beachtet
„1“ : Auch geerbte Eigenschaften werden berücksichtigt
bit3.5.0
LanguageID1 ID einer Sprache; relevant im Bezug auf die Bezeichnung der Artikelelemente in der Rückgabemenge und in der Suche, falls „IncludeNodeDescription = 1“
tinyint3.5.0
IncludeNodeDescription0 „0“ : Nur Eigenschaften durchsuchen
„1“ : Auch in den Bezeichnungen der Artikel-Elemente („NodeDescription“) suchen
bit3.5.0
ResultUpToLevelNoNULL Im Ergebnis werden nur die gefundenen Elemente angezeigt, die über dieser Hierarchie liegen
tinyint3.5.0
SearchUpToLevelNoNULL Einschränkung der Suchtiefe. Nur Artikel-Elemente mit einer höheren Hierarchie (d.h. „LevelNo ⇐ SearchUpToLevelNo“) werden bei der Suche betrachtet
tinyint3.5.0
StartAtRowNo1 Erste Zeile der Ausgabe innerhalb des gesamten Suchergebnisses. Zusammen mit „RowCount“ kann man sich so durch das gesamte Ergebnis „blättern“.
smallint3.5.0
RowCount100 Anzahl der auszugebenden Datensätze des Suchergebnisses. Zusammen mit „StartAtRowNo“ kann man sich so durch das gesamte Ergebnis „blättern“.
tinyint3.5.0
MaintainSearchItemLacks1 Wenn nichts gefunden wurde, dann wird der Begriff in die Tabelle „SearchItemLacks“ eingetragen, falls dieser Parameter mit „1“ übergeben wird
bit3.5.6
FilterByCharacteristicIDNULL Nur Elemente, die „FilterByCharacValue“ als Eigenschaft zum Merkmal „FilterByCharacteristicID“ haben. (Achtung: Hierbei wird keine Vererbung berücksichtigt)
smallint3.5.11
FilterByCharacValueNULL Nur Elemente, die „FilterByCharacValue“ als Eigenschaft zum Merkmal „FilterByCharacteristicID“ haben. (Achtung: Hierbei wird keine Vererbung berücksichtigt)
varchar(1000)3.5.11
SortResult0 „1“ angeben, um eine Sortierung der Rückgabemenge zu erhalten (siehe Doku der Sortierung der Rückgabemenge)
bit4.0.0
NegateFilterByParams0 Wird nur berücksichtigt, falls die „FilterBy…“-Parameter angegeben sind ! Bei Angabe von „1“ für diesen Parameter sind nur Elemente in der Rückgabemenge, die die Eigenschaft „FilterByCharacValue“ zum Merkmal „FilterByCharacteristicID“ NICHT haben.
bit4.0.2

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
SortNo5)Wird nicht ausgegeben, sondern nur (im Fall „SortResult = 1“) zur Sortierung der Rückgabemenge verwendet. Bestimmt die Reihenfolge von „TreeNodeID“ innerhalb aller Nachfolger von „PredecossorsTreeNodeID“.
smallint4.0.0
Predecessor_SortNo6)Wird nicht ausgegeben, sondern nur (im Fall „SortResult = 1“) zur Sortierung der Rückgabemenge verwendet. Bestimmt die Reihenfolge von „PredecessorsTreeNodeID“ innerhalb aller Nachfolger von „PrePredecossorsTreeNodeID“.
smallint4.0.0
HTreeNodeIDID eines zur „NodeID“ zugehörigen Elementes aus „HistoryTreeView“ (in dieser ist die Historie des gesamten Artikelbaums abgebildet)
integer3.5.0
TreeNodeIDID eines Elementes im Artikelbaum, das „NodeID“ als Artikel-Element zugewiesen hat - oder „0“ (es gibt zu jeder „NodeID“ eine „HTreeNodeID“ mit einem offenen Gültigkeitszeitraum und „unbekannter TreeNodeID“)
integer3.5.0
NodeIDID eines Artikel-Elementes, das eine Eigenschaft besitzt, die zum Suchbegriff „Value“ paßt
integer3.5.0
NodeDescriptionBezeichnung der „NodeID“
varchar(1000)3.5.0
NodeCharacteristicIDID des Merkmals, zu dem „NodeID“ eine Eigenschaft besitzt, die zum Suchbegriff „Value“ paßt. „-2147486548“ bedeutet, daß der Suchbegriff über die Element-Bezeichnung („NodeDescription“) gefunden wurde.
smallint3.5.0
ValueIDID der Eigenschaft „Value“
integer3.5.0
ValueEigenschaft, die „NodeID“ besitzt, die dem Suchbegriff „Value“ entspricht
varchar(1000)3.5.0
InheritedBesitzt „NodeID“ die Eigenschaft „Value“ direkt oder wurde diese vererbt ?
bit3.5.0
LevelNoNummer der Hierarchie der „NodeID“
tinyint3.5.6
PredecessorsTreeNodeIDID des Vorgänger-Elementes im Artikelbaum des gefundenen Elementes
integer3.5.6
PredecessorsDescriptionBezeichnung des Vorgängers
varchar(1000)3.5.6
PrePredecessorsTreeNodeIDID des Vor-Vorgänger-Elementes im Artikelbaum des gefundenen Elementes
integer3.5.6
PrePredecessorsDescriptionBezeichnung des Vor-Vorgängers
varchar(1000)3.5.6
Sortierung der Rückgabe

wenn SortResult = 1

  • PrePredecessorsTreeNodeID (aufsteigend)
  • Predecessor_SortNo (absteigend)
  • SortNo (absteigend)

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 7)
-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
-550Fehlender oder falscher Eintrag in Settingsnur 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
-286Der Benutzer hat nicht die Berechtigung(en), Eigenschaften zu diesem(n) Merkmal(en) zu lesen/ändernnur indirekt
-284Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu modifizierennur indirekt
-283Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu ermittelnnur indirekt
-220Es konnte keine Merkmal-ID für die Produktbezeichnung ermittelt werdennur 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. Datentyp-Erweiterung der Parameter „Value“ und „FilterByCharacValue“ [von 100 auf 1000]
2. Datentyp der Rückgabespalten „NodeDescription“, „Value“, „PredecessorsDescription“ und
„PrePredecessorsDescription“ hat sich erweitert ⇒ Anpassung der Doku
6.5.3 2013-03-18Anpassungen an den aktuellen Quellcode-Standard, u.a. wg. UTF8-Unterstützung
5.1.5 2006-08-291. „LockedNodeCharacteristics“ wurde bisher GAR NICHT beachtet !
2. „_mi_StartProcedure“/„_mi_FinishProcedure“ eingebaut
4.0.2 2003-06-11Neuer Parameter „NegateFilterByParams“
4.0.0 2003-04-03Neuer Parameter „SortResult“
3.5.20 2002-07-22
3.5.11 2001-09-06
3.5.6 2001-04-17
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 GET  'http://<partner>-<project>.dstore.de/default/engine/im_SearchCharacteristics_Pu?Value=<value>'

Mit xmllint 8) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/im_SearchCharacteristics_Pu?Value=<value>' | 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_SearchCharacteristics_Pu',
		array(
			'Value' => '<value>',
			// 'NodeCharacteristicIDs' => NULL,
			// 'IsLike' => 0,
			// 'Date' => NULL,
			// 'IncludeInherited' => 0,
			// 'LanguageID' => 1,
			// 'IncludeNodeDescription' => 0,
			// 'ResultUpToLevelNo' => NULL,
			// 'SearchUpToLevelNo' => NULL,
			// 'StartAtRowNo' => 1,
			// 'RowCount' => 100,
			// 'MaintainSearchItemLacks' => 1,
			// 'FilterByCharacteristicID' => NULL,
			// 'FilterByCharacValue' => NULL,
			// 'SortResult' => 0,
			// 'NegateFilterByParams' => 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_SearchCharacteristics_Pu">
			<Parameters>
				<Parameter Name="Value"><!-- varchar value --></Parameter>
				<!-- <Parameter Name="NodeCharacteristicIDs">NULL</Parameter> -->
				<!-- <Parameter Name="IsLike">0</Parameter> -->
				<!-- <Parameter Name="Date">NULL</Parameter> -->
				<!-- <Parameter Name="IncludeInherited">0</Parameter> -->
				<!-- <Parameter Name="LanguageID">1</Parameter> -->
				<!-- <Parameter Name="IncludeNodeDescription">0</Parameter> -->
				<!-- <Parameter Name="ResultUpToLevelNo">NULL</Parameter> -->
				<!-- <Parameter Name="SearchUpToLevelNo">NULL</Parameter> -->
				<!-- <Parameter Name="StartAtRowNo">1</Parameter> -->
				<!-- <Parameter Name="RowCount">100</Parameter> -->
				<!-- <Parameter Name="MaintainSearchItemLacks">1</Parameter> -->
				<!-- <Parameter Name="FilterByCharacteristicID">NULL</Parameter> -->
				<!-- <Parameter Name="FilterByCharacValue">NULL</Parameter> -->
				<!-- <Parameter Name="SortResult">0</Parameter> -->
				<!-- <Parameter Name="NegateFilterByParams">0</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
5) , 6)
Spalte wird nicht zurückgegeben und ist hier nur aus Dokumentationsgründen aufgeführt.
7)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
8)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/im_searchcharacteristics_pu.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)