Prozedur, um zu einem Auftrag Informationen zum Auftraggeber und zur Lieferanschrift anzeigen zu können.
Mit „Informationen“ sind Eigenschaften zu bestimmten Merkmalen gemeint. Welche Merkmale berücksichtigt werden, muß in „PersonTypeSettings“ zum Schlüssel „PersonOutputCharacteristicIDsForOrderLists“ (pro „PersonTypeID“) hinterlegt werden. Ist dieser nicht vorhanden, gibt es übrigens KEINEN Fehler, sondern für die Person des entsprechenden Typs werden dann eben keine Datensätze zurückgegeben !
Ist der Schlüssel aber konfiguriert, sind in der Ergebnismenge auch ALLE konfigurierten Merkmale vorhanden (und nicht nur die, zu denen die Person auch Eigenschaften besitzt).
Anmerkungen zu den Parametern „DateAndTime“ und „GetActualProperties“ :
1. Da es vorkommen kann, daß eine Person seit Aufgabe einer Bestellung z.B. ihre Adreßdaten geändert hat, kann über den Parameter „DateAndTime“ angegeben werden, zu welchem Zeitpunkt die Auswertung der Personen-Eigenschaften erfolgen soll. Da im Regelfall der Zeitpunkt der Bestellung interessiert, wird bei Angabe von „NULL“ der Bestellzeitpunkt automatisch von der Prozedur für diesen Parameter angenommen.
2. Wird zu dem Datum „DateAndTime“ kein Eintrag in der Historie gefunden (weil z.B. für das entsprechende Merkmal die Pflege einer Historie erst gar nicht konfiguriert ist - siehe dazu pm_ModifyPersonCharacsInCat_Ad), wird der aktuell gültige Wert ausgegeben.
3. Die aktuelle (also zum Zeitpunkt des Aufrufs der Prozedur) Eigenschaft kann jedoch auch in der Spalte „ActualValue“ ausgegeben werden. Dazu ist für den Parameter „GetActualProperties“ der Wert „1“ zu übergeben. In diesem Fall werden aber in der „Value“-Rückgabespalte auch tatsächlich nur die Werte ausgegeben, die zum Zeitpunkt „DateAndTime“ für die Person eingetragen waren, d.h. dort könnte u.U. „NULL“ ausgegeben werden !
HTTP-Method | GET |
HTTP-Auth | Optional |
Alias | om_GetPersonInformationForOrders_Ad |
Tags | |
Engine-Kategorie | order management |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
OrderID | ID eines Auftrags | integer | 3.5.4 | |
LanguageID | 0 | ID einer Sprache, in der die Bezeichnung der Merkmale (→ Rückgabespalte „Description“) ausgegeben werden sollen („0“ oder „NULL“ bedeutet, daß die Standardsprache gewählt wird) | tinyint | 3.5.4 |
DateAndTime | NULL | Zeitpunkt, zu dem die Eigenschaften des Auftraggebers bzw. der Person, an die die Ware geliefert werden soll, ermittelt werden sollen. Bei Angabe von „NULL“ wird der Zeitpunkt des Auftrag-Eingangs gewählt. (siehe Beschreibung) | datetime | 4.0.0 |
GetActualProperties | 0 | „1“ angeben, damit die Rückgabespalte „ActualValue“ nicht mit „NULL“ belegt wird, sondern mit der aktuell gültigen Eigenschaft der jeweiligen Person zum jeweiligen Merkmal (siehe Beschreibung) | bit | 4.0.0 |
DateFormat | 'english' | Gibt an, in welchem Format Datums-Eigenschaften ausgegeben werden sollen (dabei wird Groß- und Kleinschreibung NICHT beachtet) : * 'german' o. 'germany' : Tag-Monat-Jahr * 'english' o. 'england' : Monat-Tag-Jahr | varchar(10) | 4.0.5 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
PersonID | ID des Auftraggebers bzw. der Person, an die die Ware geliefert werden soll (je nach „InvoiceOrDeliveryAdress“) | integer | 3.5.4 |
PersonTypeID | ID des Personen-Typs von „PersonID“ | tinyint | 3.5.4 |
PersonCharacteristicID | ID eines Personen-Merkmals, das in „PersonTypeSettings“ zum Schlüssel „PersonOutputCharacteristicIDsForOrderLists>“ zur „PersonTypeID“ definiert ist | smallint | 3.5.4 |
Description | Bezeichnung des Merkmals „PersonCharacteristicID“. Falls eine „LanguageID“ („<> 0“ bzw. ungleich der „DefaultLanguageID“ aus „Settings“) angegeben wurde, wird eine entsprechende Übersetzung (sofern vorhanden, sonst die Standardbezeichnung) ausgegeben. | varchar(100) | 3.5.4 |
Value | Eigenschaft von „PersonID“ zum Merkmal „PersonCharacteristicID“ zum Zeitpunkt „DateAndTime“ bzw. zum aktuellen Zeitpunkt falls „GetActualProperties = 0“ und zu „PersonCharacteristicID“ keine Historie gepflegt wird. (siehe Beschreibung) | varchar(100) | 3.5.4 |
ValueRestrictedByPattern | Was enthält „(Actual)Value“ (möglicherw. wg. Zugr.beschr. nur einen Teil) ? - NULL : den vollst. Wert - „#left(<n>)#“ : nur die ERSTEN n Zeichen - „#right(<n>)#“ : nur die LETZTEN n Zeichen Anmerkung : „n = 0“ möglich, „(Actual)Value“ ist dann „NULL“ | varchar(100) | 6.5.4 |
InvoiceOrDeliveryAdress | „ia“ : Für „Invoice Address“, d.h. bei „PersonID“ handelt es sich um den Auftraggeber „da“ : Für „Delivery Address“, also ist „PersonID“ die Lieferanschrift ACHTUNG : Aufgrund der Abwärtskompatibilität enthält „Description“ ein Präfix „ia_“ oder „da_“ ! | char | 3.5.11 |
SortNo | Bestimmt die Reihenfolge von „PersonCharacteristicID“ innerhalb aller Merkmale | smallint | 3.5.11 |
ActualValue | Immer „NULL“, falls „GetActualProperties = 0“ übergeben wurde. Ansonsten steht hier die AKTUELLE (zum Zeitpunkt des Aufrufs der Prozedur) Eigenschaft der Person „PersonID“ zum Merkmal „PersonCharacteristicID“. | varchar(100) | 4.0.0 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 5) |
---|---|---|
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | 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 |
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] |
6.5.4 | 2013-04-29 | 1. Beachtung der neuen Zugriffs-Beschränkungen für Merkmale [⇒ Doku-Anpassung] 2. Anpassung des Quellcodes an den aktuellen Standard 3. Neue Rückgabespalte „ValueRestrictedByPattern“ |
4.0.14 | 2004-06-03 | 1. Aufruf der Prozeduren „_mi_StartProcedure“, „_mi_FinishProcedure“ und „_mi_ChooseParamValueSeperator“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur 3. Konsequente Fehlerbehandlung |
4.0.5 | 2003-10-04 | 1. Neuer Parameter „DateFormat“ 2. Verlagerung diverser „Settings“-Einträge auf entsprechende „PersonTypeSettings“-Einträge |
4.0.1 | 2003-05-16 | 1. Interne Dokumentations-Fehler 2. Fehler im Fall „GetActualProperties = 0“ : Unnötige Tabelle in der „from-clause“ 3. Fehler im Fall „PersonID <> DeliveryPersonID“ bei unterschiedlichen Personentypen, sofern die „Settings“-Einträge gleiche IDs enth. |
4.0.0 | 2003-04-03 | Neue Parameter „DateAndTime“, „GetActualProperties“ |
3.5.11 | 2001-09-06 | |
3.5.6 | 2001-04-17 | |
3.5.4 | 2001-03-11 | 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 GET 'http://<partner>-<project>.dstore.de/default/engine/om_GetPersonInfoForOrders_Ad?OrderID=<value>'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/om_GetPersonInfoForOrders_Ad?OrderID=<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_GetPersonInfoForOrders_Ad', array( 'OrderID' => <value>, // 'LanguageID' => 0, // 'DateAndTime' => NULL, // 'GetActualProperties' => 0, // 'DateFormat' => 'english' ) ); $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_GetPersonInfoForOrders_Ad"> <Parameters> <Parameter Name="OrderID"><!-- integer value --></Parameter> <!-- <Parameter Name="LanguageID">0</Parameter> --> <!-- <Parameter Name="DateAndTime">NULL</Parameter> --> <!-- <Parameter Name="GetActualProperties">0</Parameter> --> <!-- <Parameter Name="DateFormat">'english'</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>