Anwendungsbeispiel 

In diesem fiktiven Beispiel wird folgendes BAPI verwendet, um den Standardpreis eines Materials lesen zu können:

bapi_material_getprice

importing

     material like mara-matnr

exporting

     material_price like bapi_material_price.

Die externe Struktur bapi_material_price hat folgende Felder:

Felder in der externen BAPI-Struktur

Feld

Bedeutung

Datenelement

Domäne

currency_iso

ISO-Währungscode

isocd

isocd

currency

Währungscode

waers

waers

amount

Betrag

bapimatprice

bapicurr

Ein Anwendungsprogrammierer im System R/3, der dieses BAPI benutzen möchte, verwendet in seinem Programm die interne Struktur mat_preis bestehend aus den folgenden Feldern:

Felder in der internen Arbeitsstruktur

Feld

Bedeutung

Datenelement

Domäne

matnr

Materialnummer

matnr

matnr

waers

Währungscode

waers

waers

stprs

Stückpreis

stprs

strps

Die BAPI-Struktur bapi_material_price enthält einen ISO-Währungscode und einen Währungsbetrag. Nach Aufruf des BAPIs muß der Anwendungsprogrammierer diese Felder in das intern im R/3-System verwendete Format umwandeln, um mit den Feldern weiterarbeiten zu können.

Über die Funktion Feldzuweisungsbaustein generieren (siehe Abschnitt Mapping zwischen internen/externen Datenformaten) läßt sich der Anwendungsentwickler den Funktionsbaustein map2i_bapi_material_price_to_mat_preis generieren, der die Währungs- und Betragsfelder konvertiert. Dieser Funktionsbaustein hat folgende Schnittstelle:

function map2i_bapi_material_price_to_mat_preis

  importing

    external structure bapi_material_price

  changing

    internal structure mat_preis

  exceptions

    error_during_iso_convertion

    error_converting_currency_amount.

 

Das Anwendungscoding könnte nun folgendermaßen aussehen:

...

  data: matnr like mara-matnr,

        preis like mat_preis,

        bapi_preis like bapi_material_preis.

...

*   Aufruf des BAPIs

  Call function bapi_material_getprice

    exporting

      material = matnr

    changing

      material_price = bapi_preis.

*   Abbilden und Konvert. des Ergebnisses auf internes Format

  call function map2i_bapi_material_price_to_mat_preis

      exporting

        external = bapi_preis

      changing

        internal = preis.

*     exceptions

*       error_during_iso_convertion

*       error_during_currency_amount_conversion

preis-matnr = matnr.

...