Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_modifyorderstates_ad

om_ModifyOrderStates_Ad

Prozedur zur Verwaltung der Auftrags-/Bestell-(Positions-)Status.

Anmerkung : Es sind nur „OrderStateID“s (→ „OrderStateID“) erlaubt, die kleiner als „250“ sind, da alle IDs ab „250“ für interne Zwecke reserviert sind !

Anmerkungen zum Parameter „ChangeOrderStateTriggerID“ :

1.) Im Standard wird ein „TRI-Trigger“ konfiguriert, und zwar mit der ID „-1“, der zur Ausführung der Prozedur „_ac_ChangeOrderState“ führt - daher der „default“-Wert.

2.) Der Status mit der ID „0“ ist ein Sonderfall, weil dies der Status bei Neu-Anlage eines Auftrags ist. Entsprechend gibt es hierfür auch einen „TRI-Trigger“ (mit der ID „-2“), der zur Ausführung der Prozedur „_ac_NewOrder“ führt. Falls also „OrderStateID = 0“ gilt, kommt es zu einem Fehler, sofern „ChangeOrderStateTriggerID“ mit dem default-Wert („-1“) übergeben wird, weil dieser Trigger NICHT für die Auftrags-Anlage gedacht ist (s. Rückgabespalte „TriggerTypeID“ von mi_GetTRITrigger_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
OrderStateID ID eines Auftrags-(Positions-)Status
tinyint3.5.7
OrderState Bezeichnung des Auftrags-(Positions-)Status
varchar(50)3.5.7
PublicDescription Beschreibung des Status „OrderStateID“ für den Kunden in der Standardsprache („Settings“-Eintrag zum Schlüssel „DefaultLanguageID“)
varchar(255)3.5.7
InsertUpdateOrDelete0 „0“ : Es wird ein neuer Status mit der ID „OrderStateID“ angelegt („OrderState“ und „PublicDescription“ dürfen beide „NULL“ sein)
„1“ : „OrderState“ bzw. „PublicDescription“ zur „OrderStateID“ werden geändert
„2“ : „OrderStateID“ wird gelöscht
tinyint3.5.7
Active1 „0“ : Der Status „OrderStateID“ soll nicht mehr verwendet werden (kann aber nicht gelöscht werden, da er noch referenziert wird)
„1“ : Der Status ist aktiv, d.h. er wird aktuell und in Zukunft verwendet
bit3.5.21
ChangeOrderStateTriggerID-1 ID eines „TRI-Trigger“, der beim Wechsel in den Status „OrderStateID“ bzw. bei Auftrags-Anlage, falls „OrderStateID = 0“ ist, ausgelöst werden soll (mögliche Werte : s. om_GetChangeOStateTrigger_Ad).
smallint7.0.3

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
-347Ungültige „OrderStateID“ (da für interne Zwecke reserviert)nur direkt
-342Der Orderstatus kann nicht gelöscht werden, da es noch Auftragspositionen in diesem Status gibtnur 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]
7.0.3 2013-12-13Neuer Parameter „ChangeOrderStateTriggerID“
6.5.4 2013-04-29Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung
5.1.2 2006-06-26Berücksichtigung, daß ab 5.1.2 die „OrderStateID“s größer „249“ für interne Zwecke reserviert sind
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.22 2002-08-30
3.5.21 2002-08-06
3.5.7 2001-05-04Erstmalig 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_ModifyOrderStates_Ad?OrderStateID=<value>&OrderState=<value>&PublicDescription=<value>'

Mit xmllint 5) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/om_ModifyOrderStates_Ad?OrderStateID=<value>&OrderState=<value>&PublicDescription=<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_ModifyOrderStates_Ad',
		array(
			'OrderStateID' => <value>,
			'OrderState' => '<value>',
			'PublicDescription' => '<value>',
			// 'InsertUpdateOrDelete' => 0,
			// 'Active' => 1,
			// 'ChangeOrderStateTriggerID' => -1
		)
);
 
$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_ModifyOrderStates_Ad">
			<Parameters>
				<Parameter Name="OrderStateID"><!-- tinyint value --></Parameter>
				<Parameter Name="OrderState"><!-- varchar value --></Parameter>
				<Parameter Name="PublicDescription"><!-- varchar value --></Parameter>
				<!-- <Parameter Name="InsertUpdateOrDelete">0</Parameter> -->
				<!-- <Parameter Name="Active">1</Parameter> -->
				<!-- <Parameter Name="ChangeOrderStateTriggerID">-1</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_modifyorderstates_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)