OBS/Amazon/MakroFunktionen

Aus OBS Wiki
Version vom 7. Juli 2015, 07:01 Uhr von Rademacker (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=Makro Funktionen= Folgende Funktionen stehen in den Makros zur Verfügung um auf Amazon-Daten zuzugreifen: function GetAmazonShopNr(): string; gibt die Amazo…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Makro Funktionen

Folgende Funktionen stehen in den Makros zur Verfügung um auf Amazon-Daten zuzugreifen:

function 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);
procedure SetAmazonListingPrice(cArtNr: string; nListenPreis: Double);

Setzt den Listenpreis (Bruttopreis OHNE Versandkosten) eines Artikels in Amazon.

function 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;