Gibt im „dStore“ definierte Aufschlags-/Rabattarten zurück.
Grundsätzliches zu „Surcharges“ :
1. Der „dStore“ versteht „Surcharges“ („Aufschläge“) als Prinzip, um zusätzlich entstehende Kosten oder aber Formen von Rabatten abzubilden - diese können sowohl relativ (also prozentual) als auch absolut angegeben werden. Rabatte zeichnen sich einfach dadurch aus, daß die Kosten mit negativem Vorzeichen behaftet sind.
2. Mögliche „Surcharges“ bei der Preisermittlung für Auftrags-Positionen (→ om_GetPrices_Pu) werden aus den Tabellen „PersonSurcharges“ (für Personen) und „GroupSourcharges“ (für Gruppen) ermittelt. „Surcharges“ sind in diesem Kontext immer für bestimmte Elemente des Artikelbaums definiert, wobei diese sich immer auf die NACHFOLGER übertragen und nicht - wie bei den Artikeleigenschaften - auf die „ERBEN“ (d.h. hier wird die „Predecessor“-Spalte aus „TreeView“ herangezogen und nicht die „InheritsFrom“-Spalte) !
Es gelten hierbei folgende Prioritäten:
3. Es gibt seit Version 6.0.2 auch das Konzept von „Surcharges“ für einen gesamten Warenkorb bzw. Auftrag (→ om_GetTrolleySurcharges_Pu, om_GetOrderSurcharges_Ad). Dabei handelt es sich um Dinge wie Versandkosten, Skonti, Guthabenverrechnung oder ein (Gesamt-)Auftrags-Rabatt. Letzterer kann zwar auch in den meisten Fällen als Rabatt für alle Auftrags-Positionen abgebildet werden (s. 2.), aber bei absoluten Rabatten ist dies steuerlich nicht korrekt, falls unterschiedliche Steuersätze im Auftrag vorkommen !
HTTP-Method | GET |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | order management |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
LanguageID | 0 | ID einer Sprache, in der die Bezeichnung der Aufschlags-/Rabattart übersetzt werden soll (→ Rückgabespalte „TranslatedDescription“) | tinyint | 3.5.0 |
SurchargeTypeCategoryID | NULL | ID einer Kategorie von Rabatt-/Aufschlagsarten. Angeben, um nur die Aufschlags-/Rabattarrten dieser Kategorie zu erhalen. | tinyint | 6.0.2 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
SurchargeTypeID | ID einer Preis-Aufschlags/Rabatt-Art, wie z.B. „Versandkosten“, „Rabatt“, „Nachnahmegebühr“ o.ä. | smallint | 3.5.0 |
SurchargeTypeDescription | Bezeichnung der „SurchargeTypeID“ | varchar(100) | 3.5.0 |
TranslatedDescription | Übersetzung von „SurchargeTypeDescription“ in der durch „LanguageID“ angegebenen Sprache („NULL“, falls keine Übersetzung existiert) | varchar(100) | 3.5.0 |
Relative | Redundante Information (s. „IsAbsoluteValue“), aufgrund der Abwärtskompatibilität beibehalten. Gibt an, ob „Surcharge“-Werte absolut („0“) oder relativ/prozentual („1“) zu verstehen sind. | bit | 3.5.0 |
Brutto | Redundante Information (s. „IsAbsoluteValue“), aufgrund der Abwärtskompatibilität beibehalten. Gibt an, ob absolute „Surcharge“-Werte (nur relevant im Fall „Relative = 1“ also) Netto („0“) oder Brutto („1“) zu verstehen sind. | bit | 3.5.0 |
UnitID | ID einer Währungs-Einheit (wenn „IsAbsoluteValue > 0“) oder der Prozent-Einheit (wenn „IsAbsoluteValue = 0“ ist) - also die Einheit, in der die konkreten Rabatte/Aufschläge (wie z.B. in „PersonSurcharges“) zu verstehen sind | tinyint | 3.5.0 |
UnitSymbol | Symbol (im Regelfall der ISO-Code) der Einheit „UnitID“ | varchar(10) | 3.5.0 |
SurchargeTypeCategoryID | ID einer Kategorie von „Surcharges“, der „SurchargeTypeID“ zugeordnet ist Anmerkung : Es ist eine 1:1-Zuordnung, d.h. die „SurchargeTypeID“ muß einer Kategorie zugeordnet sein, sie kann aber auch nicht mehreren Kategorien zugeordnet sein ! | tinyint | 6.0.2 |
CategoryDescription | Bezeichnung von „SurchargeTypeCategoryID“ | varchar(100) | 6.0.2 |
CategoryPriorityNo | Gibt die Priorität der Kategorie „SurchargeTypeCategoryID“ innerhalb aller Kategorien an. Eine kleinere „PriorityNo“ bedeutet, daß „Surcharges“ dieser Kategorie früher angewendet werden. Besonderheit : „0“ bedeutet, daß die Kategorie ignoriert wird. | tinyint | 6.0.2 |
IsAbsoluteValue | Fasst „Relative“ und „Brutto“ in einer Einstellung zusammen, wie die Werte also zu verstehen sind : - „0“ : relativ (prozentual) - „1“ : absolute Netto-Werte - „2“ : absolute Brutto-Werte | tinyint | 6.0.2 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 5) |
---|---|---|
-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 |
-500 | Falsche Parameter | nur 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.0.2 | 2011-06-08 | Holger Wies / Stefan Goebel : 1. Anpassungen aufgrund diverser Änderungen an der Tabelle „SurchargeTypes“ 2. Neue Rückgabespalten aufgrund der neuen „SurchargeTypeCategories“ 3. Neuer Parameter „SurchargeTypeCategoryID“ |
4.0.14 | 2004-06-03 | 1. Aufruf der Prozeduren „_mi_StartProcedure“ und „_mi_FinishProcedure“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur |
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 GET 'http://<partner>-<project>.dstore.de/default/engine/om_GetSurchargeTypes_Ad'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/om_GetSurchargeTypes_Ad' | 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_GetSurchargeTypes_Ad', array( // 'LanguageID' => 0, // 'SurchargeTypeCategoryID' => 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_GetSurchargeTypes_Ad"> <Parameters> <!-- <Parameter Name="LanguageID">0</Parameter> --> <!-- <Parameter Name="SurchargeTypeCategoryID">NULL</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>