Benutzer-Werkzeuge

Webseiten-Werkzeuge

Action disabled: source

engine:procedures:om_getorderinformationrules_ad

om_GetOrderInformationRules_Ad

Man erhält die konfigurierten Regeln bzgl. der Verwaltung 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.

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 in der Rückgabemenge „ModificationAllowed = 0“ ist !

Anmerkungen zum Parameter „GetMyRulesForOrderID“ :

Um einem Benutzer bei einem bestimmten Auftrag anzeigen zu können, welche Informations-Arten noch geändert werden dürfen (und was geändert werden darf), kann man im Parameter „GetMyRulesForOrderID“ die ID des besagten Auftrags übergeben. 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“ und „OrderState“ sind natürlich „NULL“, da ja die Status an der Auftragsposition hängen, und bei einem Auftrag Positionen in unterschiedlichen Status sein können.“
HTTP-MethodGET
HTTP-AuthOptional
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 „GetMyRulesForOrderID = 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 „GetMyRulesForOrderID = NULL“ ist ! ID eines Informations-Typs für Aufträge. Wenn angegeben, werden nur Regeln für diesen Informations-Typ zurückgegeben.
smallint5.1.2
OrderStateIDNULL Wird nur beachtet, wenn „GetMyRulesForOrderID = NULL“ ist ! ID eines Auftrags-(Positions-)Status. Wenn angegeben, werden nur Regeln für diesen Status zurückgegeben.
tinyint5.1.2
GetMyRulesForOrderIDNULL ID eines Auftrags. 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.
integer5.1.2

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
InformationTypeIDID eines Typs von Informationen, die zu Aufträgen hinterlegt werden können (mögliche Werte : s. om_GetOrderInformationTypes_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 zu Informationen des Typs „InformationTypeID“ durchführen, wenn sich die Positionen des Auftrags 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 zu Informationen des Typs „InformationTypeID“ durchführen, wenn sich die Positionen des Auftrags in diesem Status befinden.
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 abgebrochendirekt und 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]
6.5.2 2013-02-26Fehler : Bei der Überprüfung, ob eine „varchar“-Variable „voll“ ist, muß die Funktion „datalength“ [nicht
„char_length“] verwendet werden
5.5.1 2008-07-291. Interne Umstellung bei der Belegung von Variablen, die eine Liste von Werten enthalten, damit die Prozedur auch für ASE 15.0.2 läuft
2. Quellcode-Änderungen gemäß aktuellem Standard
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_GetOrderInformationRules_Ad'

Mit xmllint 6) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/om_GetOrderInformationRules_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_GetOrderInformationRules_Ad',
		array(
			// 'UserID' => NULL,
			// 'InformationTypeID' => NULL,
			// 'OrderStateID' => NULL,
			// 'GetMyRulesForOrderID' => 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_GetOrderInformationRules_Ad">
			<Parameters>
				<!-- <Parameter Name="UserID">NULL</Parameter> -->
				<!-- <Parameter Name="InformationTypeID">NULL</Parameter> -->
				<!-- <Parameter Name="OrderStateID">NULL</Parameter> -->
				<!-- <Parameter Name="GetMyRulesForOrderID">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_getorderinformationrules_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)