Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:if_om_modifytrolleyinformation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

engine:procedures:if_om_modifytrolleyinformation [11.01.2016 ] (aktuell)
Zeile 1: Zeile 1:
 +===== if_om_ModifyTrolleyInformation =====
 +
 +Fügt Daten in die Input-Schnittstelle von [[dstoreproc>​om_ModifyTrolleyInformation_Pu]] ein.\\ ​
 +
 +Dies geschieht über die "​...List"​-Parameter dieser Prozedur, die jeweils eine Menge von Werten enthalten sowie dem Parameter "​UniqueID"​. Zueinander gehörende Werte (d.h. die sich in der gleichen Position der jeweiligen Liste befinden) werden in die folgenden Spalten eingefügt (Ausnahme Spalte "​VisitorID"​ beachten) :\\ 
 +
 +  * VisitorID integer
 +-> Zur "​UniqueID"​ zugehörige "​VisitorID"​ (die letztlich den "​Warenkorb"​ identifiziert,​ zu dem Informationen hinterlegt werden sollen). Hier besteht die Ausnahme, daß nur ein Wert (keine Liste von Werten) übergeben werden kann (da mit [[dstoreproc>​om_ModifyTrolleyInformation_Pu]] nur Informationen eines einzigen Warenkorbes manipuliert werden können).\\ ​
 +
 +  * InformationTypeID smallint
 +-> ID einer Informations-Art\\ ​
 +
 +  * Information varchar(250)
 +-> Die Information,​ die für "​VisitorID"​ zur "​InformationTypeID"​ hinterlegt werden soll. %%''​%% angeben, um eine evtl. vorhandene Information zu löschen.\\ ​
 +
 +
 +
 +Hinweis :\\ 
 +
 +Ist in "​InformationList"​ zweimal direkt hintereinander "​Separator"​ enthalten oder kommt "​Separator"​ ganz zu Beginn oder am Ende vor, dann enthält die Liste quasi ein "​leeres Element"​. Da die Spalte "​Information"​ keine "​NULL"​-Werte erlaubt, wurde die Konvention getroffen, daß ein leeres Element immer als %%''​%% interpretiert wird (was "evtl. vorhandene Information löschen"​ bedeutet.\\ ​
 +|HTTP-Method|POST |
 +|HTTP-Auth|Optional |
 +|Tags|{{tag>​[if Modify Trolley Information]}}|
 +|Engine-Kategorie|order management |
 +|Engine-Typ|Daten-Änderung |
 +|Letzte Aktualisierung|7.0.7 (2015-01-29)|
 +
 +==== Parameter ====
 +
 +^Name ((Pflichtparameter sind unterstrichen)) ^Standard-Wert ^Beschreibung ((siehe [[webservice:​engine_parameterconventions|Parameter-Konventionen engine/<​Prozedur-Name>​]])) ^SQL-Datentyp((siehe [[:​webservice:​engine_datatypes|Datentypen im Bereich "​engine"​]])) ^ab Version ^
 +|__UniqueID__| |Eindeutige ID eines Besuchers (aus "​Visitors"​) durch den ein "​Warenkorb"​ identifiziert wird\\ |varchar(50)|6.0.2|
 +|__InformationTypeIDList__| |Eine Liste von IDs (durch das in "​Separator"​ angegebene Zeichen getrennt) von Informations-Arten (mögliche Werte s. [[dstoreproc>​om_GetTrolleyInfoTypes_Ad]]),​ die in die Spalte "​InformationTypeID"​ (s. Beschreibung) der Input-Schnittstelle eingefügt werden\\ |varchar(255)|6.0.2|
 +|__InformationList__| |Liste von Werten (durch das in "​Separator"​ angegebene Zeichen getrennt), die in die Spalte "​Information"​ (s. Beschreibung) der Input-Schnittstelle eingefügt werden\\ |varchar(16384)|6.0.2|
 +|Delete|0 |Möchte man zuvor die Input-Schnittstelle leeren, setzt man "​Delete"​ auf "​1"​.\\ |bit|6.0.2|
 +|Separator|'​¶'​ |Gibt an, durch welche Zeichen die Werte in den "​Listen-"​Parametern ("​...List"​) getrennt sind\\ |varchar(4)|6.0.2|
 +|CheckByteLengthForStrings|0 |Gibt an, ob für die einzelnen Elemente in "​InformationList"​ geprüft werden soll, ob die maximale Anzahl Bytes überschritten ist ("​1"​) oder nicht ("​0"​)\\ |bit|7.0.5|
 +==== Rückgabe ====
 +
 +Die Prozedur hat keine Rückgaben.
 +==== Output-Parameter ====
 +
 +|InputNestingLevel|Gibt an, zu welchem "​NestingLevel"​ die Daten eingefügt wurden (ein DIREKTER Aufruf führt immer zum Wert "​2"​). Diese Info braucht man für einen anschließenden Aufruf von [[dstoreproc>​om_ModifyTrolleyInformation_Pu]].|
 +==== Mögliche Return-Codes ====
 +
 +^Code ^Beschreibung ^Quelle ((direkt meint "von der Prozedur selber"​ und indirekt meint "von intern aufgerufenen Unterprozeduren"​)) ^
 +|-602|Zur defaultUniqueID ("​VisitorID = -2") können keinerlei Daten gespeichert oder verändert werden|nur direkt|
 +|-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|
 +|-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|
 +==== XML-Schema ====
 +
 +Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema [[http://​resources.dstore.de/​xsd/​webservice_SmartGate/​Response/​EngineProcedure_v1_0.xsd|Response/​EngineProcedure_v1_0.xsd]] validiert.
 +==== Historie ====
 +
 +|7.0.7 |2015-01-29|"​Start-/​Finish-Procedure"​-Logik eingebaut, s. Ticket #​3670\\ ​ |
 +|7.0.5 |2014-05-26|Neuer Parameter "​CheckByteLengthForStrings",​ Datentyp des Parameters "​InformationList"​ und der Variablen\\ "​Information"​ erweitert.\\ ​ |
 +|6.5.4 |2013-04-29|Änderungen an der Dokumentation. Direkte Aufrufer dürfen nun davon ausgehen, dass "​InputNestingLevel"​ nach dem\\ Aufruf mit "​2"​ belegt ist.\\ ​ |
 +|6.5.3 |2013-03-18|1. "​Separator"​ wurde erweitert [von "​1"​ auf "​4"​]\\ 2. Fehler : Die explizite Rückgabe eines Return-Codes am Schluß fehlte, dadurch wurde nie ein "​-500"​-Fehler\\ zurückgegeben !!!\\  |
 +|6.0.6 |2012-03-01|Beachtung des neuen, speziellen Besuchers "​defaultUniqueID"​ - für den keine Daten-Speicherung/​-Änderung erlaubt ist\\  |
 +|6.0.2 |2011-06-08|Erstmalig in dieser Version erstellt\\ ​ |
 +
 +==== Code-Snippets ====
 +
 +Es handelt sich um eine Methode zum Füllen von Schnittstellentabelle wie in [[:​engine:​procedures-background#​input_-tabellen|Hintergrundinformationen zu Engine-Prozeduren]] erläutert. Die Methode kann ausschließlich per engine/​execute in einem gemeinsamen Batch mit komplementären Prozeduren verwendet werden.== engine/​execute ==
 +XML zur Ausführung mit der Methode [[:​webservice:​engine:​execute|engine/​execute]],​ z.B. per
 +  curl --header '​Content-Type:​ application/​xml'​ -X POST '​http://<​partner>​-<​kunde>​.dstore.de/​default/​engine/​execute'​ -d '<​xml-daten>'​
 +
 +<code xml>
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<​ListOfBatches>​
 + <Batch No="​0">​
 + <​Procedure Name="​if_om_ModifyTrolleyInformation">​
 + <​Parameters/>​
 + </​Procedure>​
 + </​Batch>​
 +</​ListOfBatches></​code>​
  
engine/procedures/if_om_modifytrolleyinformation.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)