Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_modifycampordersurchdisc_ad

om_ModifyCampOrderSurchDisc_Ad

Prozedur, um einen für Verkaufs-Aktionen zu verwendenden Benefit des Typs „Rabatt auf Zusatzkosten (eines Auftrags)„
anlegen/ändern/löschen zu können.

Hinweise :
1.) Sofern „BenefitID“ einer AKTIVEN Verkaufs-Aktion zugeordnet ist, kann NICHTS mehr verändert (also auch Löschen ist nicht möglich) werden (ggf. gibt es dann also einen Fehler) !
2.) Das Löschen eines Benefits schlägt auch dann fehl, wenn er einer INAKTIVEN Verkaufs-Aktion zugeordnet ist. Übergibt man aber den Wert „2“ für „DeleteBenefit“, werden evtl. vorhandene Datensätze zur „BenefitID“ in „CampaignOrderSurchDiscounts“ vorher gelöscht (was man normalerweise mit om_ModifyCampaignBenefits_Ad macht).

HTTP-MethodPOST
HTTP-AuthOptional
Aliasom_ModifyCampaignOrderSurchargeDiscounts_Ad
Tags
Engine-Kategorieorder management
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.8 (2015-08-21)

Parameter

ApplyToSurchargeTypeID ID des „Surcharges“, auf den ein Rabatt vergeben werden soll. Erlaubt sind nur „Surcharges“, die einer der folgenden Kategorien zugeordnet sind :
- „Versandkosten“ („SurchargeTypeCategoryID = 3“)
- „Zahlungskosten“ („SurchargeTypeCategoryID = 4“)
smallint6.5.0
DiscountSurchargeTypeID Definiert zusammen mit „DiscountValue“ den (relativen) Rabatt, der auf durch „ApplyToSurchargeTypeID“ verursachte Zusatz-Kosten vergeben werden soll. Die ID muß der Kategorie „Relative Rabatte“ („SurchargeTypeCategoryID = 1“) angehören !
smallint6.5.0
DiscountValue Definiert zusammen mit „DiscountSurchargeTypeID“ den (relativen) Rabatt, der auf durch „ApplyToSurchargeTypeID“ verursachte Zusatz-Kosten vergeben werden soll. Der Wert muß “> 0“ und „⇐ 100“ sein !
decimal(16,6)6.5.0
DeleteBenefit0 Wird nur beachtet, wenn „BenefitID“ angegeben ist.
- „0“ : Benefit ändern
- „1“ : Benefit löschen - schlägt fehl, wenn „BenefitID“ einer inaktiven Aktion zugeor. ist
- „2“ : Benefit löschen selbst wenn „BenefitID“ einer inaktiven Aktion zugeor. ist
tinyint6.5.0

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

BenefitIDID eines „Rabatt auf Zusatzkosten“-Benefits. „NULL“ angeben, um einen neuen Benefit anzulegen (die neue ID kann man dann diesem Ausgabeparameter entnehmen).

Mögliche Return-Codes

Code Beschreibung Quelle 1)
-1213Der Benefit kann nicht gelöscht werden, da er einer inaktiven Campaign zugeordnet istnur direkt
-1211Der Benefit kann nicht geändert/gelöscht werden, da er in einer aktiven Campaign verwendet wirdnur direkt
-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-21Fehler in „print“-Ausgabe in einem „-500“-Fall behoben
7.0.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
6.5.0 2012-09-17Erstmalig 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 POST  'http://<partner>-<project>.dstore.de/default/engine/om_ModifyCampOrderSurchDisc_Ad?ApplyToSurchargeTypeID=<value>&DiscountSurchargeTypeID=<value>&DiscountValue=<value>'

Mit xmllint 2) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/om_ModifyCampOrderSurchDisc_Ad?ApplyToSurchargeTypeID=<value>&DiscountSurchargeTypeID=<value>&DiscountValue=<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_ModifyCampOrderSurchDisc_Ad',
		array(
			'ApplyToSurchargeTypeID' => <value>,
			'DiscountSurchargeTypeID' => <value>,
			'DiscountValue' => <value>,
			// 'DeleteBenefit' => 0
		)
);
 
$service->execute($request);
 
			$xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument();
			$ResultSet = $xml_result->getRowsAsArray();
 
$OutputParams = $xml_result->getOutputParametersAsArray();
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_ModifyCampOrderSurchDisc_Ad">
			<Parameters>
				<Parameter Name="ApplyToSurchargeTypeID"><!-- smallint value --></Parameter>
				<Parameter Name="DiscountSurchargeTypeID"><!-- smallint value --></Parameter>
				<Parameter Name="DiscountValue"><!-- decimal value --></Parameter>
				<!-- <Parameter Name="DeleteBenefit">0</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
2)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/om_modifycampordersurchdisc_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)