Benutzer-Werkzeuge

Webseiten-Werkzeuge

Action disabled: source

engine:procedures:om_getpersoninfofororders_ad

om_GetPersonInfoForOrders_Ad

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-MethodGET
HTTP-AuthOptional
Aliasom_GetPersonInformationForOrders_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
OrderID ID eines Auftrags
integer3.5.4
LanguageID0 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)
tinyint3.5.4
DateAndTimeNULL 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)
datetime4.0.0
GetActualProperties0 „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)
bit4.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

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
PersonIDID des Auftraggebers bzw. der Person, an die die Ware geliefert werden soll (je nach „InvoiceOrDeliveryAdress“)
integer3.5.4
PersonTypeIDID des Personen-Typs von „PersonID“
tinyint3.5.4
PersonCharacteristicIDID eines Personen-Merkmals, das in „PersonTypeSettings“ zum Schlüssel „PersonOutputCharacteristicIDsForOrderLists>“ zur „PersonTypeID“ definiert ist
smallint3.5.4
DescriptionBezeichnung 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
ValueEigenschaft 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
ValueRestrictedByPatternWas 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_“ !
char3.5.11
SortNoBestimmt die Reihenfolge von „PersonCharacteristicID“ innerhalb aller Merkmale
smallint3.5.11
ActualValueImmer „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
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • InvoiceOrDeliveryAdress (absteigend)
  • SortNo (absteigend)

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 5)
-621Fehlender oder falscher Eintrag in PersonTypeSettingsnur indirekt
-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
-550Fehlender oder falscher Eintrag in Settingsnur 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
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur 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.4 2013-04-291. 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-031. 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-041. Neuer Parameter „DateFormat“
2. Verlagerung diverser „Settings“-Einträge auf entsprechende „PersonTypeSettings“-Einträge
4.0.1 2003-05-161. 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-03Neue Parameter „DateAndTime“, „GetActualProperties“
3.5.11 2001-09-06
3.5.6 2001-04-17
3.5.4 2001-03-11Erstmalig 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_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 -
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_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();
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_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>
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_getpersoninfofororders_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)