Benutzer-Werkzeuge

Webseiten-Werkzeuge

Action disabled: source

engine:procedures:om_modifyshippingtypes_ad

om_ModifyShippingTypes_Ad

Löscht, erstellt oder ändert im „dStore“ definierte Versandarten.

Hinweise zu Einschränkungen/Erweiterungen, die seit 6.0.2 gelten :

1.) Allgemein gilt, daß Kosten/Rabatte nicht mehr 1:1 zu einer Versandart (alos in der Tabelle „ShippingTypes“) konfiguriert werden, sondern „Surcharges“ (genau ein „Surcharge“ oder keine/mehrere „Surcharges“) für einen Zeitraum in „ShippingTypeSurcharges“ definiert werden (s. om_ModifyShippingTypeSurch_Ad). Aus Gründen der Abwärtskompatibilität mußte aber für die Parameter „SurchargeTypeID“ und „Cost“ weiterhin eine „sinnvolle Funktionalität“ gewährleistet bleiben. Daher ergeben sich die folgenden weiteren Punkte…

2.) Wird „Cost“ angegeben, muss auch die „SurchargeTypeID“ übergeben werden und umgekehrt.

3.) Sollte es sich bei „SurchargeTypeID“ NICHT um einen „Surcharge“ aus der „SurchargeTypeCategory“ mit der ID „3“ („Versandkosten“) handeln, kommt es zu einem Fehler.

4.) Die Kosten („Cost“) können über diese Prozedur nur bearbeitet werden, wenn es keinen oder nur einen „ShippingTypeSurcharge“ zur angegebenenen „ShippingTypeID“ für den derzeitigen Zeitraum gibt. Sollte es mehr Datensätze geben oder bereits einen Datensatz zur „ShippingTypeID“, dessen „SurchargeTypeID“ aber von der hier übergebenen „SurchargeTypeID“ abweicht, kommt es auch zu einem Fehler („-500“).

5.) Es können grundsätzlich auch „Surcharges“ (zur „SurchargeTypeID“) konfiguriert sein, die in der ZUKUNFT beginnen. Auch diese werden (sofern die in 2. - 4. geschilderten Bedingungen erfüllt sind) durch „Cost“ überschrieben, d.h. die/der durch „Cost“ angegebene(n) Kosten bzw. Rabatt gilt/gelten ab jetzt bis „unendlich“ !

6.) „SurchargeTypeID“ kann nun auch mit „NULL“ belegt werden, was bei Neu-Anlage einer Versandart bedeutet, daß KEINE Kosten oder Rabatte mit ihr verbunden sind (vorher mußte in solch einem Fall „Cost“ mit „0“ belegt werden). Im Ändern-Fall heißt die Angabe von „NULL“ für „SurchargeTypeID“, daß an den bestehenden Kosten/Rabatten NICHTS geändert werden soll.

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
ShippingTypeIDNULL ID einer Versandart. „NULL“ angeben, um einen neue Versandart anzulegen.
tinyint3.5.0
ShippingTypeDescription Bezeichnung der „ShipingTypeID“ in der Standardsprache („Settings“-Eintrag zum Schlüssel „DefaultLanguageID“)
varchar(100)3.5.0
RegionID ID einer Region, die bestimmte Länder („Countries“) zusammenfaßt. om_GetPaymentAndShipping_Pu bietet die Versandart „ShippingTypeID“ nur dann an, wenn die Person, an die die Ware geliefert werden soll, aus einem Land kommt, das dieser Region angehört.
smallint3.5.0
BruttoSumFrom om_GetPaymentAndShipping_Pu bietet die Versandart „ShippingTypeID“ nur dann an, wenn der Brutto-Bestellwert (in der Einheit „CurrencyID“) mindestens so hoch wie dieser Betrag ist
money3.5.0
BruttoSumTo om_GetPaymentAndShipping_Pu bietet die Versandart „ShippingTypeID“ nur dann an, wenn der Brutto-Bestellwert (in der Einheit „CurrencyID“) höchstens so hoch wie dieser Betrag ist
money3.5.0
CurrencyID ID einer Währung, in der „BruttoSumFrom“ und „BruttoSumTo“ angegeben sind
tinyint3.5.0
SurchargeTypeID ID einer Preis-Aufschlags/Rabatt-Art, die bei der Versandart „ShippingTypeID“ anfällt. Kann auch „NULL“ sein (wenn keine Kosten/Rabatte entstehen bzw. gewährt werden).
smallint3.5.0
Cost Anfallende Kosten, wenn „ShippingTypeID“ gewählt wird. Hier steht entweder ein Prozent-Wert, wenn zur Aufschlagsart „SurchargeTypeID“ für „Relative“ der Wert „1“ hinterlegt ist, oder ein Betrag x (in der zur „SurchargeTypeID“ definierten Einheit !)
decimal(16,6)3.5.0
DeleteShippingType0 „0“ : Eine neue Versandart anlegen bzw. die vorhandene „ShippingTypeID“ ändern
„1“ : Die Versandart „ShippingTypeID“ soll gelöscht werden
bit3.5.0
Active1 „0“ : „ShippingTypeID“ soll nicht mehr verwendet werden (kann aber nicht gelöscht werden, da die Versandart noch referenziert wird)
„1“ : Die Versandart ist „aktiv“, d.h. wird aktuell und in Zukunft verwendet
bit3.5.20
PredefBillContentDescription'Versandkosten' Falls angegeben, wird bei Neu-Anlage auch ein entsprechend (via „TableID“ und „TableKeyID“) referenzierter neuer Datensatz in „PredefinedBillContent“ (s.a. om_ModifyPredefBillContent_Ad) angelegt - mit der hier angegebenen Bezeichnung
varchar(100)5.5.0

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 abgebrochennur indirekt
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur 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.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.2 2011-06-081. „Cost“ wird nur noch berücksichtigt, wenn „SurchargeTypeID“ auch angegeben ist
2. Es ist nun möglich, KEINE Kosten zu hinterlegen
3. Die Kosten können nur unter bestimmten Bedingungen bearbeitet werden
5.5.0 2008-01-071. Neuer Parameter „PredefBillContentDescription“
2. Ab jetzt gibt es „-500“, wenn eine Versandart aktualisiert/gelöscht werden soll, die es gar nicht gibt
3. Ausgabe via „print“ im Fehler-Fall „-500“ (mit Informationen über die Ursache)
5.0.2 2005-04-29„ShippingTypes“ hat eine neue Spalte „CreatedAtDateAndTime“, die ab jetzt natürlich gepflegt wird
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.20 2002-07-22
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_ModifyShippingTypes_Ad?ShippingTypeDescription=<value>&RegionID=<value>&BruttoSumFrom=<value>&BruttoSumTo=<value>&CurrencyID=<value>&SurchargeTypeID=<value>&Cost=<value>'

Mit xmllint 5) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/om_ModifyShippingTypes_Ad?ShippingTypeDescription=<value>&RegionID=<value>&BruttoSumFrom=<value>&BruttoSumTo=<value>&CurrencyID=<value>&SurchargeTypeID=<value>&Cost=<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_ModifyShippingTypes_Ad',
		array(
			'ShippingTypeDescription' => '<value>',
			'RegionID' => <value>,
			'BruttoSumFrom' => <value>,
			'BruttoSumTo' => <value>,
			'CurrencyID' => <value>,
			'SurchargeTypeID' => <value>,
			'Cost' => <value>,
			// 'ShippingTypeID' => NULL,
			// 'DeleteShippingType' => 0,
			// 'Active' => 1,
			// 'PredefBillContentDescription' => 'Versandkosten'
		)
);
 
$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_ModifyShippingTypes_Ad">
			<Parameters>
				<Parameter Name="ShippingTypeDescription"><!-- varchar value --></Parameter>
				<Parameter Name="RegionID"><!-- smallint value --></Parameter>
				<Parameter Name="BruttoSumFrom"><!-- money value --></Parameter>
				<Parameter Name="BruttoSumTo"><!-- money value --></Parameter>
				<Parameter Name="CurrencyID"><!-- tinyint value --></Parameter>
				<Parameter Name="SurchargeTypeID"><!-- smallint value --></Parameter>
				<Parameter Name="Cost"><!-- decimal value --></Parameter>
				<!-- <Parameter Name="ShippingTypeID">NULL</Parameter> -->
				<!-- <Parameter Name="DeleteShippingType">0</Parameter> -->
				<!-- <Parameter Name="Active">1</Parameter> -->
				<!-- <Parameter Name="PredefBillContentDescription">'Versandkosten'</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_modifyshippingtypes_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)