Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_modifyorderinforules_ad

om_ModifyOrderInfoRules_Ad

Verwaltet die konfigurierten Regeln hinsichtlich der Speicherung von „OrderInformation“ (Informationen zu Aufträgen).

Diese sind pro Informations-Art („InformationTypeID“) konfigurierbar und sind zum einem vom Benutzer („UserID“), der die Änderung vornehmen möchte, abhängig, sowie von den Status („OrderStateID“s), in denen sich die Auftragspositionen eines Auftrags befinden.
Die Abhängigkeit vom Status ist so zu verstehen : Damit die Änderung (Anlegen/Aktualisieren/Löschen) durchgeführt werden darf, müssen sich ALLE Positionen des Auftrags in einem Status befinden, für den die Änderung erlaubt ist.

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 einem Auftrag GAR KEINE Änderung vornehmen darf, wenn der Auftrag eine Position besitzt, die in diesem Status ist !
Anders formuliert : Keine passende Regel ist gleichbedeutend mit einer passenden Regel, bei der „ModificationAllowed = 0“ ist !

HTTP-MethodPOST
HTTP-AuthOptional
Aliasom_ModifyOrderInformationRules_Ad
Tags
Engine-Kategorieconfigurations
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
InformationTypeID ID eines Informations-Typs für Aufträge, für den die Regel gilt. Der spezielle Wert “-32768„ bedeutet, daß die Regel unabhängig der Informations-Art anzuwenden ist.
smallint5.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.
smallint5.1.2
OrderStateID ID eines Auftrags-(Positions-)Status. Der Benutzer „UserID“ darf zur Informations-Art „InformationTypeID“ die durch „ModificationAllowed“ angegebenen Aktionen für einen Auftrag durchführen, wenn sich die Positionen in diesem Status befinden.
tinyint5.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)
tinyint5.1.2

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
-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]
5.1.2 2006-06-26Erstmalig 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_ModifyOrderInfoRules_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_ModifyOrderInfoRules_Ad?InformationTypeID=<value>&UserID=<value>&OrderStateID=<value>&ModificationAllowed=<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_ModifyOrderInfoRules_Ad',
		array(
			'InformationTypeID' => <value>,
			'UserID' => <value>,
			'OrderStateID' => <value>,
			'ModificationAllowed' => <value>
		)
);
 
$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_ModifyOrderInfoRules_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>
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_modifyorderinforules_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)