Man erhält die konfigurierten Regeln bzgl. der Verwaltung von „OrderContentInformation“ (Informationen zu Auftrags-Positionen).
Diese sind pro Informations-Art („InformationTypeID“) konfigurierbar und sind zum einem vom Benutzer („UserID“), der die Änderung vornehmen möchte, abhängig, sowie vom Status („OrderStateID“), in dem sich die jeweilige Auftragsposition befindet.
Hinweise zur Reihenfolge der Beachtung dieser Regeln :
1. Regeln zu einem bestimmten Benutzer („UserID“) werden immer „globalen“ Regeln „(„UserID = -1“) vorgezogen, und zwar unabhängig von „InformationTypeID“ und „OrderStateID“ !
2. Eine Regel zu einer gegebenen „InformationTypeID“ hat eine höhere Priorität als die „allgemeine“ ID mit dem Wert
“-32768„ - unabhängig von „OrderStateID“.
3. Eine Regel zu einer gegebenen „OrderStateID“ schließlich hat Vorrang vor dem „allgemeinen“ Status (Wert „255“).
4. Ist für eine „Benutzer-Informationsart-Status-Kombination“ (also zu einer gegebenen „UserID“, „InformationTypeID“ und „OrderStateID“) KEINE passende Regel vorhanden, bedeutet dies implizit, daß der Benutzer für diese Informationsart an einer Auftragsposition GAR KEINE Änderung vornehmen darf, wenn sie sich in diesem Status befindet !
Anders formuliert : Keine passende Regel ist gleichbedeutend mit einer passenden Regel, bei der in der Rückgabemenge „ModificationAllowed = 0“ ist !
Anmerkungen zum Parameter „GetMyRulesForOrderStateID“ :
Um einem Benutzer bei einer bestimmten Auftragsposition anzeigen zu können, welche Informations-Arten noch geändert werden dürfen (und was geändert werden darf), übergibt man im Parameter „GetMyRulesForOrderStateID“ die ID des Status, in dem sich die Position befindet. Die anderen Parameter werden in diesem Fall ignoriert ! Hinweise zur Rückgabemenge in diesem Fall :
HTTP-Method | GET |
HTTP-Auth | Optional |
Alias | om_GetOrderContentInformationRules_Ad |
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 | Wird nur beachtet, wenn „GetMyRulesForOrderStateID = NULL“ ist ! ID eines „dStore“-Benutzers (s. mi_GetUserInfo_Ad). Wird dieser Parameter angegeben, werden nur Regeln ermittelt, die für diesen Benutzer (d.h. zu dieser ID) konfiguriert sind. | smallint | 5.1.2 |
InformationTypeID | NULL | Wird nur beachtet, wenn „GetMyRulesForOrderStateID = NULL“ ist ! ID eines Informations-Typs für Auftrags-Positionen. Wenn angegeben, werden nur Regeln für diesen Informations-Typ zurückgegeben. | smallint | 5.1.2 |
OrderStateID | NULL | Wird nur beachtet, wenn „GetMyRulesForOrderStateID = NULL“ ist ! ID eines Auftrags-(Positions-)Status. Wenn angegeben, werden nur Regeln für diesen Status zurückgegeben. | tinyint | 5.1.2 |
GetMyRulesForOrderStateID | NULL | ID eines Auftrags-Positions-Status. Falls angegeben, werden die Informations-Arten ermittelt, die der Benutzer, der diese Prozedur hier aufruft, noch (und wie) ändern darf. Alle anderen Parameter werden ignoriert. | tinyint | 5.1.2 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
InformationTypeID | ID eines Typs von Informationen, die zu Auftrags-Positionen hinterlegt werden können (mögliche Werte : s. om_GetOrderContentInfoTypes_Ad) | smallint | 5.1.2 |
InformationType | Bezeichnung der „InformationTypeID“ | varchar(100) | 5.1.2 |
UserID | ID eines „dStore“-Benutzers. Dieser darf die durch „ModificationAllowed“ angegebenen Arten von Änderungen durchführen (oder nicht), und zwar an Informationen zu Auftrags-Positionen, die sich im Status „OrderStateID“ befinden. | smallint | 5.1.2 |
UserName | Name des Benutzers „UserID“ | varchar(50) | 5.1.2 |
OrderStateID | ID eines Auftrags-(Positions-)Status. Der Benutzer „UserID“ darf die durch „ModificationAllowed“ angegebenen Arten von Änderungen an Informationen des Typs „InformationTypeID“ durchführen, sofern sich die Position in diesem Status befindet. | tinyint | 5.1.2 |
OrderState | Bezeichnung des Status „OrderStateID“ | varchar(50) | 5.1.2 |
ModificationAllowed | „Summe“ der Arten von Änderungen, die durchgeführt werden dürfen : - „1“ : NEU hinzufügen - „2“ : ÄNDERN - „4“ : LÖSCHEN ⇒ „0“ bedeutet : KEINERLEI Änderungen | tinyint | 5.1.2 |
(parameterunabängige Sortierung)
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] |
5.1.2 | 2006-06-26 | 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_GetOrderContentInfoRules_Ad'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/om_GetOrderContentInfoRules_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_GetOrderContentInfoRules_Ad', array( // 'UserID' => NULL, // 'InformationTypeID' => NULL, // 'OrderStateID' => NULL, // 'GetMyRulesForOrderStateID' => 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_GetOrderContentInfoRules_Ad"> <Parameters> <!-- <Parameter Name="UserID">NULL</Parameter> --> <!-- <Parameter Name="InformationTypeID">NULL</Parameter> --> <!-- <Parameter Name="OrderStateID">NULL</Parameter> --> <!-- <Parameter Name="GetMyRulesForOrderStateID">NULL</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>