Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:if_om_acknorders_ocontinfo_ad

if_om_AcknOrders_OContInfo_Ad

Fügt Daten in die Input-Schnittstelle von om_AcknowledgeOrders_Ad ein, die zur Speicherung von „OrderContentInformation“ (zum im Parameter „OrderID“ von 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 om_AcknowledgeOrders_Ad), übergeben werden kann. Der Einfachheit halber wurde aber hier folgende Konvention (auf die sich 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-MethodPOST
HTTP-AuthOptional
Aliasif_om_AcknowledgeOrders_OrderContentInformation_Ad
Tags
Engine-Kategorieorder management
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) 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. 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
Delete0 Möchte man zuvor die Input-Schnittstelle leeren, setzt man „Delete“ auf „1“
bit7.0.4
ListSeparator'¶' Gibt an, durch welche Zeichenkette die Werte in den „Listen-„Parametern (“…List“) getrennt sind
varchar(4)7.0.4
CheckByteLengthForStrings0 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“)
bit7.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 4)
-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
-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
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur indirekt
-500Falsche Parameterdirekt und 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-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
7.0.5 2014-05-26Interne sowie Doku-Anpassung bzgl. „CheckByteLengthForStrings“ wg. der „OrderContentInformation“-Erweiterung
[Ticket #3653]
7.0.4 2014-03-19Erstmalig in dieser Version erstellt

Code-Snippets

Es handelt sich um eine Methode zum Füllen von Schnittstellentabelle wie in 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 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="if_om_AcknOrders_OContInfo_Ad">
			<Parameters/>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
4)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
engine/procedures/if_om_acknorders_ocontinfo_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)