SAP IDoc Kontrollsatz EDI_DC40 verstehen und interpretieren
Veröffentlicht am von

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.

SAP ERP: ein- und ausgehende IDocs

SAP ERP: ein- und ausgehende 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 Arbeit­geber­leistungs­anbieter
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 IDoc Ports

SAP IDoc Ports

SAP unterstützt verschiedene Arten von Ports, wie zum Beispiel Datei, XML-Datei, Remote Function Call (RFC), ABAP-Programmier­schnittstelle (ABAP-PSS) usw. IDoc-Ports können im SAP in Transaktion WE21 verwaltet werden.

Verwaltung von IDoc-Ports in Transaktion WE21

Verwaltung von IDoc-Ports in Transaktion WE21

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.

Beispiel für eine Partnervereinbarung mit dem Kunden Daimler

Beispiel für eine Partnervereinbarung mit dem Kunden Daimler

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.

Beispiel für eine ausgehende Partnervereinbarung

Beispiel für eine ausgehende Partnervereinbarung

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.

Beispiel für eine eingehende Partnervereinbarung

Beispiel für eine eingehende Partnervereinbarung

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.

SAP-Beispiel-Setup mit einem EDI-Dienstleister

SAP-Beispiel-Setup mit einem EDI-Dienstleister

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 – wir helfen Ihnen gerne weiter!


Teile diesen Blog-Post:


Themen: SAP  IDoc 

Ähnliche Artikel: