Verwaltet die konfigurierten Regeln hinsichtlich der Speicherung 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.
Anmerkung zum Parameter „ModificationAllowed“ :
Um eine Regel zu löschen, gibt man die entsprechende „InformationTypeID-UserID-OrderStateID“-Kombination an (durch die gleichnamigen Parameter) und setzt „ModificationAllowed“ auf „NULL“ !
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 „ModificationAllowed = 0“ ist !
HTTP-Method | POST |
HTTP-Auth | Optional |
Alias | om_ModifyOrderContentInformationRules_Ad |
Tags | |
Engine-Kategorie | configurations |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
InformationTypeID | ID eines Informations-Typs für Auftrags-Positionen, für den die Regel gilt. Der spezielle Wert “-32768„ bedeutet, daß die Regel unabhängig der Informations-Art anzuwenden ist. | smallint | 5.1.2 | |
UserID | ID eines „dStore“-Benutzers, der in „UserInfo“ registriert ist (siehe mi_GetUserInfo_Ad). Wird “-1„ angegeben, gilt die Regel für alle Benutzer. | smallint | 5.1.2 | |
OrderStateID | ID eines Auftrags-(Positions-)Status. Der Benutzer „UserID“ darf zur Informations-Art „InformationTypeID“ die durch „ModificationAllowed“ angegebenen Aktionen für eine Auftrags-Position durchführen, wenn sie sich in diesem Status befindet. | tinyint | 5.1.2 | |
ModificationAllowed | Gibt die erlaubten Aktionen an (s. a. Beschreibung ). Es ist die Summe von : - „1“ : Informationen dürfen NEU hinzugefügt werden - „2“ : Informationen dürfen GEÄNDERT werden - „4“ : Informationen dürfen GELÖSCHT werden („0“ : KEINE Änderungen erlaubt) | tinyint | 5.1.2 |
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 4) |
---|---|---|
-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 POST 'http://<partner>-<project>.dstore.de/default/engine/om_ModifyOrderContInfoRules_Ad?InformationTypeID=<value>&UserID=<value>&OrderStateID=<value>&ModificationAllowed=<value>'
Mit xmllint 5) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/om_ModifyOrderContInfoRules_Ad?InformationTypeID=<value>&UserID=<value>&OrderStateID=<value>&ModificationAllowed=<value>' | 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_ModifyOrderContInfoRules_Ad', array( 'InformationTypeID' => <value>, 'UserID' => <value>, 'OrderStateID' => <value>, 'ModificationAllowed' => <value> ) ); $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_ModifyOrderContInfoRules_Ad"> <Parameters> <Parameter Name="InformationTypeID"><!-- smallint value --></Parameter> <Parameter Name="UserID"><!-- smallint value --></Parameter> <Parameter Name="OrderStateID"><!-- tinyint value --></Parameter> <Parameter Name="ModificationAllowed"><!-- tinyint value --></Parameter> </Parameters> </Procedure> </Batch> </ListOfBatches>