Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:fo_modifyforumcategories_ad

fo_ModifyForumCategories_Ad

Prozedur zum Anlegen, Ändern und Löschen von Forum-Kategorien.

Anmerkungen zum Parameter „MoveSortNo“ :
1. Ein positiver Wert bedeutet, daß die interne „SortNo“ (die die Reihenfolge bestimmt) um den Wert „MoveSortNo“ ERHÖHT wird, d.h. die Kategorie („ForumCategoryID“) „rückt nach unten“. Ein negativer Wert ERNIEDRIGT die „SortNo“ entsprechend, d.h. die Kategorie „steigt nach oben“.
2. „MoveSortNo“ wird ignoriert, wenn „ForumCategoryID“ eine „Hauptkategorie“ (Erkl. s.o.) ist (die „SortNo“ für diese Kategorien ist immer „0“) !
3. 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 wie „ForumCategoryID“ besitzen) wäre, gibt es keinen Fehler, sondern die „SortNo“ wird dann auf „1“ gesetzt bzw. so geändert, daß „ForumCategoryID“ die größte „SortNo“ innerhalb aller Kategorien der übergeordneten Kategorie (von „ForumCategoryID“) besitzt.

Anmerkungen zum Parameter „PredecessorCategoryID“ :
Wird ein Wert angegeben, der eine andere Kategorie darstellt, als die aktuelle übergeordnete Kategorie von „ForumCategoryID“, wird „ForumCategoryID“ quasi „verschoben“, d.h. der angegebenen Kategorie untergeordnet.
1. In diesem Fall werden „CategoryDescription“ und „MoveSortNo“ NICHT beachtet !
2. Die Kategorie wird in der neuen Hauptkategorie ganz „nach unten“ eingeordnet, d.h. sie besitzt die größte „SortNo“ aller „PredecessorCategoryID“ zugeordneten Kategorien.
ACHTUNG : Es gibt einen Fehler („-500“), wenn „PredecessorCategoryID“ eine UNTER-geordnete Kategorie von „ForumCategoryID“ ist.

Anmerkung zum Parameter „CategoryDescription“ :
Ist eine „ForumCategoryID“ angegeben, aber keine „PredecessorCategoryID“ (bzw. ist „PredecessorCategoryID“ die aktuell übergeordnete Kategorie), wird nur die „CategoryDescription“ geändert UND/ODER die Reihenfolge innerhalb aller der gleichen übergeordneten Kategorie zugehörigen Kategorien verändert (→ „MoveSortNo“).
Möchte man die „CategoryDescription“ nicht verändern, kann man die bereits vorhandene „CategoryDescription“ oder „NULL“ im Parameter „CategoryDescription“ angeben !

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

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

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
ForumCategoryID Übergibt man „NULL“, wird eine neue Kategorie angelegt - ist zus. „PredecessorCategoryID“ angegeben, wird die neue Kategorie unterhalb von „PredecessorCategoryID“ eingefügt, und zwar wird diese dann ganz „nach unten“ (mit größter „SortNo“) eingeordnet.
smallint4.0.4
CategoryDescription Bezeichnung der neuen Kategorie bzw. die neue Bez. von „ForumCategoryID“. Ist eine „ForumCategoryID“ angegeben, wird der Parameter nur beachtet, wenn „PredecessorCategoryID“ „NULL“ ist oder es sich um die bestehende übergeordnete Kategorie handelt.
varchar(100)4.0.4
PredecessorCategoryIDNULL ID einer Kategorie, unterhalb der die neue Kategorie angelegt werden soll. Ist „ForumCategoryID“ angegeben, wird die vorhandene Kategorie „verschoben“ (sie wird dann ganz „nach unten“, d.h. mit größter „SortNo“, eingeordnet).
smallint4.0.4
MoveSortNoNULL Nur relevant bei gegebener „ForumCategoryID“. Falls angegeben, wird (sofern „PredecessorCategoryID“ „NULL“ ist oder es sich um die bestehende übergeordnete Kategorie handelt !) dann die „SortNo“ von „ForumCategoryID“ relativ um diesen Wert geändert.
smallint4.0.4
DeleteCategory0 Wird nur beachtet, falls eine „ForumCategoryID“ angegeben wurde. Entscheidet darüber, ob die vorhandene Kategorie geändert („0“) oder gelöscht („1“) wird.
bit4.0.4

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 4)
-862Die Kategorie kann nicht gelöscht werden, da sie noch Unterkategorien enthältnur direkt
-861Kategorie kann nicht verschoben werden, da man einer Kategorie max. 255 Kategorien unterordnen kannnur direkt
-860Kategorie kann nicht angelegt werden, da man einer Kategorie max. 255 Kategorien unterordnen kannnur direkt
-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

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
6.5.3 2013-03-18Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung
4.0.11 2004-03-311. Behebung diverser Fehler
2. Im Ändern-Fall kann man jetzt auch für „CategoryDescription“ den Wert „NULL“ angeben, um so NUR die Reigenfolge zu ändern
4.0.10 2004-03-151. Aufruf der Prozeduren „_mi_StartProcedure“, „_mi_FinishProcedure“ und „_mi_ChooseParamValueSeperator“
2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur
3. Verwendung des neuen Return-Codes „-503“
4.0.4 2003-08-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/fo_ModifyForumCategories_Ad?ForumCategoryID=<value>&CategoryDescription=<value>'

Mit xmllint 5) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/fo_ModifyForumCategories_Ad?ForumCategoryID=<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'),
	'fo_ModifyForumCategories_Ad',
		array(
			'ForumCategoryID' => <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="fo_ModifyForumCategories_Ad">
			<Parameters>
				<Parameter Name="ForumCategoryID"><!-- 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/fo_modifyforumcategories_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)