SAP Samouczek IDOC w ABAP: przewodnik krok po kroku
⚡ Inteligentne podsumowanie
SAP IDoc (Intermediate Document) to standardowy kontener danych, który umożliwia przesyłanie informacji biznesowych pomiędzy SAP i nieSAP Systemy za pośrednictwem ALE i EDI. Ten samouczek wyjaśnia definicję, strukturę, typy, tabele, profile partnerów, porty oraz kompleksowe procesy wychodzące i przychodzące.

Czym jest IDoc?
IDoc jest po prostu kontener danych używany do wymiany informacji między dowolnymi dwoma procesami, które potrafią zrozumieć składnię i semantykę danych.
Innymi słowy, IDoc to plik danych o określonym formacie, który jest wymieniany między dwoma systemami, które potrafią interpretować te dane.
IDoc oznacza „Dokument pośredni".
Kiedy wykonujesz wychodzące W procesie ALE lub EDI tworzony jest dokument IDoc. W SAP KonfiguracjaObiekty IDoc są przechowywane w bazie danych, a każdy obiekt IDoc ma unikalny numer w obrębie klienta.
Kluczowe funkcje
- Dokumenty IDoc są niezależny od systemów wysyłających i odbierających (SAP-do-SAP jak również nie-SAP).
- Dokumenty IDoc oparte są na EDI Standardy: ANSI ASC X12 i EDIFACT. W przypadku konfliktu rozmiaru danych, IDoc przyjmuje dane o większej długości.
- Dokumenty IDoc są niezależny od kierunku wymiany danychnp. ORDERS01 w module Zakupy obsługuje zarówno ruch przychodzący, jak i wychodzący.
- Dokumenty IDoc można przeglądać w edytor tekstu ponieważ dane są przechowywane w formacie znakowym, a nie binarnym.
Struktura dokumentu IDoc
Struktura IDoc składa się z trzech części:
- Część administracyjna (Rejestr Kontroli) — zawiera typ obiektu IDoc, typ wiadomości, aktualny status, nadawcę, odbiorcę i podobne metadane. Jest to tzw. rekord kontrolny.
- Dane aplikacji (Rekord danych) — zawiera dane biznesowe. Są one nazywane rekordami danych lub Segmenty.
- Informacje o statusie (Rekord statusu) — zawiera informacje o różnych etapach, przez które przeszedł dokument IDoc.
Możesz wyświetlić obiekt IDoc za pomocą transakcji WE02 or WE05.
Jak widać na powyższym zrzucie ekranu, rekord IDoc składa się z trzech części: Control (Kontrola), Data (Dane) i Status (Status). Każda część jest szczegółowo omówiona poniżej.
Zapis kontrolny
- Wszystkie dane rekordu kontroli są przechowywane w EDIDC tabela. Kluczem do tej tabeli jest numer IDoc.
- Zawiera informacje takie jak numer IDoc, kierunek (przychodzący/wychodzący), nadawca, informacje o odbiorcy, używany kanał i używany port.
- Kierunek „1” oznacza kierunek wychodzący, a „2” oznacza kierunek przychodzący.
Zapis danych
- Rekord danych zawiera dane aplikacji, takie jak informacje o pracowniku, szczegóły tygodniowe, szczegóły klienta itd.
- Wszystkie dane rekordu danych są przechowywane w tabelach EDID2 do EDID4, EDIDD jest strukturą, której elementy można zobaczyć.
- Zawiera dane takie jak numer obiektu IDoc, nazwę i numer segmentu w obiekcie IDoc, hierarchię i same dane.
- Rzeczywisty ładunek jest przechowywany jako ciąg w polu o nazwie DANE, które jest polem o długości 1000 znaków.
Zapis stanu
- Rekord statusu jest dołączany do dokumentu IDoc na każdym etapie lub w przypadku wystąpienia błędu.
- Wszystkie dane rekordu statusu są przechowywane w EDIDS tabela.
- Statusy 1–42 dotyczą ruchu wychodzącego, a 50–75 przychodzącego.
Typy IDoc
Typ IDoc (podstawowy) definiuje strukturę i format wymienianego dokumentu biznesowego. Obiekt IDoc jest instancją typu obiektu IDoc, podobnie jak koncepcja zmiennych i typów zmiennych w języki programowaniaTypy IDoc można definiować za pomocą transakcji WE30.
Co to jest segment?
Segment definiuje format i strukturę pliku Zapis danych w obiekcie IDoc. Segmenty to komponenty wielokrotnego użytku.
Dla każdego segmentu, SAP tworzy następujące komponenty.
- Typ segmentu (niezależny od wersji)
- Definicja segmentu (w zależności od wersji)
- Dokumentacja segmentu
Ostatnie trzy znaki reprezentują wersję segmentu. Definicje mogą się zmieniać wraz ze zmianą wersji, ale typ segmentu pozostaje ten sam. Transakcja: WE31.
Czym jest typ rozszerzenia IDoc?
Istnieją dwa typy dokumentów IDoc:
- Basic
- Rozbudowa
SAP zapewnia wiele predefiniowanych podstawowych typów IDoc, które nie można modyfikowaćJeśli potrzebujesz dodać więcej danych do ograniczonego typu podstawowego, możesz użyć typu rozszerzenia. W większości przypadków nie potrzebne są rozszerzenia.
Dokumenty
Każdy dokument IDoc jest dokładnie udokumentowany w transakcji WE60.
Typ wiadomości
Wiadomość reprezentuje określony typ dokumentu, który jest transmitmiędzy dwoma partnerami, na przykład Zamówienia, Odpowiedzi na Zamówienia i Faktury.
Typ IDoc może być powiązany z wieloma typami wiadomości. I odwrotnie, typ wiadomości może być powiązany z różnymi typami IDoc. Transakcja: WE81.
Widoki IDoc
Typ IDoc może być używany dla więcej niż jednego typu wiadomości, co powoduje, że obiekty IDoc będą zawierały więcej pól, niż jest to wymagane dla określonego typu wiadomości.
Widoki IDoc poprawiają wydajność generowania obiektów IDoc, zapewniając wypełnienie danymi tylko odpowiednich segmentów. Widoki IDoc są istotne tylko w przypadku przetwarzania wychodzącego.
Profile partnerów
Partner to partner biznesowy, z którym prowadzisz interesy i wymieniasz dokumenty.
W profilu partnera, z którym wymieniane są dokumenty IDoc, utrzymujesz parametry niezbędne do wymiany danych. Używana transakcja to WE20.
Port
Port definiuje parametry techniczne połączenia pomiędzy Twoim SAP system i drugi system, z którym chcesz przesyłać dane (podsystem). Port definiuje medium, w którym dane są wymieniane między dwoma systemami.
Istnieją różne rodzaje portów. Dwa najczęściej używane to: Porty TRFC używany w ALE i Porty plików używane przez EDI.
W przypadku portów TRFC należy podać nazwę logicznego miejsca docelowego utworzonego za pomocą SM59. Używając portu pliku, można określić katalog, w którym ma zostać umieszczony plik IDoc. Następnie inny system lub oprogramowanie pośredniczące pobiera plik z tego katalogu. Moduł funkcji może zostać użyty do wygenerowania nazwy pliku dla IDoc. testowanie, możesz użyć opcji „Plik wychodzący”, aby określić stałą nazwę pliku. Karta „wyzwalacz wychodzący„może służyć do dostarczania informacji, jeśli chcesz uruchomić przetwarzanie w podsystemie po utworzeniu obiektu IDoc w tej lokalizacji. Podaj nazwę pliku polecenia i katalog, który ma zostać uruchomiony.
Wspólna transakcja IDoc Codes
| Transakcja Code | Cel |
|---|---|
| WE02 / WE05 | Wyświetlanie i monitorowanie dokumentów IDoc |
| WE30 | Utwórz lub zmień typ IDoc |
| WE31 | Utwórz lub zmień segment |
| WE20 | Utrzymuj profil partnera |
| WE21 | Utrzymuj porty |
| WE42 | Zdefiniuj proces przychodzący Code |
| WE57 | Przypisz moduł funkcji przychodzącej do typu wiadomości |
| WE60 | Dokumentacja IDoc |
| WE81 / WE82 | Utwórz typ wiadomości / powiąż z typem IDoc |
| BD51 | Zdefiniuj charakterystyki modułu funkcyjnego |
| SM59 | Utrzymuj miejsca docelowe RFC |
Proces IDoc: przykład z życia wzięty
Rozważmy przykład wysłania zamówienia zakupu do dostawcy za pośrednictwem IDoc.
- Za każdym razem, gdy tworzone jest zamówienie zakupu (PO), system musi wysłać dokument IDoc do dostawcy.
- Zamówienie jest wysyłane w formie dokumentu IDoc do dostawcy (partnera). Partner musi mieć włączoną obsługę EDI w systemie. SAP uznaje, że może przesłać dokument do tego sprzedawcy drogą elektroniczną.
- Zamówienie wysłane przez klienta jako dokument IDoc wychodzący staje się dokumentem IDoc przychodzącym dla dostawcy. SAP System po stronie dostawcy może przetworzyć te dane i utworzyć dokument aplikacji (zamówienie sprzedaży) w swoim systemie.
- Do najczęściej wymienianych dokumentów za pośrednictwem IDoc należą oferty, zapytania ofertowe, zamówienia zakupu, zamówienia specjalne, faktury i dowody dostawy.
Proces przesyłania danych z Twojego SAP system nazywa się Proces wychodzącypodczas gdy dane są przesyłane do Twojego SAP system nazywa się Proces przychodzącyJako deweloper lub konsultant, który konfiguruje te procesy w swojej organizacji, możesz zapoznać się z poniższymi krokami konfiguracji każdego z nich.
Proces wychodzący
Wymagane kroki:
- Utwórz segmenty (WE31).
- Utwórz typ IDoc (WE30).
- Utwórz typ wiadomości (WE81).
- Powiąż typ wiadomości z typem obiektu IDoc (WE82).
- Utwórz port (WE21).
- Jeśli używasz metody message-control do wyzwalania obiektów IDoc, utwórz moduł funkcji, który buduje obiekt IDoc i połącz go z procesem wychodzącym Code.
- W przeciwnym wypadku utwórz moduł funkcji lub samodzielny program, który bezpośrednio utworzy obiekt IDoc.
- Utwórz profil partnera (WE20) z niezbędnymi informacjami w parametrach wychodzących dla partnera, z którym wymieniasz dokument IDoc, i uruchom dokument IDoc.
Proces przychodzący
Wymagane kroki:
- Utwórz podstawowy typ IDoc (transakcja WE30).
- Utwórz typ wiadomości (transakcja WE81).
- Powiąż typ wiadomości z podstawowym typem IDoc (transakcja WE82).
- Utwórz moduł funkcji do przetwarzania obiektu IDoc.
- Zdefiniuj charakterystyki modułu funkcyjnego (BD51).
- Przypisz moduł funkcji przychodzącej do typu wiadomości (WE57).
- Zdefiniuj proces Code (Transakcja WE42).
- Utwórz profil partnera (transakcja WE20).










