Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_modifysurchargetypes_ad

om_ModifySurchargeTypes_Ad

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-MethodPOST
HTTP-AuthOptional
Tags
Engine-Kategorieconfigurations
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
SurchargeTypeIDNULL ID einer Preis-Aufschlags/Rabatt-Art, wie z.B. „Versandkosten“, „Rabatt“, „Nachnahmegebühr“ o.ä. „NULL“ angeben, um eine neue Rabatt-/Aufschlagsart anzulegen.
smallint3.5.0
SurchargeTypeDescription Bezeichnung der „SurchargeTypeID“
varchar(100)3.5.0
Relative1 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 !
bit3.5.0
Brutto1 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.
bit3.5.0
UnitID ID einer Währungs-Einheit, wenn „Relative = 0“ ist oder die ID der Prozent-Einheit („ UnitSymbol = '%' “), wenn „Relative = 1“ ist
tinyint3.5.0
DeleteSurchargeType0 „1“ angeben, um die bestehende „SurchargeTypeID“ zu löschen. ACHTUNG : Es gibt evtl. einen Trigger-Fehler, wenn die ID noch referenziert wird !
bit3.5.0
CategoryIDNULL 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 !
tinyint6.0.2

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 4)
-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 abgebrochendirekt und indirekt
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur indirekt
-500Falsche Parameterdirekt und indirekt
-380Mindestens eine SurchargeType-Einstellung kann wegen bestehender Daten nicht übernommen werdennur direkt

XML-Schema

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

Historie

7.0.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
6.5.4 2013-04-29Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung
6.0.3 2011-09-07Ab 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-081. Neuer Parameter „CategoryID“
2. Interne Anpassungen aufgrund von Taellen-Änderungen rund um „Surcharges“
5.1.10 2007-03-121. 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-031. 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-23Erstmalig 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_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 -
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_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();
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_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>
1)
Pflichtparameter sind unterstrichen
4)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
5)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/om_modifysurchargetypes_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)