BetaContact us →
This SAP Connector is in beta The SAP Connector is not yet publicly available. We are actively working on its completion. If you would like early access, please contact us.
RFC / BAPI
Direkter Aufruf von SAP-Funktionsbausteinen. Für komplexe Logik und Transaktionen.
Was ist RFC/BAPI?
RFC (Remote Function Call) ist SAPs Protokoll zum Aufruf von ABAP-Funktionsbausteinen. BAPIs (Business Application Programming Interfaces) sind standardisierte Geschäftsfunktionen, die SAP für externe Aufrufe freigibt.
Vorteile
- • Volle SAP-Funktionalität
- • Transaktionen mit Commit
- • Custom Z-Funktionsbausteine
- • Komplexe Geschäftslogik
Voraussetzungen
- • ZATW Connector erforderlich
- • Funktionsbaustein in Allowlist
- • S_RFC-Berechtigung
Operationen
Call Function
Einzelner Funktionsaufruf. Ideal für einfache Abfragen oder Aktionen.
Call Multiple (Stateful)
Mehrere Funktionen in einer SAP-Session. Für Transaktionen mit COMMIT.
Die COMMIT-Regel
Wichtig
Ein BAPI-Aufruf speichert Daten oft nur im Zwischenspeicher (LUW). Für persistente Speicherung muss
BAPI_TRANSACTION_COMMIT aufgerufen werden.COMMIT nötig
CREATECHANGEDELETESAVEPOSTBOOKBAPIs mit diesen Suffixen ändern Daten und benötigen einen Commit.
Kein COMMIT
GETGETLISTGETDETAILEXISTENCECHECKLesende BAPIs benötigen keinen Commit.
Node-Optionen
| Option | Standard | Beschreibung |
|---|---|---|
| Auto Commit | false | BAPI_TRANSACTION_COMMIT nach Erfolg aufrufen |
| Check RETURN | true | RETURN-Struktur auf Fehler prüfen |
| Throw on BAPI Error | true | Bei Fehler Workflow abbrechen |
Häufige BAPIs
| Kategorie | Beispiele |
|---|---|
| GET | BAPI_CUSTOMER_GETDETAIL, BAPI_MATERIAL_GET_DETAIL |
| GETLIST | BAPI_SALESORDER_GETLIST, BAPI_PO_GETITEMS |
| CREATE | BAPI_SALESORDER_CREATEFROMDAT2, BAPI_PO_CREATE1 |
| CHANGE | BAPI_SALESORDER_CHANGE, BAPI_MATERIAL_SAVEDATA |
Beispiel: Kundendetails abrufen
BAPI_CUSTOMER_GETDETAIL
// Node-Konfiguration
Operation: Call Function
Function Module: BAPI_CUSTOMER_GETDETAIL
// Import Parameter
{
"CUSTOMERNO": "0000012345"
}
// Ergebnis enthält:
// - CUSTOMERADDRESS (Struktur)
// - CUSTOMERGENERALDETAIL (Struktur)
// - RETURN (Fehlermeldungen)Beispiel: Auftrag anlegen (mit Commit)
Auftrag mit Commit
// Node-Konfiguration
Operation: Call Multiple (Stateful)
// Schritt 1: Auftrag anlegen
Function: BAPI_SALESORDER_CREATEFROMDAT2
Import: {
"ORDER_HEADER_IN": { ... },
"ORDER_ITEMS_IN": [ ... ]
}
// Schritt 2: Commit
Function: BAPI_TRANSACTION_COMMIT
Import: { "WAIT": "X" }Auto Commit
Alternativ kannst du die Option "Auto Commit" aktivieren – dann wird der Commit automatisch ausgeführt.