OBS/Amazon/MakroFunktionen: Unterschied zwischen den Versionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Vorlage:Amazon}}
=Makro Funktionen=
=Makro Funktionen=
Folgende Funktionen stehen in den Makros zur Verfügung um auf Amazon-Daten zuzugreifen:
Folgende Funktionen stehen in den Makros zur Verfügung um auf Amazon-Daten zuzugreifen:
Zeile 24: Zeile 26:
  oPreis.nListing  <- Listenpreis
  oPreis.nListing  <- Listenpreis
  oPreis.nShipping  <- Versandkosten
  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}}




Zeile 67: Zeile 71:
==GetAmazonMail(cAufNr: string): string==
==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.
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.

Aktuelle Version vom 8. Juli 2015, 06:38 Uhr


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.