Verteilte Anwendungen programmieren 
Verwendung
Seit R/3-Release 4.0 werden BAPIs auch im Kontext des Application Link Enabling (ALE) für die Datenübertragung bzw. Datenreplikation zwischen verteilten Systemen eingesetzt. Bei der Datenübertragung zwischen verteilten Systemen unterscheidet man zwischen der Verwendung von synchronen und asynchronen BAPIs.
Funktionsumfang
Synchrone BAPIs
Synchrone BAPIs werden im allgemeinen zum Lesen von Daten aus einem entfernten, logischen System verwendet, z.B. zur Anzeige einer Kundenliste.
Dazu ist es notwendig, vor dem BAPI-Aufruf die RFC-Destination des entfernten Systems oder des BAPI-Servers zu ermitteln. Zu diesem Zweck steht dem Anwendungsentwickler ein API zur Bestimmung der RFC-Destination des BAPIs zur Verfügung.
Asynchrone BAPIs
Asynchrone BAPIs werden im allgemeinen für die Replikation von Daten auf ein oder mehreren anderen logischen Systeme verwendet, z.B. zur Verteilung von Artikelstammdaten.
Um mit einem BAPI eine asynchrone Datenübertragung zu realisieren, muß eine ALE-IDoc Schnittstelle generiert werden. Diese Schnittstelle übernimmt die gesamte Datenkommunikation zwischen den logischen Systemen auf der Basis der IDoc-Technologie. Die Anwendung ruft deshalb anstelle des BAPIs lokal die generierte ALE-IDoc Schnittstelle auf.
Analog zu synchronen BAPIs müssen vor dem Aufruf der ALE-IDoc Schnittstelle die entsprechenden logischen Systeme des BAPIs ermittelt werden. Diese werden der ALE-IDoc Schnittstelle als Eingabeparameter übergeben.
Behandlung des Return-Parameters
Jedes BAPI enthält den standardisierten Parameter Return, mit dem Meldungen an die aufrufende Anwendung zurückgegeben werden. Weitere Informationen zu diesem Parameter finden Sie unter
Return-Parameter (Fehlerdarstellung) im BAPI-Programmierleitfaden.Nach dem Aufruf des Funktionsbausteins, der im empfangenden System für die Umsetzung des IDocs in das entsprechende BAPI zuständig ist, werden für das IDoc Statussätze geschrieben, in denen die vom Return-Parameter zurückgegebenen Meldungen protokolliert werden.
Wenn in mindestens einem übergebenen Eintrag des Return-Parameters das Feld Type mit A (Abbruch) gefüllt ist, wird für alle Statussätze des IDocs der Status 51 (Fehler, Anwendungsbeleg nicht gebucht) geschrieben und ein 'Rollback Work' durchgeführt. Wenn in mindestens einem übergebenen Eintrag des Return-Parameters das Feld Type mit E (Fehler) gefüllt ist, wird für alle Statussätze des IDocs der Status 51 (Fehler, Anwendungsbeleg nicht gebucht) geschrieben, aber trotzdem ein 'Commit Work' durchgeführt. Andernfalls wird der Status 53 (Anwendungsbeleg gebucht) geschrieben und ein 'Commit Work' durchgeführt.
ALE-Verteilungsmodell
Analog zu den Nachrichtentypen werden synchrone und asynchrone BAPIs im Kontext von ALE im ALE-Verteilungsmodell gepflegt. Anhand des Verteilungsmodells werden zur Laufzeit die logischen Systeme (bei asynchronen BAPIs) bzw. RFC-Destinationen (bei synchronen BAPIs) ermittelt.

Detaillierte Informationen zur Verwendung der BAPIs im Rahmen von ALE finden Sie in
ALE Programmierung und in dem Dokument
Nutzung der ALE-Services.