Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_getordercontentinforules_ad

om_GetOrderContentInfoRules_Ad

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 :

  • Alle „ModificationAllowed“-Werte sind größer als „0“
  • „UserID“/„UserName“ enthalten immer den gleichen Wert (nämlich die zugehörigen Werte des Benutzers, der dieser Prozedur hier aufruft)
  • „OrderStateID“ enthält natürlich immer den Wert „GetMyRulesForOrderStateID“
HTTP-MethodGET
HTTP-AuthOptional
Aliasom_GetOrderContentInformationRules_Ad
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 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.
smallint5.1.2
InformationTypeIDNULL 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.
smallint5.1.2
OrderStateIDNULL Wird nur beachtet, wenn „GetMyRulesForOrderStateID = NULL“ ist ! ID eines Auftrags-(Positions-)Status. Wenn angegeben, werden nur Regeln für diesen Status zurückgegeben.
tinyint5.1.2
GetMyRulesForOrderStateIDNULL 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.
tinyint5.1.2

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
InformationTypeIDID eines Typs von Informationen, die zu Auftrags-Positionen hinterlegt werden können (mögliche Werte : s. om_GetOrderContentInfoTypes_Ad)
smallint5.1.2
InformationTypeBezeichnung der „InformationTypeID“
varchar(100)5.1.2
UserIDID 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.
smallint5.1.2
UserNameName des Benutzers „UserID“
varchar(50)5.1.2
OrderStateIDID 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.
tinyint5.1.2
OrderStateBezeichnung 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
tinyint5.1.2
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • InformationType (aufsteigend)
  • UserName (aufsteigend)
  • OrderState (aufsteigend)

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]
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 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 -
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_GetOrderContentInfoRules_Ad',
		array(
			// 'UserID' => NULL,
			// 'InformationTypeID' => NULL,
			// 'OrderStateID' => NULL,
			// 'GetMyRulesForOrderStateID' => 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_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>
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_getordercontentinforules_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)