SAP IDOC Tutorial: Definition, Struktur, Typen, Format & Tabellen

Was ist ein IDOC?

IDOC ist einfach ein Datencontainer, der zum Austausch von Informationen zwischen zwei beliebigen Prozessen verwendet wird, die die Syntax und Semantik der Daten verstehen können.
Mit anderen Worten, ein IDOC ist wie eine Datendatei mit einem bestimmten Format, die zwischen zwei Systemen ausgetauscht wird, die wissen, wie diese Daten zu interpretieren sind.
IDOC steht für " Intermediate Document".
Wenn wir einen ausgehenden ALE- oder EDI-Prozess ausführen , wird ein IDOC erstellt.
Im SAP-System werden I DOCs in der Datenbank gespeichert. Jedes IDOC hat eine eindeutige Nummer (innerhalb eines Kunden).

In diesem Tutorial lernen Sie:

  • Was ist ein IDOC?
  • Struktur eines IDOC
  • IDOC-Typen
  • Was ist ein Segment?
  • Was ist der IDOC-Typ der Erweiterung?
  • IDOC-Ansichten
  • Partnerprofile
  • Hafen
  • Der ausgehende Prozess
  • Der eingehende Prozess
Hauptmerkmale
  • IDOCs sind unabhängig von den Sende- und Empfangssystemen. (SAP-zu-SAP sowie Nicht-SAP)
  • IDOCs basieren auf EDI-Standards, ANSI ASC X12 und EDIFACT. Im Falle eines Konflikts in der Datengröße wird einer mit größerer Länge verwendet.
  • IDOCs sind unabhängig von der Richtung des Datenaustauschs, zB ORDERS01: Einkaufsmodul: Inbound und Outbound
  • IDOCs können in einem Texteditor angezeigt werden . Die Daten werden im Zeichenformat anstelle des Binärformats gespeichert.

Struktur eines IDOC


Die I doc-Struktur besteht aus 3 Teilen -

  1. Der Verwaltungsteil ( Kontrolldatensatz ) - der den Typ des IDocs, den Nachrichtentyp, den aktuellen Status, den Absender, den Empfänger usw. enthält. Dies wird als Kontrolldatensatz bezeichnet.
  2. Die Anwendungsdaten ( Datensatz ) - Enthält die Daten. Diese werden als Datensätze / Segmente bezeichnet .
  3. Die Statusinformationen ( Statussatz ) - Diese geben Ihnen Informationen über die verschiedenen Stufen der idoc durch vergangen ist .

Sie können einen I-DOC mit der Transaktion WE02 oder WE05 anzeigen


Wie zu sehen ist, besteht der Screenshot über dem IDOC-Datensatz aus drei Teilen: Steuerung, Daten und Status. Lassen Sie uns sie im Detail untersuchen - Kontrollaufzeichnung

  • Alle Kontrolldatensatzdaten werden in der EDIDC-Tabelle gespeichert. Der Schlüssel zu dieser Tabelle ist die IDOC-Nummer
  • Es enthält Informationen wie IDOC-Nummer, Richtung (eingehend / ausgehend), Absender, Empfängerinformationen, verwendeten Kanal, verwendeten Port usw.
  • Richtung '1' zeigt ausgehend an, '2' zeigt eingehend an.

Datensatz

  • Der Datensatz enthält Anwendungsdaten wie Mitarbeiter-Header-Informationen, wöchentliche Details, Kundendetails usw.
  • Alle Datensatzdaten werden in EDID2- bis EDID4-Tabellen gespeichert, und EDIDD ist eine Struktur, in der Sie die Komponenten sehen können.
  • Es enthält Daten wie die IDoc-Nummer, den Namen und die Nummer des Segments im IDoc, die Hierarchie und die Daten
  • Die tatsächlichen Daten werden als Zeichenfolge in einem Feld namens SDATA gespeichert, bei dem es sich um ein Feld mit einer Länge von 1000 Zeichen handelt.

Statusdatensatz

  • Der Statusdatensatz wird bei jedem Meilenstein oder bei Fehlern an ein I-DOC angehängt.
  • Alle Statusdatensatzdaten werden in der EDIDS-Tabelle gespeichert.
  • Die Status 1-42 gelten für ausgehende und 50-75 für eingehende Nachrichten

IDOC-Typen

Ein I DOC-Typ (Basic) definiert die Struktur und das Format des Geschäftsdokuments, das ausgetauscht werden soll. Ein IDOC ist eine Instanz eines IDOC-Typs , genau wie das Konzept von Variablen und Variablentypen in Programmiersprachen. Sie können IDOC-Typen mit WE30 definieren

Was ist ein Segment?

Ein Segment definiert das Format und die Struktur eines Datensatzes in I-DOC. Segmente sind wiederverwendbare Komponenten.
Für jedes Segment erstellt SAP

  • Segmenttyp (versionunabhängig)
  • Segmentdefinition (versionabhängig)
  • Segmentdokumentation

Die letzten 3 Zeichen sind die Version des Segments. Die
Definitionen ändern sich je nach Version, der Segmenttyp bleibt jedoch gleich.
Transaktion: WE31


Was ist der IDOC-Typ der Erweiterung?

Es gibt zwei Arten von IDOC: -

  1. Basic
  2. Erweiterung


SAP provides many a pre-defined Basic IDOC Types which can not be modified. In case you want to add more data to these restricted basic type you may use an extension type. Most of the times you will NOT use extension.


Documentation

Each IDOC are thoroughly documented in transaction WE60


Message Type

A message represents a specific type of document that is transmitted between two partners Ex. Orders, orders responses, invoices etc
An idoc type can be associated with many message types
Also, a message type can be associated with different idoc types. Transaction WE81


IDOC Views

An IDOC type can be used for more than one message type, which results in IDOCs containing more fields than required for a particular message type.

IDOC-Ansichten werden verwendet, um die Leistung beim Generieren von IDOCs zu verbessern und sicherzustellen, dass nur die relevanten Segmente mit Daten gefüllt werden. IDOC-Ansichten sind nur für die Ausgangsverarbeitung wichtig.


Partnerprofile

Ein Partner ist definiert als ein Geschäftspartner, mit dem Sie Geschäfte abwickeln und Dokumente austauschen.
Im Partnerprofil eines Partners, mit dem wir Idocs austauschen, pflegen wir die Parameter, die für den Datenaustausch erforderlich sind. Die verwendete Transaktion ist WE20 .

Hafen

The port defines the technical characteristics of the connection between your SAP system and the other system you want to transfer data with (subsystem). The port defines the medium in which data is exchanged between the 2 systems.
There are different types of ports. The 2 most commonly used are the TRFC ports used in ALE and File ports which EDI uses.
For TRFC ports we have to give the name of the logical destination created using SM59.
When using file port you can specify the directory where the IDOC file should be placed. The other system or the middleware will pick up the file from here. The Function module can be used to generate a file name for the idoc. While Testing you can use "Outbound file" to specify a constant file name. The tab "outbound trigger" can be used to supply information if we want to trigger some processing on the subsystem when an idoc is created at this location. We have to specify the command file name and the directory which has to be run.


This is so CONFUSING!

Let's understand the process of creating an IDOC with an example -

  • Whenever a Purchase Order (PO) is created we want to send the IDOC to a vendor.
  • The PO is sent in the form of an IDOC to the vendor (partner). That partner has to be EDI enabled in that system. SAP should realize that it could send doc to this vendor electronically.
  • The PO sent as an outbound idoc by the customer will be inbound idoc for the vendor. The SAP system on the vendor's side can process this to create an application document (a sales order) on their system.
  • Quotation, RFQ, PO, SO, Invoice, delivery note etc are some of the commonly exchanged documents through IDOC

The process of data transfer out of your SAP system is called the Outbound process, while that of data moving into you SAP system is called Inbound process. As a developer or a consultant who will be involved in setting up theses process for your organization. Here are the steps how to set them up-

The Outbound Process

Steps Involved -

  1. Create segments(WE31)
  2. Create an idoc type(WE30)
  3. Create a message type (WE81)
  4. Associate a message type to idoc type(WE82)
  5. Create a port(WE21)
  6. If you are going to use the message control method to trigger idocs then create the function module for creating the idoc and associate the function module to an outbound process code
  7. Otherwise, create the function module or stand-alone program which will create the idoc
  8. Create a partner profile(WE20) with the necessary information in the outbound parameters for the partner you want to exchange the idoc with.Trigger the idoc.

The Inbound Process

Steps Involved-

  1. Creation of basic Idoc type (Transaction WE30)
  2. Creating message type (Transaction WE81)
  3. Associating the Message type to basic Idoc type (Transaction WE82)
  4. Create the function module for processing the idoc
  5. Definieren Sie die Eigenschaften des Funktionsbausteins (BD51)
  6. Ordnen Sie den eingehenden Funktionsbaustein dem Nachrichtentyp zu (WE57).
  7. Prozesscode definieren (Transaktion WE42)
  8. Erstellung eines Partnerprofils (Transaktion WE20)

Interessante Beiträge...