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): |
| 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. |
| 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 Es muss mindestens eine PG übergeben werden, sie darf allerdings auch ausschließlich LEER-Parameter enthalten. |
Ergebnis: | Ganzzahl | Status der Operation | |
Beispiel: | Anlegen eines Motors mit Änderung eines Merkmals: Festlegen des Katalogartikels: f$PGLeer( 'Prod' ) 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 ) | ||