Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:if_om_modifytrolleycontentinfo

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

engine:procedures:if_om_modifytrolleycontentinfo [11.01.2016 ] (aktuell)
Zeile 1: Zeile 1:
 +===== if_om_ModifyTrolleyContentInfo =====
 +
 +Fügt Daten in die Input-Schnittstelle von [[dstoreproc>​om_ModifyTrolleyContentInfo_Pu]] ein (wobei aber auch den beiden Prozeduren [[dstoreproc>​om_UpdateTrolley_Pu]] und [[dstoreproc>​om_InsertIntoTrolley_Pu]] Daten über diese Schnittstelle übergeben werden können).\\ ​
 +
 +Dies geschieht über die "​...List"​-Parameter dieser Prozedur, die jeweils eine Menge von Werten enthalten. Zueinander gehörende Werte (d.h. die sich in der gleichen Position der jeweiligen Liste befinden) werden in die folgenden Spalten eingefügt :\\ 
 +
 +  * HTreeNodeID integer
 +-> ID eines Elementes im historischen Artikelbaum (und damit eine Warenkorbs-Position)\\ ​
 +
 +  * InformationTypeID smallint
 +-> ID einer Informations-Art\\ ​
 +
 +  * Information varchar(1000)
 +-> Die Information,​ die für "​HTreeNodeID 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"​. Dies wird aber nicht als "​NULL",​ sondern als %%''​%% interpretiert (was "​vorhandene Information löschen"​ bedeutet) !\\ 
 +
 +
 +
 +Anmerkung zum Parameter "​HTreeNodeIDList"​ :\\ 
 +
 +Wird die Input-Schnittstelle für einen Aufruf von [[dstoreproc>​om_InsertIntoTrolley_Pu]] benötigt, gibt es noch eine Besonderheit : Bei dieser Prozedur fügt man nämlich nicht "​HTreeNodeID"​s sondern "​NodeID"​s oder "​TreeNodeID"​s in den Warenkorb, es wird dann intern nämlich die "​HTreeNodeID"​ ermittelt !\\ Aus diesem Grund kann man in dieser Prozedur hier in "​HTreeNodeIDList"​ auch eine Menge von "​NodeID"​s bzw. "​TreeNodeID"​s übergeben - sofern man anschließend auch [[dstoreproc>​om_InsertIntoTrolley_Pu]] aufruft (bei den anderen gäbe es dann i.d.R. einen Fehler, weil die IDs ungültig sind) !\\ 
 +
 +
 +
 +Anmerkung zum Parameter "​CheckByteLengthForStrings"​ :\\ 
 +
 +Die Werte in "​InformationList"​ sind "​string"​-Werte und haben daher eine maximale Länge, nämlich 1000 Bytes (nicht etwa Zeichen). Falls ein Element diese Grenze überschreitet,​ würde das Einfügen in die Input-Schnittstelle zwar trotzdem gelingen, aber es würden unbemerkt Zeichen (am Ende) abgeschnitten und somit verloren gehen. Mit "​CheckByteLengthForStrings"​ kann daher gesteuert werden, ob dieses unbemerkte "​truncate"​n ok ist ("​0"​) oder ob vorher geprüft und gegebenenfalls ein Fehler geworfen werden soll ("​1"​).\\ ​
 +|HTTP-Method|POST |
 +|HTTP-Auth|Optional |
 +|Alias|if_om_ModifyTrolleyContentInformation |
 +|Tags|{{tag>​[if Modify Trolley Content Information]}}|
 +|Engine-Kategorie|order management |
 +|Engine-Typ|Daten-Änderung |
 +|Letzte Aktualisierung|7.0.5 (2014-05-26)|
 +
 +==== 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 ^
 +|__HTreeNodeIDList__| |Eine Liste von IDs (durch das in "​Separator"​ angegebene Zeichen getrennt) von Elementen im historischen Artikelbaum (und damit "​Warenkorbs-Positionen"​),​ die in die Spalte "​HTreeNodeID"​ (s. Beschreibung) der Input-Schnittstelle eingefügt werden\\ |varchar(255)|5.5.2|
 +|__InformationTypeIDList__| |Eine Liste von IDs (durch das in "​Separator"​ angegebene Zeichen getrennt) von Informations-Arten (mögliche Werte s. [[dstoreproc>​om_GetTrolleyContInfoTypes_Ad]]),​ die in die Spalte "​InformationTypeID"​ (s. Beschreibung) der Input-Schnittstelle eingefügt werden\\ |varchar(255)|5.5.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)|5.5.2|
 +|Delete|0 |Möchte man zuvor die Input-Schnittstelle leeren, setzt man "​Delete"​ auf "​1"​.\\ |bit|5.5.2|
 +|Separator|'​¶'​ |Gibt an, durch welche Zeichenkette die Werte in den "​Listen-"​Parametern ("​...List"​) getrennt sind\\ |varchar(4)|5.5.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_ModifyTrolleyContentInfo_Pu]]/​[[dstoreproc>​om_UpdateTrolley_Pu]]/​[[dstoreproc>​om_InsertIntoTrolley_Pu]].|
 +==== Mögliche Return-Codes ====
 +
 +^Code ^Beschreibung ^Quelle ((direkt meint "von der Prozedur selber"​ und indirekt meint "von intern aufgerufenen Unterprozeduren"​)) ^
 +|-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.5 |2014-05-26|1. Datentyp-Erweiterung diverser Parameter und Variablen wg. der "​OrderContentInformation"​-Erweiterung [Ticket\\ #3653]\\ 2. Neuer Parameter "​CheckByteLengthForStrings"​\\ ​ |
 +|7.0.0 |2013-06-04|Kleiner Doku-Fehler [verwendete Prozeduren]\\ ​ |
 +|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. Interne Quellcode-Überarbeitung\\ ​ |
 +|5.5.2 |2008-10-21|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_ModifyTrolleyContentInfo">​
 + <​Parameters/>​
 + </​Procedure>​
 + </​Batch>​
 +</​ListOfBatches></​code>​
  
engine/procedures/if_om_modifytrolleycontentinfo.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)