SAP Tutorial IDOC în ABAP: Ghid pas cu pas

⚡ Rezumat inteligent

SAP IDoc (Document Intermediar) este un container de date standardizat care mută informații de afaceri între SAP și non-SAP sisteme prin ALE și EDI. Acest tutorial explică definiția, structura, tipurile, tabelele, profilurile partenerilor, porturile și procesele end-to-end de ieșire și intrare.

  • 📦 Definiția de bază: IDoc este un container de date neutru din punct de vedere al sistemului, bazat pe standarde EDI precum ANSI ASC X12 și EDIFACT.
  • 🧱 Structură în trei părți: Fiecare IDoc constă dintr-o înregistrare de control, înregistrări de date și înregistrări de stare, fiecare stocată în tabele dedicate ale bazei de date.
  • 🆚 Ierarhie de tipuri: Tipurile de IDoc de bază sunt livrate cu SAP și nu pot fi modificate; Tipurile de extensii adaugă câmpuri personalizate atunci când este necesar.
  • 🔁 Fluxuri de proces: Outbound creează și trimite IDoc-uri; Inbound le primește și le înregistrează prin module de funcții legate.
  • 🤖 Activare prin inteligență artificială: Instrumentele de monitorizare bazate pe inteligență artificială detectează din timp erorile IDoc și mapează automat câmpurile în SAP și non-SAP parteneri.

SAP Tutorial IDOC

Ce este un IDoc?

IDoc este pur și simplu un container de date folosit pentru a face schimb de informații între oricare două procese care pot înțelege sintaxa și semantica datelor.

Cu alte cuvinte, un IDoc este ca un fișier de date cu un format specificat, care este schimbat între două sisteme care știu cum să interpreteze acele date.

IDoc înseamnă „Document intermediar".

Când executați o outbound În procesul ALE sau EDI, se creează un IDoc. În SAP Sistem și, IDoc-urile sunt stocate în baza de date și fiecare IDoc are un număr unic în cadrul unui client.

Caracteristici cheie

  • IDoc-urile sunt independent de sistemele de expediere și recepție (SAP-la-SAP precum și non-SAP).
  • IDoc-urile se bazează pe EDI standardele ANSI ASC X12 și EDIFACT. În cazul oricărui conflict în ceea ce privește dimensiunea datelor, IDoc îl adoptă pe cel cu lungimea mai mare.
  • IDoc-urile sunt independent de direcția schimbului de date, de exemplu ORDERS01 din modulul Achiziții acceptă atât comenzi de intrare, cât și comenzi de ieșire.
  • IDoc-urile pot fi vizualizate într-o editor de text deoarece datele sunt stocate în format de caractere în loc de format binar.

Structura unui IDoc

Structura unui IDoc

Structura IDoc este alcătuită din trei părți:

  1. Partea de administrare (Fișa de control) — conține tipul de IDoc, tipul de mesaj, starea curentă, expeditorul, destinatarul și metadate similare. Aceasta se numește Înregistrare de Control.
  2. Datele aplicației (Înregistrarea de date) — conține datele de afaceri. Acestea se numesc înregistrări de date sau segmente.
  3. Informațiile de stare (Înregistrare de stare) — oferă informații despre diferitele etape prin care a trecut IDoc-ul.

Puteți vizualiza un IDoc utilizând tranzacția WE02 or WE05.

Înregistrare IDoc care afișează Control, Date și Stare

După cum se vede în captura de ecran de mai sus, înregistrarea IDoc are trei părți - Control, Date și Stare. Fiecare parte este explorată în detaliu mai jos.

Înregistrare de control

  • Toate datele înregistrării de control sunt stocate în EDIDC tabel. Cheia acestui tabel este numărul IDoc.
  • Conține informații precum numărul IDoc, direcția (intrând/ieșind), expeditorul, informațiile despre destinatar, canalul utilizat și portul utilizat.
  • Direcția „1” indică ieșire, iar „2” indică intrare.

Înregistrare de date

  • Înregistrarea de date conține date ale aplicației, cum ar fi informații din antetul angajaților, detalii săptămânale, detalii despre clienți și așa mai departe.
  • Toate datele din înregistrările de date sunt stocate în tabele EDID2 până la EDID4 și EDIDD este o structură din care se pot observa componentele.
  • Conține date precum numărul IDoc, numele și numărul segmentului din IDoc, ierarhia și datele în sine.
  • Sarcina utilă reală este stocată ca un șir de caractere într-un câmp numit SDATA, care este un câmp de 1000 de caractere.

Înregistrare de stare

  • O înregistrare de stare este atașată la un IDoc la fiecare etapă importantă sau când întâlnește o eroare.
  • Toate datele de înregistrare a stării sunt stocate în EDIDS tabel.
  • Stările 1–42 sunt pentru mesaje de ieșire, în timp ce 50–75 sunt pentru mesaje de intrare.

Tipuri de IDoc-uri

Un tip IDoc (de bază) definește structura și formatul documentului de afaceri care va fi schimbat. Un IDoc este o instanță a unui tip IDoc, la fel ca și conceptul de variabile și tipuri de variabile din limbaje de programareTipurile IDoc pot fi definite folosind tranzacții WE30.

Ce este un segment?

Un Segment definește formatul și structura unui Înregistrare de date într-un IDoc. Segmentele sunt componente reutilizabile.

Pentru fiecare segment, SAP creează următoarele componente.

  • Tip de segment (independent de versiune)
  • Definiția segmentului (în funcție de versiune)
  • Documentație de segment

Ultimele trei caractere reprezintă versiunea segmentului. Definițiile se pot schimba odată cu schimbarea versiunii, dar tipul de segment rămâne același. Tranzacție: WE31.

Segment în IDoc

Ce este un tip de IDoc de extensie?

Un IDoc este de două tipuri:

  1. pachet de bază
  2. Extensie

Tipuri de IDoc de bază și de extensie

SAP oferă multe tipuri de IDoc de bază predefinite care nu poate fi modificatDacă trebuie să adăugați mai multe date la un tip de bază restricționat, puteți utiliza un tip de extensie. De cele mai multe ori veți nu nevoie de extensii.

Ilustrarea tipului de IDoc de extensie

Documentație

Fiecare IDoc este documentat temeinic în tranzacție WE60.

Documentație IDoc în WE60

Tipul mesajului

Un mesaj reprezintă un anumit tip de document care este transmitîntre doi parteneri, de exemplu Comenzi, Răspunsuri la Comandă și Facturi.

Un tip de IDoc poate fi asociat cu mai multe tipuri de mesaje. În schimb, un tip de mesaj poate fi asociat cu diferite tipuri de IDoc. Tranzacție: WE81.

Tipul de mesaj în IDoc

Vizualizări IDoc

Un tip de IDoc poate fi utilizat pentru mai multe tipuri de mesaj, ceea ce duce la IDoc-uri care conțin mai multe câmpuri decât este necesar pentru un anumit tip de mesaj.

Vizualizările IDoc îmbunătățesc performanța în generarea IDoc-urilor asigurându-se că doar segmentele relevante sunt completate cu date. Vizualizările IDoc sunt importante doar pentru procesarea de ieșire.

Vizualizări IDoc

Profiluri de parteneri

Un partener este un partener de afaceri cu care desfășurați afaceri și schimbați documente.

În profilul de partener al unui partener cu care se schimbă IDoc-uri, mențineți parametrii necesari pentru schimbul de date. Tranzacția utilizată este WE20.

Profiluri de parteneri în IDoc

Port

Portul definește caracteristicile tehnice ale conexiunii dintre dvs. SAP sistem și celălalt sistem cu care doriți să transferați date (subsistem). Portul definește mediul în care se face schimbul de date între cele două sisteme.

Există diferite tipuri de porturi. Cele două cele mai utilizate sunt porturi TRFC utilizat în ALE și Porturi de fișiere utilizat de EDI.

Pentru porturile TRFC, trebuie să specificați numele destinației logice create folosind SM59Când utilizați un port de fișiere, puteți specifica directorul în care ar trebui plasat fișierul IDoc. Celălalt sistem sau middleware preia apoi fișierul de acolo. Un modul de funcții poate fi utilizat pentru a genera un nume de fișier pentru IDoc. În timp ce de testare, puteți utiliza „Fișier de ieșire” pentru a specifica un nume de fișier constant. Fila „declanșator de ieșire„” poate fi folosit pentru a furniza informații dacă doriți să declanșați o anumită procesare în subsistem atunci când un IDoc este creat în această locație. Specificați numele fișierului de comenzi și directorul care trebuie executat.

Portare în IDoc

Tranzacție IDoc comună Codes

tranzacție Code Scop
WE02 / WE05 Afișarea și monitorizarea IDoc-urilor
WE30 Creați sau modificați tipul IDoc
WE31 Creați sau modificați segmentul
WE20 Mențineți profilul de partener
WE21 Mențineți porturile
WE42 Definiți procesul de intrare Code
WE57 Alocare modul funcție de intrare tipului de mesaj
WE60 Documentație IDoc
WE81 / WE82 Creați un tip de mesaj / asociați-l cu tipul IDoc
BD51 Definirea caracteristicilor modulului funcțional
SM59 Mențineți destinațiile RFC

Procesul IDoc: Un exemplu din lumea reală

Luați în considerare exemplul trimiterii unei comenzi de achiziție către un furnizor prin IDoc.

  • Ori de câte ori este creată o Comandă de Achiziție (PO), sistemul trebuie să trimită un IDoc furnizorului.
  • Ordinul de achiziție este trimis sub forma unui IDoc către furnizor (partener). Partenerul respectiv trebuie să fie activat EDI în sistem. SAP recunoaște că poate trimite documentul acestui furnizor electronic.
  • Oferta de achiziție trimisă ca IDoc de ieșire de către client devine un IDoc de intrare pentru furnizor. SAP Sistemul de partea furnizorului poate procesa acest lucru pentru a crea un document de aplicație (o Comandă de vânzare) în sistemul său.
  • Ofertele de preț, cererile de ofertă, comenzile de achiziție, comenzile de achiziție, facturile și avizele de livrare sunt unele dintre documentele cel mai frecvent schimbate prin IDoc.

Procesul de transfer de date din dvs SAP sistemul se numește Proces de ieșire, în timp ce datele se deplasează în SAP sistemul se numește Proces de intrareÎn calitate de dezvoltator sau consultant care configurează aceste procese pentru organizația dvs., pașii pentru configurarea fiecăruia sunt detaliați mai jos.

Procesul de ieșire

Pași implicați:

  1. Creați segmente (WE31).
  2. Creați un tip IDoc (WE30).
  3. Creați un tip de mesaj (WE81).
  4. Asociați tipul de mesaj cu tipul de IDoc (WE82).
  5. Creați un port (WE21).
  6. Dacă utilizați metoda de control al mesajelor pentru a declanșa IDoc-uri, creați modulul de funcții care construiește IDoc-ul și legați-l la un proces de ieșire. Code.
  7. Altfel, creați un modul funcțional sau un program independent care creează direct IDoc-ul.
  8. Creați un Profil de Partener (WE20) cu informațiile necesare în parametrii de ieșire pentru partenerul cu care schimbați IDoc-ul și declanșați IDoc-ul.

Procesul de intrare

Pași implicați:

  1. Creați tipul de IDoc de bază (tranzacția WE30).
  2. Creați tipul de mesaj (tranzacția WE81).
  3. Asociați tipul de mesaj cu tipul de IDoc de bază (tranzacția WE82).
  4. Creați modulul funcțional pentru procesarea IDoc-ului.
  5. Definiți caracteristicile modulului funcțional (BD51).
  6. Alocați modulul funcției de intrare tipului de mesaj (WE57).
  7. Definiți procesul Code (Tranzacția WE42).
  8. Creați Profilul Partenerului (Tranzacția WE20).

Întrebări frecvente

IDoc este asincron, utilizat pentru mesagerie de sistem la sistem prin ALE sau EDI. BAPI este sincron, utilizat pentru acces în timp real la SAP obiecte business. IDoc este pus în coadă; BAPI returnează imediat.

Un tip IDoc definește structura tehnică a segmentelor și câmpurilor. Un tip de mesaj definește semnificația comercială, cum ar fi Comenzi sau Facturi. Un tip IDoc poate servi mai multe tipuri de mesaje și invers.

Utilizați tranzacția WE02 sau WE05 pentru a afișa IDoc-urile și a inspecta înregistrările de stare. Codurile de ieșire utilizează codurile de stare 1–42; codurile de intrare utilizează codurile de stare 50–75. Tranzacția BD87 reprocesează IDoc-urile eronate.

Câmpul SDATA care stochează sarcina utilă în fiecare înregistrare de date are o lungime de 1000 de caractere. Un IDoc poate conține mai multe înregistrări de date, astfel încât sarcina utilă totală se scalează în funcție de numărul de segmente.

Da. IDoc-urile sunt neutre din punct de vedere al sistemului și respectă standardele EDI, cum ar fi ANSI ASC X12 și EDIFACT. Non-SAP sistemele pot produce sau consuma fișiere IDoc prin porturi de fișiere sau middleware precum SAP PI/PO.

Înregistrările de control se află în tabelul EDIDC, înregistrările de date în EDID2 până la EDID4, iar înregistrările de stare în EDIDS. Numărul IDoc este cheia care leagă toate cele trei tabele pentru un anumit IDoc.

Instrumentele de monitorizare bazate pe inteligență artificială grupează erorile recurente ale IDoc-urilor, prezic erorile pe baza modelelor istorice și recomandă remedieri pentru problemele de stare 51 sau 56, reducând semnificativ timpul de reprocesare manuală.

Da. Hartă bazată pe inteligență artificialăping motoarele compară definițiile segmentelor între SAP și sistemele partenere, propuneți o hartă a terenuluipingși să învețe din corecțiile anterioare — reducând drastic configurarea manuală în proiectele ALE și EDI.

Rezumați această postare cu: