Mit dieser Prozedur kann ein Auftraggeber zusätzliche Informationen zu seinem Auftrag verwalten.
Hinweis :
Seit Version 5.1.2 ist der „Settings“-Eintrag zum Schlüssel „OrderStatesAllowingOrderInformationsModification“ hinfällig. Die Berechtigungen zur Verwaltung von „OrderInformation“ werden durch die Tabelle „OrderInformationRules“ abgebildet. Siehe hierzu : om_GetOrderInformationRules_Ad !
HTTP-Method | POST |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | order management |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
PersonIdentificationValues | Liste von Werten, die den Auftraggeber (von „OrderID“) identifizieren. Diese Werte müssen Eigenschaften zu den Merkmal-IDs sein, die in „PersonTypeSettings“ zur „PersonTypeID“ zum Schlüssel „PersonIdentificationIDs“ hinterlegt sind. | varchar(255) | 3.5.5 | |
PersonTypeID | ID des Personen-Typs dem die zu identifizierende Person angehört. Dieser muß bei einer Identifizierung immer mit angegeben werden, da die Merkmale zur Identifizierung pro Personentyp variieren können. | tinyint | 3.5.5 | |
UniqueID | Eindeutige ID eines Besuchers, die der zu identifizierenden Person aktuell zugeordnet ist. Falls die Identifizierungsdaten zur Person in „SessionManagement“ (zu dieser „UniqueID“) gespeichert sind, darf „PersonIdentificationValues“ auch „NULL“ sein. | varchar(50) | 3.5.5 | |
OrderID | ID eines Auftrags. Wenn die identifizierte Person nicht der Auftraggeber ist, gibt es einen Fehler ! | integer | 3.5.5 | |
InformationTypeID | ID eines Informations-Typs (für Aufträge), auf das sich „Information“ bezieht | smallint | 3.5.5 | |
Information | Die Information, die zum Auftrag „OrderID“ hinterlegt werden soll. Zum Löschen einer bestehenden Information gibt man '' an. | varchar(1000) | 3.5.5 | |
Country | 'german' | Gibt an, in welchem Format Datums-Informationen angegeben sind (Groß-/Kleinschreibung wird nicht beachtet) : 'german', 'germany' : Tag-Monat-Jahr 'english', 'england' : Monat-Tag-Jahr | varchar(10) | 5.1.2 |
SeparatorInIdentVals | '¶' | Gibt an, durch welches Zeichen die Werte in „PersonIdentificationValues“ getrennt sind | varchar(4) | 5.5.0 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
OrderID | ID eines Auftrags, der übergeben wurde (derzeit also „OrderID“) | integer | 5.1.2 |
InformationTypeID | ID eines Informationstyps, der übergeben wurde (derzeit also „InformationTypeID“) | smallint | 5.1.2 |
ErrorCode | Welcher Fehler trat beim Versuch, einen Wert zur „InformationTypeID“ zur „OrderID“ zu setzen/löschen auf ? - „1“ : Der Status einer Auftrags-Position verbietet dies (s. om_GetOrderInformationRules_Ad) - „2“ : Das Format der Information ist ungültig | tinyint | 5.1.2 |
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 5) |
---|---|---|
-660 | Identifikation fehlgeschlagen | nur indirekt |
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-602 | Zur defaultUniqueID („VisitorID = -2“) können keinerlei Daten gespeichert oder verändert werden | nur indirekt |
-599 | Lizenz ist ungültig oder abgelaufen | nur indirekt |
-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 |
-550 | Fehlender oder falscher Eintrag in Settings | 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 |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-500 | Falsche Parameter | direkt und indirekt |
-391 | Einige OrderInformation sind ungültig | nur indirekt |
-345 | Informationen zum Auftrag können nur vom Auftraggeber oder von einem Administrator verwaltet werden | nur direkt |
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] |
7.0.5 | 2014-05-26 | Datentyp des Parameters „Information“ erweitert |
7.0.0 | 2013-06-04 | 1. Datentyp des Parameter „SeparatorInIdentVals“ [wg. UTF-8 Unterstützung] verlängert [von „1“ auf „4“] 2. Interne Anpassung wg. UTF8-Unterstützung |
6.5.0 | 2012-09-17 | Holger Wies : Datentyp des Parameters „PersonTypeID“ von „smallint“ auf „tinyint“ korrigiert |
5.5.0 | 2008-01-07 | 1. Neuer Parameter „SeparatorInIdentVals“ 2. Ausgabe an die Standard-Ausgabe [via „print“] im Fehler-Fall „-500“, die nähere Informationen über die Ursache enthält |
5.1.10 | 2007-03-12 | Fehler bzgl. der Initialisierung einer internen Variablen, dadurch kam es zu „-500“ ! |
5.1.2 | 2006-06-26 | 1. Interne Umstellung auf „_om_UpdateOrderInformation“ 2. „Settings“-Eintrag „OrderStatesAllowingOrderInformationsModification“ fällt weg 3. Informationen können jetzt auch gelöscht werden 4. Neue Rückgabemenge 5. Neuer Parameter „Country“ |
4.0.12 | 2004-04-30 | 1. „_mi_StartProcedure“, „_mi_FinishProcedure“, „_mi_ChooseParamValueSeperator“ 2. „set transaction isolation level 1“, „set rowcount 0“ zu Beginn 3. Pflege der neuen Spalten von „OrderInformation“ 4. Pflege der „History“-Tabelle für „OrderInformation“ |
4.0.0 | 2003-04-03 | Sicherheitslücke geschlossen : Die Identifizierte Person muß natürlich der Auftraggeber sein ! |
3.5.5 | 2001-03-30 | 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_ModifyOrderInformation_Pu?PersonIdentificationValues=<value>&PersonTypeID=<value>&UniqueID=<value>&OrderID=<value>&InformationTypeID=<value>&Information=<value>'
Mit xmllint 6) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/om_ModifyOrderInformation_Pu?PersonIdentificationValues=<value>&PersonTypeID=<value>&UniqueID=<value>&OrderID=<value>&InformationTypeID=<value>&Information=<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_ModifyOrderInformation_Pu', array( 'PersonIdentificationValues' => '<value>', 'PersonTypeID' => <value>, 'UniqueID' => '<value>', 'OrderID' => <value>, 'InformationTypeID' => <value>, 'Information' => '<value>', // 'Country' => 'german', // 'SeparatorInIdentVals' => '¶' ) ); $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_ModifyOrderInformation_Pu"> <Parameters> <Parameter Name="PersonIdentificationValues"><!-- varchar value --></Parameter> <Parameter Name="PersonTypeID"><!-- tinyint value --></Parameter> <Parameter Name="UniqueID"><!-- varchar value --></Parameter> <Parameter Name="OrderID"><!-- integer value --></Parameter> <Parameter Name="InformationTypeID"><!-- smallint value --></Parameter> <Parameter Name="Information"><!-- varchar value --></Parameter> <!-- <Parameter Name="Country">'german'</Parameter> --> <!-- <Parameter Name="SeparatorInIdentVals">'¶'</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>