SAP IDOC Tutorial: Definition, struktur, typer, format og tabeller
Hvad er en IDOC?
IDOC er blot en databeholder bruges til at udveksle information mellem to vilkårlige processer, der kan forstå dataens syntaks og semantik.
Med andre ord er en IDOC som en datafil med et specificeret format, som udveksles mellem 2 systemer, som ved, hvordan de skal fortolke disse data.
IDOC står for ” Mellemdokument”
Når vi udfører en udgående ALE eller EDI Process, en IDOC oprettes.
I SAP Systemkrav, I DOC'er gemmes i databasen. Hver IDOC har en unikt nummer(inden for en klient).
Nøglefunktioner
- IDOC'er er uafhængig af sende- og modtagesystemer.(SAP-til-SAP samt ikke-SAP)
- IDOC'er er baseret på EDI standarder, ANSI ASC X12 og EDIFACT. I tilfælde af konflikt i datastørrelse, vedtager den en med større længde.
- IDOC'er er uafhængig af retningen for dataudvekslingen fx ORDERS01: Indkøbsmodul: Indgående og Udgående
- IDOC'er kan ses i en teksteditor. Data gemmes i tegnformat i stedet for binært format.
Strukturen af en IDOC
I doc strukturen består af 3 dele –
- Administrationsdelen (Kontrol rekord)- som har typen af idoc, meddelelsestype, den aktuelle status, afsender, modtager osv. Dette omtales som kontrolposten.
- Applikationsdataene (Dataregistrering) – Som indeholder dataene. Disse kaldes dataposterne/segmenter.
- Statusoplysningerne (Status Record)- Disse giver dig information om de forskellige stadier, som idocen har gennemgået.
Du kan se en I-DOC ved hjælp af transaktion WE02 or WE05
Som det fremgår af skærmbilledet ovenfor, har IDOC-posten tre dele Kontrol, Data og Status. Lad os se nærmere på dem – Kontrol rekord
- Alle kontrolpostdata gemmes i EDIDC-tabellen. Nøglen til denne tabel er IDOC-nummeret
- Den indeholder information som IDOC-nummer, retningen (indgående/udgående), afsender, modtagerinformation, kanal den bruger, hvilken port den bruger osv.
- Retning '1' angiver udgående, '2' angiver indgående.
Dataregistrering
- Datapost indeholder applikationsdata som medarbejders overskriftsoplysninger, ugentlige detaljer, kundeoplysninger osv
- Alle datapostdata gemmes i EDID2 til EDID4 tabeller, og EDIDD er en struktur, hvor du kan se dens komponenter.
- Den indeholder data som idoc-nummer, navn og nummer på segmentet i idoc, hierarkiet og dataene
- De faktiske data gemmes som en streng i et felt kaldet SDATA, som er et 1000 tegn langt felt.
Status Record
- Statuspost er knyttet til en I-DOC ved hver milepæl, eller når den støder på fejl.
- Alle statuspostdata gemmes i EDIDS-tabellen.
- Status 1-42 er for udgående, mens 50-75 for indgående
IDOC typer
En I DOC Type, (Basic) definerer strukturen og formatet af det forretningsdokument, der skal udveksles. En IDOC er en instans af en IDOC-type , ligesom begrebet variabler og variabler skriver ind programmeringssprog. Du kan definere IDOC-typer vha WE30
Hvad er et segment?
Et segment definerer formatet og strukturen af en dataregister i I-DOC. Segmenter er genanvendelige komponenter.
For hvert segment SAP skaber
- Segmenttype (versionsuafhængig)
- Segmentdefinition (versionsafhængig)
- Segmentdokumentation
De sidste 3 tegn er versionen af segmentet
Definitioner bliver ved med at ændre sig i henhold til versionen, men segmenttypen forbliver den samme.
Transaktion:WE31
Hvad er IDOC-udvidelsestypen?
En IDOC er af 2 typer:-
- Grundlæggende
- Extension
SAP giver mange foruddefinerede grundlæggende IDOC-typer, som kan ikke ændres. Hvis du ønsker at tilføje flere data til disse begrænsede basistyper, kan du bruge en udvidelsestype. De fleste gange vil du IKKE bruge udvidelse.
Dokumentation
Hver IDOC er grundigt dokumenteret i transaktionen WE60
Meddelelsestype
En meddelelse repræsenterer en bestemt type dokument, der transmitteres mellem to partnere F.eks. Ordrer, ordrebesvarelser, fakturaer mm
En idoc-type kan associeres med mange meddelelsestyper
En meddelelsestype kan også associeres med forskellige idoc-typer. Transaktion WE81
IDOC synspunkter
En IDOC-type kan bruges til mere end én meddelelsestype, hvilket resulterer i, at IDOC'er indeholder flere felter end krævet for en bestemt meddelelsestype.
IDOC-visninger bruges til at forbedre ydeevnen ved generering af IDOC'er for at sikre, at kun de relevante segmenter er fyldt med data. IDOC-visninger er kun vigtige for udgående behandling.
Partnerprofiler
En partner er defineret som en forretningspartner, som du driver forretning med og udveksler dokumenter med
I partnerprofilen for en partner, som vi udveksler Idocs med, vedligeholder vi de parametre, der er nødvendige for at udveksle data. Den anvendte transaktion er WE20.
port
Porten definerer de tekniske karakteristika for forbindelsen mellem din SAP system og det andet system, du ønsker at overføre data med (delsystem). Porten definerer det medium, hvori data udveksles mellem de 2 systemer.
Der er forskellige typer porte. De 2 mest brugte er TRFC-porte bruges i ALE og File (Felt) porte, som EDI bruger.
For TRFC-porte skal vi give navnet på den logiske destination, der er oprettet vha SM59.
Når du bruger filport, kan du angive den mappe, hvor IDOC-filen skal placeres. Det andet system eller middlewaren henter filen herfra. Funktionsmodulet kan bruges til at generere et filnavn til idoc. Mens Test du kan bruge "Udgående fil" til at angive et konstant filnavn. Fanen "udgående trigger” kan bruges til at levere information, hvis vi ønsker at udløse en vis behandling på undersystemet, når en idoc oprettes på dette sted. Vi skal angive kommandofilnavnet og den mappe, der skal køres.
Det her er så FORVIRKENDE!
Lad os forstå processen med at skabe en IDOC med et eksempel –
- Når en indkøbsordre (PO) oprettes, ønsker vi at sende IDOC'en til en leverandør.
- PO'en sendes i form af en IDOC til leverandøren (partneren). Denne partner skal være EDI-aktiveret i det system. SAP bør indse, at det kunne sende doc til denne leverandør elektronisk.
- Den PO, der sendes som en udgående idoc af kunden, vil være indgående idoc for leverandøren. De SAP system på leverandørens side kan behandle dette for at oprette et ansøgningsdokument (en salgsordre) på deres system.
- Tilbud, RFQ, PO, SO, Faktura, følgeseddel osv. er nogle af de almindeligt udvekslede dokumenter gennem IDOC
Processen med dataoverførsel ud af din SAP systemet kaldes Udgående proces, mens data flytter ind i dig SAP systemet kaldes Indgående proces. Som udvikler eller konsulent, der vil være med til at opsætte specialeproces for din organisation. Her er trinene til, hvordan du opsætter dem-
Den udgående proces
Involverede trin –
- Opret segmenter (WE31)
- Opret en idoc-type (WE30)
- Opret en meddelelsestype (WE81)
- Knyt en meddelelsestype til idoc type (WE82)
- Opret en port (WE21)
- Hvis du skal bruge meddelelseskontrolmetoden til at udløse idocs, så opret funktionsmodulet til oprettelse af idoc og tilknyt funktionsmodulet til en udgående proceskode
- Ellers skal du oprette funktionsmodulet eller det selvstændige program, som vil oprette idoc
- Opret en partnerprofil(WE20) med de nødvendige oplysninger i de udgående parametre for den partner, du ønsker at udveksle idoc'en med. Udløs idoc'en.
Den indgående proces
Skridt involveret-
- Oprettelse af grundlæggende Idoc-type (Transaction WE30)
- Oprettelse af meddelelsestype (Transaktion WE81)
- Tilknytning af meddelelsestypen til grundlæggende Idoc-type (Transaktion WE82)
- Opret funktionsmodulet til behandling af idoc
- Definer funktionsmodulets karakteristika (BD51)
- Tildel det indgående funktionsmodul til meddelelsestypen (WE57)
- Definition af proceskode (Transaction WE42)
- Oprettelse af partnerprofil (Transaction WE20)