Gibt Aufschläge bzw. Rabatte (z.B. Versandkosten oder Auftrags-Rabatte) für einen Auftrag zurück.
Hinweis :
Im Ergebnis ist eine „Kopf“- und eine „Summen“-Zeile enthalten, die an „PositionNo = 0“ bzw. „PositionNo = 255“ zu
erkennen ist. „SurchargeTypeID“ enthält den Wert „-1“, in der „SurchargeTypeDescription“ steht „INPUT DATA“ bzw. „SUM“ und die beiden „Absolute…Surcharge“-Spalten enthalten …
einem Status der Kategorie „Surcharge-Neuberechnung“ sind
… und …
„CategoryDescription“ enthält in der Kopfzeile den Erläuterungs-Text „sum of order content“, in der Summenzeile steht
„sum of order content and surcharges“. Alle anderen Spalten enthalten „NULL“.
Anmerkung zum Parameter „SplitByTaxes“ :
Im Standard-Fall wird eine Aufschlüsselung nach Steuersätzen zurückgegeben, man kann aber auch „SplitByTaxes = 0“ angeben, dann erhält man pro „PositionNo“ genau EINEN Datensatz, wobei der „TaxesMultiplier“ dann „NULL“ ist und die „Absolute..Surcharge“-Spalten eine Summe enthalten (falls nur ein Steuersatz in einer Position vorhanden ist, kommt natürlich
derselbe Wert wie im Fall „SplitByTaxes = 1“ heraus).
Ist man sowohl an einer „Positions-Summe“ als auch einer Aufschlüsselung nach Steuersätzen interessiert, übergibt man „2“ für
„SplitByTaxes“ und erhält pro „PositionNo“ eine Zeile mit „NULL“ für „TaxesMultiplier“ (für die Summe) und soviel weitere
Datensätze wie es „TaxesMultiplier“ für die Position gibt.
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 |
---|---|---|---|---|
OrderID | ID eines Auftrags im „dStore“, zu der die „Surcharges“ ermittelt werden sollen | integer | 6.0.2 | |
SplitByTaxes | 1 | Soll das Ergebnis nach Steuersätzen aufgeschlüsselt werden ? - „0“ : Nein, nur eine Summe pro „Surcharge“-Position - „1“ : Ja - „2“ : Sowohl eine Summe als auch eine Aufschlüsselung | tinyint | 6.0.2 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
PositionNo | (Eindeutige) Positions-Nummer eines „OrderSurcharges“. Gibt die Reihenfolge an, in der die „Surcharges“ errechnet wurden. Hinweis : Es gibt einen Datensatz mit „0“ für eine „Kopf“- und „255“ für eine „Summen“-Zeile. | tinyint | 6.0.2 |
SurchargeTypeID | Die ID einer Aufschlags- bzw. Rabattart wie z.B. „Versandkosten“, „Rabatt“, „Nachnahmegebühr“ o.ä. | smallint | 6.0.2 |
SurchargeTypeDescription | Bezeichnung der „SurchargeTypeID“ | varchar(100) | 6.0.2 |
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 |
TaxesMultiplier | Mehrwertsteuer als „Multiplikator“ („AbsoluteNetSurcharge“ hiermit multipliziert ergibt „AbsoluteGrossSurcharge“). Hinweis : Wenn „0“ oder „2“ für „SplitByTaxes“ angegeben ist, kommt hier pro „PositionNo“ (auch) ein Datensatz mit „NULL“ zurück. | decimal(16,6) | 6.0.2 |
AbsoluteGrossSurcharge | BRUTTO-Abschlag oder -Aufschlag in der Währung des Auftrags (→ „CurrencyID“) | money | 6.0.2 |
AbsoluteNetSurcharge | NETTO-Abschlag oder -Aufschlag in der Währung des Auftrags (→ „CurrencyID“) | money | 6.0.2 |
CurrencyID | ID der Währungs-Einheit des Auftrags „OrderID“ | tinyint | 6.0.2 |
CurrencySymbol | Symbol (im Regelfall der ISO-Code) der (Währungs-)Einheit „CurrencyID“ | varchar(10) | 6.0.2 |
OriginalSurchargeValue | Information zur Informations-Art „AppliedSurchargeValue“ (ID „-1“), gibt also den konfigurierten „Surcharge“-Wert an (kann ja z.B. ein Prozent-Wert sein), der angewandt wurde. Anmerkung : Bei Aufträgen VOR 6.0.2 (Mai/Juni 2011) immer „NULL“. | decimal(16,6) | 6.0.2 |
OrigSurchValIsAbsolute | Gibt an, wie „OriginalSurchargeValue“ zu verstehen ist : „0“ : Es ist eine relative Angabe „1“ : Es ist eine absolute Währungs-Angabe in der Einheit „OrigSurchValUnitID“, und zwar ein NETTO-Wert „2“ : Wie „1“ nur als BRUTTO-Wert zu verstehen | tinyint | 6.0.2 |
OrigSurchValUnitID | ID der Einheit, in der „OriginalSurchargeValue“ angegeben ist. Im Fall „OrigSurchValIsAbsolute = 0“ ist dies immer die „Prozent“-Einheit, ansonsten eine Währungs-Einheit (die aber nicht unbedingt mit „CurrencyID“, der Währung des Auftrags, übereinstimmt). | tinyint | 6.0.2 |
OrigSurchValUnitSymbol | Symbol der Einheit „OrigSurchValUnitID“ (z.B. „%“ oder „EUR“) | varchar(10) | 6.0.2 |
AppliedOnGrossSum | Information zur Informations-Art „SurchargeAppliedOnGrossSum“ (ID „-2“). Gibt an, auf welchen Brutto-Betrag der „Surcharge“ angewandt wurde (insbesondere bei relativen „Surcharges“ relevant, um das Ergebnis nachvollziehen zu können). | money | 6.0.2 |
AppliedOnNetSum | Information zur Informations-Art „SurchargeAppliedOnGrossSum“ (ID „-2“). Gibt an, auf welchen Netto-Betrag der „Surcharge“ angewandt wurde (insbesondere bei relativen „Surcharges“ relevant, um das Ergebnis nachvollziehen zu können). | money | 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 |
-283 | Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu ermitteln | 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 | 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_GetOrderSurcharges_Ad?OrderID=<value>'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/om_GetOrderSurcharges_Ad?OrderID=<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_GetOrderSurcharges_Ad', array( 'OrderID' => <value>, // 'SplitByTaxes' => 1 ) ); $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_GetOrderSurcharges_Ad"> <Parameters> <Parameter Name="OrderID"><!-- integer value --></Parameter> <!-- <Parameter Name="SplitByTaxes">1</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>