OBS/Amazon/MakroFunktionen
Makro Funktionen
Folgende Funktionen stehen in den Makros zur Verfügung um auf Amazon-Daten zuzugreifen:
GetAmazonShopNr(): string
gibt die Amazon-Shopnummer zurück. Die Shopnummer ist nötig um die Artikel aus der Tabelle shp_artikel auszulesen. Codebeispiel:
cShopNr := GetAmazonShopNr(); cSql := 'SELECT sa_artnr FROM SHP_ARTIKEL WHERE sa_shopnr = ' + DB_SQLVal(cShopNr);
SetAmazonListingPrice(cArtNr: string; nListenPreis: Double)
Setzt den Listenpreis (Bruttopreis OHNE Versandkosten) eines Artikels in Amazon.
GetAmazonListingPrice(cArtNr: string): TAmazonPrice
Gibt den eigenen Preis zu einem Artikel zurück. Der eigene Preis wird, genau wie der Konkurrenzpreis, regelmässig ausgelesen. Die Funktion gibt den Wert zurück der zuletzt ausgelesen wurde.
var oPreis: TAmazonPrice; [...] oPreis := GetAmazonListingPrice('ARTIKELNUMMER'); oPreis.nListing <- Listenpreis oPreis.nShipping <- Versandkosten
GetAmazonCompetitorPrice(cArtNr: string): TAmazonPriceTable
Gibt eine Liste aller Konkurrenzpreise für einen Artikel zurück.
- der Rückgabewert ist ein Array vom Typ TAmazonPrice das nach Preis sortiert ist.
- Derzeit wird immer nur ein Wert zurückgegeben, die Funktionalität für mehrere Werte folgt später.
- Zugriff auf das Array mit oPreise[Index]
- Jeder Eintrag hat die beiden Eigenschaften nListing (Listenpreis) und nShipping(Versandkosten) vom Typ Double
Beispiel für die Ausgabe aller Preise in dem Array:
procedure Test(); var oPreise : TAmazonPriceTable; i : Integer; begin oPreise := GetAmazonCompetitorPrice('artikelnummer'); if (Length(oPreise) > 0) then begin // oPreise[0].nListing ist der günstigste Listenpreis // oPreise[0].nShipping sind die zugehörigen Versandkosten // Der Brutto-VK auf Amazon ist die Summer beider Werte. // durchläuft alle Preise vom Niedrigsten bis zum Höchsten for i := 0 to Length(oPreise) + 1 do begin Ausgabe(oPreise[i].nListing); end; end; end;
GetAmazonFee(nListing, nShipping: Double): Double
Berechnet die ungefähr anfallenden Amazon-Gebühren zu einem Preis. Es müssen Listenpreis und Versandkosten übergeben werden.
GetArtNrBySku(cSku: string): string
Gibt die OBS-Artikelnummer anhand der SKU zurück.
GetSkuByArtNr(cArtNr: string): string
Gibt die SKU anhand der OBS-Artikelnummer zurück.
GetAmazonMail(cAufNr: string): string
Gibt die eMail-Adresse des Kunden zu einer Auftragsnummer zurück. Handelt es sich bei dem Auftrag nicht um einen Amazon-Auftrag ist der Rückgabewert leer.