Knowhow »

IDoc
Heute werden IDocs in den meisten SAP-Anwendungen zur Übertragung von Nachrichten (Informationen) vom SAP-System an andere Systeme und umgekehrt verwendet. Dadurch, dass wir die Terminologie und Zusammenhänge erklären, werden IDocs immer noch verwendet. Sie zeigen die wichtigsten Einstellmöglichkeiten im SAP Customizing. Während von einem Modul-Berater nicht erwartet wird, dass er die IDoc-Konzepte in ihrer Gesamtheit kennt, wurde versucht, die minimal notwendigen Informationen zu erfassen, die man kennen muss, um Projekt-/Supportprobleme bei IDocs zu lösen.
Inhaltsverzeichnis
- ÜBERBLICK
- EDI-NORMEN UND IDOC
- IDOC TERMINOLOGIEN
- PFLEGE DER PARTNERVEREINBARUNG
- IDOC-STRUKTUR UND –AUFZEICHNUNG
- SENDEN UND EMPFANGEN VON IDOCS
- IDOC-VERARBEITUNG
- TESTEN UND BEARBEITEN VON IDOCS
- KONVERTIERUNG DES IDOC-STATUS
- SUCHEN VON IDOCS IN SAP
- IDOC-VALIDIERUNGEN, HÄUFIGE IDOC-FEHLER UND LÖSUNGEN
- DOKUMENTATION FÜR IDOC-TYPEN
- ALLGEMEINE INFORMATIONEN FÜR GÄNGIGE IDOC-NACHRICHTENTYPEN
- ARCHIVIERUNG/ LÖSCHUNG VON IDOCS AUS DER DATENBANK
ÜBERBLICK
IDoc ist ein SAP-Objekt, das Daten eines Geschäftsvorfalls in Form einer elektronischen Nachricht von einem System zum anderen überträgt. IDoc ist ein Akronym für Intermediate Document. Der Zweck eines IDocs ist es, Daten oder Informationen von SAP an andere Systeme zu übertragen und umgekehrt. Die Übertragung von SAP- zu Non-SAP-Systemen erfolgt über EDI-Subsysteme (Electronic Data Interchange), während für die Übertragung zwischen zwei SAP-Systemen ALE verwendet wird.
Das IDoc kann im SAP-System oder im EDI-Subsystem ausgelöst werden. Dies hängt von der Richtung ab, in der das IDoc gesendet wird und wird als Eingangs-IDoc und Ausgangs-IDoc entsprechend aufgerufen. Im Falle eines Ausgangsflusses wird das IDoc in SAP durch die Steuerung der Dokumentennachrichten ausgelöst und an das EDI-Subsystem gesendet. EDI konvertiert die Daten aus dem IDoc in XML oder ein gleichwertiges Format und sendet die Daten dann per Internet an das Partnersystem.
Für den Eingangsfluss konvertiert EDI die Partnerdaten und das IDoc wird in SAP erstellt. Nach erfolgreicher Verarbeitung dieses IDocs wird der Anwendungsbeleg in SAP gebucht.
EDI-NORMEN UND IDOC
“EDI ist der elektronische Austausch von Geschäftsdokumenten zwischen den Computersystemen von Geschäftspartnern unter Verwendung eines Standardformats über ein Kommunikationsnetzwerk”. EDI steht für Electronic DataInterchange.
Für die elektronische Übertragung von Informationen gibt es zwei weit verbreitete Standards: ANSI ASC X12 und EDIFACT. ANSI ASC X12 ist ein Gremium, das sich aus Vertretern großer Organisationen, Regierungsstellen und EDI-Softwareunternehmen zusammensetzt und Standards und Richtlinien für den Informationsaustausch über EDI definiert. UN/EDIFACT steht für United Nations EDI for Administration, Commerce and Transport und wurde 1985 mit ANSI X12 und UNTDI (United Nations Trade Data Interchange) als Basisstandards gegründet. ANSI X12 beschreibt Geschäftsdokumente als Transaktionen und jede Transaktion wird durch eine dreistellige Nummer dargestellt, z.B. 850 – Bestellung, 855 – Auftragsbestätigung. EDIFACT beschreibt Geschäftsdokumente als Nachrichten, die durch Standardnamen repräsentiert werden, z.B. ORDERS für Bestellungen.
IDOC TERMINOLOGIEN
IDOC (BASIS)-TYP
IDoc-Typen basieren auf den EDI-Standards und meist auf EDIFACT-Standards.
Basistypen (oder IDoc-Typ) definieren den Aufbau eines IDocs. Jeder Basistyp beschreibt Standard IDoc-Segmente, das Format der Datenfelder und deren Größe. Der Basistyp definiert auch die Anzahl der Segmente und Felder in einem IDoc. Alle Felder, die für die Übertragung der Nachricht zu einem bestimmten Geschäftsvorgang notwendig sind, werden in verschiedenen Segmenten abgebildet. Sie definiert auch den Aufbau und die Beziehung von IDoc-Segmenten sowie von Muss- und Optionssegmenten.
IDOC ERWEITERUNG
Der Basistyp enthält alle Standardfelder, die für die Durchführung eines Geschäftsvorfalls erforderlich sind. Wenn jedoch zusätzliche Werte an den Partner gesendet werden sollen, können wir die Funktion IDoc-Erweiterung nutzen. Die IDoc-Erweiterung ist eine Erweiterung des Basistyps und enthält zusätzliche benutzerdefinierte IDoc-Segmente und Felder, die im Standard-Basistyp nicht verfügbar sind.
Erhalten Sie in diesem zweitägigen Seminaren einen vollständigen Überblick über den technischen Aufbau von IDocs in SAP und lernen Sie, wie Sie eigene IDoc-Typen entwickeln und bestehende (z.B. SAP Standard-IDocs) erweitern können.
IDOC SEGMENTE
IDoc-Segmente enthalten die eigentlichen Daten, die an einen Partner gesendet oder von ihm empfangen werden. Diese Segmente enthalten die Istwerte, die im Rahmen der IDoc-Übertragung gesendet werden.
ÜBERGEORDNETE UND UNTERGEORDNETE SEGMENTE
Das IDoc-Segment wird als übergeordnetes Segment bezeichnet, wenn es eigene Segmente enthält. Die abhängigen Segmente werden als Untersegmente aufgerufen.
EINGEHENDE/ AUSGEHENDE IDOCS
Außerhalb des Systems gesendete IDocs werden als Ausgangs-IDocs bezeichnet und diejenigen, die in das System eingehen, werden als Eingangs-IDocs bezeichnet.
IDOC-RICHTUNG
Dies bedeutet, dass die Richtung, in die die Informationen gesendet werden, ähnlich der Terminologie in Mails ist. Wenn Informationen außerhalb des Systems gesendet werden, dann ist die Richtung Ausgang, wenn sie in das System empfangen werden, dann ist die Richtung Eingang. Im SAP-Ausgang wird die Richtung durch “1” dargestellt, d.h. der Ausgang und die Richtung des Eingangs durch “2”.
PARTNER
Partner ist der Geschäftspartner, mit dem der Informationsaustausch über IDoc erfolgen soll. Es kann ein Lieferant oder Kunde oder ein anderes System sein. Je nachdem, in welche Richtung die Informationen gesendet werden, spielt sie entweder die Rolle eines “Sending Partner” oder eines “Receiving Partner”.
PARTNERART
Die Partnerart bzw. -rolle dient zur Identifizierung von Partnern innerhalb der SAP-Systeme. Die Partnerart ist KU für Kunde, LI für Lieferant und LS für logisches System.
NACHRICHTENTYP
Bei der IDoc-Verarbeitung wird ein Dokument in Form einer Nachricht gesendet oder empfangen, die jeweils ein Dokument in SAP darstellt. Diese Belege können Bestellung, Transportbestätigung, Lieferavis, Wareneingang oder Rechnung sein. Der Nachrichtentyp ist dem Basis-IDoc-Typ (Basistyp) zugeordnet und definiert die Art der Daten oder Dokumente, die mit dem Partner ausgetauscht werden.
PROZESSCODE
Der Vorgangscode enthält die Details des Funktionsbausteins, die für die IDoc-Verarbeitung verwendet werden. Der Nachrichtentyp kann mit dem Vorgangscode verknüpft werden.
PORT
Der IDoc-Port enthält die Informationen darüber, wie Daten zwischen dem Quell- und Zielsystem gesendet werden. Die Art des Ports definiert die im Port enthaltenen Informationen. Für den Porttyp “Internet” enthält Port die IP-Adresse des Zielsystems. Für den Porttyp “Datei” werden Verzeichnis- oder Dateinameninformationen gepflegt. Der Port “tRFC” enthält Informationen über die RFC-Destination des Zielsystems. Für die IDoc-Übertragung über ALE werden “tRFC”-Ports verwendet.
PFLEGE DER PARTNERVEREINBARUNG
PARTNERPROFIL (WE20)
Die Partnervereinbarung muss für alle Geschäftspartner gepflegt sein, an die wir die IDocs senden oder empfangen wollen. Der TCODE für die Pflege der Partnervereinbarung ist WE20.
Ein Doppelklick auf den Partner zeigt den folgenden Bildschirm:
Die Partnervereinbarung enthält Parameter für die Eingangs- und Ausgangsverarbeitung von IDocs. Für jeden Nachrichtentyp können wir Eingangs-/ Ausgangsoptionen, Nachrichtensteuerung, Nach-bearbeitungsoptionen und Kontaktinformationen innerhalb der Eingangs- und Ausgangsparameter pflegen.
AUSGANGSOPTIONEN (AUSGANGSPARAMETER)
Dazu gehören Sender-/Empfängerport, Ausgabemodus und Beziehung zum IDoc-Typ, d.h. Basistyp und Erweiterung.
NACHRICHTENSTEUERUNG (AUSGANGSPARAMETER)
Diese enthält die Anwendung, für die ein IDoc erstellt wird, z.B. EF für Bestellung, den Nachrichtentyp der Anwendung, der das IDoc und den Prozesscode auslöst, der das SAP-Dokument in ein IDoc umwandelt. Wenn z.B. eine Bestellung an den Lieferanten AXXXXXXZ gesendet werden soll, dann müssen wir in der Ausgangsoption des Partners AXXXXXXZ den Nachrichtentyp ZXX1 pflegen und mit dem Vorgangscode ME10 verknüpfen. Wenn also der Nachrichtentyp ZXX1 in der Bestellung ausgelöst wird, wird ein IDoc für den Partnerlieferanten AXXXXXXZ erstellt.
Der Vorgangscode ist mit dem Funktionsbaustein in SAP verknüpft, der die Anwendungsdaten in ein IDoc umwandelt. Für diese Konvertierung stellt SAP Standardfunktionsbausteine zur Verfügung, die jedoch auch an die jeweiligen Geschäftsanforderungen angepasst werden können.
Das Kennzeichen Änderungsnachricht gibt an, ob das IDoc als Änderungsmitteilung gesendet wird. Beispielsweise werden Änderungsnachrichten zur Bestellung über den EDI-Standardnachrichtentyp 860 an den Lieferanten gesendet.
In der Bestellung zur Bestelländerung sollte eine eigene Nachrichtenart ausgelöst werden. Auf der Registerkarte Nachrichtensteuerung mit eingeschaltetem Kennzeichen für Änderungsnachrichten muss eine zusätzliche Zeile mit Änderungsnachrichtentyp hinzugefügt werden.
EINGANGSOPTIONEN (EINGANGSPARAMETER)
Bei Eingangsoptionen wird der Vorgangscode nur im Eingangsbild gepflegt. Die IDoc-Verarbeitung kann vom Hintergrundprogramm ausgelöst und sofort ausgelöst werden.
NACHBEARBEITUNG (EINGANGS-/AUSGANGSPARAMETER)
In der Nachbearbeitungsoption können wir die Workflow-Details der Benutzer oder Positionen pflegen, an die eine Fehlermeldung gesendet wird, wenn eine IDoc-Verarbeitung fehlschlägt.
TELEFONIE (IN-BOUND/OUTBOUND-PARAMETER)
Wir können auch die Kontaktdaten in der Telefonie-Option pflegen.
EDI-STANDARD (AUSGANGSPARAMETER)
Das EDI-Standardbild enthält die Details der Standard-EDI-Terminologie, die für die IDoc-Übertragung verwendet wird.
Der Nachrichtentyp 850 ist beispielsweise ein EDI-Standard für das Bestell-IDoc und ist mit dem IDoc-Nachrichtentyp Aufträge verknüpft.
IDOC-STRUKTUR UND –AUFZEICHNUNG
STRUKTUR
Die IDoc-Struktur ist unterteilt in Kontrollsätze, Datensätze und Statussätze.
Diese Sätze werden in den transparenten Tabellen von SAP abgelegt. Dies sind EDIDC, EDID4 und EDIDS.
KONTROLLSATZ (EDIDC)
Es enthält Informationen wie IDoc-Nummer, Richtung, IDoc-Status, Basistyp, Nachrichtentyp, Partner (Sender/Empfänger), Datum und Uhrzeit der Erstellung/Aktualisierung, Austauschdatei oder ISA-Nummer, etc.
DATENSATZ (EDID4)
Es enthält die Details zu den IDoc-Segmenten.
Das IDoc-Segment enthält Felder, die für die Buchung der Belege erforderlichen Daten enthalten.
STATUSSÄTZE (EDIDS)
Der IDoc-Status definiert den Verarbeitungsstatus des IDocs. IDoc-Status werden verwendet, um das IDoc und seine verschiedenen Verarbeitungszustände zu verfolgen. Statusnummern stellen den IDoc-Status dar. Der aktuelle Status des IDocs ist im Kontrollsatz vorhanden.
Die Initialstatusnummern sind 64 für den Eingang und 03 für den Ausgang. Der Erfolgsstatus ist 53 für eingehende und 16 für ausgehende IDocs.
SENDEN UND EMPFANGEN VON IDOCS
AUSLÖSEN EINES AUSGEHENDEN IDOCS
Ausgangs-IDocs können aus den Nachrichtentypen von Bestellungen, Lieferungen, Materialbelegen, Rechnungen usw. ausgelöst werden. Die folgende Abbildung zeigt, dass nach der Verarbeitung der Ausgabe ZXX1 von PO XXXXXXXXXXX1 ein IDoc “00000000XXXXXXXXXXXXXXX1” hinzugefügt/erzeugt wird.
Die Beziehung zwischen dem IDoc und dem Anwendungsbeleg kann auf zwei Arten gefunden werden:
1. Registerkarte Beziehung im IDoc
2. Registerkarte Beziehung des Anwendungsbelegs, z.B. Bestellung, SO, Materialbeleg, etc.
Der Initialstatus dieses IDocs ist 30, der nach erfolgreicher Verarbeitung in den Status 16 übergeht.
Ein erfolgreiches Ausgangs-IDoc durchläuft alle oben genannten Status in umgekehrter Reihenfolge (01-03-18-06-12-16). Jeder Status repräsentiert einen IDoc-Validierungsschritt. Wenn ein IDoc alle Validierungen durchläuft, würde es den Status 16 erreichen. Im Folgenden werden diese verschiedenen Validierungsschritte für Ausgangs-IDocs erläutert:
01: IDoc-Erzeugung erfolgreich
30: IDoc ist bereit für die Verarbeitung durch den IDoc-Verarbeitungsauftrag.
03: IDoc-Daten werden an den Port übergeben.
18: IDoc erfolgreich ausgelöst EDI-Subsystem
06: IDoc-Daten in EDI-Format übersetzt
12: IDoc wird erfolgreich an den Partner versendet.
16: Partner hat das IDoc erfolgreich empfangen.
Das IDoc kann bei einem der oben genannten Schritte während der Validierung möglicherweise fehlschlagen.
EMPFANGEN EINES EINGEHENDEN IDOC
Der Initialstatus eines eingehenden IDocs ist 64 und der Erfolgsstatus 53.
Im Folgenden werden verschiedene Validierungsschritte für eingehende IDocs erläutert:
50: IDoc erfolgreich im System empfangen
64: IDoc ist zur Verarbeitung durch den IDoc-Verarbeitungsauftrag bereit.
53: Anwendungsbeleg erstellt und erfolgreich gespeichert. Die Dokumentnummer kann durch Aufklappen des Statusknotens 53 gefunden werden.
Ein Eingangs-IDoc durchläuft alle oben genannten Status in umgekehrter Reihenfolge (50-64-53).
IDOC-VERARBEITUNG
AUTOMATISIERTE/ SOFORTIGE VERARBEITUNG
In diesem Fall wird das IDoc sofort so verarbeitet, wie es im System erzeugt oder hinzugefügt wurde. In den Ausgangsoptionen ist die Option “IDoc sofort übertragen” und in der Eingangsoption “Sofort auslösen” ausgewählt. Diese Prüfungen werden im Allgemeinen eingesetzt, wenn der Echtzeit-Informationsaustausch zwischen zwei Systemen erforderlich ist.
MANUELLE VERARBEITUNG
IDocs können auch manuell über den TCODE BD87 in SAP verarbeitet werden.
VERARBEITUNG ÜBER HINTERGRUNDJOB
Die IDoc-Verarbeitung im Hintergrund ist die bevorzugte Art der Verarbeitung der IDocs. Folgende Programme werden von der Verarbeitung der IDocs über den Hintergrundjob verwendet:
RBDAPP01 – Eingang IDocs
RSEOUT00 – Ausgangs-IDocs im Ausgang
AUFBEREITUNG VON IDOCS
Anhand von IDoc-Status können verschiedene Programme zur Nachbearbeitung von fehlerhaften IDocs verwendet werden. Diese sind nachfolgend aufgeführt:
TESTEN UND BEARBEITEN VON IDOCS
Wenn ein IDoc einen Fehler in den Daten enthält, können solche IDocs mit dem TCode WE02 oder WE05 bearbeitet werden. Beim Bearbeiten eines IDocs werden die ursprünglichen IDoc-Informationen (Sicherung) in einem neuen IDoc unter dem Status 70 (für den Eingang) / 33 (für den Ausgang) gespeichert. Dieses IDoc bleibt nur als Referenz im System und kann nicht verarbeitet werden. Der Status des bearbeiteten IDocs wird 69 (Eingang) und 32 (Ausgang). Diese IDocs können dann über die Transaktion BD87 oder Batch-Jobs verarbeitet werden.
Das Debuggen von IDocs kann durch Kopieren der IDocs mit dem TCode WE19 erfolgen. WE19 ist ein Testwerkzeug für die Verarbeitung von Idocs. WE19 kopiert den vorhandenen idoc und erstellt ein neues IDoc, das dann je nach Testbedarf angepasst werden kann. Das neu erzeugte IDoc kann auch über BD87 verarbeitet werden.
KONVERTIERUNG DES IDOC-STATUS
Mit dem Report RC1_IDOC_SET_STATUS kann der Status des IDocs geändert werden. Statusänderungen sind in der Regel erforderlich, um ein IDoc in den Status 68 zu versetzen – keine weitere Verarbeitung.
SUCHEN VON IDOCS IN SAP
TCODE WE02/WE05: ALLGEMEINE SUCHE
Über TCODE WE02 und WE05 können IDocs im System angezeigt werden. Wenn die IDoc-Nummer nicht bekannt ist, kann anhand von IDoc-Datum, Richtung, Grundtyp, Nachrichtentyp und Partnernummer gesucht werden. Die Partnernummer finden Sie in den Ausgabemeldungen der Dokumente.
Die IDoc-Suche kann auch auf Basis von ISA oder Transferfile Reference erfolgen
TCODE WE09: DATENSUCHE IN IDOC-SEGMENTEN
Wenn wir nach spezifischen Informationen innerhalb der IDocs-Segmente suchen, dann können diese mit dem TCODE WE09 gefunden werden. Dies ist nützlich, wenn Sie innerhalb von IDoc-Segmenten nach einer bestimmten Information in einer ähnlichen Art von IDoc suchen. Wenn Sie beispielsweise eine bestimmte Bestellnummer, z.B. 10000000001, in mehreren IDocs suchen möchten, die im Segment E1EDK01 eines IDocs unter dem Feld BELNR liegt. Dann kann die Suche wie folgt durchgeführt werden.
IDOC-VALIDIERUNGEN, HÄUFIGE IDOC-FEHLER UND LÖSUNGEN
Obwohl der IDoc-Fehler möglicherweise nicht mit einem der oben genannten Gründe zusammenhängt, ist der beste Weg, den IDoc-Fehler zu finden, das vorhandene IDoc mit dem guten Beispiel zu vergleichen. Ein gutes Beispiel für die Suche nach IDocs kann mit jeder der oben beschriebenen Suchmethoden einfach durchsucht werden.
DOKUMENTATION FÜR IDOC-TYPEN
Die IDoc-Dokumentation ist mit dem TCODE WE60 zu finden und kann hilfreich sein, um Informationen über den IDoc-Typ oder sein bestimmtes Segment zu erhalten. Es enthält auch Informationen wie obligatorische und optionale Segmente, minimale und maximale Anzahl von Segmenten, etc.
ALLGEMEINE INFORMATIONEN FÜR GÄNGIGE IDOC-NACHRICHTENTYPEN
Die folgende Liste enthält die Kombination aus Basistyp und Nachrichtentyp für gängige IDocs.
ARCHIVIERUNG/ LÖSCHUNG VON IDOCS AUS DER DATENBANK
Mit zunehmendem Alter der IDocs werden diese archiviert und von der Datenbank gelöscht. Archivierte IDocs können mit TCODE SARI im Achieve Explorer über das Archivierungsobjekt als IDoc betrachtet werden. Nachfolgend sind die wenigen Programme aufgeführt, die zum Archivieren und Löschen von IDocs von der Datenbank verwendet werden.
Ein Kommentar zu "IDoc"
Schöner Guide, vielen Dank dafür!