Im Feld Makroblock können zu jedem Warenmodell mehrere Makro-Befehle hinterlegt werden. Dadurch können auf einfache Art und Weise bereits im Warenstamm bestimmte Makro-Variablen des Parametersystems vorbelegt bzw. Preisberechnungen durchgeführt werden. Für einen Händler ergibt sich also die Möglichkeit eigene Modelle mit größenabhängigen Preisen und/oder Hinweistexten zu erstellen.
Folgende vordefinierten Variablen stehen in diesem Kontext zur Verfügung
P_Qty
Diese Variable erlaubt es im Makroblock auf die Stückzahl der Position zurückzugreifen. So ist es zum Beispiel möglich den Preis eines Modells abhängig von der Stückzahl zu berechnen.
P_Value1
P_Value1 enthält den Wert aus dem Eingabefeld Breite, des Positionsfenster.
P_Value2
P_Value2 entspricht dem Wert des Eingabefelds Höhe.
WS_DSC
In dieser Variable wird die Modellbeschreibung aus der Lasche Grunddaten des Warenstamms für eine weitere Verwendung gespeichert.
WS_NBR
WS_NBR hält die Modellnummer, die beim Anlegen eines Modells einzugeben ist, bereit.
WS_LP
Mit Hilfe der Variable WS_LP hat man die Möglichkeit, den Listenpreis festzulegen bspw. falls nötig zu überrechnen.
WS_EK
Mit Hilfe der Variable WS_EK hat man die Möglichkeit, den Einkaufspreis festzulegen bspw. falls nötig zu überrechnen.
WS_Breite
Belegt man diese Variable mit einem Wert, so wird das Feld Breite im Positionsfenster uneditierbar sowie entsprechend gefüllt. P_Value1 wird mit genau diesem Wert belegt und steht zur weiteren Verwendung zur Verfügung.
WS_Hoehe
Belegt man diese Variable mit einem Wert, so wird das Feld Höhe im Positionsfenster uneditierbar sowie entsprechend gefüllt. Auch P_Value2 kann in die Preisberechnung eingefügt werden.
Die Inhalte der beide Variablen - WS_Breite sowie WS_Hoehe - können nicht zur Preisberechnung herangezogen werden. Es ist also unumgänglich P_Value1 und P_Value2 zu verwenden.
Zur Unterstützung bei der Programmierung der Makros steht eine Syntax-Prüfung zur Verfügung. Aufgerufen werden kann diese, indem auf den gleichnamigen Button über dem rechten, oberen Eck des Makroblocks geklickt wird. Ist das Makro fehlerfrei erscheint eine entsprechende Nachricht, ansonsten wird der Curser an die Stelle des Fehlers positioniert. Um den Einstieg zu erleichtern sind hier ein paar Makros zu finden, die den Gebrauch der Variablen näher bringen soll.
Anzunehmen ist, dass der Preis einer Handelsware ab einer bestimmten Abnahmemenge reduziert werden. Im folgenden Fall wird ein verminderter Preis verrechnet, wenn der Kunde 5 oder mehr Stück eine Ware kauft.
IF P_Qty < 5 THEN
WS_LP = 1000
ELSE
WS_LP = 990
ENDIF
END
Anzunehmen ist, dass der Preis der Ware von den Dimensionen Breite, Höhe sowie einem Grundpreis abhängig ist.
WS_LP = 1000 ! Natürlich kann man diesen Preis auch in der Lasche Preise festlegen und diese Zeile weglassen.
WS_LP = WS_LP + P_Value1*1.65 + P_Value2*1.95
END
Es soll ein Modell erstellt werden, das immer die gleichen Ausmaße hat. In diesem Fall empfiehlt es sich die Variablen WS_Breite und WS_Hoehe zu verwenden.
WS_Breite = 1000
WS_Hoehe = 1000
WS_LP = 990
WS_LP = WS_LP + P_Value1*1.65 + P_Value2*1.95
END
Auch in diesem Fall werden die Variablen P_Value1 und P_Value2 zu Berechnung herangezogen und nicht WS_Breite und WS_Hoehe.
Andere Formeln
Wert 1 x Wert 2 x Preis
WS_LP=(P_Value1+P_Value2)*WS_LP/1000
WS_LP=(P_Value1+P_Value2)*WS_EK/1000
Textvariablen für Produkttext
Parameter 1 = [*D-OffPos.ParTxt01], Wert 1 = [*D-OffPos.PrmPar01]
Parameter 2= [*D-OffPos.ParTxt02], Wert 2 = [*D-OffPos.PrmPar02]
Beispiel: Breite [*D-OffPos.PrmPar01] mm x Höhe [*D-OffPos.PrmPar02] mm
ergibt: Breite 1500 mm x Höhe 1650 mm
Formel zur Berechnung eines STK-Artikels mit ZU-mm²:
Parameter 1 und 2, je 0 Dezimale und Umrechnungsfaktor = 1000
Listen- und Einkaufspreis wird je m² eingetragen
Preiseinheit = 1
Formel zur Berechnung eines STK-Artikels mit ZU-m²:
Parameter 1 und 2, je 3 Dezimale und Umrechnungsfaktor = 1
Listen- und Einkaufspreis wird je m² eingetragen
Preiseinheit = 1
Formel zur Berechnung eines STK-Artikels mit Preis nach m² mit Makro:
(Listen- und Einkaufspreis wird bei Registerkarte Preise eingetragen)
(Wird der Listenpreis als absolute Zahl eingetragen muss das Dezimaltrennzeichen ein Punkt sein)
WS_LP = Listenpreis, WS_EK = Einkaufspreis, P_VALUE1 = Wert 1, P_VALUE2 = Wert 2
WS_LP=P_Value1*P_Value2/1000000*WS_LP
WS_EK=P_Value1*P_Value2/1000000*WS_EK
Infomeldung als „Messagebox“ aus dem Warenstamm Makro
im Makroblock einer Handelsware:
if p_value1 < 850 then message "Die Mindestbreite beträgt 850 mm"
if p_value2 < 900 then message "Die Mindesthöhe beträgt 900 mm"
if p_value1 > 2500 then message "Die maximale Breite beträgt 2500 mm"
if p_value2 > 2100 then message "Die maximale Höhe beträgt 2100 mm"