SAP IDOC-handledning i ABAP: Steg-för-steg-guide

⚡ Smart sammanfattning

SAP IDoc (Intermediate Document) är en standardiserad databehållare som flyttar affärsinformation mellan SAP och icke-SAP system via ALE och EDI. Den här handledningen förklarar dess definition, struktur, typer, tabeller, partnerprofiler, portar och de kompletta utgående och inkommande processerna.

  • 📦 Kärndefinition: IDoc är en systemneutral databehållare baserad på EDI-standarder som ANSI ASC X12 och EDIFACT.
  • 🧱 Tredelad struktur: Varje IDoc består av en kontrollpost, dataposter och statusposter, som var och en lagras i dedikerade databastabeller.
  • ???? Typhierarki: Grundläggande IDoc-typer levereras med SAP och kan inte ändras; Tilläggstyper lägger till anpassade fält vid behov.
  • 🔁 Processflöden: Outbound skapar och skickar IDocs; Inbound tar emot och skickar dem via länkade funktionsmoduler.
  • 🤖 AI-aktivering: AI-drivna övervakningsverktyg upptäcker IDoc-fel tidigt och mappar automatiskt fält över SAP och icke-SAP partners.

SAP IDOC-handledning

Vad är ett IDoc?

IDoc är helt enkelt en databehållare används för att utbyta information mellan två valfria processer som kan förstå syntaxen och semantiken för datan.

Med andra ord är ett IDoc som en datafil med ett specificerat format som utväxlas mellan två system som vet hur man tolkar informationen.

IDoc står för "Mellandokument".

När du utför en utgående ALE- eller EDI-processen skapas ett IDoc. I SAP Systemkrav, IDocs lagras i databasen, och varje IDoc har en unikt nummer inom en klient.

VIKTIGA FUNKTIONER

  • ID-dokument är oberoende av de sändande och mottagande systemen (SAP-Till-SAP såväl som icke-SAP).
  • IDocs är baserade på EDI standarder, ANSI ASC X12 och EDIFACT. Vid eventuella konflikter i datastorlek antar IDoc den med längre längd.
  • ID-dokument är oberoende av riktningen för datautbytet, t.ex. ORDERS01 i inköpsmodulen stöder både inkommande och utgående.
  • IDocs kan ses i en textredigerare eftersom data lagras i teckenformat istället för binärt format.

Strukturen för ett IDoc

Strukturen för ett IDoc

IDoc-strukturen består av tre delar:

  1. Administrationsdelen (kontrollregister) — innehåller IDoc-typ, meddelandetyp, aktuell status, avsändare, mottagare och liknande metadata. Detta kallas kontrollposten.
  2. Applikationsdata (datapost) — innehåller affärsdata. Dessa kallas dataposter eller segment.
  3. Statusinformationen (statuspost) — ger information om de olika steg som IDoc har gått igenom.

Du kan visa ett IDoc med hjälp av transaktion WE02 or WE05.

IDoc-post som visar kontroll, data och status

Som framgår av skärmbilden ovan har IDoc-posten tre delar – Kontroll, Data och Status. Varje del utforskas i detalj nedan.

Kontrollpost

  • All kontrollpostdata lagras i EDIDC tabell. Nyckeln till den här tabellen är IDoc-numret.
  • Den innehåller information som IDoc-nummer, riktning (inkommande/utgående), avsändare, mottagarinformation, kanal som används och port som används.
  • Riktning "1" indikerar utgående och "2" indikerar ingående.

Datapost

  • Dataposten innehåller applikationsdata såsom information om anställdas rubrik, veckovisa detaljer, klientuppgifter och så vidare.
  • All datapostdata lagras i tabeller EDID2 till EDID4och EDIDD är en struktur där du kan se dess komponenter.
  • Den innehåller data som IDoc-numret, namnet och numret på segmentet i IDoc, hierarkin och själva informationen.
  • Den faktiska nyttolasten lagras som en sträng i ett fält som heter SDATA, vilket är ett fält med 1000 tecken.

Statuspost

  • En statuspost bifogas ett IDoc vid varje milstolpe eller när ett fel påträffas.
  • All statuspostdata lagras i EDIDS tabell.
  • Status 1–42 är för utgående medan 50–75 är för inkommande.

IDoc-typer

En IDoc-typ (grundläggande) definierar strukturen och formatet för det affärsdokument som ska utväxlas. Ett IDoc är en instans av en IDoc-typ, precis som konceptet med variabler och variabeltyper i programmeringsspråkIDoc-typer kan definieras med hjälp av transaktioner WE30.

Vad är ett segment?

Ett segment definierar formatet och strukturen för en Datapost i ett IDoc. Segment är återanvändbara komponenter.

För varje segment, SAP skapar följande komponenter.

  • Segmenttyp (versionsoberoende)
  • Segmentdefinition (versionsberoende)
  • Segmentdokumentation

De tre sista tecknen representerar segmentets version. Definitioner kan ändras allt eftersom versionen ändras, men segmenttypen förblir densamma. Transaktion: WE31.

Segment i IDoc

Vad är en extension IDoc-typ?

Ett IDoc finns av två typer:

  1. Grundläggande
  2. Förlängning

Grundläggande och utökade IDoc-typer

SAP tillhandahåller många fördefinierade grundläggande IDoc-typer som kan inte ändrasOm du behöver lägga till mer data till en begränsad grundläggande typ kan du använda en tilläggstyp. För det mesta kommer du att inte behöver förlängningar.

Illustration av tilläggs-IDoc-typ

Dokumentation

Varje IDoc dokumenteras noggrant i transaktionen WE60.

IDoc-dokumentation i WE60

Meddelandetyp

Ett meddelande representerar en specifik typ av dokument som är transmitmellan två partners, till exempel order, ordersvar och fakturor.

En IDoc-typ kan associeras med många meddelandetyper. Omvänt kan en meddelandetyp associeras med olika IDoc-typer. Transaktion: WE81.

Meddelandetyp i IDoc

IDoc-vyer

En IDoc-typ kan användas för mer än en meddelandetyp, vilket resulterar i att IDoc-filer innehåller fler fält än vad som krävs för en viss meddelandetyp.

IDoc-vyer förbättrar prestandan vid generering av IDoc genom att säkerställa att endast relevanta segment fylls med data. IDoc-vyer är endast viktiga för utgående bearbetning.

IDoc-vyer

Partnerprofiler

En partner är en affärspartner som du gör affärer med och utbyter dokument med.

I partnerprofilen för en partner med vilken IDocs utbyts hanterar du de parametrar som är nödvändiga för att utbyta data. Transaktionen som används är WE20.

Partnerprofiler i IDoc

Port

Porten definierar de tekniska egenskaperna för anslutningen mellan din SAP system och det andra systemet du vill överföra data med (delsystem). Porten definierar mediet i vilket data utbyts mellan de två systemen.

Det finns olika typer av portar. De två vanligaste är TRFC-portar används i ALE och Filportar används av EDI.

För TRFC-portar måste du ange namnet på den logiska destinationen som skapats med hjälp av SM59När du använder en filport kan du ange katalogen där IDoc-filen ska placeras. Det andra systemet eller mellanprogrammet hämtar sedan filen därifrån. En funktionsmodul kan användas för att generera ett filnamn för IDoc. Medan testning, kan du använda ”Utgående fil” för att ange ett konstant filnamn. Fliken ”utgående trigger” kan användas för att tillhandahålla information om du vill utlösa någon bearbetning på delsystemet när en IDoc skapas på den här platsen. Ange kommandofilnamnet och katalogen som måste köras.

Port i IDoc

Vanlig IDoc-transaktion Codes

transaktion Code Syfte
WE02 / WE05 Visa och övervaka IDocs
WE30 Skapa eller ändra IDoc-typ
WE31 Skapa eller ändra segment
WE20 Underhåll partnerprofil
WE21 Underhålla hamnar
WE42 Definiera inkommande process Code
WE57 Allokera inkommande funktionsmodul till meddelandetyp
WE60 IDoc-dokumentation
WE81 / WE82 Skapa meddelandetyp / koppla till IDoc-typ
BD51 Definiera funktionsmodulens egenskaper
SM59 Underhåll RFC-destinationer

IDoc-processen: Ett exempel från verkligheten

Tänk på exemplet att skicka en inköpsorder till en leverantör via IDoc.

  • Varje gång en inköpsorder (PO) skapas måste systemet skicka ett IDoc till leverantören.
  • Inköpsordern skickas i form av ett IDoc till leverantören (partnern). Partnern måste vara EDI-aktiverad i systemet. SAP inser att den kan skicka dokumentet till denna leverantör elektroniskt.
  • Inköpsordern som skickas som ett utgående ID-dokument av kunden blir ett inkommande ID-dokument för leverantören. SAP Systemet på leverantörssidan kan bearbeta detta för att skapa ett applikationsdokument (en försäljningsorder) i sitt system.
  • Offerter, offerter, inköpsorder, orderbeställning, fakturor och följesedlar är några av de vanligaste dokumenten som utbyts via IDoc.

Processen för dataöverföring från din SAP systemet kallas Utgående process, medan data flyttas in i din SAP systemet kallas Inkommande processSom utvecklare eller konsult som konfigurerar dessa processer för din organisation beskrivs stegen för att konfigurera var och en nedan.

Den utgående processen

Inblandade steg:

  1. Skapa segment (WE31).
  2. Skapa en IDoc-typ (WE30).
  3. Skapa en meddelandetyp (WE81).
  4. Associera meddelandetypen med IDoc-typen (WE82).
  5. Skapa en port (WE21).
  6. Om du använder message-control-metoden för att utlösa IDoc, skapa funktionsmodulen som bygger IDoc och länka den till en utgående process. Code.
  7. Annars skapar du en funktionsmodul eller ett fristående program som skapar IDoc direkt.
  8. Skapa en partnerprofil (WE20) med nödvändig information i de utgående parametrarna för den partner du utbyter IDoc med och utlös IDoc.

Den inkommande processen

Inblandade steg:

  1. Skapa den grundläggande IDoc-typen (transaktion WE30).
  2. Skapa meddelandetypen (transaktion WE81).
  3. Associera meddelandetypen med den grundläggande IDoc-typen (transaktion WE82).
  4. Skapa funktionsmodulen för att bearbeta IDoc.
  5. Definiera funktionsmodulens egenskaper (BD51).
  6. Allokera den inkommande funktionsmodulen till meddelandetypen (WE57).
  7. Definiera processen Code (Transaktion WE42).
  8. Skapa partnerprofilen (transaktion WE20).

Vanliga frågor

IDoc är asynkront och används för system-till-system-meddelanden via ALE eller EDI. BAPI är synkront och används för åtkomst i realtid till SAP affärsobjekt. IDoc är i kö; BAPI returnerar omedelbart.

En IDoc-typ definierar den tekniska strukturen för segment och fält. En meddelandetyp definierar den affärsmässiga innebörden, såsom ordrar eller fakturor. En IDoc-typ kan hantera många meddelandetyper och vice versa.

Använd transaktion WE02 eller WE05 för att visa IDocs och inspektera statusposter. Utgående använder statuskoder 1–42; inkommande använder 50–75. Transaktion BD87 bearbetar felaktiga IDocs igen.

SDATA-fältet som lagrar nyttolasten i varje datapost är 1000 tecken långt. Ett IDoc kan innehålla många dataposter, så den totala nyttolasten skalas med antalet segment.

Ja. IDocs är systemneutrala och följer EDI-standarder som ANSI ASC X12 och EDIFACT. Icke-SAP system kan producera eller konsumera IDoc-filer via filportar eller mellanprogramvara som SAP PI/PO.

Kontrollposter finns i tabellen EDIDC, dataposter i EDID2 till EDID4 och statusposter i EDIDS. IDoc-numret är nyckeln som länkar alla tre tabellerna för ett givet IDoc.

AI-drivna övervakningsverktyg klustrar återkommande IDoc-fel, förutspår fel utifrån historiska mönster och rekommenderar korrigeringar för problem med status 51 eller 56, vilket avsevärt minskar tiden för manuell omarbetning.

Ja. AI-driven kartaping motorer jämför segmentdefinitioner över SAP och partnersystem, föreslå fältkartapings, och lära av tidigare korrigeringar — vilket kraftigt minskar manuell konfiguration i ALE- och EDI-projekt.

Sammanfatta detta inlägg med: