Schnittstellen-Prozedur zu om_ChangeOrderState_Ad, die lediglich gewährleistet, daß eine identifizierte Person auch nur ihre eigenen Aufträge ändern kann.
Hinweis, falls IDs über tempdb.dbo.OneID„ übergeben wurden :
Die Tabelle „tempdb.dbo.OneID“ wird evtl. (falls das „AvailabilityManagement“ aktiviert ist) zur internen Verarbeitung benötigt, sod daß die übergebene Daten nach dem Aufruf evtl. verloren sind !
HTTP-Method | POST |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | order management |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 3.5.8 (2001-05-19) |
PersonIdentificationValues | Liste (durch '¶' getrennt) von Werten, die den Auftraggeber 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.7 | |
PersonTypeID | 1 | 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.7 |
CaseSensitive | 1 | „0“ : Der Vergleich der Identifizierungsdaten erfolgt unabhängig von der Groß- und Kleinschreibung „1“ : Die Identifizierungsdaten werden EXAKT verglichen | bit | 3.5.7 |
OrderContentIDs | List von IDs (durch '¶' getrennt) - entweder IDs von Aufträgen oder von Auftragspositionen (je nach „IsOrderID“). Wenn „NULL“ angegeben ist, erwartet die Prozedur IDs in „tempdb.dbo.OneID“. | varchar(255) | 3.5.7 | |
IsOrderID | 0 | „0“ : Bei den übergebenen IDs handelt es sich um „OrderContentID“s, also Auftragspositionen „1“ : Es wurden „OrderID“s (also Aufträge) übergeben. In diesem Fall wird die Status-Änderung für ALLE Positionen dieser Aufträge durchgeführt | bit | 3.5.7 |
OrderStateID | ID eines Auftrags-(Positions-)Status, den die angegebenen Aufträge bzw. die Auftragspositionen bekommen sollen | tinyint | 3.5.7 | |
SelectDeniedOrders | 0 | Wenn die Prozedur den Status-Wechsel für einige Positionen abweist oder keine „PaymentForShippingID“ aus Versand- und Zahlart des/der Auftrags/Aufträge ermittelt werden kann, sollen die abgewiesenen Positionen dann ausgegeben werden ? | bit | 3.5.7 |
Spaltenname | Beschreibung | SQL-Datentyp1) | ab Version |
---|---|---|---|
OrderID | ID des zur „OrderContentID“ zugehörigen Auftrags | integer | 3.5.6 |
OrderContentID | ID einer Auftragsposition für die die Status-Änderung abgewiesen wurde | integer | 3.5.6 |
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 2) |
---|---|---|
-1323 | Die Person besitzt kein Konto zum angegebenen Typ | nur indirekt |
-1322 | Transaktion kann nicht durchgeführt weden, da der Status des Kontos dies nicht erlaubt | nur indirekt |
-1321 | Transaktion kann nicht durchgeführt weden, da das Konto keine ausreichende Deckung aufweist | nur indirekt |
-1204 | Fehlender oder falscher Eintrag in CampaignSettings | nur indirekt |
-660 | Identifikation fehlgeschlagen | nur indirekt |
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-599 | Lizenz ist ungültig oder abgelaufen | nur indirekt |
-572 | Die Prozedur darf nur innerhalb einer Transaktion ausgeführt werden | 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 |
-540 | Falsches Format | 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 |
-507 | Fehlerhafte Implementierung einer Prozedur - Daten in einem Ausgabeparameter sind ungültig | nur indirekt |
-506 | Fehlerhafte Implementierung einer Prozedur - Daten in der Output-Schnittstelle sind ungültig | nur indirekt |
-504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | nur indirekt |
-503 | Fehlerhafte Daten in einer Tabelle - genauere Fehlermeldung auf der Standardausgabe | nur indirekt |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-501 | Der Parameter „TableID“ und/oder der Parameter „TableKeyID“ ist ungültig | nur indirekt |
-500 | Falsche Parameter | nur indirekt |
-398 | Einige OrderSurchargeInformation sind ungültig | nur indirekt |
-390 | Einige OrderContentInformation sind ungültig | nur indirekt |
-385 | Die Brutto-Summe aus Warenwert plus Surcharges unterschreitet den vorgegebenen Mindestwert | nur indirekt |
-348 | Status-Änderung konnte aufgrund paralleler Änderungen nicht durchgeführt werden | nur indirekt |
-347 | Ungültige „OrderStateID“ (da für interne Zwecke reserviert) | nur indirekt |
-341 | Der Orderstatus kann nur von einem Administrator oder vom Auftraggeber geändert werden | nur direkt |
-340 | Fehlende Berechtigung zum Ändern des Orderstatus | nur indirekt |
-333 | Ein benötigter Steuersatz ist nicht bekannt oder konnte nicht ermittelt werden | nur indirekt |
-330 | Es kann keine oder keine eindeutige PaymentForShippingID zu einer Order ermittelt werden | nur indirekt |
-320 | Der Bestand eines Produktes darf nicht unter 0 sinken | nur indirekt |
-285 | Der Benutzer hat keine Berechtigung, vergangene Eigenschaften zu diesem(n) Merkmal(en) zu ändern | nur indirekt |
-284 | Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu modifizieren | nur indirekt |
-283 | Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu ermitteln | nur indirekt |
-245 | Einige Artikel-Eigenschaften sind ungültig | nur indirekt |
-242 | Relative Änderung nicht möglich, da es eine Eigenschaft gibt, deren Gültigkeit in d. Zukunft beginnt | nur indirekt |
-241 | Änderung(en) der Eigenschaft(en) konnte(n) aufgrund paralleler Änderungen nicht durchgeführt werden | nur indirekt |
-221 | Es konnte kein rekursives Merkmal mit der Standardwährung als Einheit ermittelt werden | nur indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
3.5.8 | 2001-05-19 | |
3.5.7 | 2001-05-04 |
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_ChangeOrderState_Pu?PersonIdentificationValues=<value>&OrderContentIDs=<value>&OrderStateID=<value>'
Mit xmllint 3) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/om_ChangeOrderState_Pu?PersonIdentificationValues=<value>&OrderContentIDs=<value>&OrderStateID=<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_ChangeOrderState_Pu', array( 'PersonIdentificationValues' => '<value>', 'OrderContentIDs' => '<value>', 'OrderStateID' => <value>, // 'PersonTypeID' => 1, // 'CaseSensitive' => 1, // 'IsOrderID' => 0, // 'SelectDeniedOrders' => 0 ) ); $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_ChangeOrderState_Pu"> <Parameters> <Parameter Name="PersonIdentificationValues"><!-- varchar value --></Parameter> <Parameter Name="OrderContentIDs"><!-- varchar value --></Parameter> <Parameter Name="OrderStateID"><!-- tinyint value --></Parameter> <!-- <Parameter Name="PersonTypeID">1</Parameter> --> <!-- <Parameter Name="CaseSensitive">1</Parameter> --> <!-- <Parameter Name="IsOrderID">0</Parameter> --> <!-- <Parameter Name="SelectDeniedOrders">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>