SAP IDocs sind das Standardformat um Daten in und aus einem SAP ERP-System zu bekommen. Bei der inhaltlichen Struktur muss dabei vor allem auf das korrekte Befüllen des Kontrollsatzes EDI_DC40 geachtet werden, da sonst der Import in das SAP bzw. die Übernahme beim externen Partner (z.B. EDI-Dienstleister) nicht korrekt funktioniert. Wir stellen im Folgenden die wichtigsten Konzepte des Kontrollsatz EDI_DC40 vor und zeigen wie dieser mit SAP-Einstellungen, wie Partner-Profilen und IDoc Port-Typen, zusammenhängt.
Über SAP IDocs
IDocs dienen zum Import und Export von Daten aus einem SAP ERP-System. Den Aufbau und die Arten von IDocs haben wir bereits in einem früheren Beitrag beleuchtet. Im Zusammenhang mit EDI spielen IDocs eine wichtige Rolle, da man mit Hilfe von IDocs beispielsweise Bestelldokumente in ein SAP ERP-System importieren kann oder Rechnungsdokumente aus dem System exportieren kann.
Generell unterscheidet man in einem SAP ERP-System zwischen ausgehenden und eingehenden IDocs. Wie in der folgenden Abbildung dargestellt, nennt man IDocs welche das System verlassen ausgehende IDocs. Im Englischen spricht man auch von outbound IDocs. IDocs welche in das System importiert werden, bezeichnet man als eingehende IDocs oder im Englischen auch als inbound IDocs.
Bei eingehenden IDocs wird die korrekte Übernahme und die Ansteuerung der entsprechenden Verarbeitungsroutine im SAP-System mit Hilfe der Angaben im Element EDI_DC40 gesteuert. Auch bei ausgehenden IDocs spielt das Element EDI_DC40 eine wichtige Rolle, da der EDI-Dienstleister auf Basis dieser Kontrollinformation entsprechende Konvertierungs- und Routinglogiken startet.
Im Folgenden wollen wir daher auf den Kontrollsatz EDI_DC40 näher eingehen. Wir beleuchten dabei, welche Werte vom SAP automatisch gesetzt werden bzw. vom EDI-Dienstleister im Rahmen der Dokumentenkonvertierung gesetzt werden müssen.
SAP-Know-How
Um die einzelnen Werte im Element EDI_DC40 zu verstehen, müssen vorab einige grundlegende SAP-Begriffe geklärt werden, auf die wir im Folgenden kurz eingehen.
Logisches System
Ein logisches System ist eine eindeutige Bezeichnung und wird zur Identifikation eines individuellen Clients in einer SAP-Umgebung verwendet. Logische Systeme werden mit Hilfe von Transaktion BD54 verwaltet. Üblicherweise wird dabei unternehmensweit ein einheitliches Schema für die Benennung der logischen Systeme verwendet. Zumeist folgt dieses Schema dem Muster:
<Name der Instanz> + CLNT + <Client Nr.>
Ist der Name der Instanz P01
und handelt es sich um den Client 100
, so ergibt sich das logische System P01CLNT100
.
Partnertyp
Ein Partnertyp definiert — wie der Name schon sagt — den Typ eines Partners. Beim Austausch von IDocs dient der Partnertyp zur Identifikation der Art eines Partners.
Partnertypen werden mit Hilfe von Transaktion WE44 verwaltet. Standardmäßig sind im SAP die folgenden Partnertypen vorhanden.
Partnerart | Bezeichnung |
---|---|
B | Bank |
BP | Arbeitgeberleistungsanbieter |
GP | Geschäftspartner |
KU | Kunde/Debitor |
LI | Lieferant/Kreditor |
LS | Logisches System |
US | Benutzer |
IDoc-Ports
Für die IDoc-Kommunikation stellen Ports eine grundlegende Anforderung dar. Jedes externe System (wie es der EDI-Dienstleister ist), welches mit dem SAP-System kommunizieren möchte, muss mindestens über einen definierten Port verfügen. Die folgende Abbildung visualisiert das dabei zur Anwendung kommende Konzept.
SAP unterstützt verschiedene Arten von Ports, wie zum Beispiel Datei, XML-Datei, Remote Function Call (RFC), ABAP-Programmierschnittstelle (ABAP-PSS) usw. IDoc-Ports können im SAP in Transaktion WE21 verwaltet werden.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Im Falle einer Datei wird das IDoc beispielsweise in eine Datei geschrieben, von wo aus es dann von einem externen Dienst weiterverarbeitet werden kann. Eine andere Möglichkeit ist ABAP-PSS. In diesem Fall wird das IDoc an ein ABAP-Programm weitergereicht, welches das IDoc dann weiterverarbeitet — z.B. es über HTTPS an den EDI-Dienstleister weiterreicht.
Partner-Profil
Um EDI-Daten mit einem EDI-Dienstleister austauschen zu können, müssen für die verschiedenen Partner in einem SAP-System Partner-Profile angelegt werden. Typischerweise werden Partner-Profile dabei für Kunden (Debitoren) und Lieferanten (Kreditoren) angelegt. Dabei können sowohl ausgehende Partner-Profile (für versendete IDocs) als auch eingehende Partner-Profile (für empfangene IDocs) angelegt werden. Das Partner-Profil legt dabei genau fest, welcher IDoc-Typ über welchen Port mit welchen Rollen empfangen bzw. versendet wird.
Das Anlegen von Partner-Profilen erfolgt mit Hilfe von Transaktion WE20. Die folgende Abbildung zeigt die Partnervereinbarung mit dem Kunden Daimler.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Wie man auf der rechten Seite erkennen kann, sind zwei IDoc-Typen konfiguriert. Ausgehende DESADV (Lieferavis) und eingehende DELINS (Liefer- bzw. Feinabrufe). Dies entspricht einem klassischen Szenario im Automotive-Bereich. Der Kunde sendet Lieferabrufe (DELFOR) und Feinabrufe (DELJIT) und erwartet im Gegenzug Lieferavis (DESADV). DELINS ist in SAP der Nachrichtentyp für DELFOR und DELJIT.
Die folgende Abbildung zeigt die Konfiguration für den ausgehenden DESADV im Detail.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Neben der Partnernummer, der Partnerart sowie der Partnerrolle wird auch der Nachrichtentyp und der Empfängerport definiert. Im obenstehenden Beispiel ist der Empfängerport ECOSIO
und ist vom Typ ABAP-Programmierschnittstelle.
Die folgende Abbildung zeigt die Konfiguration für den eingehenden DELINS im Detail.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Zwischen den in der Partnervereinbarung konfigurierten Parametern und den Einträgen im Kontrollsatz EDI_DC40 besteht ein enger Zusammenhang, auf welchen wir im Folgenden eingehen.
Kontrollsatz EDI_DC40
Im Folgenden gehen wir auf die wichtigsten Sub-Elemente im Element EDI_DC40 ein, welche für die Verarbeitung des IDocs auf Seiten des SAP-Systems bzw. auf Seiten des EDI-Dienstleisters relevant sind. Für die restlichen Elemente sei an dieser Stelle auf die entsprechenden IDoc-Dokumentationen verwiesen. Die Dokumentation für ein bestimmtes IDoc kann im SAP-System mit Hilfe von Transaktion WE60 gezogen werden. Der Kontrollsatz ist für alle IDoc-Typen gleich aufgebaut. Im SAP-System findet man die Kontrollsätze zu den verschiedenen IDocs in Tabelle EDIDC
.
Zum besseren Verständnis der ein- und ausgehenden IDocs nehmen wir folgendes SAP Setup an.
Als ausgetauschte IDoc-Dokumente nehmen wir eine eingehende DELFOR-Nachricht und eine ausgehende DESADV-Nachricht an.
EDI_DC40 bei eingehenden IDocs
Beispieldatei für eine eingehende DELFOR-Nachricht.
<DELFOR02>
<IDOC BEGIN="1">
<EDI_DC40 SEGMENT="1">
<TABNAM>EDI_DC40</TABNAM>
<DIRECT>2</DIRECT>
<IDOCTYP>DELFOR02</IDOCTYP>
<MESTYP>DELINS</MESTYP>
<SNDPOR>ECOSIO</SNDPOR>
<SNDPRT>KU</SNDPRT>
<SNDPRN>10000254</SNDPRN>
<SNDLAD>9853254125456</SNDLAD>
<RCVPOR>SAPP01</RCVPOR>
<RCVPRT>LS</RCVPRT>
<RCVPRN>P01CLNT100</RCVPRN>
<RCVLAD>45325412545687</RCVLAD>
<CREDAT>20170825</CREDAT>
<CRETIM>152814</CRETIM>
<REFINT>15599156</REFINT>
<REFMES>15845251560001</REFMES>
<SERIAL>20170809545852</SERIAL>
</EDI_DC40>
...
</DELFOR02>
SNDPOR: Absenderport
In diesem Element muss vom EDI-Dienstleister der Sender-Port angegeben werden, der in Transaktion WE21 konfiguriert wurde. In unserem Fall ist dies der Wert ECOSIO
.
SNDPRT: Partnerart des Absenders
Dieses Feld muss eine Beschreibung des Partnertyps des Senders enthalten. z.B. KU
für Kunde oder LI
für Lieferant.
Die Kombination SNDPFC
, SNDPRN
und SNDPRT
ist die eindeutige Identifikation des Senders. Diese Kombination muss im SAP als Partner-Profil (definiert in Transaktion WE20) gesetzt sein. Fehlt die Einstellung im SAP oder sind die Parameter im IDoc falsch gesetzt, dann schlägt die Verarbeitung des IDocs fehl.
SNDPFC: Partnerrolle des Absenders
Dient zur optionalen Identifikation der Partner-Funktion. z.B. LF
für Verkäufer oder AG
für Besteller. Dieses Feld kann auch leer gelassen werden und ist auch im Partner-Profil in Transaktion WE20 optional.
SNDPRN: Partnernummer des Absenders
In diesem Feld muss die interne Partnernummer des Senders angegeben werden, so wie diese im SAP-System gespeichert ist — z.B. die Debitoren- oder die Kreditorennummer. In unserem Fall ist dies die Nummer 10000254
.
SNDSAD: Absenderadresse (SADR)
Referenz auf das SAP Directory Service. Wird üblicherweise nicht benutzt.
SNDLAD: Logische Adresse des Absenders
In diesem Feld kann die UNB-Sender-ID übergeben (sofern EDIFACT verwendet wird). Ansonsten die entsprechende logische Absenderkennung, welche bei ANSI ASC X12, XML, CSV o.ä. verwendet wird. Dieses Feld ist optional. In unserem Beispiel wird die fiktive GLN 9853254125456
verwendet.
RCVPOR: Empfängerport
Der Receiver-Port des Empfängers. Bei eingehenden IDocs ist dies das SAP-System, identifiziert durch die Kombination SAP
+ System-ID — z.B. SAPP01
in unserem Beispiel.
RCVPRT: Partnerart des Empfängers
Der Partnertyp des Empfängers. Bei eingehenden IDocs ist dies das SAP-System, weshalb in diesem Feld der Wert LS
(logisches System) angegeben wird.
RCVPFC: Partnerrolle des Empfängers
Die Partner-Funktion des Empfängers. Da der Empfänger das SAP-System ist, kommt keine Partner-Funktion zur Anwendung. Das sendende System (typischerweise der EDI-Dienstleister) sollte dieses Feld daher leer lassen.
RCVPRN: Partnernummer des Empfängers
Die Partner-Nummer des Empfängers. Da der Empfänger das SAP-System ist, gibt es keine spezifische Partnernummer, wie bei einem Debitor oder Kreditor. Stattdessen wird die Bezeichnung für das logische System verwendet. In unserem Fall ist die Bezeichnung für das logische System P01CLNT100
.
RCVSAD: Empfängeradresse (SADR)
Referenz auf das SAP Directory Service. Wird aktuell nicht verwendet.
RCVLAD: Logische Adresse des Empfängers
In diesem Feld kann die UNB-Receiver-ID übergeben werden (sofern EDIFACT verwendet wird). Ansonsten die entsprechende logische Kennung, welche bei ANSI ASC X12, XML, CSV o.ä. verwendet wird. Dieses Feld ist optional. In unserem Beispiel wird die fiktive GLN 45325412545687
verwendet.
EDI_DC40 bei ausgehenden IDocs
Beispiel für ein ausgehendes IDoc.
<DESADV01>
<IDOC BEGIN="1">
<EDI_DC40 SEGMENT="1">
<TABNAM>EDI_DC40</TABNAM>
<MANDT>100</MANDT>
<DOCNUM>0000000046615484</DOCNUM>
<DOCREL>700</DOCREL>
<STATUS>30</STATUS>
<DIRECT>1</DIRECT>
<OUTMOD>2</OUTMOD>
<IDOCTYP>DESADV01</IDOCTYP>
<MESTYP>DESADV</MESTYP>
<SNDPOR>SAPP01</SNDPOR>
<SNDPRT>LS</SNDPRT>
<SNDPRN>P01CLNT100</SNDPRN>
<SNDLAD>7844849473214</SNDLAD>
<RCVPOR>ECOSIO</RCVPOR>
<RCVPRT>KU</RCVPRT>
<RCVPFC>SP</RCVPFC>
<RCVPRN>100542101</RCVPRN>
<RCVLAD>95412163215412</RCVLAD>
<CREDAT>20170822</CREDAT>
<CRETIM>064159</CRETIM>
<SERIAL>20170822064159</SERIAL>
</EDI_DC40>
...
</DESADV01>
SNDPOR: Absenderport
Bei ausgehenden IDocs wird hier die Kennung des sendenden SAP-Systems angegeben. In unserem Beispiel ist die SAPP01
.
SNDPRT: Partnerart des Absenders
Der Partnertyp des sendenden SAP-Systems — üblicherweise wird hier LS
für Logisches System gesetzt.
SNDPFC: Partnerrolle des Absenders
Bei ausgehenden IDocs ist der Sender das SAP-System, welches keine Partnerfunktion hat. Daher wird dieses Feld typischerweise leer gelassen.
SNDPRN: Partnernummer des Absenders
Die Partnernummer des Senders. Da der Sender das SAP-System ist, wird stattdessen die Bezeichnung des logischen Systems verwendet — in unserem Fall P01CLNT100
.
SNDSAD: Absenderadresse (SADR)
Referenz auf das SAP Directory Service. Wird üblicherweise nicht benutzt.
SNDLAD: Logische Adresse des Absenders
Hier kann die UNB-Sender-ID übergeben werden (sofern EDIFACT verwendet wird). Ansonsten die entsprechende Kennung, welche bei ANSI ASC X12, XML, CSV o.ä. verwendet wird. In unserem Beispiel wird die fiktive GLN 7844849473214
benutzt.
RCVPOR: Empfängerport
Bei ausgehenden IDocs wird dieser Port anhand des im Partnerprofil gesetzten Ports bestimmt, welches in Transaktion WE20 konfiguriert ist. Der Wert wird vom SAP-System im IDoc automatisch gesetzt. In unserem Beispiel lautet der Port ECOSIO
.
RCVPRT: Partnerart des Empfängers
Der Partnertyp des Empfängers — z.B. KU
für Kunde oder LI
für Lieferant.
Die Kombination RCVPFC, RCVPRN und RCVPRT dient als eindeutige Identifikation des Empfängers. Diese Kombination muss im SAP als ausgehendes Partner-Profil (definiert in Transaktion WE20) gesetzt sein.
RCVPFC: Partnerrolle des Empfängers
Die Partner-Funktion des Empfängers — z.B. LF
für Verkäufer, AG
für Besteller usw.
RCVPRN: Partnernummer des Empfängers
Die Partnernummer des Empfängers, wie sie im SAP-System hinterlegt ist — z.B. im Kreditoren- oder im Debitorenstamm. In unserem Beispiel ist dies die Nummer 100542101
.
RCVSAD: Empfängeradresse (SADR)
Referenz auf das SAP Directory Service. Wird üblicherweise nicht benutzt.
RCVLAD: Logische Adresse des Empfängers
Hier kann die UNB-Empfänger-ID übergeben werden (sofern EDIFACT verwendet wird). Ansonsten die entsprechende Kennung, welche bei ANSI ASC X12, XML, CSV o.ä. verwendet wird. In unserem Beispiel wird die fiktive GLN 95412163215412
verwendet.
Noch Fragen?
Sie haben noch Fragen zum Thema IDoc oder zum Thema elektronischer Datenaustausch mit einem SAP ERP? Zögern Sie nicht und nehmen Sie mit uns Kontakt auf oder benutzen Sie unseren Chat — wir helfen Ihnen gerne weiter! Übrigens: Dieser Artikel gibt Ihnen 6 Gründen, warum und wann EDI in einem SAP Business Blueprint enthalten sein sollte.
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.