Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
engine:procedures:fo_modifyforumcategories_ad [11.01.2016 ] |
engine:procedures:fo_modifyforumcategories_ad [11.01.2016 ] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== 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-Method|POST | | ||
+ | |HTTP-Auth|Optional | | ||
+ | |Tags|{{tag>[fo Modify Forum Categories Ad]}}| | ||
+ | |Engine-Kategorie|configurations | | ||
+ | |Engine-Typ|Daten-Änderung | | ||
+ | |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 ^ | ||
+ | |__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.\\ |smallint|4.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| | ||
+ | |PredecessorCategoryID|NULL |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).\\ |smallint|4.0.4| | ||
+ | |MoveSortNo|NULL |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.\\ |smallint|4.0.4| | ||
+ | |DeleteCategory|0 |Wird nur beachtet, falls eine "ForumCategoryID" angegeben wurde. Entscheidet darüber, ob die vorhandene Kategorie geändert ("0") oder gelöscht ("1") wird.\\ |bit|4.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 ((direkt meint "von der Prozedur selber" und indirekt meint "von intern aufgerufenen Unterprozeduren")) ^ | ||
+ | |-862|Die Kategorie kann nicht gelöscht werden, da sie noch Unterkategorien enthält|nur direkt| | ||
+ | |-861|Kategorie kann nicht verschoben werden, da man einer Kategorie max. 255 Kategorien unterordnen kann|nur direkt| | ||
+ | |-860|Kategorie kann nicht angelegt werden, da man einer Kategorie max. 255 Kategorien unterordnen kann|nur direkt| | ||
+ | |-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| | ||
+ | |-503|Fehlerhafte Daten in einer Tabelle - genauere Fehlermeldung auf der Standardausgabe|nur direkt| | ||
+ | |-502|Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)|nur indirekt| | ||
+ | |-500|Falsche Parameter|direkt und 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]\\ | | ||
+ | |6.5.4 |2013-04-29|Anpassungen an aktuellen Code-Standard\\ | | ||
+ | |6.5.3 |2013-03-18|Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung\\ | | ||
+ | |4.0.11 |2004-03-31|1. 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-15|1. 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-26|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=fo_ModifyForumCategories_Ad|fo_ModifyForumCategories_Ad im Engine Playground öffnen]] | ||
+ | == cURL == | ||
+ | Unformatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/fo_ModifyForumCategories_Ad?ForumCategoryID=<value>&CategoryDescription=<value>'</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 POST 'http://<partner>-<project>.dstore.de/default/engine/fo_ModifyForumCategories_Ad?ForumCategoryID=<value>&CategoryDescription=<value>' | 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'), | ||
+ | '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(); | ||
+ | |||
+ | </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="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></code> | ||