Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_getcampaignsurcharges_ad

om_GetCampaignSurcharges_Ad

Gibt die Rabatt-Benefits einer gegebenen Verkaufs-Aktion aus.

Anmerkung zur Rückgabespalte „DerivedFromNodeCharacID“ :

Falls hier „1“ steht, handelt es sich bei „SurchargeValue“ um die ID eines Artikel-Merkmals das dynamisch zur Laufzeit den Rabatt-Wert bestimmt (eben aufgrund der Eigenschaft des für die Verkaufs-Aktion in Frage kommenden Artikels zu diesem Merkmal).
Hinweis : Im Falle eines Währungs-Merkmals ergibt sich der dynamische (absolute) Rabatt durch die Differenz des (Standard-)Artikelpreises zur Preis-Eigenschaft zum angegebenen Merkmal.

HTTP-MethodGET
HTTP-AuthOptional
Tags
Engine-Kategorieorder management
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.8 (2015-08-21)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
CampaignID ID einer Verkaufs-Aktion. Falls angegeben, werden die zu dieser Aktion definierten Rabatt-Benefits ermittelt. „NULL“ für diesen Parameter UND für „BenefitID“ anzugeben ist nur im Fall „GetUnusedBenefits = 1“ erlaubt !
integer6.0.8
BenefitIDNULL ID eines Rabatt-Benefits. Wird nur beachtet, wenn „GetUnusedBenefits = 0“ UND „CampaignID = NULL“ ist. Falls angegeben, wird nur die Definition dieses Rabatts (der mehreren Verkaufs-Aktionen zugewiesen sein kann) ermittelt.
integer6.0.8
GetUnusedBenefits0 „1“ angeben, um an alle Rabatt-Benefits zu kommen, die noch gar keiner Verkaufs-Aktion zugeordnet wurden (durch om_ModifyCampaignSurcharges_Ad) - „CampaignID“ und „BenefitID“ werden dann nicht beachtet
bit6.0.8

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
BenefitIDID eines Rabatt-Benefits für Verkaufs-Aktionen - natürlich identisch mit „BenefitID“ wenn angegeben
integer6.0.8
SurchargeTypeIDID einer Rabatt-/Aufschlags-Art
smallint6.0.8
SurchargeTypeDescriptionBezeichnung der „SurchargeTypeID“
varchar(100)6.0.8
SurchargeValueDer Rabatt-Wert (immer ein negativer Wert, Hintergrund : allgemeine „Surcharges“-Logik, bei der Rabatte negativ und Aufschläge positiv sind) oder die ID eines Personen- bzw. Artikel-Merkmals, das den Rabatt-Wert dynamisch zur Laufzeit bestimmt
decimal(16,6)6.0.8
SurchargeIsAbsoluteValueGibt an, wie „SurchargeValue“ zu verstehen ist :
„0“ : relative (d.h. prozentuale) Angabe
„1“ : absolute Währungs-Angabe in der Einheit „SurchargeValueUnitID“, und zwar ein NETTO-Wert
„2“ : wie „1“, nur als BRUTTO-Wert zu verstehen
tinyint6.0.8
SurchargeValueUnitIDID der Einheit, in der „SurchargeValue“ angegeben ist. Im Fall „SurchargeIsAbsoluteValue = 0“ ist dies immer die „Prozent“-Einheit, ansonsten eine Währungs-Einheit.
tinyint6.0.8
SurchargeValueUnitSymbolSymbol der Einheit „SurchargeValueUnitID“ (z.B. „%“ oder „EUR“)
varchar(10)6.0.8
ItemConditionIDID einer Artikel-Bedingung (mögliche Werte : s. im_GetItemConditions_Ad). Falls NICHT „NULL“ bedeutet dies, daß der Rabatt auf alle Positionen angewandt wird, die ein Artikel-Element enthalten, das die hierdurch gegebene Bedingung erfüllt.
integer6.0.8
ApplyToOptionGibt an wie/auf was der Rabatt anzuwenden ist :
- „0“ : auf Positionen mit einem „ItemConditionID“ erfüllenden Artikel
- „1“ : auf die „erweiterte Artikel-Beding.“ erfüllende Positionen
- „2“ : alle Positionen
- „3“ : Gesamt-Rabatt („OrderSurcharge“)
tinyint6.0.8
DerivedFromPersonCharacIDSteht hier „1“, handelt es sich bei „SurchargeValue“ um die ID eines Personen-Merkmals, das dynamisch zur Laufzeit den Rabatt-Wert aufgrund der (Prozent-)Eigenschaft zu diesem Merkmal (der bei der Preis-Ermittlung angegebenen Person) bestimmt
bit7.0.8
DerivedFromNodeCharacIDSteht hier „1“, handelt es sich bei „SurchargeValue“ um die ID eines Artikel-Merkmals, das dynamisch zur Laufzeit den Rabatt-Wert aufgrund der (Prozent-/Währungs-)Eigenschaft (eines in Frage kommenden Artikels) zu diesem Merkmal bestimmt (s. Beschreibung)
bit7.0.8

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 5)
-569Der Benutzer hat kein Ausführungsrecht für die Prozedurnur indirekt
-567Die Prozedur darf z. Zt. nicht ausgeführt werdennur indirekt
-566Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werdennur indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-500Falsche Parameterdirekt und indirekt

XML-Schema

Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.

Historie

7.0.8 2015-08-21Neue Rückgabespalten „DerivedFromPersonCharacID“ und „DerivedFromNodeCharacID“
7.0.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
7.0.4 2014-03-19Kleine Kosmetik-Korrektur : Bei einigen Code-Zeilen war am Ende ein CR-Zeichen, was wir entfernt haben
6.5.0 2012-09-17Kleinen Doku-Fehler behoben
6.0.8 2012-06-29Erstmalig 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:

cURL

Unformatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/om_GetCampaignSurcharges_Ad?CampaignID=<value>'

Mit xmllint 6) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/om_GetCampaignSurcharges_Ad?CampaignID=<value>' | xmllint --format -
dStore_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'),
	'om_GetCampaignSurcharges_Ad',
		array(
			'CampaignID' => <value>,
			// 'BenefitID' => NULL,
			// 'GetUnusedBenefits' => 0
		)
);
 
$service->execute($request);
 
			$xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument();
			$ResultSet = $xml_result->getRowsAsArray();
engine/execute

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_GetCampaignSurcharges_Ad">
			<Parameters>
				<Parameter Name="CampaignID"><!-- integer value --></Parameter>
				<!-- <Parameter Name="BenefitID">NULL</Parameter> -->
				<!-- <Parameter Name="GetUnusedBenefits">0</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
5)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
6)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/om_getcampaignsurcharges_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)