Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:im_modifynodecharaccats_ad

im_ModifyNodeCharacCats_Ad

Prozedur zum Anlegen, Ändern und Löschen von Kategorien für Artikel-Merkmale.

Allgemeine Hinweise :

1. Einer Kategorie können MAXIMAL 255 Kategorien untergeordnet sein
2. Eine Kategorie kann nur gelöscht werden, wenn sie KEINE untergeordneten Kategorien mehr besitzt

Anmerkungen zum Parameter „MoveSortNo“ :

1. Ist „MoveSortNo“ angegeben (und ungleich „0“), wird die Reihenfolge von „NodeCharacCategoryID“ innerhalb aller Kategorien der übergeordneten Kategorie (von „NodeCharacCategoryID“) RELATIV geändert : Ein positiver Wert bedeutet, daß die interne „SortNo“ (die die Reihenfolge bestimmt) um den Wert „MoveSortNo“ ERHÖHT wird, d.h. die Kategorie „rückt nach unten“. Ein negativer Wert ERNIEDRIGT die „SortNo“ entsprechend, d.h. die Kategorie „steigt nach oben“.

2. Würde der Wert von „MoveSortNo“ dazu führen, daß die neue „SortNo“ kleiner als „1“ oder größer als die bisherige größte „SortNo“ aller Kategorien (die die gleiche übergeordnete Kategorie besitzen) wäre, gibt es keinen Fehler, sondern die „SortNo“ wird dann auf „1“ gesetzt bzw. so geändert, daß „NodeCharacCategoryID“ die größte „SortNo“ innerhalb aller Kategorien der übergeordneten Kategorie (von „NodeCharacCategoryID“) besitzt.

Anmerkungen zum Parameter „PredecessorCategoryID“ :

1. Wird KEINE „PredecessorCategoryID“ angegeben oder die ID der Kategorie, die aktuell die übergeordnete Kategorie von „NodeCharacCategoryID“ darstellt, wird nur die „CategoryDescription“ (dem gleichnamigen Parameter entsprechend) geändert UND/ODER die Reihenfolge innerhalb aller der gleichen übergeordneten Kategorie zugehörigen Kategorien verändert (→ „MoveSortNo“).
Anmerkung : Möchte man die „CategoryDescription“ nicht verändern, kann man die bereits vorhandene „CategoryDescription“ oder „NULL“ im Parameter „CategoryDescription“ angeben.

2. Bei Angabe einer „PredecessorCategoryID“, die eine andere Kategorie darstellt, als die aktuelle übergeordnete Kategorie (von „NodeCharacCategoryID“), wird „NodeCharacCategoryID“ quasi „verschoben“, d.h. der angegebenen Kategorie untergeordnet. Die Kategorie wird in der neuen Hauptkategorie ganz „nach unten“ eingeordnet, d.h. sie besitzt die größte „SortNo“ aller „PredecessorCategoryID“ zugeordneten Kategorien.
Anmerkung : In diesem Fall werden „CategoryDescription“ und „MoveSortNo“ NICHT beachtet, und es gibt einen Fehler („-500“), wenn „PredecessorCategoryID“ eine UNTER-geordnete Kategorie von „NodeCharacCategoryID“ ist !

HTTP-MethodPOST
HTTP-AuthOptional
Aliasim_ModifyNodeCharacteristicCategories_Ad
Tags
Engine-Kategorieconfigurations
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
NodeCharacCategoryID Ist „NULL“ angegeben, wird eine neue Kategorie für Artikel-Merkmale angelegt. Ansonsten entscheidet „DeleteCategory“ darüber, ob die vorhandene Kategorie geändert („0“) oder gelöscht („1“) wird.
smallint5.1.9
CategoryDescription Bezeichnung der (neuen) Kategorie. ACHTUNG : Wird NICHT beachtet, wenn sowohl „NodeCharacCategoryID“ als auch „PredecessorCategoryID“ angegeben sind !
varchar(100)5.1.9
PredecessorCategoryIDNULL ID einer Kategorie für Artikel-Merkmale. Ist hier UND für „NodeCharacCategoryID“ nichts (also „NULL“) angegeben, wird eine neue Hauptkategorie angelegt. Ist hier eine ID angegeben, wird die (neue) Kategorie unterhalb dieser erstellt bzw. verschoben.
smallint5.1.9
MoveSortNoNULL Wird nur beachtet, wenn „NodeCharacteristicID“ angegeben, „DeleteCategory = 0“ ist und es sich NICHT um eine Hauptkategorie handelt ! Falls angegeben, wird die „SortNo“ relativ um diesen Wert geändert (s. Beschreibung).
smallint5.1.9
DeleteCategory0 Wird nur beachtet, wenn „NodeCharacCategoryID“ angegeben ist. Dieser Parameter entscheidet darüber, ob die vorhandene Kategorie geändert („0“) oder gelöscht („1“) wird.
bit5.1.9

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 4)
-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
-503Fehlerhafte Daten in einer Tabelle - genauere Fehlermeldung auf der Standardausgabenur direkt
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur indirekt
-500Falsche Parameterdirekt und indirekt
-292Die Kategorie kann nicht gelöscht werden, da sie noch Unterkategorien enthältnur direkt
-291Kategorie kann nicht verschoben werden, da man einer Kategorie max. 255 Kategorien unterordnen kannnur direkt
-290Kategorie kann nicht angelegt werden, da man einer Kategorie max. 255 Kategorien unterordnen kannnur direkt

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]
6.5.4 2013-04-29Anpassungen an aktuellen Code-Standard [print-Ausgaben ins Englische übersetzt]
6.5.3 2013-03-18Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung
5.1.9 2007-01-26Erstmalig 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_ModifyNodeCharacCats_Ad?NodeCharacCategoryID=<value>&CategoryDescription=<value>'

Mit xmllint 5) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/im_ModifyNodeCharacCats_Ad?NodeCharacCategoryID=<value>&CategoryDescription=<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_ModifyNodeCharacCats_Ad',
		array(
			'NodeCharacCategoryID' => <value>,
			'CategoryDescription' => '<value>',
			// 'PredecessorCategoryID' => NULL,
			// 'MoveSortNo' => NULL,
			// 'DeleteCategory' => 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_ModifyNodeCharacCats_Ad">
			<Parameters>
				<Parameter Name="NodeCharacCategoryID"><!-- smallint value --></Parameter>
				<Parameter Name="CategoryDescription"><!-- varchar value --></Parameter>
				<!-- <Parameter Name="PredecessorCategoryID">NULL</Parameter> -->
				<!-- <Parameter Name="MoveSortNo">NULL</Parameter> -->
				<!-- <Parameter Name="DeleteCategory">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_modifynodecharaccats_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)