Skip to main content
Skip table of contents

p$TDV:SMPAPI:S_WPosPd


p$TDV:SMPAPI:S_WPosPd

Anlegen einer neuen Warenkorbposition. Es können Artikel aus dem Produktkatalog oder Überschriftspositionen angelegt werden.

Das Anlegen einer freien Artikel-Position ist nicht möglich. Dazu kann statt dessen die Funktion p$TDV:SMPAPI:S_WposPd_Dat p$TDV:SMPAPI:S_WposPd_Datoder die Funktion p$TDV:SMPAPI:X_BauGrp p$TDV:SMPAPI:X_BauGrpeingesetzt werden, in dem als „Baugruppe" die eine freie Position definiert wird. Durch Übergabe der Einstellung „Nicht Löschen" wird die neue Position dann zusätzlich eingefügt.

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 Material- und Stücklistendaten sowie für die Merkmale übergeben werden. Diese Daten 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 bzw. StlPG ü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( MaterialID, PosTyp, PosNr, ProdPG, MatPG, StlPG, 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 aus der Tabelle V_Warenpos, die nach dem Schreiben der Position gefüllt wird. Eine indizierte PG mit festem Index ist möglich. Die Übergabe einer PG ist erforderlich!

 

StlPG

Zeichenkette

Ist nur aus Kompatibilitätsgründen enthalten. Es sollte ein Leerstring eingegeben werden.

 

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).

Es muss mindestens eine PG übergeben werden, sie darf allerdings auch ausschließlich LEER-Parameter enthalten.
Merkmals-Parametergruppen dürfen nicht indiziert sein.

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'

Anlegen als letzte Position unterhalb der aktuellen Position. Die Parametergruppen MatDaten und Konditionen werden in der Funktion auf LEER gesetzt. Die Materialidentnummer der neuen Position wird in MatDaten.MaterialID zurückgegeben. Es sollen die Merkmale aus Konditionen gelesen werden:

Merkmale = 'Konditionen'

Status = p$TDV:SMPAPI:S_WPosPd( Auftrag.ObjektID, 'P', '', 'Prod', 'MatDaten', '', Merkmale )

Änderung eines Merkmals:

Konditionen.Rabatt = Konditionen.Rabatt + SonderRabatt

Speichern der geänderten Merkmale:

Status = p$TDV:SMPAPI:S_MrkPos( Merkmale , MatDaten.MaterialID )

JavaScript errors detected

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

If this problem persists, please contact our support.