p$TDV:SMPAPI:X_BauGrp
p$TDV:SMPAPI:X_BauGrp
Anlegen einer Baugruppe in einem Warenkorb. Die Baugruppenposition selbst, unterhalb der die neuen Positionen eingefügt werden sollen, muss bereits existieren. Diese Funktion kann sowohl dazu verwendet werden, die Baugruppe neu zu definieren, vorhandene Baugruppen-Positionen zu ergänzen als auch bestehende Positionen vollständig zu ersetzen.
Eine einzelne Artikel-Position kann auch mit der Funktion p$TDV:SMPAPI:S_WPosPd p$TDV:SMPAPI:S_WPosPd angelegt werden.
Die Daten der neuen Baugruppen-Positionen werden in einer Parametergruppe vom Typ BGPos übergeben (Parameter PosPG). Diese Parametergruppe ist in der Verbundgruppe TDV definiert und enthält die Positionsdaten in Form von Feldern, aber auch allgemeine Daten der Baugruppe (siehe dort).Parametergruppe BGPos
Optional können Preisinformationen der Baugruppe berechnet werden, die nach dem Schreiben im Parameter PreisPGParametergruppe BGPreis zurückgegeben werden.
Bitte beachten: Die Parametergruppen, die in PosPG und PreisPG übergeben werden, werden indirekt in einer Zeichenkette übergeben, also in Anführungszeichen eingeschlossen. Außerdem müssen die PGn global sein! Diese Funktion kann maximal 5000 Positionen und eine relative Gliederungstiefe von maximal 9 verarbeiten!
Syntax: | Status = p$TDV:SMPAPI:X_BauGrp( MaterialID, PosPG, Löschen, PreisPG ) | ||
| Argument | Typ | Bedeutung |
| MaterialID | Zeichenkette | Identifikation der Baugruppenposition in der Tabelle V_Warenpos, unterhalb der die Positionen angelegt werden sollen |
| PosPG | Zeichenkette | Name der Parametergruppe, die die Warenkorb-Positionsdaten enthält; die PG muss vom Typ BGPos sein, sie darf keinen Index haben. |
| Löschen | Ganzzahl | 0: evtl. bereits vorhandene Positionen erhalten |
| PreisPG | Zeichenkette | Name einer Parametergruppe mit zu ermittelnden Preisinformationen der Baugruppe (Typname BGPreis). Wenn keine Preise gewünscht werden, kann auch ein Leertext ('') übergeben werden. Die PG kann indiziert sein, allerdings muss dann ein fester Index angegeben werden. |
Ergebnis: | Ganzzahl | Status der Operation | |
Beispiel: Anlegen einer Pumpen-Baugruppe mit den Positionen Pumpe, Motor und Flansch
1 | Initialisieren der Positionsdaten. Durch das Setzen auf LEER brauchen dann später nur die notwendigen Daten belegt werden: f$PGLeer(’Pos’) |
2 | Position Pumpe. Dies ist eine freie Position vom Typ Positionsinhalt in der Stückzahl 1 (Standard). Die Verkaufseinheit (Stück=Stk) wird über den Parameter VKEinheit aus der Tabelle V_Warenpos gesetzt. Dazu wird die Parametergruppe wk mit diesem Parameter im Feld Warenkorb eingetragen. Die allgemeinen Merkmale stehen bereits in der PG "PosDat[1]", sie werden unter "PosDat" gespeichert. Die technischen Merkmale sind in der Parametergruppe "Pumpe" vorhanden, sie sollen in der Datenbank aber unter "Technik" gespeichert werden: Pos.Position[1] = ’I_1:Pumpe (Sonderanfertigung)’ |
3 | Position Motor. Dies ist ein Artikel mit der Materialnummer "Motor 4711" aus dem Produktkatalog. Die Position hat keine speziellen Merkmale: Pos.Position[2] = ’IT1:Motor 4711’ |
4 | Position Flansch. Dies ist ein (optionaler) Katalogartikel mit der Katalognummer "Flansch 4711" aus dem Produktkatalog. Der Flansch hat keinerlei Merkmale. Es werden 2 Stück benötigt: Pos.Position[3] = ’OS1:Flansch 4711’ |
5 | Anlegen der Baugruppe unter der vorhandenen Position "4711": Status = p$TDV:SMPAPI:X_BauGrp( ’4711’, ’Pos’, 1, ’’) |