Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_getorderstaterules_ad

om_GetOrderStateRules_Ad

Gibt die definierten Regeln für das Wechseln von Auftrags-(Positions-)Status aus (also : welcher Benutzer darf eine Auftragsposition unter welcher Zahlart-Versandart-Kombination von welchem Status in welchen anderen Status wechseln - oder eben nicht…).

Anmerkung :
Die Regeln werden in der Tabelle „OrderStateRules“ gespeichert, wobei es folgende Besonderheiten gibt :
1. Die „UserID“ mit dem Wert „-1“ („Global“, siehe mi_GetUserInfo_Ad) bedeutet, daß die Regel für alle Benutzer (aus „UserInfo“) gilt
2. Der Wert „-1“ für die „PaymentForShippingID“ bedeutet, daß die Regel unabhängig der Zahlungs-Versandart-Kombination ist - anders ausgedrückt : für alle Kombinationen gilt
Es kann dadurch natürlich dazu kommen, daß sich manche Regeln „überschneiden“. Daher gelten folgende Prioritäten :
1. Ein Eintrag mit einer konkreten „UserID“ überschreibt in jedem Fall die Regel mit der globalen „UserID“ („-1“)
2. Wenn die „UserID“ zweier Regeln gleich ist, dann hat der Eintrag mit „konkreter PaymentForShippingID“ (ID größer „-1“) Priorität gegenüber der Regel, die für alle „PaymentForShippingID“s („ID = -1“) gilt

HTTP-MethodGET
HTTP-AuthOptional
Tags
Engine-Kategorieorder management
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
UserIDNULL ID eines „dStore“-Benutzers, der in „UserInfo“ registriert ist (siehe mi_GetUserInfo_Ad). Falls angegeben, werden nur die Regeln, die für diesen Nutzer definiert sind, zurückgegeben
smallint3.5.6
FromOrderStateIDNULL ID eines Auftrags-Status (besser : Status einer Auftrags-Position !). Wenn angegeben, ermittelt die Prozedur nur die Regeln für Status-Wechsel VON diesem Status (in irgendeinen anderen).
tinyint3.5.6
ToOrderStateIDNULL ID eines Auftrags-Status (besser : Status einer Auftrags-Position !). Wenn angegeben, ermittelt die Prozedur nur die Regeln für Status-Wechsel IN diesen Status (von irgendeinem anderen).
tinyint3.5.6
PaymentForShippingIDNULL ID einer Zahlungsart-Versandart-Kombination, nach der optional gefiltert werden kann. Hintergrund : Ob ein Wechsel von einem Status in einen anderen vorgenommen werden darf, kann von der Zahlungsart-Versandart-Kombination abhängen.
smallint3.5.6

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
UserIDID eines „dStore“-Benutzers (der in „UserInfo“ registriert ist) für den die Regel definiert wurde. „-1“ bedeutet, daß die Regel für alle Benutzer gilt.
smallint3.5.6
UserNameName des Benutzers „UserID“
varchar(50)3.5.6
FromOrderStateIDID eines Auftrags(-Positions)-Status. Gibt an, daß der Benutzer „UserID“ eine Auftragsposition (bei Zahlungsart-Versandart-Kombination „PaymentForShippingID“) aus diesem Status in den Status „ToOrderStateID“ umsetzen darf oder nicht (je nach „Allowed“).
tinyint3.5.6
FromOrderStateBezeichnung des Status „FromOrderStateID“
varchar(50)3.5.6
ToOrderStateIDID eines Auftrags(-Positions)-Status. Gibt an, daß der Benutzer „UserID“ eine Auftragsposition (bei Zahlungsart-Versandart-Kombination „PaymentForShippingID“) vom Status „FromOrderStateID“ in diesen Status setzen darf oder nicht (je nach „Allowed“).
tinyint3.5.6
ToOrderStateBezeichnung des Status „ToOrderStateID“
varchar(50)3.5.6
PaymentForShippingIDID einer Zahlungsart-Versandart-Kombination. D.h. die Regel gilt nur für Positionen von Aufträgen, für die diese Versand- und Zahlart ausgewählt wurde. „-1“ bedeutet, daß die Regel unabhängig von Versand- und Zahlart gültig ist.
smallint3.5.6
PaymentForShippingDescriptionBezeichnung der Zahlungsart-Versandart-Kombination „PaymentForShippingID“
varchar(100)3.5.6
AllowedDarf der Benutzer „UserID“ eine Auftragsposition (bei Zahlungsart-Versandart-Kombination „PaymentForShippingID“) vom Status „FromOrderStateID“ in den Status „ToOrderStateID“ setzen ? („0“ : Nein, „1“ : Ja)
bit3.5.6

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 5)
-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.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
4.0.14 2004-06-031. Aufruf der Prozeduren „_mi_StartProcedure“ und „_mi_FinishProcedure“
2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur
3.5.6 2001-04-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 GET  'http://<partner>-<project>.dstore.de/default/engine/om_GetOrderStateRules_Ad'

Mit xmllint 6) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/om_GetOrderStateRules_Ad' | 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_GetOrderStateRules_Ad',
		array(
			// 'UserID' => NULL,
			// 'FromOrderStateID' => NULL,
			// 'ToOrderStateID' => NULL,
			// 'PaymentForShippingID' => 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_GetOrderStateRules_Ad">
			<Parameters>
				<!-- <Parameter Name="UserID">NULL</Parameter> -->
				<!-- <Parameter Name="FromOrderStateID">NULL</Parameter> -->
				<!-- <Parameter Name="ToOrderStateID">NULL</Parameter> -->
				<!-- <Parameter Name="PaymentForShippingID">NULL</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
5)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
6)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/om_getorderstaterules_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)