Benutzer-Werkzeuge

Webseiten-Werkzeuge

Action disabled: source

engine:procedures:om_modifyordercontent_ad

om_ModifyOrderContent_Ad

Prozedur zum Ändern von Auftrags-Positionen.

Anmerkung zum Ändern der „OrderNo“ :
Man kann die „Fremd-Auftragsnummer“ ändern, allerdings nur dann, wenn die gleichnamige Spalte zur entsprechenden Position noch „NULL“ ist !
Als weitere Voraussetzung muß die „OrderNo“ des zugehörigen Auftrags (Spalte in „Orders“) „NULL“ sein !
Dieses Verhalten kann man über entsprechende Konfiguration in „Settings“ zum Schlüssel „AllowChangeOfOrderNo“ ändern.

Anmerkungen zu den Parametern „Quantity“, „NetSum“ und „GrossSum“ :

Mit Hilfe dieser Parameter kann nachträglich die Menge („Quantity“) einer Position sowie ihre Netto- bzw. Bruttosumme geändert werden. Zu beachten ist aber :
1.) Nur wenn „OrderContentID“ angegeben und „OrderNo = NULL“ ist, werden die weiteren Parameter „Quantity“, „NetSum“ und „GrossSum“ beachtet.
2.) Es werden IMMER ALLE DREI Werte gesetzt, d.h. man muß in diesem Fall auch alle Parameter angeben.
3.) Eine Mengenänderung auf einen Wert von „0“ oder kleiner ist nicht erlaubt (→ „-500“) !
4.) Die Angaben „NetSum“ und „GrossSum“ werden natürlich als Angaben in der Währung des zugehörigen Auftrags verstanden.
5.) Wenn die drei Parameter zwar angegeben sind, aber die übergebenen Werte KEINE Änderung darstellen, gibt es „-500“ !

HTTP-MethodPOST
HTTP-AuthOptional
Tags
Engine-Kategorieorder management
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
OrderContentID ID einer Auftrags-Position. Wird „NULL“ angegeben, erwartet die Prozedur „OrderContentID“s in „tempdb.dbo.OneID“ (diese müssen allerdings zum gleichen Auftrag gehören, sonst gibt es den Fehler „-500“ !).
integer4.0.2
OrderNo (Fremd-)Auftragsnummer, die zur Position „OrderContentID“ bzw. zu den in „tempdb.dbo.OneID“ angegebenen Positionen gespeichert werden soll
varchar(50)4.0.2
QuantityNULL Wird nur beachtet, wenn „OrderContentID“ angegeben und „OrderNo = NULL“ ist ! Ändert die Menge der Position „OrderContentID“ auf den hierdurch angegebenen Wert. ACHTUNG : Falls angegeben, müssen auch „NetSum“ und „GrossSum“ angegeben werden !
integer5.0.2
NetSumNULL Wird nur beachtet, wenn „OrderContentID“ angegeben und „OrderNo = NULL“ ist ! Ändert die Netto-Summ der Position „OrderContentID“ auf den hierdurch angegebenen Wert. ACHTUNG : Falls angegeben, müssen auch „Quantity“ und „GrossSum“ angegeben werden !
money5.0.2
GrossSumNULL Wird nur beachtet, wenn „OrderContentID“ angegeben und „OrderNo = NULL“ ist ! Ändert die Brutto-Summ der Position „OrderContentID“ auf den hierdurch angegebenen Wert. ACHTUNG : Falls angegeben, müssen auch „Quantity“ und „NetSum“ angegeben werden !
money5.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)
-621Fehlender oder falscher Eintrag in PersonTypeSettingsnur indirekt
-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
-550Fehlender oder falscher Eintrag in Settingsnur 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
-503Fehlerhafte Daten in einer Tabelle - genauere Fehlermeldung auf der Standardausgabenur indirekt
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur indirekt
-500Falsche Parameterdirekt und indirekt
-372Die OrderNo kann nicht mehr geändert 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.4 2011-10-21Die Spalten „PaymentCost“ und „ShippingCost“ in der „Orders“-Tabelle sind weggefallen
6.0.3 2011-09-07Versehentliche Änderung bzgl. „PaymentCost“ und „ShippingCost“ beim Einfügen in „OrdersHistory“, die aber wieder
rückgängig gemacht wurde [es hat sich also nichts geändert]
5.5.2 2008-10-211. Implementierung des neuen „Settings“-Eintrags „AllowChangeOfOrderNo“
2. Anpassung des Quellcodes an den aktuellen Standard
5.0.3 2005-06-071. Umrechnungsproblem im Fall einer Änderung von Netto-/Bruttosumme falls die Währung von der Standardwährung abweicht
2. Die intern verwendete Prozedur „_if_st_CorrectStatistics“ wurde durch „_if__st_CorrectStatistics“ ersetzt
5.0.2 2005-04-29Neue Parameter „Quantity“, „NetSum“ und „GrossSum“
4.0.12 2004-04-301. „Orders“, „OrderContent“ : „LastEditedFromUserID“ umben. in „LastEditedByUserID“; neu : „LastEditedAtDateAndTime“
2. „_mi_StartProcedure“, „_mi_FinishProcedure“, „_mi_ChooseParamValueSeperator“
3. „set transaction isolation level 1“, „set rowcount 0“
4.0.2 2003-06-11Erstmalig 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_ModifyOrderContent_Ad?OrderContentID=<value>&OrderNo=<value>'

Mit xmllint 5) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/om_ModifyOrderContent_Ad?OrderContentID=<value>&OrderNo=<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_ModifyOrderContent_Ad',
		array(
			'OrderContentID' => <value>,
			'OrderNo' => '<value>',
			// 'Quantity' => NULL,
			// 'NetSum' => NULL,
			// 'GrossSum' => 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_ModifyOrderContent_Ad">
			<Parameters>
				<Parameter Name="OrderContentID"><!-- integer value --></Parameter>
				<Parameter Name="OrderNo"><!-- varchar value --></Parameter>
				<!-- <Parameter Name="Quantity">NULL</Parameter> -->
				<!-- <Parameter Name="NetSum">NULL</Parameter> -->
				<!-- <Parameter Name="GrossSum">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_modifyordercontent_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)