Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:if_om_acknorders_ocontinfo_ad

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

engine:procedures:if_om_acknorders_ocontinfo_ad [11.01.2016 ] (aktuell)
Zeile 1: Zeile 1:
 +===== if_om_AcknOrders_OContInfo_Ad =====
 +
 +Fügt Daten in die Input-Schnittstelle von [[dstoreproc>​om_AcknowledgeOrders_Ad]] ein, die zur Speicherung von "​OrderContentInformation"​ (zum im Parameter "​OrderID"​ von [[dstoreproc>​om_AcknowledgeOrders_Ad]] angegebenen Auftrag) dient.\\ ​
 +
 +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 :\\ 
 +
 +  * Position smallint
 +-> (Eindeutige) Nummer einer Auftrags-Position,​ für die zur durch "​InformationTypeID"​ angegebenen Informations-Art Informationen geändert werder sollen\\ ​
 +
 +  * InformationTypeID smallint
 +-> Gibt die Art der Information "​Information"​ an\\ 
 +
 +  * Information varchar(1000)
 +-> Die Information,​ die für die Auftragsposition mit der Nummer "​Position"​ zur "​InformationTypeID"​ hinterlegt werden soll. %%''​%% angeben, um eine evtl. vorhandene Information zu löschen\\ ​
 +
 +Zu welchem "​NestingLevel"​ die Daten in die Input-Schnittstelle eingefügt wurden, geben wir normalerweise bei dieser Art von Prozeduren über einen Ausgabeparameter (der Art " InputNestingLevel"​) zurück, damit dieser Wert dann der Prozedur, die die Daten verarbeiten soll (in diesem Fall also [[dstoreproc>​om_AcknowledgeOrders_Ad]]),​ übergeben werden kann. Der Einfachheit halber wurde aber hier folgende Konvention (auf die sich [[dstoreproc>​om_AcknowledgeOrders_Ad]] verlassen kann) getroffen :\\ Die Daten werden zum "​nestlevel + 1" hinterlegt, beispielsweise wäre das für einen DIREKTEN Aufruf (also NICHT innerhalb einer anderen Prozedur) zum "​NestingLevel = 2"​.\\ ​
 +
 +
 +
 +Anmerkung zum Parameter "​InformationList"​ :\\ 
 +
 +Ist in "​InformationList"​ zweimal direkt hintereinander "​ListSeparator"​ enthalten oder kommt "​ListSeparator"​ 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 !\\ 
 +
 +
 +
 +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), weil ja die zugehörige Spalte ("​Information"​) der Input-Schnittstelle ein "​varchar(1000)"​ ist. Falls ein Element diese Grenze überschreitet,​ würde das Einfügen in die Input-Tabelle 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_AcknowledgeOrders_OrderContentInformation_Ad |
 +|Tags|{{tag>​[if Acknowledge Orders Order Content Information Ad]}}|
 +|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 ^
 +|__PositionList__| |Liste von (eindeutigen) Positions-Nummern (durch das in "​ListSeparator"​ angegebene Zeichen getrennt), die in die Spalte "​Position"​ (s. Beschreibung) der Input-Schnittstelle eingefügt werden\\ |varchar(1000)|7.0.4|
 +|__InformationTypeIDList__| |Eine Liste von IDs (durch das in "​ListSeparator"​ angegebene Zeichen getrennt) von Informations-Arten (mögliche Werte s. [[dstoreproc>​om_GetOrderContentInfoTypes_Ad]]),​ die in die Spalte "​InformationTypeID"​ (s. Beschreibung) der Input-Schnittstelle eingefügt werden\\ |varchar(1000)|7.0.4|
 +|__InformationList__| |Liste von Werten (durch das in "​ListSeparator"​ angegebene Zeichen getrennt), die in die Spalte "​Information"​ (s. Beschreibung) der Input-Schnittstelle eingefügt werden\\ |varchar(16384)|7.0.4|
 +|Delete|0 |Möchte man zuvor die Input-Schnittstelle leeren, setzt man "​Delete"​ auf "​1"​\\ |bit|7.0.4|
 +|ListSeparator|'​¶'​ |Gibt an, durch welche Zeichenkette die Werte in den "​Listen-"​Parametern ("​...List"​) getrennt sind\\ |varchar(4)|7.0.4|
 +|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.4|
 +==== Rückgabe ====
 +
 +Die Prozedur hat keine Rückgaben.
 +==== Output-Parameter ====
 +
 +Die Prozedur hat keine Output-Parameter.==== Mögliche Return-Codes ====
 +
 +^Code ^Beschreibung ^Quelle ((direkt meint "von der Prozedur selber"​ und indirekt meint "von intern aufgerufenen Unterprozeduren"​)) ^
 +|-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|Interne Änderung : Datentyp-Erweiterung des "​ReferenceKey"​ [für "​_mi_StartProcedure"​-Aufruf]\\ ​ |
 +|7.0.5 |2014-05-26|Interne sowie Doku-Anpassung bzgl. "​CheckByteLengthForStrings"​ wg. der "​OrderContentInformation"​-Erweiterung\\ [Ticket #​3653]\\ ​ |
 +|7.0.4 |2014-03-19|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_AcknOrders_OContInfo_Ad">​
 + <​Parameters/>​
 + </​Procedure>​
 + </​Batch>​
 +</​ListOfBatches></​code>​
  
engine/procedures/if_om_acknorders_ocontinfo_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)