Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_gettrolleyasmatrix_pu

om_GetTrolleyAsMatrix_Pu

Gibt den Inhalt des Warenkorbes zu einem Besucher zurück. Der Unterschied zur Prozedur om_GetTrolley_Pu liegt in der Formatierung der Ausgabe :

Die Artikel des Warenkorbes werden nicht einfach untereinander aufgelistet, sondern sind nach Produkten gruppiert, wobei die ausgewählten Varianten zu dem jeweiligen Produkt in Form einer Matrix zurückgegeben werden (analog zu im_GetVariantMatrix). Einträge, die die gleiche „ProductTreeNodeID“ (siehe Rückgabemenge) besitzen, gehören dabei zur gleichen Matrix. Innerhalb eines solchen Blocks werden die Einträge zeilenweise von links nach rechts ausgegeben. Einträge mit gleichem Wert für „YAxisValueIDs“ gehören zur gleichen Zeile, Einträge mit der gleichen „XAxisValueID“ zur gleichen Spalte. Kombinationen, zu denen es keine Variante gibt, enthalten dann in den Rückgabe-Spalte „VariantTreeNodeID“ den Wert „NULL“.
Wichtig : Das zugehörige Produkt der Varianten, die in dieser Matrix-Form dargestellt werden sollen, muß zur Erkennung der Merkmale, aus denen sich die Varianten zusammensetzen, eine Eigenschaft zum Merkmal „Variantenmerkmale“ (ID „17“) besitzen !

Hinweis zur Preisermittlung (falls „CalculatePrices = 1“ ist):
Gibt es einen „Settings“-Eintrag zum Schlüssel „PriceInTrolleyIsValidForXSeconds“ (eine Zahl größer als „0“), werden die Preise nicht zum aktuellen Zeitpunkt (des Aufrufs dieser Prozedur), sondern zu dem Zeitpunkt, an dem sie jeweils in den Warenkorb gelegt wurden, ermittelt - sofern nicht die konfigurierte Anzahl Sekunden überschritten ist !
Fügt also z.B. ein Kunde einen Artikel seinem Warenkorb hinzu, das zu einem „Aktionspreis“ angeboten wird, und ruft er die Warenkorb-Anzeige zu einem späteren Zeitpunkt auf, an dem die Aktion aber bereits beendet ist, bekommt er trotzdem den Aktionspreis angezeigt - und zu diesem Preis kann er dann auch bestellen, siehe om_CopyFromTrolleyToOrder_Pu.

Anmerkungen zur Ausgabespalte „ProductTreeNodeID“ :

Im Warenkorb werden immer „HTreeNodeID“s gespeichert. Eine „HTreeNodeID“ ist ein Element im „Artikelbaum“ mit Gültigkeitszeitraum. Jedes Element im „Artikelbaum“ besitzt einen/mehrere Gültigkeitszeitraum/-zeiträume. Für gelöschte Elemente ist dieser Zeitraum abgeschlossen, für momentan gültige (unabhängig davon ob aktiviert oder nicht !!!) Elemente ist dieser Zeitraum OFFEN. Bekommt ein Element eine andere Position im Artikelbaum (d.h. wird es „verschoben“), so existieren mindestens ZWEI Gültigkeitszeiträume : die alte(n) Position(en) im Baum haben natürlich abgeschlossene Zeiträume, die neue (nach dem Verschieben) hat entsprechend einen offenen Zeitraum.

Besonderheit : DERZEIT hat jedes Artikel-Element („NodeID“) eine EINDEUTIGE Position im Artikelbaum („TreeNodeID“). Es ist jedoch vorgesehen, ein Element MEHRFACH im Baum einordnen zu können. Dies hat zur Folge, daß man ein Artikel-Element nicht unbedingt EINDEUTIG in der Hierarchie einordnen kann. DESWEGEN gibt es zu jeder „NodeID“ GENAU EINE
„HTreeNodeID“ mit einem offenen Gültigkeitszeitraum, wobei die „TreeNodeID“ unbekannt ist (Weil dieses Element aber in jedem Fall unterhalb des „Wurzel-Elementes“ liegt, ist als „TreeNodeID“ die „0“ angegeben !)

Es kann also sein, daß sich im Warenkorb des Besuchers eine „HTreeNodeID“ befindet, deren zugehörige „TreeNodeID“ „0“ ist. In diesem Fall wird als „ProductTreeNodeID“ die KLEINSTE „TreeNodeID“ gewählt, die der entsprechenden „NodeID“ zugeordnet ist (z.Zt. gibt es, wie erwähnt, nur EINE „TreeNodeID“, die das erfüllt).

Falls gewünscht, können bei der Anzeige des Warenkorbes die Preise der Artikel errechnet werden (→ „CalculatePrices“); außerdem können dabei evtl. vorhandene „Surcharges“ (also Aufschläge bzw. Rabatte) einer bestimmten Person (→ „PersonID“) berücksichtigt werden. Grundsätzliches zu „Surcharges“ :

1. Der „dStore“ versteht „Surcharges“ („Aufschläge“) als Prinzip, um zusätzlich entstehende Kosten oder aber Formen von Rabatten abzubilden - diese können sowohl relativ (also prozentual) als auch absolut angegeben werden (siehe om_GetSurchargeTypes_Ad). Rabatte zeichnen sich einfach dadurch aus, daß die Kosten mit negativem Vorzeichen behaftet sind.

2. Mögliche „Surcharges“ bei der Preisermittlung für Auftrags-Positionen (→ om_GetPrices_Pu) werden aus den Tabellen „PersonSurcharges“ (für Personen) und „GroupSourcharges“ (für Gruppen) ermittelt. „Surcharges“ sind in diesem Kontext immer für bestimmte Elemente des Artikelbaums definiert, wobei diese sich immer auf die NACHFOLGER übertragen und nicht - wie bei den Artikeleigenschaften - auf die „ERBEN“ (d.h. hier wird die „Predecessor“-Spalte aus „TreeView“ herangezogen und nicht die „InheritsFrom“-Spalte) !

Es gelten hierbei folgende Prioritäten:

  • Direkt für ein Element des Artikelbaums definierte „Surcharges“ haben Vorrang vor hinterlegten „Surcharges“ zum Vorgänger-Element (analoges Prinzip zur Vererbung von Artikel-Eigenschaften).
  • „Surcharges“, die direkt einer Person zugewiesen sind, haben Vorrang vor „Surcharges“, die für eine Gruppe, der die Person angehört, hinterlegt sind.
  • Falls für den Auftraggeber „GroupSurcharges“ in Frage kommen, und die Person in MEHREREN Gruppen ist, zu denen „Surcharges“ hinterlegt sind, wird die Gruppe mit der höchsten Priorität gewählt - das ist die Gruppe mit der kleinsten „SortNo“ in der Rückgabemenge von pm_GetGroups_Ad mit entsprechend angegebener „PersonID“.

3. Es gibt seit Version 6.0.2 auch das Konzept von „Surcharges“ für einen gesamten Warenkorb bzw. Auftrag (→ om_GetTrolleySurcharges_Pu, om_GetOrderSurcharges_Ad). Dabei handelt es sich um Dinge wie Versandkosten, Skonti, Guthabenverrechnung oder ein (Gesamt-)Auftrags-Rabatt. Letzterer kann zwar auch in den meisten Fällen als Rabatt für alle Auftrags-Positionen abgebildet werden (s. 2.), aber bei absoluten Rabatten ist dies steuerlich nicht korrekt, falls unterschiedliche Steuersätze im Auftrag vorkommen !

Anmerkungen zum Parameter „PriceNodeCharacteristicID“ :

1. Dieser Parameter durchbricht ein wenig das Sicherheits-Konzept der „public“-Prozeduren (alle Prozeduren, deren Name NICHT auf „_Ad“ endet und nicht mit „_“ beginnt). Normalerweise kann ein öffentlicher Benutzer, der sich DIREKT auf dem Datenbank-Server anmeldet (was i.d.R. schon schwierig genug sein sollte…) NUR Daten einsehen oder verändern, für die Zugriffsrechte vorhanden sind. Beispielsweise kann (siehe im_ModifyLockedNodeCharacs_Ad) verhindert werden, daß der „publicuser“ Eigenschaften zu bestimmten Merkmalen einsehen kann - insbesondere bestimmte „Preise“ („Händler-EK“s o.ä.). Evtl. wird es in einer zukünftigen „dStore“-Version daher die Möglichkeit geben, Berechtigungen für Merkmale an den Personen-TYP zu binden o.ä.
2. Ist eine „PriceNodeCharacteristicID“ angegeben, werden KEINE Staffelpreise und KEINE „Surcharges“ berücksichtigt ! Kann zu einigen Elementen kein Preis über das angegebene Merkmal ermittelt werden, wird doch wieder die herkömmliche Preisermittlung durchgeführt, allerdings werden dann ebenfalls KEINE Staffelpreise und KEINE Rabatte ermittelt !

Anmerkung zum Parameter „RepairEntriesWithSameNodeID“ :

Der Parameter „RepairEntriesWithSameNodeID“ gibt an, ob der Fehler „-311“ zurückgegeben wird (wenn „NULL“ oder „0“ angegeben ist), falls im Warenkorb mehrere „HTreeNodeID“s mit gleicher „NodeID“ vorhanden sind, oder ob die betroffenen Datensätze „repariert“ werden sollen. Solche fehlerhaften Datensätze treten im Regelfall nicht auf, aber durch das „Zusammenlegen von Warenkörben“ beim Identifizierungsvorgang - siehe pm_CheckPersonIdentity_Pu - kann es in sehr, sehr seltenen Fällen auftreten !
„Reparieren“ sieht je nach übergebenem Wert so aus :

  • „1“ : Datensätze mit jeweils gleicher „NodeID“ werden zusammengefaßt, d.h. über „Quantity“ wird die Summe gebildet und als „HTreeNodeID“ wird diejenige ausgewählt, die ZUERST in den Warenkorb gelegt wurde
  • „2“ : Wie „1“, nur daß die „HTreeNodeID“ gewählt wird, die ZULETZT in den Warenkorb gelegt wurde
  • „3“ : Von den Datensätzen mit gleicher „NodeID“ wird die Position übernommen, die ZUERST im Warenkorb war, die anderen werden gelöscht
  • „4“ : Wie „3“ mit dem Unterschied, daß die ZULETZT eingefügte Position gewählt wird

Anmerkung zum Parameter „DeliveryPersonID“ :

Über „DeliveryPersonID“ kann optional die ID einer Lieferanschrift übergeben werden, um z.B. eine „Brutto=Netto“-Berechnung im Falle einer Lieferung an ein Land außerhalb der EU (unter der Annahme, daß die Ware aus einem EU-Land heraus geliefert wird) zu ermöglichen.
Hinweis : Letzteres ist nämlich KEIN Standard-Verhalten, sondern muß in „_ac_om_GetBasicPrices“ bzw. „_ac_om_ComputePrices“ implementiert werden !

HTTP-MethodGET
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
UniqueID Eindeutige ID eines Besuchers (aus „Visitors“), dessen „Warenkorb“ (Tabelle „Trolley“) angezeigt werden soll
varchar(100)3.5.0
PersonIDNULL ID einer Person, die dem Besucher „UniqueID“ aktuell zugeordnet sein muß. Wenn angegeben, werden bei der Preisermittlung (falls „CalculatePrices = 1“) evtl. vorhandene „Surcharges“ (Rabatte/Aufschläge) berücksichtigt.
integer3.5.0
CalculatePrices1 „0“ : KEINE Preise für Warenkorbspositionen ermitteln (Preisspalten sind dann immer „NULL“)
„1“ : Preise für Warenkorbspositionen ermitteln
„2“ : Wie „1“ mit evtl. zusätzlichen Infos „SurchargeReason“ und „SurchargeGeneratedByCampIDs“
tinyint3.5.0
CheckAvailability1 „1“ angeben, um überprüfen zu lassen, ob die Artikel im Warenkorb verfügbar sind. Nicht verfügbare Artikel (solche, die die Eigenschaft „Nicht lieferbar“ [„ValueID = -1“] zum Merkmal „Verfügbarkeit“ [ID „9“] besitzen) werden gekennzeichnet (→ „Removed“)
bit3.5.0
PriceNodeCharacteristicIDNULL ID eines Merkmals. Die Preisermittlung läuft i.d.R. über die rekursiven Merkmale „Verkaufspreis…“. Möchte man aber z.B. sowohl Einzel- als auch Großhandel über denselben Artikelstamm abwickeln, kann man hierdurch ein anderes „Preis-Merkmal“ angeben.
smallint3.5.5
RepairEntriesWithSameNodeID0 „NULL“ oder „0“ : falls im Warenkorb mehrere „HTreeNodeID“s mit gleicher „NodeID“ vorhanden sind, gibt es „-311“
„1“, „2“, „3“, „4“ : Die Daten werden „repariert“ (s. Beschreibung)
tinyint4.0.7
DeliveryPersonIDNULL ID einer Person, an die die Ware geliefert werden soll. Falls angegeben, wird diese ID an die interne Preis-Ermittlung weitergereicht (derzeit ohne Funktionalität), um z.B. in „_ac_om_GetBasicPrices“ verwendet werden zu können (s. Beschreibung).
integer6.0.0
OutputIntoTrolleySurchInterf0 Nur beachtet, wenn „CalculatePrices > 0“ ! „1“ angeben, um den Gesamt-Warenkorbwert nach Steuersätzen aufget. in die Input-Schnittst. von om_GetTrolleySurcharges_Pu einzufügen (um diese anschl. mit „NULL“ für die „…Sum“-Parameter aufruf. zu können).
bit6.5.2
PaymentTypeIDNULL ID einer Zahlungsart, mit der voraussichtlich der Auftrag platziert wird - relevant für evtl. Reduzierungen von Artikelpreisen durch Verkaufs-Aktionen mit Bedingungen, die von der Zahlungsart abhängen
smallint6.5.2
ShippingTypeIDNULL ID einer Versandart, mit der voraussichtlich der Auftrag platziert wird - relevant für evtl. Reduzierungen von Artikelpreisen durch Verkaufs-Aktionen mit Bedingungen, die von der Versandart abhängen
tinyint6.5.2

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
VariantSortNo5)Wird zur Sortierung der Rückgabemenge benötigt, aber nicht ausgegeben. Bestimmt die Reihenfolge der Variante innerhalb aller Varianten von „ProductTreeNodeID“. Diese richtet sich letztlich nach den „SortNo“s der Eigenschaften zu den Variantenmerkmalen.
integer3.5.0
ProductTreeNodeIDID eines Elementes im Artikelbaum (aus dem Warenkorb des Besuchers „UniqueID“). Wichtiger Hinweis : siehe Beschreibung !
integer3.5.0
ProductDescriptionBezeichnung der „ProductTreeNodeID“ in der Sprache, die der Besucher „UniqueID“ bevorzugt (falls vorhanden steht hier evtl. die Eigenschaft zum Merkmal „Produktbezeichnung“, s.a. im_GetNodeDescriptions_Pu)
varchar(1000)3.5.0
VariantTreeNodeIDID eines Elementes im Artikelbaum, das eine Variante von „ProductTreeNodeID“ darstellt. „NULL“, falls „ProductTreeNodeID“ keine Varianten hat oder die Variante mit den Eigenschaften „YAxisValues“ und „XAxisValue“ nicht existiert bzw. im Warenkorb liegt.
integer3.5.0
YAxisValuesEigenschaften (durch '¶' getrennt) von „VariantTreeNodeID“ zu den „Varianten-Merkmalen“ (bis auf das letzte Merkmal, siehe „XAxisValue“), die als Eigenschaft zur Merkmal-ID „17“ zum Element „ProductTreeNodeID“ hinterlegt sind
varchar(255)3.5.0
YAxisValueIDsDie zu den Eigenschaften „YAxisValues“ korrespondierenden „ValueID“s (ebenfalls durch '¶' getrennt)
varchar(255)3.5.0
XAxisValueEigenschaft von „VariantTreeNodeID“ zum letzten „Varianten-Merkmal“ der Merkmale, die als Eigenschaft zur Merkmal-ID „17“ zum Element „ProductTreeNodeID“ hinterlegt sind
varchar(100)3.5.0
XAxisValueIDDie zur Eigenschaft „XAxisValue“ korrespondierende „ValueID“
integer3.5.0
QuantityAnzahl des Produktes „ProductTreeNodeID“ bzw. der Produkt-Variante „VariantTreeNodeID“, die der Besucher „UniqueID“ in seinen „Warenkorb gelegt“ hat
integer3.5.0
UnitNettoPriceNetto-Verkaufspreis (für das Produkt „ProductTreeNodeID“ bzw. für die Produkt-Variante „VariantTreeNodeID“) pro Stück in der vom Besucher „UniqueID“ bevorzugten Währung
money3.5.0
UnitBruttoPriceBrutto-Verkaufspreis (für das Produkt „ProductTreeNodeID“ bzw. für die Produkt-Variante „VariantTreeNodeID“) pro Stück in der vom Besucher „UniqueID“ bevorzugten Währung
money3.5.0
RelativeSurchargeRelativer Rabatt/Aufschlag in Prozent. Ein negativer Wert bedeutet einen Rabatt, sonst beinhaltet der Verkaufspreis einen Aufschlag. Falls KEINE „PersonID“ angegeben wurde, steht hier immer „0“ (bzw. „NULL“) !
decimal(16,6)3.5.0
AbsoluteUnitNettoSurchargeAbsoluter Netto-Rabatt (negativer Wert) bzw. -Aufschlag (positiver Wert) pro Stück. Entspricht also „UnitNettoPrice * RelativeSurcharge / 100“. Falls KEINE „PersonID“ angegeben wurde, steht hier immer „0“ (bzw. „NULL“) !
money3.5.0
AbsoluteUnitBruttoSurchargeAbsoluter Brutto-Rabatt (negativer Wert) bzw. -Aufschlag (positiver Wert) pro Stück. Entspricht also „UnitBruttoPrice * RelativeSurcharge / 100“. Falls KEINE „PersonID“ angegeben wurde, steht hier immer „0“ (bzw. „NULL“) !
money3.5.0
UnitSymbolSymbol (im Regelfall der ISO-Code) der Währung, die der Besucher „UniqueID“ bevorzugt und in der die Werte „UnitNettoPrice“ usw. angegeben sind
varchar(10)3.5.0
InputDateAndTimeZeitpunkt, zu dem der Besucher „UniqueID“ das Element „ProductTreeNodeID“ bzw. „VariantTreeNodeID“ in den Warenkorb gelegt hat. Gibt es mehrere Varianten zur „ProductTreeNodeID“ ist dieser Wert für alle Varianten gleich (der kleinste aller Varianten).
datetime3.5.0
Removed„<> 0“, wenn „HTreeNodeID“ entfernt wurde:
* 1: Allg. Grund
* 2: Keine aktive „Campaign“ zur „BonusItemForItemSetID“
* 3: Bonus Art. erfüllt keine der Bedingungen
* 4: Zu viele Bonus Art. aus einem Set
* 5: Komb. von Bon-Art. unters. Sets nicht möglich
tinyint3.5.0
PriceNodeCharacteristicIDID des Merkmals; die Eigenschaft von „NodeID“ zu diesem Merkmal hat den Preis („UnitNettoPrice“) bestimmt
smallint4.0.7
SurchargeReason„Grund“ für einen evtl. vorhandenen Rabatt (z.B. ein „Aktionsname“, der letztlich von der individuellen Rabatt-Ermittlung durch „_ac_om_GetSurcharges“ stammt). Immer „NULL“, wenn „CalculatePrices < 2“ ist !
varchar(100)6.5.2
SurchargeGeneratedByCampIDsListe von „CampaignID“s der Verkaufsaktionen, die zur Rabattierung der Position geführt haben. Immer „NULL“, wenn „CalculatePrices < 2“ ist !
varchar(255)6.5.2
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • InputDateAndTime (aufsteigend)
  • ProductTreeNodeID (aufsteigend)
  • VariantSortNo (absteigend)

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 6)
-1204Fehlender oder falscher Eintrag in CampaignSettingsnur indirekt
-655Die VisitorID steht nicht mit der PersonID in Verbindungnur indirekt
-621Fehlender oder falscher Eintrag in PersonTypeSettingsnur indirekt
-600Es konnte keine gültige VisitorID ermittelt werdennur direkt
-599Lizenz ist ungültig oder abgelaufennur 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
-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
-500Falsche Parameterdirekt und indirekt
-333Ein benötigter Steuersatz ist nicht bekannt oder konnte nicht ermittelt werdennur indirekt
-312Fehlerhafte Daten im Warenkorb konnten nicht repariert werdennur indirekt
-311Fehlerhafte Daten im Warenkorb : Es sind mehrere „HTreeNodeID“s mit gleicher „NodeID“ vorhandennur indirekt
-310Der Besucher hat keine gültigen Artikel im Warenkorbnur indirekt
-286Der Benutzer hat nicht die Berechtigung(en), Eigenschaften zu diesem(n) Merkmal(en) zu lesen/ä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
-230Nicht alle Knoten haben Eigenschaften zu den angegebenen Merkmalennur indirekt
-221Es konnte kein rekursives Merkmal mit der Standardwährung als Einheit ermittelt werdennur indirekt
-220Es konnte keine Merkmal-ID für die Produktbezeichnung ermittelt werdennur indirekt
-210Das (die) Element(e) hat (haben) keine Eigenschaft zum angegebenen Merkmalnur direkt
-120Der Benutzer hat keine Berechtigung für das (die) Element(e)nur indirekt
-110Das (die) Element(e) ist (sind) nicht vorhandennur 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-29„Start-/Finish-Procedure“-Logik eingebaut, s. Ticket #3670
7.0.4 2014-03-19Doku bzgl. Rückgabespalte „Removed“ angepasst
7.0.2 2013-08-29Doku-Hinweis bzgl. Parameter „PersonID“, der nun auch relevant für Verkaufsaktionen ist
7.0.1 2013-08-071. Interne Anpassungen aufgrund der Datentyp-Erweiterung der „Value“-Spalte von „NodeCharacteristicValues“
2. Datentyp der Rückgabespalte „ProductDescription“ hat sich erweitert ⇒ Auch Anpassung der Doku
6.5.4 2013-04-29Bugfix: „OutputIntoTrolleySurchInterf“ wurde fälschlicherweise auch beachtet, wenn „CalculatePrices = 0“ war.
6.5.2 2013-02-261. Neue Parameter „OutputIntoTrolleySurchInterf“, „PaymentTypeID“, „ShippingTypeID“
2. Parameter „CalculatePrices“ ist nun „tinyint“, neuer möglicher Wert „2“
6.0.2 2011-06-08Keine Änderung, lediglich eine Anpassung der Doku bzgl. „Surcharges“ (zu diesem Thema gab es Änderungen)
6.0.0 2010-03-26Neuer Parameter „DeliveryPersonID“
5.1.1 2006-04-05Optimierung des Zugriffs auf „NodeProperties“ (bedingt durch die Änderung dieser Tabelle in 5.1.0)
5.0.1 2005-03-291. Umstellung der Ausgabe von „_om_GetTrolley“ auf die neue „Schnittstellen“-Datenbank „dstoreifout“
2. Konsequente Fehlerbehandlung
4.0.7 2004-01-161. Neue Rückgabespalte „PriceNodeCharacteristicID“
2. Neuer Parameter „RepairEntriesWithSameNodeID“
4.0.6 2003-11-141. Die intern verwendete Prozedur „_om_GetTrolley“ hat sich geändert, daher waren auch hier [kleine] Änderungen notwendig
2. Hinweis in der Doku auf den neuen Settings-Eintrag „PriceInTrolleyIsValidForXSeconds“
3.5.19 2002-06-17
3.5.5 2001-03-30
3.5.4 2001-03-11
3.5.0 2000-11-23Erstmalig 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_GetTrolleyAsMatrix_Pu?UniqueID=<value>'

Mit xmllint 7) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/om_GetTrolleyAsMatrix_Pu?UniqueID=<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_GetTrolleyAsMatrix_Pu',
		array(
			'UniqueID' => '<value>',
			// 'PersonID' => NULL,
			// 'CalculatePrices' => 1,
			// 'CheckAvailability' => 1,
			// 'PriceNodeCharacteristicID' => NULL,
			// 'RepairEntriesWithSameNodeID' => 0,
			// 'DeliveryPersonID' => NULL,
			// 'OutputIntoTrolleySurchInterf' => 0,
			// 'PaymentTypeID' => NULL,
			// 'ShippingTypeID' => NULL
		)
);
 
$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_GetTrolleyAsMatrix_Pu">
			<Parameters>
				<Parameter Name="UniqueID"><!-- varchar value --></Parameter>
				<!-- <Parameter Name="PersonID">NULL</Parameter> -->
				<!-- <Parameter Name="CalculatePrices">1</Parameter> -->
				<!-- <Parameter Name="CheckAvailability">1</Parameter> -->
				<!-- <Parameter Name="PriceNodeCharacteristicID">NULL</Parameter> -->
				<!-- <Parameter Name="RepairEntriesWithSameNodeID">0</Parameter> -->
				<!-- <Parameter Name="DeliveryPersonID">NULL</Parameter> -->
				<!-- <Parameter Name="OutputIntoTrolleySurchInterf">0</Parameter> -->
				<!-- <Parameter Name="PaymentTypeID">NULL</Parameter> -->
				<!-- <Parameter Name="ShippingTypeID">NULL</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
5)
Spalte wird nicht zurückgegeben und ist hier nur aus Dokumentationsgründen aufgeführt.
6)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
7)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/om_gettrolleyasmatrix_pu.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)