Skip to main content
Skip table of contents

p$TDV:SMPAPI:S_WposPd_Dat


p$TDV:SMPAPI:S_WposPd_Dat

Anlegen einer neuen Warenkorbposition. Es können Artikel aus dem Produktkatalog kopiert oder freie Positionen angelegt werden.

Falls mehrere Positionen angelegt werden sollen, kann statt dessen die Funktion p$TDV:SMPAPI:X_BauGrp eingesetzt werden

Soll eine Position oder eine ganze Baugruppe kopiert werden, kann dies am besten mit der Funktion p$TDV:SMPAPI_K_Bgrp p$TDV:SMPAPI:K_BGrperreicht werden.

Die Anordnungsposition im Warenkorb wird über die übergeordnete Position (gegeben über deren MaterialID) und über die Positionsnummer in der Stufe bestimmt.

Wenn nach dem Anlegen der Position noch Daten geändert werden sollen, können dieser Funktion noch Parametergruppen für die Materialdaten sowie für die Merkmale übergeben werden. Die Materialdaten werden zum einen verwendet, um Daten der angelegten Position zu schreiben, als auch werden am Ende der Funktion die Daten der angelegten Position zurückgegeben. Es muss darauf geachtet werden, dass die Parametergruppe zuvor auf LEER gesetzt wurde, und dann gezielt die Parameter gesetzt werden, die geschrieben werden sollen. Parameter, die den Zustand UNDEF haben, sorgen dafür, dass das entsprechende Feld auf NULL gesetzt wird.

Die Merkmale sind reine Ausgabe, sie werden nach dem Anlegen der Position gefüllt.

Die Materialnummer der neuen Position wird evtl. für weitere Zugriffe benötigt. Sie wird im Parameter MaterialID der Parametergruppe der Materialdaten zurückgegeben.

Bitte beachten: Die Parametergruppen, die in ProdPG und in MatPG übergeben werden, sowie die Merkmals-PGn werden indirekt in einer Zeichenkette übergeben, also in Anführungszeichen eingeschlossen. Außerdem müssen die PGn global sein!

Syntax:

Status = p$TDV:SMPAPI:S_WposPd_Dat( MaterialID, PosTyp, PosNr, ProdPG, MatPG, MerkmalPG )

 

Argument

Typ

Bedeutung

 

MaterialID

Zeichenkette

Identifikation der übergeordneten Warenkorbposition in der Tabelle V_Warenpos, unterhalb der die neue Position angelegt werden soll

 

PosTyp

Zeichenkette

Typ der neuen Position (1 Zeichen):
'Ü': Überschrift (der Text wird im Parameter Benennung der Produkt-PG übergeben)
'P': Preisposition
'O': Option
'A': Alternative
'I': Positionsinhalt
'T': Text

 

PosNr

Zeichenkette

Positionsnummer der neuen Position (auf der gewünschten Stufe). Der Inhalt des Textes muss numerisch sein. Bei Übergabe eines leeren Textes ('', nicht LEER) wird die Position hinten angefügt.

 

ProdPG

Zeichenkette

Name einer Parametergruppe, die die Warenkorb-Produktidentifikation enthält; die PG muss vom Typ WPosProd sein, sie kann einen festen Index haben.
Für alle Positionen, die nicht vom Typ Überschrift sind, ist entweder die Materialnummer oder die Katalognummer zu belegen. Bei Überschriften muss die Benennung einen Wert haben. Nicht belegte Daten müssen LEER gesetzt sein, UNDEF ist nicht zulässig.

 

MatPG

Zeichenkette

Name einer Parametergruppe mit Materialdaten.

Die Materialdaten werden auf die Tabellen TM_Warenpos und TS_Warenpos geschrieben und nach dem Anlegen der Position aus der Sicht V_Warenpos gefüllt. Nicht belegte Daten müssen LEER gesetzt sein, UNDEF ist nur dann zu verwenden, wenn ein Wert auf NULL gesetzt werden soll. Eine indizierte PG mit festem Index ist möglich. Die Übergabe einer PG ist nicht erforderlich!

 

MerkmalPG

Zeichenkette

a) der Name einer Parametergruppe, die nach dem Aufruf die Merkmale zu dieser Position enthält
b) Name eines (globalen) Feldes mit den Namen der zu lesenden Merkmals-Parametergruppen (das Listenende ist durch einen Eintrag mit LEER hinter der letzten PG gekennzeichnet).

Merkmals-Parametergruppen dürfen nicht indiziert sein.

c) ein LEERString (‚').

Ergebnis:

Ganzzahl

Status der Operation
0: Daten erfolgreich geschrieben
<0: Fehler gemäß ePOS-Fehler-Liste
>0: Fehler gemäß SMP-Fehlerstatus-Liste
Der Rückgabestatus in SalesManager NG-Funktionen

Beispiel:

Anlegen eines Motors mit Änderung eines Merkmals:

Festlegen des Katalogartikels:

f$PGLeer( 'Prod' )
Prod.KatalogNr = 'Motor 4711'

f$PGLeer( ' MatDaten ' )

MatDaten.Menge = 2

Anlegen als letzte Position unterhalb der aktuellen Position.

Status = p$TDV:SMPAPI:S_WPosPd( MaterialID, 'P', '', 'Prod', 'MatDaten', '')

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.