OBS/Amazon/MakroFunktionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen


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
HINWEIS: Ist für den Artikel kein Preis hinterlegt oder der Preis konnte beim letzten Lesezyklus nicht ausgelesen werden (z.B. weil der Artikel deaktiviert wurde oder inaktiv ist) gibt die Methode im Wert nListing 0 zurück

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.