Prozedur zum Erstellen, Ändern und Löschen von Kategorien für „Surcharges“ (Aufschläge oder Rabatte) wie z.B. „Versandkosten“ oder „relative Rabatte“ etc.
Hinweis :
Kategorien mit einer ID kleiner „20“ sind (in der Engine) vordefinierte Kategorien, und für diese gelten folgende Einschränkungen :
1.) Für sie kann lediglich die „PriorityNo“ geändert werden.
2.) Diese Kategorien können NICHT gelöscht werden.
Anmerkung zum Parameter „PriorityNo“ :
Mit der „PriorityNo“ steuert man, welche „Berechnungs-Grundlage“ die „Surcharges“ der entsprechenden Kategorie bekommen, wenn es um „TrolleySurcharges“ (Aufschläge und Rabatte auf einen gesamten Warenkorb) bzw. „OrderSurcharges“ (Aufschläge/Rabatte auf einen gesamten Auftrag) geht.
Bei „Surcharges“ mit höchster Priorität hat die „PriorityNo“ den kleinsten aller „PriorityNo“-Werte, was bedeutet, daß der reine Warenwert als Berechnungs-Grundlage dient. „Surcharges“ mit niedrigerer Priorität erhalten den Warenwert plus errechnete „Surcharges“ von Kategorien mit höherer Priorität. Haben zwei Kategorien dieselbe Priorität, bekommen sie natürlich dieselbe Berechnungs-Grundlage.
Besonderheit : Der niedrigste Wert „0“ bedeutet NICHT höchste Priorität sondern kennzeichnet Kategorien, die bei der Ermittlung von „TrolleySurcharges“ bzw. „OrderSurcharges“ NICHT BEACHTET werden. Somit kann man z.B. bestimmte „Surcharges“ bei der Errechnung von Warenkorb- bzw. Auftrags-„Surcharges“ außer Kraft setzen (indem man die „PriorityNo“ der Kategorie, der sie angehören, auf „0“ setzt).
HTTP-Method | POST |
HTTP-Auth | Optional |
Alias | om_ModifySurchargeTypeCategories_Ad |
Tags | |
Engine-Kategorie | configurations |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
CategoryID | ID einer Kategorie von „SurchargeTypes“ (Aufschläge oder Rabatte). Bei Angabe von „NULL“ wird eine neue Kategorie angelegt, sonst entscheidet „Delete“ darüber, ob die vorhandene Kategorie geändert oder gelöscht wird. | tinyint | 6.0.2 | |
CategoryDescription | Bezeichnung der Kategorie | varchar(100) | 6.0.2 | |
PriorityNo | Bestimmt die Priorität der Kategorie bei der Berechnung von Auftrags-/Warenkorbs-„Surcharges“ : Berechnungs-Grundlage ist immer der Warenwert PLUS errechnete „Surcharges“ aus Kategorien höherer Priorität, d.h. NIEDRIGERER „PriorityNo“. s. Beschreibung ! | tinyint | 6.0.2 | |
Delete | 0 | Wird nur beachtet, wenn „CategoryID“ nicht „NULL“ ist. Bestimmt, ob die vorhandene Kategorie geändert („0“) oder gelöscht („1“) wird. | bit | 6.0.2 |
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 4) |
---|---|---|
-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 |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-500 | Falsche Parameter | direkt und indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
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, u.a. wg. UTF8-Unterstützung |
6.0.2 | 2011-06-08 | Erstmalig in dieser Version erstellt |
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
Unformatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/om_ModifySurchargeTypeCats_Ad?CategoryID=<value>&CategoryDescription=<value>&PriorityNo=<value>'
Mit xmllint 5) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/om_ModifySurchargeTypeCats_Ad?CategoryID=<value>&CategoryDescription=<value>&PriorityNo=<value>' | xmllint --format -
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'), 'om_ModifySurchargeTypeCats_Ad', array( 'CategoryID' => <value>, 'CategoryDescription' => '<value>', 'PriorityNo' => <value>, // 'Delete' => 0 ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray();
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="om_ModifySurchargeTypeCats_Ad"> <Parameters> <Parameter Name="CategoryID"><!-- tinyint value --></Parameter> <Parameter Name="CategoryDescription"><!-- varchar value --></Parameter> <Parameter Name="PriorityNo"><!-- tinyint value --></Parameter> <!-- <Parameter Name="Delete">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>