Beta

Dieser SAP Connector befindet sich in der Beta-Phase Der SAP Connector ist aktuell noch nicht öffentlich verfügbar. Wir arbeiten intensiv an der Fertigstellung. Wenn Sie frühzeitigen Zugang erhalten möchten, kontaktieren Sie uns.

Kontakt aufnehmen →
Funktionsaufrufe

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

CREATECHANGEDELETESAVEPOSTBOOK

BAPIs mit diesen Suffixen ändern Daten und benötigen einen Commit.

Kein COMMIT

GETGETLISTGETDETAILEXISTENCECHECK

Lesende BAPIs benötigen keinen Commit.

Node-Optionen

OptionStandardBeschreibung
Auto CommitfalseBAPI_TRANSACTION_COMMIT nach Erfolg aufrufen
Check RETURNtrueRETURN-Struktur auf Fehler prüfen
Throw on BAPI ErrortrueBei Fehler Workflow abbrechen

Häufige BAPIs

KategorieBeispiele
GETBAPI_CUSTOMER_GETDETAIL, BAPI_MATERIAL_GET_DETAIL
GETLISTBAPI_SALESORDER_GETLIST, BAPI_PO_GETITEMS
CREATEBAPI_SALESORDER_CREATEFROMDAT2, BAPI_PO_CREATE1
CHANGEBAPI_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.

Weiterführende Themen