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-Method | GET |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | order management |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
UserID | NULL | 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 | smallint | 3.5.6 |
FromOrderStateID | NULL | 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). | tinyint | 3.5.6 |
ToOrderStateID | NULL | 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). | tinyint | 3.5.6 |
PaymentForShippingID | NULL | 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. | smallint | 3.5.6 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
UserID | ID 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. | smallint | 3.5.6 |
UserName | Name des Benutzers „UserID“ | varchar(50) | 3.5.6 |
FromOrderStateID | ID 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“). | tinyint | 3.5.6 |
FromOrderState | Bezeichnung des Status „FromOrderStateID“ | varchar(50) | 3.5.6 |
ToOrderStateID | ID 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“). | tinyint | 3.5.6 |
ToOrderState | Bezeichnung des Status „ToOrderStateID“ | varchar(50) | 3.5.6 |
PaymentForShippingID | ID 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. | smallint | 3.5.6 |
PaymentForShippingDescription | Bezeichnung der Zahlungsart-Versandart-Kombination „PaymentForShippingID“ | varchar(100) | 3.5.6 |
Allowed | Darf der Benutzer „UserID“ eine Auftragsposition (bei Zahlungsart-Versandart-Kombination „PaymentForShippingID“) vom Status „FromOrderStateID“ in den Status „ToOrderStateID“ setzen ? („0“ : Nein, „1“ : Ja) | bit | 3.5.6 |
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 5) |
---|---|---|
-569 | Der Benutzer hat kein Ausführungsrecht für die Prozedur | nur indirekt |
-567 | Die Prozedur darf z. Zt. nicht ausgeführt werden | nur indirekt |
-566 | Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden | nur indirekt |
-535 | Das Datum liegt nicht in der Vergangenheit | nur indirekt |
-530 | Der Wert ist nicht konvertierbar | nur indirekt |
-510 | Der Benutzer ist nicht registriert | nur indirekt |
-504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | nur indirekt |
-500 | Falsche Parameter | direkt und indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
4.0.14 | 2004-06-03 | 1. 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-17 | Erstmalig in dieser Version erstellt |
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
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 -
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();
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>