Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_exportorders_ad

om_ExportOrders_Ad

Exportiert alle Auftrags-Positionen von Aufträgen in einem bestimmten Zeitraum, die sich in einem Order-Status befinden, der der Kategorie „Zum Export freigegeben“ („OrderStateCategoryID = 2“) zugeordnet ist. Außerdem werden nur die Aufträge berücksichtigt, die noch KEINE Fremd-Auftragsnummer besitzen („OrderNo = NULL“).

„Exportieren“ bedeutet, daß diese Auftrags-Positionen in den Status der Kategorie „Im Export befindlich“ („OrderStateCategoryID = 3“) gesetzt werden. Möchte man verhindern, daß nur ein Teil der Positionen umgesetzt wird, setzt man „SkipOHavingDifferentOStates“ auf „1“.

Anschließend gibt die Prozedur die Aufträge (samt Positionen) im gewünschten Zeitraum zurück, die mindestens eine Position besitzen, die sich im Status der Kategorie „Im Export befindlich“ („OrderStateCategoryID = 3“) befindet. Dabei kann über den Parameter „GetAllPositionsOfOrder“ gesteuert werden, ob man garantiert ALLE Positionen dieser Aufträge im Ergebnis ausgegeben bekommt oder nur die Positionen, die auch in besagtem Status sind.

HTTP-MethodPOST
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
FromDate Es werden nur Aufträge berücksichtigt, die zu diesem Zeitpunkt oder später erstellt wurden
datetime4.0.0
ToDateNULL Es werden nur Aufträge berücksichtigt, die zu diesem Zeitpunkt oder früher erstellt wurden. Bei Angabe von „NULL“ wird der aktuelle Zeitpunkt gewählt.
datetime4.0.0
NodeCharacteristicID16 ID eines Merkmals. Falls angegeben, wird in der Rückgabespalte „Value1“ die (direkte !) Eigenschaft des Artikels der jeweiligen Auftragsposition zu diesem Merkmal („GetActualItemInfo“ steuert den Zeitpunkt) zurückgegeben.
smallint4.0.0
NodeCharacteristicID2NULL ID eines Merkmals. Falls angegeben, wird in der Rückgabespalte „Value2“ die (direkte !) Eigenschaft des Artikels der jeweiligen Auftragsposition zu diesem Merkmal („GetActualItemInfo“ steuert den Zeitpunkt) zurückgegeben.
smallint4.0.0
NodeCharacteristicID3NULL ID eines Merkmals. Falls angegeben, wird in der Rückgabespalte „Value3“ die (direkte !) Eigenschaft des Artikels der jeweiligen Auftragsposition zu diesem Merkmal („GetActualItemInfo“ steuert den Zeitpunkt) zurückgegeben.
smallint4.0.0
SkipOHavingDifferentOStates0 Wird „1“ übergeben, wird eine Auftrags-Position nur dann umgesetzt, wenn alle Positionen des zugehörigen Auftrags „OrderID“ sich in einem Status der Kategorie „Zum Export freigegeben“ („OrderStateCategoryID = 2“) befinden
bit4.0.2
GetAllPositionsOfOrder0 Gibt an, ob nur Auftrags-Positionen ausgegeben werden sollen, die in einem Status der Kategorie „Im Export befindlich“ („OrderStateCategoryID = 3“) sind („0“), oder aber alle Positionen eines betroffenen Auftrags („1“)
bit4.0.2
MaxNumberOfOrdersNULL Möchte man nicht alle „im Export befindlichen“ Aufträge zurückbekommen, gibt man hier die entsprechende Anzahl an („0“ oder „NULL“ bedeutet keine Einschränkung, ein negativer Wert ist nicht erlaubt)
smallint4.0.3
IncludeOrdersWithOrderNo0 „0“ : Nur Aufträge mit „OrderNo is NOT NULL“ berücksichtigen
„1“ : Auch Aufträge mit „OrderNo is NULL“ zurückgeben
„2“ : Wie „0“; außerdem werden Aufträge mit „OrderNo is NOT NULL“ NICHT in den Status der Kategorie „Im Export befindlich“ gesetzt
tinyint4.0.3
GetActualItemInfo0 Gibt an, ob bei der Ermittlung von Eigenschaften der (bestellten) Artikel (zu den durch die „NodeCharacteristicID…“-Parameter angegebenen Merkmale) der Auftrags-Zeitpunkt oder der aktuelle Zeitpunkt gewählt werden soll („1“) oder nicht („0“)
bit5.5.1

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
OrderIDID eines Auftrags
integer4.0.0
OrderDateAndTimeEingangsdatum des Auftrags „OrderID“
datetime4.0.0
OrderDateAndTime_char„OrderDateAndTime“ als String im Format „15.04.2000 12:33:28:120“
varchar(23)4.0.0
PersonIDID der Person, die den Auftrag „OrderID“ aufgegeben hat
integer4.0.0
DeliveryPersonIDID der Person, an die die Ware geliefert werden soll
integer4.0.0
ShippingTypeIDID der Versandart für den Auftrag „OrderID“
tinyint4.0.0
ShippingTypeBezeichnung der Versandart „ShippingTypeID“
varchar(100)4.0.0
NettoShippingCostEvtl. anfallende (Netto-)Kosten (in der durch „CurrencyID“ angegebenen Währung) für die Versandart „ShippingTypeID“ (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !)
money4.0.0
NetShippingCostEvtl. anfallende (Netto-)Kosten (in der durch „CurrencyID“ angegebenen Währung) für die Versandart „ShippingTypeID“
money5.0.1
PreciseNetShippingCostExakter (intern gespeicherter) Wert für „NetShippingCost“
decimal(16,4)5.0.1
BruttoShippingCostEvtl. anfallende (Brutto-)Kosten (in der durch „CurrencyID“ angegebenen Währung) für die Versandart „ShippingTypeID“ (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !)
money4.0.0
GrossShippingCostEvtl. anfallende (Brutto-)Kosten (in der durch „CurrencyID“ angegebenen Währung) für die Versandart „ShippingTypeID“
money5.0.1
PreciseGrossShippingCostExakter (intern gespeicherter) Wert für „GrossShippingCost“
decimal(16,4)5.0.1
PaymentTypeBezeichnung der Zahlungsart „PaymentTypeID“
varchar(11)4.0.0
PaymentTypeIDID der Zahlungsart für den Auftrag „OrderID“
smallint4.0.0
NettoPaymentCostEvtl. anfallende (Netto-)Kosten (in der durch „CurrencyID“ angegebenen Währung) für die Zahlungsart „PaymentTypeID“ (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !)
money4.0.0
NetPaymentCostEvtl. anfallende (Netto-)Kosten (in der durch „CurrencyID“ angegebenen Währung) für die Zahlungsart „PaymentTypeID“
money5.0.1
PreciseNetPaymentCostExakter (intern gespeicherter) Wert für „NetPaymentCost“
decimal(16,4)5.0.1
BruttoPaymentCostEvtl. anfallende (Brutto-)Kosten (in der durch „CurrencyID“ angegebenen Währung) für die Zahlungsart „PaymentTypeID“ (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !)
money4.0.0
GrossPaymentCostEvtl. anfallende (Brutto-)Kosten (in der durch „CurrencyID“ angegebenen Währung) für die Zahlungsart „PaymentTypeID“
money5.0.1
PreciseGrossPaymentCostExakter (intern gespeicherter) Wert für „GrossPaymentCost“
decimal(16,4)5.0.1
NettoSumNetto-Betrag (in der durch „CurrencyID“ angegebenen Währung) für den Auftrag „OrderID“ (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !)
money4.0.0
NetSumNetto-Betrag (in der durch „CurrencyID“ angegebenen Währung) für den Auftrag „OrderID“
money5.0.1
PreciseNetSumExakter (intern gespeicherter) Wert für „NetSum“
decimal(16,4)5.0.1
BruttoSumBrutto-Betrag (in der durch „CurrencyID“ angegebenen Währung) für den Auftrag „OrderID“ (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !)
money4.0.0
GrossSumBrutto-Betrag (in der durch „CurrencyID“ angegebenen Währung) für den Auftrag „OrderID“
money5.0.1
PreciseGrossSumExakter (intern gespeicherter) Wert für „GrossSum“
decimal(16,4)5.0.1
CurrencyIDID einer Währung, in der die Kosten „NettoShippingCost“, „BruttoShippingCost“, „NettoPaymentCost“, „BruttoPaymentCost“, „NettoSum“, „BruttoSum“, „NettoPositionSum“ und „BruttoPositionSum“ angegeben sind
tinyint4.0.0
CurrencySymbol (im Regelfall der ISO-Code) der Einheit „CurrencyID“
varchar(10)4.0.0
DeliveryDateAndTimeVom Auftraggeber gewünschter Liefertermin
datetime4.0.0
DeliveryDateAndTime_char„DeliveryDateAndTime“ als String im Format „15.04.2000 12:33:28:120“
varchar(23)4.0.0
PositionCountWieviele Positionen (unabhängig vom Status) enthält der Auftrag „OrderID“
integer4.0.2
OrderContentIDID einer Position des Auftrags „OrderID“
integer4.0.0
PositionUm die wievielte Position des Auftrags handelt es sich bei „OrderContentID“
smallint4.0.0
HTreeNodeIDID des Elementes aus „HistoryTreeView“ (in dieser ist die Historie des gesamten Artikelbaums abgebildet), das den bestellten Artikel der Position „OrderContentID“ eindeutig kennzeichnet
integer4.0.0
NodeIDID des von „HTreeNodeID“ referenzierten Artikel-Elementes
integer6.0.1
Value1(Direkte !) Eigenschaft des zur „HTreeNodeID“ zugehörigen Artikel-Elementes zum durch „NodeCharacteristicID1“ angegebenen Merkmal zum Zeitpunkt „OrderDateAndTime“ bzw. (falls „GetActualItemInfo = 1“ ist) zum aktuellen Zeitpunkt
varchar(1000)4.0.0
Value2(Direkte !) Eigenschaft des zur „HTreeNodeID“ zugehörigen Artikel-Elementes zum durch „NodeCharacteristicID2“ angegebenen Merkmal zum Zeitpunkt „OrderDateAndTime“ bzw. (falls „GetActualItemInfo = 1“ ist) zum aktuellen Zeitpunkt
varchar(1000)4.0.0
Value3(Direkte !) Eigenschaft des zur „HTreeNodeID“ zugehörigen Artikel-Elementes zum durch „NodeCharacteristicID3“ angegebenen Merkmal zum Zeitpunkt „OrderDateAndTime“ bzw. (falls „GetActualItemInfo = 1“ ist) zum aktuellen Zeitpunkt
varchar(1000)4.0.0
QuantityWieviel wurde vom zur „HTreeNodeID“ zugehörigen Artikel-Element bestellt
integer4.0.0
NettoPositionSumNetto-Betrag (in der durch „CurrencyID“ angegebenen Währung) der Auftragsposition „OrderContentID“ (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !)
money4.0.0
NetPositionSumNetto-Betrag (in der durch „CurrencyID“ angegebenen Währung) der Auftragsposition „OrderContentID“
money5.0.1
PreciseNetPositionSumExakter (intern gespeicherter) Wert für „NetPositionSum“
decimal(16,4)5.0.1
BruttoPostionSumBrutto-Betrag (in der durch „CurrencyID“ angegebenen Währung) der Auftragsposition „OrderContentID“ (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !)
money4.0.0
GrossPositionSumBrutto-Betrag (in der durch „CurrencyID“ angegebenen Währung) der Auftragsposition „OrderContentID“
money5.0.1
PreciseGrossPositionSumExakter (intern gespeicherter) Wert für „GrossPositionSum“
decimal(16,4)5.0.1
OrderStateIDID des Status für die Auftrags-Position „OrderContentID“
tinyint4.0.2
SurchargeTypeIDID eines Preis-Aufschlags oder Rabatts, der im Preis der Position „OrderContentID“ enthalten ist
smallint5.0.2
SurchargeValueEin Preis-Aufschlag oder Rabatt (je nach „SurchargeIsAbsoluteValue“ ein prozentualer oder absoluter Wert), der im Preis der Position „OrderContentID“ enthalten ist
decimal(16,6)5.0.2
SurchargeIsAbsoluteValueGibt an, wie „SurchargeValue“ zu verstehen ist :
„0“ : Es ist eine relative (d.h. prozentuale) Angabe
„1“ : Es ist eine absolute Währungs-Angabe in der Einheit „CurrencyID“, und zwar ein NETTO-Wert
„2“ : Wie „1“ nur als BRUTTO-Wert zu verstehen
tinyint5.0.2
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • OrderDateAndTime (aufsteigend)
  • OrderID (aufsteigend)
  • Position (aufsteigend)

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 5)
-1323Die Person besitzt kein Konto zum angegebenen Typnur indirekt
-1322Transaktion kann nicht durchgeführt weden, da der Status des Kontos dies nicht erlaubtnur indirekt
-1321Transaktion kann nicht durchgeführt weden, da das Konto keine ausreichende Deckung aufweistnur indirekt
-1204Fehlender oder falscher Eintrag in CampaignSettingsnur indirekt
-621Fehlender oder falscher Eintrag in PersonTypeSettingsnur indirekt
-599Lizenz ist ungültig oder abgelaufennur indirekt
-572Die Prozedur darf nur innerhalb einer Transaktion ausgeführt werdennur 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
-540Falsches Formatnur indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-507Fehlerhafte Implementierung einer Prozedur - Daten in einem Ausgabeparameter sind ungültignur indirekt
-506Fehlerhafte Implementierung einer Prozedur - Daten in der Output-Schnittstelle sind ungültignur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-503Fehlerhafte Daten in einer Tabelle - genauere Fehlermeldung auf der Standardausgabenur indirekt
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur indirekt
-501Der Parameter „TableID“ und/oder der Parameter „TableKeyID“ ist ungültignur indirekt
-500Falsche Parameterdirekt und indirekt
-398Einige OrderSurchargeInformation sind ungültignur indirekt
-390Einige OrderContentInformation sind ungültignur indirekt
-385Die Brutto-Summe aus Warenwert plus Surcharges unterschreitet den vorgegebenen Mindestwertnur indirekt
-348Status-Änderung konnte aufgrund paralleler Änderungen nicht durchgeführt werdennur indirekt
-347Ungültige „OrderStateID“ (da für interne Zwecke reserviert)nur indirekt
-346Es ist kein Status der Kategorie „Im Export befindlich“ („OrderStateCategoryID = 3“) zugeordnetnur direkt
-340Fehlende Berechtigung zum Ändern des Orderstatusnur indirekt
-333Ein benötigter Steuersatz ist nicht bekannt oder konnte nicht ermittelt werdennur indirekt
-330Es kann keine oder keine eindeutige PaymentForShippingID zu einer Order ermittelt werdennur indirekt
-320Der Bestand eines Produktes darf nicht unter 0 sinkennur indirekt
-286Der Benutzer hat nicht die Berechtigung(en), Eigenschaften zu diesem(n) Merkmal(en) zu lesen/ändernnur indirekt
-285Der Benutzer hat keine Berechtigung, vergangene Eigenschaften zu diesem(n) Merkmal(en) zu ändernnur indirekt
-284Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu modifizierennur indirekt
-283Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu ermittelnnur indirekt
-245Einige Artikel-Eigenschaften sind ungültignur indirekt
-242Relative Änderung nicht möglich, da es eine Eigenschaft gibt, deren Gültigkeit in d. Zukunft beginntnur indirekt
-241Änderung(en) der Eigenschaft(en) konnte(n) aufgrund paralleler Änderungen nicht durchgeführt werdennur indirekt
-221Es konnte kein rekursives Merkmal mit der Standardwährung als Einheit ermittelt werdennur 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]
7.0.1 2013-08-071. Datentyp der Rückgabespalten „Value…“ hat sich erweitert ⇒ Anpassung der Doku
2. Anpassungen des Quellcodes an den aktuellen Standard
6.0.5 2011-12-13Fehler beim „fetch“-Befehl eines cursor [„The number of parameters/variables in the FETCH INTO clause does not
match the number of columns in cursor …“] behoben
6.0.2 2011-06-08Holger Wies / Stefan Goebel : 1. Änderungen in Folge von Tabellenänderungen an PaymentTypes und ShippingTypes
2. Ermittlung der Kosten für Zahlungs- und Versandarten nun über „OrderSurcharges“
6.0.1 2010-07-20Neue Rückgabespalte „NodeID“
5.5.2 2008-10-21Bei der intern aufgerufenen Prozedur om_ChangeOrderState_Ad ist ein Parameter weggefallen ⇒ entsprechende Änderung hier im Aufruf
5.5.1 2008-07-291. Neuer Parameter „GetActualItemInfo“
2. Ausgabe an die Standard-Ausgabe [via „print“] im Fehler-Fall „-500“, die nähere Informationen über die Ursache enthält
5.1.5 2006-08-29Fehler : „LockedNodeCharacteristics“ wurde bisher GAR NICHT beachtet !
5.1.1 2006-04-05Optimierung des Zugriffs auf „NodeProperties“ (bedingt durch die Änderung dieser Tabelle in 5.1.0)
5.0.2 2005-04-29Berücksichtigung der Historien-Tabellen für „ShippingTypes“ und „PaymentTypes“
5.0.1 2005-03-291. Falsche Werte für „NettoPaymentCost“, „BruttoPaymentCost“, „NettoShippingCost“ und „BruttoShippingCost“
2. Neue Rückgabespalten
5.0.0 2004-12-21„IncludeOrdersWithOrderNo“ ist jetzt ein „tinyint“ ⇒ neue Möglichkeit durch Angabe des Wertes „2“
4.0.14 2004-06-031. Aufruf der Prozeduren „_mi_StartProcedure“ und „_mi_FinishProcedure“
2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur
3. Konsequente Fehlerbehandlung
4.0.3 2003-07-101. Änderung der Sortierung der Rückgabemenge
2. Neue Parameter „MaxNumberOfRows“ und „IncludeOrdersWithOrderNo“
3. Interne Änderung : Es wird nicht mehr zuerst über das Datum eingeschränkt, sondern über die „OrderStateID“
4.0.2 2003-06-111. Implementierung der Prozedur
2. Neue Parameter „SkipOHavingDifferentOStates“ und „GetAllPositionsOfOrder“
3. Neuer Rückgabespalten „TotalPositionCount“ und „OrderStateID“
4.0.0 2003-04-03Erstmalig 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 POST  'http://<partner>-<project>.dstore.de/default/engine/om_ExportOrders_Ad?FromDate=<value>'

Mit xmllint 6) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/om_ExportOrders_Ad?FromDate=<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_ExportOrders_Ad',
		array(
			'FromDate' => <value>,
			// 'ToDate' => NULL,
			// 'NodeCharacteristicID1' => 6,
			// 'NodeCharacteristicID2' => NULL,
			// 'NodeCharacteristicID3' => NULL,
			// 'SkipOHavingDifferentOStates' => 0,
			// 'GetAllPositionsOfOrder' => 0,
			// 'MaxNumberOfOrders' => NULL,
			// 'IncludeOrdersWithOrderNo' => 0,
			// 'GetActualItemInfo' => 0
		)
);
 
$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_ExportOrders_Ad">
			<Parameters>
				<Parameter Name="FromDate"><!-- datetime value --></Parameter>
				<!-- <Parameter Name="ToDate">NULL</Parameter> -->
				<!-- <Parameter Name="NodeCharacteristicID1">6</Parameter> -->
				<!-- <Parameter Name="NodeCharacteristicID2">NULL</Parameter> -->
				<!-- <Parameter Name="NodeCharacteristicID3">NULL</Parameter> -->
				<!-- <Parameter Name="SkipOHavingDifferentOStates">0</Parameter> -->
				<!-- <Parameter Name="GetAllPositionsOfOrder">0</Parameter> -->
				<!-- <Parameter Name="MaxNumberOfOrders">NULL</Parameter> -->
				<!-- <Parameter Name="IncludeOrdersWithOrderNo">0</Parameter> -->
				<!-- <Parameter Name="GetActualItemInfo">0</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_exportorders_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)