Verwaltet im „dStore“ definierte Aufschlags-/Rabattarten.
Hinweis bei Änderungen einer bestehenden „SurchargeTypeID“ :
Wird die ID verwendet (z.B. „OrderContentSurcharges“ oder „OrderSurcharges“), können bestimmte Änderungen nicht mehr vorgenommen werden, nämlich :
1. „Relative“ und die „UnitID“ können nicht mehr geändert werden
2. Falls „Relative = 0“ ist, kann „Brutto“ nicht mehr geändert werden (falls „Relative = 1“ ist, hat diese Einstellung sowieso keine Bedeutung)
Anmerkungen zum Parameter „CategoryID“ :
1.) Jeder „Surcharge“ muß (genau) einer Kategorie zugeordnet werden, die durch „CategoryID“ anzugeben ist. Bei Angabe von „NULL“ wird im Falle der Neu-Anlage eines „Surcharges“ automatisch der Wert „0“ für die Kategorie „Ohne Zuschlag“ gewählt. Im Falle einer Änderung des (durch „SurchargeTypeID“ angegebenen) „Surcharges“ bedeutet „NULL“, daß der bestehende Wert NICHT geändert werden soll. Wird als Kategorie „Relative Rabatte“ („SurchargeTypeCategoryID = 1“) bzw. „Absolute Rabatte“ („SurchargeTypeCategoryID = 2“) angegeben, muss „Relative“ auch der Kategorie entsprechend angegeben worden sein. So darf ein absoluter „SurchargeType“ nicht in die Kategorie „Relative Rabatte“ eingeordnet werden, genauso wie ein relativer „SurchargeType“ nicht in die Kategorie „Absolute Rabatte“ eingeordnet werden darf.
2.) Es kann nur genau ein „SurchargeType“ geben, der der Kategorie „Guthaben-Verrechnung“ („CategoryID = 5“) zugeordnet ist. Möchte man eine zweite Aufschlags-/Rabattart dieser Kategorie zuordnen, gibt es einen Fehler !
3.) Wird ein neuer „SurchargeType“ mit „CategoryID = 5“ („Guthaben-Verrechnung“) angelegt, oder eine existierende „SurchargeTypeID“ in diese Kategorie eingeordnet, wird direkt ein Steuersatz für diesen SurchargeType von „0%“ eingerichtet, der nicht verändert werden kann (siehe om_ModifySurchargeTypeTaxes_Ad).
HTTP-Method | POST |
HTTP-Auth | Optional |
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 |
---|---|---|---|---|
SurchargeTypeID | NULL | ID einer Preis-Aufschlags/Rabatt-Art, wie z.B. „Versandkosten“, „Rabatt“, „Nachnahmegebühr“ o.ä. „NULL“ angeben, um eine neue Rabatt-/Aufschlagsart anzulegen. | smallint | 3.5.0 |
SurchargeTypeDescription | Bezeichnung der „SurchargeTypeID“ | varchar(100) | 3.5.0 | |
Relative | 1 | Sind die Werte zur „SurchargeTypeID“ (also die konkreten Rabatte/Aufschläge, wie z.B. in „PersonSurcharges“) absolut („0“) oder relativ („1“) anzugeben ? Falls „0“ angegeben wird, muß „UnitID“ in der Kategorie „Währung“ (ID 1) sein ! | bit | 3.5.0 |
Brutto | 1 | Dieser Wert hat nur Bedeutung, wenn „Relative = 0“ ist. Er gibt an, ob die Werte zur „SurchargeTypeID“ (also die konkreten Rabatte/Aufschläge, wie z.B. in „PersonSurcharges“) als Brutto- oder Nettobeträge anzugeben sind. | bit | 3.5.0 |
UnitID | ID einer Währungs-Einheit, wenn „Relative = 0“ ist oder die ID der Prozent-Einheit („ UnitSymbol = '%' “), wenn „Relative = 1“ ist | tinyint | 3.5.0 | |
DeleteSurchargeType | 0 | „1“ angeben, um die bestehende „SurchargeTypeID“ zu löschen. ACHTUNG : Es gibt evtl. einen Trigger-Fehler, wenn die ID noch referenziert wird ! | bit | 3.5.0 |
CategoryID | NULL | ID einer Kategorie, der „SurchargeTypeID“ angehören soll (mögliche Werte : s. om_GetSurchargeTypeCategories). Hinweis : Es handelt sich um eine 1:1-Zuordnung, d.h. jeder „SurchargeType“ muß genau einer Kategorie zugeordnet werden. s. Beschreibung ! | tinyint | 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 | direkt und indirekt |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-500 | Falsche Parameter | direkt und indirekt |
-380 | Mindestens eine SurchargeType-Einstellung kann wegen bestehender Daten nicht übernommen werden | nur direkt |
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.3 | 2011-09-07 | Ab sofort wird einem „SurchargeType“ in der Kategorie „Guthaben-Verrechnung“ [ID 5], bei Anlage oder Einordnung in diese Kategorie, IMMER ein Steuersatz von „0%“ zugewiesen. |
6.0.2 | 2011-06-08 | 1. Neuer Parameter „CategoryID“ 2. Interne Anpassungen aufgrund von Taellen-Änderungen rund um „Surcharges“ |
5.1.10 | 2007-03-12 | 1. Fehler : Bisher war die „UnitID“ für die „Prozent“-Einheit hart codiert 2. Änderung : Im Fall „Relative = 0“ muß „UnitID“ auf jeden Fall eine Währung sein [„0“ ist nicht mehr erlaubt] ! 3. „print“-Ausgabe im Fehler-Fall „-500“ |
4.0.14 | 2004-06-03 | 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. Konsequente Fehlerbehandlung |
3.5.18 | 2002-05-15 | |
3.5.5 | 2001-03-30 | |
3.5.0 | 2000-11-23 | 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_ModifySurchargeTypes_Ad?SurchargeTypeDescription=<value>&UnitID=<value>'
Mit xmllint 5) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/om_ModifySurchargeTypes_Ad?SurchargeTypeDescription=<value>&UnitID=<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_ModifySurchargeTypes_Ad', array( 'SurchargeTypeDescription' => '<value>', 'UnitID' => <value>, // 'SurchargeTypeID' => NULL, // 'Relative' => 1, // 'Brutto' => 1, // 'DeleteSurchargeType' => 0, // 'CategoryID' => NULL ) ); $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_ModifySurchargeTypes_Ad"> <Parameters> <Parameter Name="SurchargeTypeDescription"><!-- varchar value --></Parameter> <Parameter Name="UnitID"><!-- tinyint value --></Parameter> <!-- <Parameter Name="SurchargeTypeID">NULL</Parameter> --> <!-- <Parameter Name="Relative">1</Parameter> --> <!-- <Parameter Name="Brutto">1</Parameter> --> <!-- <Parameter Name="DeleteSurchargeType">0</Parameter> --> <!-- <Parameter Name="CategoryID">NULL</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>