Beim Datenaustausch mit einem SAP ERP-System ist man mit verschiedenen Begriffen und Konzepten konfrontiert – je nachdem ob die Kommunikation mit unternehmenseigenen oder mit externen Systemen bei Geschäftspartnern stattfindet. Im heutigen Beitrag stellen wir die Zusammenhänge zwischen IDocs, ALE, RFC und EDI in einem SAP ERP-System vor und zeigen auf, wann welche Konzepte zum Einsatz kommen.
IDoc – Intermediate Document
IDocs sind das Standard-Austauschformat mit Hilfe dessen Daten in ein SAP-System importiert werden können und aus einem SAP-System exportiert werden können. Über eine IDoc-Schnittstelle werden betriebswirtschaftliche Daten wie Stammdaten, Rechnungen, Lieferscheine und ähnliches mit Fremdsystemen ausgetauscht. Diese Fremdsysteme können im eigenen Unternehmen stehen oder es werden Daten mit Systemen in anderen Unternehmen ausgetauscht.
Eine IDoc-Schnittstelle besteht dabei aus einer Datenstruktur und einer Verarbeitungslogik für das IDoc. Den genauen Aufbau eines IDocs haben wir bereits in einem vergangenen Beitrag vorgestellt.
Werden Daten mit anderen Systemen im eigenen Unternehmen ausgetauscht, so spricht man im Zusammenhang mit SAP von ALE (Application Link Enabling). Im Non-SAP-Umfeld ist auch der Begriff des EAI geläufig (Enterprise Application Integration). Eine ALE-Kommunikation kann synchron oder asynchron erfolgen.
Werden Daten mit anderen Unternehmen ausgetauscht, so spricht man von EDI (Electronic Data Interchange). Die EDI-Kommunikation ist nachrichtenbasiert und damit immer asynchron.
Die folgende Abbildung zeigt ein exemplarisches Szenario mit ALE und EDI (RFC siehe weiter unten).
Kunden und Lieferanten werden mit Hilfe von EDI an das SAP-System angebunden. Unternehmensinterne Drittsoftware wie CRM (Customer-Relationship Management), HR (Human Resources) und PDM (Product Data Management) werden mit Hilfe von ALE angebunden.
ALE – Application Link Enabling
Im Rahmen von ALE im Unterschied zu RFC finden Geschäftsprozesse verteilt auf verschiedene IT-Systeme im eigenen Unternehmen statt. Die Systeme sind dabei physisch voneinander getrennt und die Kommunikation findet zwischen verschiedenen Logischen Systemen (LS) statt.
Ein logisches System ist eine bestimmte Software wie z. B. ein CRM-System. In SAP ist ein logisches System einem Mandanten zugeordnet und hat einen eigenen Systemnamen. In SAP selbst können logische Systeme mit Hilfe von Transaktion BD54 definiert werden, wie die folgende Abbildung zeigt.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Die Zuordnung eines bestimmten Mandanten zu einem logischen System erfolgt in Transaktion SCC4.
Um zu definieren, welche IDocs mit welchem logischen System ausgetauscht werden sollen, muss ein Verteilungsmodell eingestellt werden. Ein Verteilungsmodell kann in Transaktion BD64 definiert werden.
Für die Kommunikation baut ALE auf RFC (Remote Function Call) auf.
RFC – Remote Function Call
RFC im Unterschied zu ALE ist ein Verfahren, bei dem eine Funktion (im SAP-Sprech auch Funktionsbaustein) in einem entfernten System aufrufen werden kann. Damit kann also Geschäftslogik in einem Dritt-System aufgerufen werden.
RFC steht dabei in der SAP-Welt einerseits synonym für Remote Procedure Call (RPC) und dient andererseits als Überbegriff für die SAP-Schnittstellen und Protokolle, welche zur Umsetzung von Funktionsaufrufen dienen.
In ABAP wird für den Aufruf eines entfernten Funktionsbausteins ein DESTINATION
Parameter angegeben. Das folgende Beispiel zeigt den Aufruf der Funktion STORE_NEW_CUSTOMER
im System CRM4711
.
CALL FUNCTION 'STORE_NEW_CUSTOMER'
DESTINATION 'CRM4711'
EXPORTING
customer = cust
IMPORTING
crm_customer_id = id
EXCEPTIONS
customer_exists = 1
An die Methode wird ein Customer-Objekt übergeben, welches im CRM-System gespeichert werden soll. Retourniert wird die ID des Customers im CRM-System, sodass diese im SAP-System zum Beispiel zum Debitorenstamm gespeichert werden kann.
SAP unterscheidet zwischen vier verschiedenen Arten von RFCs:
- Synchronous (sRFC)
- Asynchronous (aRFC)
- Tranactional (tRFC)
- Queued (qRFC)
EDI – Electronic Data Interchange
Werden Daten mit anderen Unternehmen ausgetauscht, so spricht man von Electronic Data Interchange (EDI). Anstatt IDocs direkt auszutauschen, werden die Daten vorher auf ein einheitliches Austauschformat übersetzt, ein sogenanntes EDI-Format. Bekannte EDI-Formate sind beispielsweise UN/EDIFACT, ANSI ASC X12, VDA usw. sowie die entsprechenden Derivate und Substandards.
Für die Übersetzung zwischen IDocs und dem EDI-Format kommt ein EDI-Konverter zur Anwendung.
Bei der Verwendung von elektronischem Datenaustausch kommt im SAP-System kein logisches System zur Anwendung, sondern es werden Partner definiert. Diese Partner können zum Beispiel Kunden oder Lieferanten sein. Die Einstellungen für die einzelnen Partner werden auch Partnervereinbarungen genannt und in Transaktion WE60 konfiguriert.
Sie haben noch Fragen zum Thema SAP und EDI?
Sie haben noch Fragen zum Thema SAP ERP, SAP SD und den dazugehörigen EDI-Prozessen bzw. ALE oder RFC? Nehmen Sie mit uns Kontakt auf oder benutzen Sie unseren Chat — wir helfen Ihnen gerne weiter! Hier übrigens ein interessanter Artikel zum Thema.
SAP ERP und SAP S/4HANA sind die Marken oder eingetragenen Marken der SAP SE oder ihrer verbundenen Unternehmen in Deutschland und mehreren anderen Ländern.