Gibt den Inhalt des Warenkorbes zu einem Besucher zurück.
Falls Preise ermittelt werden (→ „CalculatePrices“), ist immer eine letzte Zeile im Ergebnis enthalten, die eine Summe aller Werte enthält. Die Summenzeile zeichnet sich dadurch aus, daß für die Rückgabespalte „HTreeNodeID“ der Wert „-1“ ist.
Hinweise und Anmerkungen zur Preisermittlung (falls „CalculatePrices = 1“ ist):
1. Wie die Preisermittlung grundsätzlich funktioniert, ist in der Dokumentation von om_GetPrices_Pu nachzulesen.
2. 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.
3. Der Parameter „PriceNodeCharacteristicID“ 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.ä.
Anmerkungen zu den Ausgabespalten „HTreeNodeID“, „NodeID“ und „AssociatedOrChosenTreeNodeID“ :
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. Zur Preisermittlung (→ CalculatePrices = 1„) oder zur Ermittlung der Vorgänger (→ „IncludePredecessors = 1“) wird aber unbedingt ein Element im Artikelbaum benötigt ! Für solche Elemente wird dann einfach EIN „repräsentierendes“ Element (i.d. R. die kleinste „TreeNodeID“ ungleich „0“ zur „NodeID“) gewählt.
Anmerkung zur Rückgabespalte „QuantityPerBundleItemSetIDList“ :
Durch ein “,„ getrennte Liste von Listen, deren Werte wiederum durch “&„ getrennt sind, und ein Wert die Form <Menge>x<BundleItemSetID> hat. Dies besagt jeweils, wieviel (<Menge>) von „Quantity“ der „HTreeNodeID“ zu der “<BundleItemSetID>„ des Bundles gehört. Die zugehörige „BenefitID“ ergibt sich automatisch, weil eine „ItemSetID“ nur einer „BenefitID“ zugeordnet werden darf. Alle Datensätze haben die gleiche Anzahl Elemente (sowohl die Liste von Listen als auch die “<Menge>x<ItemSetID>„-Liste). Ist „HTreeNodeID“ kein Teil eines Bundles, wird als “<Menge>„ eben „0“ eingetragen.
Hinweis : Die “<Menge>„-Werte haben pro Element in der Liste dieselbe Anzahl Stellen (einige sind also ggf. mit „0“en zu Beginn aufgefüllt).
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 :
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-Method | GET |
HTTP-Auth | Optional |
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 |
---|---|---|---|---|
UniqueID | Eindeutige ID eines Besuchers (aus „Visitors“), dessen „Warenkorb“ (Tabelle „Trolley“) angezeigt werden soll | varchar(100) | 3.5.0 | |
PersonID | NULL | 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. | integer | 3.5.0 |
CalculatePrices | 1 | „0“ : Es sollen KEINE Preise ermittelt werden (⇒ entspr. Rückgabespalten sind „NULL“) „1“ : Es sollen Preise ermittelt werden „2“ : Wie „1“, außerdem ist „SurchargeReason“, „SurchargeGeneratedByCampIDs“ und „QuantityPerBundleItemSetIDList“ gefüllt | tinyint | 3.5.0 |
CheckAvailability | 1 | „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“). | bit | 3.5.0 |
ShowDescriptions | 1 | Zu den Artikeln im Warenkorb soll die Bezeichnung… „0“ : … NICHT ermittelt werden (Rückgabespalte „NodeDescription“ enthält dann immer den Wert '') „1“ : … ermittelt werden (s.a. „LookForProductDescription“) | bit | 3.5.0 |
PriceNodeCharacteristicID | NULL | 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. | smallint | 3.5.5 |
NodeCharacteristicID | NULL | ID eines Merkmals. Wenn hier eine ID übergeben wird, ermittelt die Prozedur zu jedem Artikel im Warenkorb die Eigenschaft zu diesem Merkmal (→ Rückgabespalte „ItemProperty“). | smallint | 3.5.13 |
IncludePredecessors | 0 | „1“ übergeben, um zusätzliche Spalten in der Rückgabemenge zu erhalten; diese enthalten die Vorgänger-Elemente zum jeweiligen Artikel | bit | 3.5.13 |
LookForProductDescription | 1 | Artikel-Elemente können eine Eigenschaft zum Merkmal „Produktbezeichnung“ (in einer Sprache) besitzen. Soll (falls vorh. und „ShowDescriptions = 1“ !) statt der „NodeDescription“ die Eigenschaft zu diesem Merkmal ausgegeben werden, übergibt man hier „1“. | bit | 3.5.14 |
RepairEntriesWithSameNodeID | 0 | „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) | tinyint | 4.0.7 |
GetPlainTrolley | 0 | „1“ : Alle Parameter (außer „UniqueID“) werden ignoriert, und die Prozedur gibt den Warenkorb, so wie er physikalisch in der Datenbank gespeichert ist, zurück | bit | 4.0.7 |
DeliveryPersonID | NULL | ID einer Person, an die die Ware geliefert werden soll. Relevant um z.B. im „customizing“ (bspw. „_ac_om_GetBasicPrices“) verwendet werden zu können oder um Verkaufs-Aktionen mit Bedingungen, die die Lieferanschrift betreffen, beachten zu können. | integer | 6.0.0 |
OutputIntoTrolleySurchInterf | 0 | 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). | bit | 6.0.2 |
PaymentTypeID | NULL | 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 | smallint | 6.5.1 |
ShippingTypeID | NULL | 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 | tinyint | 6.5.1 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
HTreeNodeID | ID eines Elementes aus „HistoryTreeView“ (in dieser ist die Historie des gesamten Artikelbaums abgebildet), das der Besucher „UniqueID“ in seinen Warenkorb gelegt hat (siehe Anmerkung in der Beschreibung !) | integer | 3.5.0 |
NodeID | Zur „HTreeNodeID“ zugehörige ID des Artikel-Elementes (siehe Anmerkung in der Beschreibung !) | integer | 3.5.0 |
AssociatedOrChosenTreeNodeID | Enthält entweder die zur „HTreeNodeID“ korrespondierende („associated“) ID eines Elementes im Artikelbaum oder (falls diese „0“ ist) ein zur „NodeID“ (willkürlich) gewähltes („chosen“) Element (siehe Anmerkung in der Beschreibung !) | integer | 5.0.1 |
Active | „Active“-Status des Elementes „AssociatedOrChosenTreeNodeID“ | bit | 5.1.7 |
Deleted | „Deleted“-Status des Elementes „AssociatedOrChosenTreeNodeID“ | bit | 5.1.7 |
Quantity | Anzahl des Artikels „NodeID“ (bzw. der „HTreeNodeID“), die der Besucher „UniqueID“ in seinen „Warenkorb gelegt“ hat | integer | 3.5.0 |
NodeDescription | Bezeichnung der „NodeID“ - falls „LookForProductDescriptions = 1“ übergeben wurde, hier auch evtl. die Eigenschaft zum Merkmal „Produktbezeichnung“. Immer '', wenn „ShowDescriptions = 0“ ! | varchar(1000) | 3.5.0 |
UnitNettoPrice | Netto-Preis von „NodeID“, wenn man den Artikel EINMAL bestellt (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.0 |
UnitNetPrice | Netto-Preis von „NodeID“, wenn man den Artikel EINMAL bestellt | money | 5.0.1 |
PreciseUnitNetPrice | Exakter (intern gespeicherter) Wert für „UnitNetPrice“ | decimal(16,4) | 5.0.1 |
UnitBruttoPrice | Brutto-Preis von „NodeID“, wenn man den Artikel EINMAL bestellt (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.0 |
UnitGrossPrice | Brutto-Preis von „NodeID“, wenn man den Artikel EINMAL bestellt | money | 5.0.1 |
PreciseUnitGrossPrice | Exakter (intern gespeicherter) Wert für „UnitGrossPrice“ | decimal(16,4) | 5.0.1 |
TotalNettoPrice | Netto-Preis von „NodeID“, wenn man den Artikel „Quantity-Mal“ bestellt (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.0 |
TotalNetPrice | Netto-Preis von „NodeID“, wenn man den Artikel „Quantity-Mal“ bestellt | money | 5.0.1 |
PreciseTotalNetPrice | Exakter (intern gespeicherter) Wert für „TotalNetPrice“ | decimal(16,4) | 5.0.1 |
TotalBruttoPrice | Brutto-Preis von „NodeID“, wenn man den Artikel „Quantity-Mal“ bestellt (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.0 |
TotalGrossPrice | Brutto-Preis von „NodeID“, wenn man den Artikel „Quantity-Mal“ bestellt | money | 5.0.1 |
PreciseTotalGrossPrice | Exakter (intern gespeicherter) Wert für „TotalGrossPrice“ | decimal(16,4) | 5.0.1 |
TaxesMultiplier | Mehrwertsteuer als „Multiplikator“. D.h. beträgt die Mehrwertsteuer z.B. „16 %“, steht hier der Wert „1.16“. | decimal(16,6) | 5.0.1 |
PriceNodeCharacteristicID | Merkmal-ID, die den Preis bestimmt hat (genauer : die Eigenschaft von „AssociatedTreeNodeID“ zu diesem Merkmal hat den Preis bestimmt) | smallint | 4.0.7 |
CurrencyID | ID der Währung, in der die Preisangaben sind (es handelt sich i.d.R. um die zum durch „UniqueID“ angegebenen Besucher hinterlegte Währung) | tinyint | 5.0.1 |
CurrencySymbol | Symbol der Währung „CurrencyID“ | varchar(10) | 5.0.1 |
RelativeSurcharge | Relativer Rabatt/Aufschlag in Prozent (der in den Preisen bereits enthalten ist !). Ein negativer Wert bedeutet einen Rabatt, sonst beinhaltet der Verkaufspreis einen Aufschlag. Falls KEINE „PersonID“ angegeben wurde, steht hier immer „0“ ! | decimal(16,6) | 3.5.0 |
AbsoluteUnitNettoSurcharge | Absoluter Rabatt/Aufschlag, der in „UnitNetPrice“ bereits ENTHALTEN ist (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.0 |
AbsoluteUnitNetSurcharge | Absoluter Rabatt/Aufschlag, der in „UnitNetPrice“ bereits ENTHALTEN ist | money | 5.0.1 |
PreciseAbsUnitNetSurcharge | Exakter (intern gespeicherter) Wert für „AbsoluteUnitNetSurcharge“ | decimal(16,4) | 5.0.1 |
AbsoluteUnitBruttoSurcharge | Absoluter Rabatt/Aufschlag, der in „UnitGrossPrice“ bereits ENTHALTEN ist (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.0 |
AbsoluteUnitGrossSurcharge | Absoluter Rabatt/Aufschlag, der in „UnitGrossPrice“ bereits ENTHALTEN ist | money | 5.0.1 |
PreciseAbsUnitGrossSurcharge | Exakter (intern gespeicherter) Wert für „AbsoluteUnitGrossSurcharge“ | decimal(16,4) | 5.0.1 |
AbsoluteTotalNettoSurcharge | Absoluter Rabatt/Aufschlag, der im „TotalNetPrice“ bereits ENTHALTEN ist (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.0 |
AbsoluteTotalNetSurcharge | Absoluter Rabatt/Aufschlag, der im „TotalNetPrice“ bereits ENTHALTEN ist | money | 5.0.1 |
PreciseAbsTotalNetSurcharge | Exakter (intern gespeicherter) Wert für „AbsoluteTotalNetSurcharge“ | decimal(16,4) | 5.0.1 |
AbsoluteTotalBruttoSurcharge | Absoluter Rabatt/Aufschlag, der im „TotalGrossPrice“ bereits ENTHALTEN ist (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.0 |
AbsoluteTotalGrossSurcharge | Absoluter Rabatt/Aufschlag, der im „TotalGrossPrice“ bereits ENTHALTEN ist | money | 5.0.1 |
PreciseAbsTotalGrossSurcharge | Exakter (intern gespeicherter) Wert für „AbsoluteTotalGrossSurcharge“ | decimal(16,4) | 5.0.1 |
SurchargeTypeID | ID einer Preis-Aufschlags/Rabatt-Art, die ermittelt und bei der Preis-Ermittlung angewandt wurde. Falls KEINE „PersonID“ angegeben wurde, steht hier immer „NULL“ ! | smallint | 3.5.0 |
SurchargeValue | Der Wert des Aufschlags bzw. Rabattes, der verwendet wurde. Ist die „SurchargeTypeID“ relativ definiert, entspricht dieser Wert dem in „RelativeSurcharge“, andernfalls dem Wert in „AbsoluteUnitNetSurcharge“ bzw. „AbsoluteUnitGrossSurcharge“ | decimal(16,6) | 3.5.0 |
UnitSymbol | NICHT MEHR VERWENDEN ! (Alternative : „CurrencySymbol“) | varchar(10) | 3.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 | tinyint | 3.5.0 |
ItemProperty | Eigenschaft des Artikel-Elementes „AssociatedOrChosenTreeNodeID“ zum Merkmal „NodeCharacteristicID“ | varchar(1000) | 3.5.13 |
InputDateAndTime | Zeitpunkt, zu dem der Besucher „UniqueID“ das Element „HTreeNodeID“ in den Warenkorb gelegt hat | datetime | 3.5.13 |
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) | 5.5.0 |
SurchargeGeneratedByCampIDs | Liste von „CampaignID“s der Verkaufsaktionen, die zur Rabattierung der Position geführt haben | varchar(255) | 6.5.2 |
BonusItemForItemSetID | Die ID des „ItemSets“ aus welchem der Artikel stammt, falls es sich bei „HTreeNodeID“ um einen Bonus-Artikel handelt, sonst „NULL“ | integer | 7.0.5 |
QuantityPerBundleItemSetIDList | Durch ein “,„ getrennte Liste von Listen, deren Werte wiederum durch “&„ getrennt sind, und ein Wert die Form <Menge>x<BundleItemSetID> hat. Dies besagt jeweils, wieviel (<Menge>) von „Quantity“ der „HTreeNodeID“ zu der “<ItemSetID>„ des Bundles gehört. | varchar(255) | 7.0.6 |
(parameterunabängige Sortierung)
Spaltenname | Beschreibung | SQL-Datentyp5) | ab Version |
---|---|---|---|
HTreeNodeID | ID eines Elementes aus „HistoryTreeView“ (in dieser ist die Historie des gesamten Artikelbaums abgebildet), das der Besucher „UniqueID“ in seinen Warenkorb gelegt hat (siehe Anmerkung in der Beschreibung !) | integer | 3.5.13 |
NodeID | Zur „HTreeNodeID“ zugehörige ID des Artikel-Elementes (siehe Anmerkung in der Beschreibung !) | integer | 3.5.13 |
AssociatedOrChosenTreeNodeID | Enthält entweder die zur „HTreeNodeID“ korrespondierende („associated“) ID eines Elementes im Artikelbaum oder (falls diese „0“ ist) ein zur „NodeID“ (willkürlich) gewähltes („chosen“) Element (siehe Anmerkung in der Beschreibung !) | integer | 5.0.1 |
Active | „Active“-Status des Elementes „AssociatedOrChosenTreeNodeID“ | bit | 5.1.7 |
Deleted | „Deleted“-Status des Elementes „AssociatedOrChosenTreeNodeID“ | bit | 5.1.7 |
Quantity | Anzahl des Artikels „NodeID“ (bzw. der „HTreeNodeID“), die der Besucher „UniqueID“ in seinen „Warenkorb gelegt“ hat | integer | 3.5.13 |
NodeDescription | Bezeichnung der „NodeID“ - falls „LookForProductDescriptions = 1“ übergeben wurde, hier auch evtl. die Eigenschaft zum Merkmal „Produktbezeichnung“. Immer '', wenn „ShowDescriptions = 0“ ! | varchar(1000) | 3.5.13 |
UnitNettoPrice | Netto-Preis von „NodeID“, wenn man den Artikel EINMAL bestellt (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.13 |
UnitNetPrice | Netto-Preis von „NodeID“, wenn man den Artikel EINMAL bestellt | money | 5.0.1 |
PreciseUnitNetPrice | Exakter (intern gespeicherter) Wert für „UnitNetPrice“ | decimal(16,4) | 5.0.1 |
UnitBruttoPrice | Brutto-Preis von „NodeID“, wenn man den Artikel EINMAL bestellt (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.13 |
UnitGrossPrice | Brutto-Preis von „NodeID“, wenn man den Artikel EINMAL bestellt | money | 5.0.1 |
PreciseUnitGrossPrice | Exakter (intern gespeicherter) Wert für „UnitGrossPrice“ | decimal(16,4) | 5.0.1 |
TotalNettoPrice | Netto-Preis von „NodeID“, wenn man den Artikel „Quantity-Mal“ bestellt (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.13 |
TotalNetPrice | Netto-Preis von „NodeID“, wenn man den Artikel „Quantity-Mal“ bestellt | money | 5.0.1 |
PreciseTotalNetPrice | Exakter (intern gespeicherter) Wert für „TotalNetPrice“ | decimal(16,4) | 5.0.1 |
TotalBruttoPrice | Brutto-Preis von „NodeID“, wenn man den Artikel „Quantity-Mal“ bestellt (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.13 |
TotalGrossPrice | Brutto-Preis von „NodeID“, wenn man den Artikel „Quantity-Mal“ bestellt | money | 5.0.1 |
PreciseTotalGrossPrice | Exakter (intern gespeicherter) Wert für „TotalGrossPrice“ | decimal(16,4) | 5.0.1 |
PredecessorsLevelNo | Hierarchie des Vorgängers | tinyint | 3.5.13 |
TaxesMultiplier | Mehrwertsteuer als „Multiplikator“. D.h. beträgt die Mehrwertsteuer z.B. „16 %“, steht hier der Wert „1.16“. | decimal(16,6) | 5.0.1 |
PriceNodeCharacteristicID | ID des Merkmals; die Eigenschaft von „NodeID“ zu diesem Merkmal hat den Preis („UnitNettoPrice“) bestimmt | smallint | 4.0.7 |
CurrencyID | ID der Währung, in der die Preisangaben sind (es handelt sich i.d.R. um die zum durch „UniqueID“ angegebenen Besucher hinterlegte Währung) | tinyint | 5.0.1 |
CurrencySymbol | Symbol der Währung „CurrencyID“ | varchar(10) | 5.0.1 |
RelativeSurcharge | Relativer Rabatt/Aufschlag in Prozent (der in den Preisen bereits enthalten ist !). Ein negativer Wert bedeutet einen Rabatt, sonst beinhaltet der Verkaufspreis einen Aufschlag. Falls KEINE „PersonID“ angegeben wurde, steht hier immer „0“ ! | decimal(16,6) | 3.5.13 |
AbsoluteUnitNettoSurcharge | Absoluter Rabatt/Aufschlag, der in „UnitNetPrice“ bereits ENTHALTEN ist (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.13 |
AbsoluteUnitNetSurcharge | Absoluter Rabatt/Aufschlag, der in „UnitNetPrice“ bereits ENTHALTEN ist | money | 5.0.1 |
PreciseAbsUnitNetSurcharge | Exakter (intern gespeicherter) Wert für „AbsoluteUnitNetSurcharge“ | decimal(16,4) | 5.0.1 |
AbsoluteUnitBruttoSurcharge | Absoluter Rabatt/Aufschlag, der in „UnitGrossPrice“ bereits ENTHALTEN ist (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.13 |
AbsoluteUnitGrossSurcharge | Absoluter Rabatt/Aufschlag, der in „UnitGrossPrice“ bereits ENTHALTEN ist | money | 5.0.1 |
PreciseAbsUnitGrossSurcharge | Exakter (intern gespeicherter) Wert für „AbsoluteUnitGrossSurcharge“ | decimal(16,4) | 5.0.1 |
AbsoluteTotalNettoSurcharge | Absoluter Rabatt/Aufschlag, der im „TotalNetPrice“ bereits ENTHALTEN ist (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.13 |
AbsoluteTotalNetSurcharge | Absoluter Rabatt/Aufschlag, der im „TotalNetPrice“ bereits ENTHALTEN ist | money | 5.0.1 |
PreciseAbsTotalNetSurcharge | Exakter (intern gespeicherter) Wert für „AbsoluteTotalNetSurcharge“ | decimal(16,4) | 5.0.1 |
AbsoluteTotalBruttoSurcharge | Absoluter Rabatt/Aufschlag, der im „TotalGrossPrice“ bereits ENTHALTEN ist (Englischer Spaltenname ist NICHT korrekt, NICHT mehr verwenden !) | money | 3.5.13 |
AbsoluteTotalGrossSurcharge | Absoluter Rabatt/Aufschlag, der im „TotalGrossPrice“ bereits ENTHALTEN ist | money | 5.0.1 |
PreciseAbsTotalGrossSurcharge | Exakter (intern gespeicherter) Wert für „AbsoluteTotalGrossSurcharge“ | decimal(16,4) | 5.0.1 |
SurchargeTypeID | ID einer Preis-Aufschlags/Rabatt-Art, die ermittelt und bei der Preis-Ermittlung angewandt wurde. Falls KEINE „PersonID“ angegeben wurde, steht hier immer „NULL“ ! | smallint | 3.5.13 |
SurchargeValue | Der Wert des Aufschlags bzw. Rabattes, der verwendet wurde. Ist die „SurchargeTypeID“ relativ definiert, entspricht dieser Wert dem in „RelativeSurcharge“, andernfalls dem Wert in „AbsoluteUnitNetSurcharge“ bzw. „AbsoluteUnitGrossSurcharge“ | decimal(16,6) | 3.5.13 |
UnitSymbol | NICHT MEHR VERWENDEN ! (Alternative : „CurrencySymbol“) | varchar(10) | 3.5.13 |
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 | tinyint | 3.5.13 |
ItemProperty | Eigenschaft des Artikel-Elementes „AssociatedOrChosenTreeNodeID“ zum Merkmal „NodeCharacteristicID“ | varchar(1000) | 3.5.13 |
InputDateAndTime | Zeitpunkt, zu dem der Besucher „UniqueID“ das Element „HTreeNodeID“ in den Warenkorb gelegt hat | datetime | 3.5.13 |
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) | 5.5.0 |
SurchargeGeneratedByCampIDs | Liste von „CampaignID“s der Verkaufsaktionen, die zur Rabattierung der Position geführt haben | varchar(255) | 6.5.2 |
BonusItemForItemSetID | Die ID des „ItemSets“ aus welchem der Artikel stammt, falls es sich bei „HTreeNodeID“ um einen Bonus-Artikel handelt, sonst „NULL“ | integer | 7.0.5 |
QuantityPerBundleItemSetIDList | Durch ein “,„ getrennte Liste von Listen, deren Werte wiederum durch “&„ getrennt sind, und ein Wert die Form <Menge>x<BundleItemSetID> hat. Dies besagt jeweils, wieviel (<Menge>) von „Quantity“ der „HTreeNodeID“ zu der “<ItemSetID>„ des Bundles gehört. | varchar(255) | 7.0.6 |
PrePredecessorsTreeNodeID | ID des Vor-Vorgänger-Elementes im Artikelbaum von „TreeNodeID“ | integer | 3.5.13 |
PrePredecessorsDescription | Bezeichnung des Vor-Vorgängers | varchar(100) | 3.5.13 |
PrePredecessorsLevelNo | Hierarchie des Vor-Vorgängers | tinyint | 3.5.13 |
PredecessorsTreeNodeID | ID des Vorgänger-Elementes im Artikelbaum von „TreeNodeID“ | integer | 3.5.13 |
PredecessorsDescription | Bezeichnung des Vorgängers | varchar(100) | 3.5.13 |
TreeNodeID | NICHT MEHR VERWENDEN ! (Alternative : „AssociatedOrChosenTreeNodeID“) | integer | 3.5.13 |
(parameterunabängige Sortierung)
Spaltenname | Beschreibung | SQL-Datentyp6) | ab Version |
---|---|---|---|
InputDateAndTime | Zeitpunkt, zu dem der Besucher „UniqueID“ das Element „HTreeNodeID“ in den Warenkorb gelegt hat | datetime | 4.0.7 |
InputDateAndTime_char | „InputDateAndTime“ als „String“ - in der Form „15.01.2001 22:16:55:120“ | varchar(23) | 4.0.7 |
HTreeNodeID | ID eines Elementes aus „HistoryTreeView“ (in dieser ist die Historie des gesamten Artikelbaums abgebildet), das der Besucher „UniqueID“ in seinen Warenkorb gelegt hat (s.a. Beschreibung !) | integer | 4.0.7 |
NodeID | Zur „HTreeNodeID“ zugehörige ID des Artikel-Elementes (s.a. Beschreibung) | integer | 4.0.7 |
Quantity | Anzahl des Artikels „NodeID“ (bzw. der „HTreeNodeID“), die der Besucher „UniqueID“ in seinen „Warenkorb gelegt“ hat | integer | 4.0.7 |
BonusItemForItemSetID | Die ID des „ItemSets“ aus welchem der Artikel stammt, falls es sich bei „HTreeNodeID“ um einen Bonus-Artikel handelt, sonst „NULL“ | integer | 7.0.5 |
QuantityPerBundleItemSetIDList | Durch ein “,„ getrennte Liste von Listen, deren Werte wiederum durch “&„ getrennt sind, und ein Wert die Form <Menge>x<BundleItemSetID> hat. Dies besagt jeweils, wieviel (<Menge>) von „Quantity“ der „HTreeNodeID“ zu der “<ItemSetID>„ des Bundles gehört. | varchar(255) | 7.0.6 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 7) |
---|---|---|
-1204 | Fehlender oder falscher Eintrag in CampaignSettings | nur indirekt |
-655 | Die VisitorID steht nicht mit der PersonID in Verbindung | nur indirekt |
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-599 | Lizenz ist ungültig oder abgelaufen | 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 |
-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 |
-500 | Falsche Parameter | direkt und indirekt |
-333 | Ein benötigter Steuersatz ist nicht bekannt oder konnte nicht ermittelt werden | nur indirekt |
-312 | Fehlerhafte Daten im Warenkorb konnten nicht repariert werden | nur indirekt |
-311 | Fehlerhafte Daten im Warenkorb : Es sind mehrere „HTreeNodeID“s mit gleicher „NodeID“ vorhanden | nur indirekt |
-310 | Der Besucher hat keine gültigen Artikel im Warenkorb | nur indirekt |
-286 | Der Benutzer hat nicht die Berechtigung(en), Eigenschaften zu diesem(n) Merkmal(en) zu lesen/ä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 |
-221 | Es konnte kein rekursives Merkmal mit der Standardwährung als Einheit ermittelt werden | nur indirekt |
-220 | Es konnte keine Merkmal-ID für die Produktbezeichnung ermittelt werden | nur indirekt |
-120 | Der Benutzer hat keine Berechtigung für das (die) Element(e) | nur indirekt |
-110 | Das (die) Element(e) ist (sind) nicht vorhanden | nur indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | „Start-/Finish-Procedure“-Logik eingebaut, s. Ticket #3670 |
7.0.6 | 2014-06-23 | 1. Neue Rückgabespalte „QuantityPerBundleItemSetIDList“ 2. Aktualisierung der Doku zur Preisermittlung [wg. Bundle-Preis] |
7.0.5 | 2014-05-26 | Neue Rückgabespalte „BonusItemForItemSetID“ |
7.0.4 | 2014-03-19 | Doku korrigiert - Datentyp der Spalte „Removed“ wurde von „bit“ auf „tinyint“ geändert |
7.0.2 | 2013-08-29 | Doku-Hinweis bzgl. Parameter „PersonID“, der nun auch relevant für Verkaufsaktionen ist |
7.0.1 | 2013-08-07 | Datentyp der Rückgabespalten „NodeDescription“ und „ItemNo“ hat sich erweitert ⇒ Auch Anpassung der Doku |
6.5.4 | 2013-04-29 | Bugfix: „OutputIntoTrolleySurchInterf“ wurde fälschlicherweise auch beachtet, wenn „CalculatePrices = 0“ war. |
6.5.2 | 2013-02-26 | Neue Spalte in der Rückgabemenge „SurchargeGeneratedByCampIDs“ |
6.5.1 | 2012-11-02 | Neue Parameter „PaymentTypeID“ und „ShippingTypeID“ |
6.5.0 | 2012-09-17 | Hinweis in der Doku auf den neuen „Settings“-Eintrag „CampaignSurchargesEnabled“ und die Auswirkung auf die Preis- Ermittlung |
6.0.2 | 2011-06-08 | Holger Wies : Neuer Parameter „OutputIntoTrolleySurchInterf“ |
6.0.0 | 2010-03-26 | Neuer Parameter „DeliveryPersonID“ |
5.5.0 | 2008-01-07 | 1. Parameter „CalculatePrices“ ist jetzt ein „tinyint“ ⇒ neue Möglichkeit 2. Neue Rückgabespalte „SurchargeReason“ 3. Ausgabe an die Standard-Ausgabe [via „print“] im Fehler-Fall “-500„, die nähere Informationen über die Ursache enthält |
5.1.7 | 2006-10-31 | Neue Rückgabespalten „Active“ und „Deleted“ |
5.0.1 | 2005-03-29 | 1. Interne Änderung des Aufrufs von „_om_GetTrolley“ 2. Neuer „Settings“-Eintrag „AlwaysConsiderGraduatedPrices“ 3. Konsequente Fehlerbehandlung 4. Neue Rückgabespalten |
5.0.0 | 2004-12-21 | Nur Änderung der Doku : Erwähnung des neuen „Settings“-Eintrags „AlwaysConsiderSurcharges“ |
4.0.7 | 2004-01-16 | 1. Neue Rückgabespalte „PriceNodeCharacteristicID“ 2. Neue Parameter „RepairEntriesWithSameNodeID“ und „GetPlainTrolley“ |
4.0.6 | 2003-11-14 | 1. Die intern verwendete Prozedur „_om_GetTrolley“ hat sich geändert, daher waren auch hier [kleine] Änderungen notwendig 2. Hinweis auf den neuen Settings-Eintrag „PriceInTrolleyIsValidForXSeconds“ |
3.5.14 | 2002-01-23 | |
3.5.13 | 2001-12-06 | |
3.5.5 | 2001-03-30 | |
3.5.0 | 2000-11-23 | 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_GetTrolley_Pu?UniqueID=<value>'
Mit xmllint 8) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/om_GetTrolley_Pu?UniqueID=<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_GetTrolley_Pu', array( 'UniqueID' => '<value>', // 'PersonID' => NULL, // 'CalculatePrices' => 1, // 'CheckAvailability' => 1, // 'ShowDescriptions' => 1, // 'PriceNodeCharacteristicID' => NULL, // 'NodeCharacteristicID' => NULL, // 'IncludePredecessors' => 0, // 'LookForProductDescription' => 1, // 'RepairEntriesWithSameNodeID' => 0, // 'GetPlainTrolley' => 0, // 'DeliveryPersonID' => NULL, // 'OutputIntoTrolleySurchInterf' => 0, // 'PaymentTypeID' => NULL, // 'ShippingTypeID' => NULL ) ); $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_GetTrolley_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="ShowDescriptions">1</Parameter> --> <!-- <Parameter Name="PriceNodeCharacteristicID">NULL</Parameter> --> <!-- <Parameter Name="NodeCharacteristicID">NULL</Parameter> --> <!-- <Parameter Name="IncludePredecessors">0</Parameter> --> <!-- <Parameter Name="LookForProductDescription">1</Parameter> --> <!-- <Parameter Name="RepairEntriesWithSameNodeID">0</Parameter> --> <!-- <Parameter Name="GetPlainTrolley">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>