SAP IDOC-zelfstudie in ABAP: stapsgewijze handleiding
โก Slimme samenvatting
SAP IDoc (Intermediate Document) is een gestandaardiseerde gegevenscontainer die zakelijke informatie tussen verschillende systemen verplaatst. SAP en niet-SAP systemen via ALE en EDI. Deze handleiding legt de definitie, structuur, typen, tabellen, partnerprofielen, poorten en de volledige uitgaande en inkomende processen uit.

Wat is een IDoc?
IDoc is gewoon een datacontainer gebruikt om informatie uit te wisselen tussen twee processen die de syntaxis en semantiek van de gegevens kunnen begrijpen.
Met andere woorden, een IDoc is als een gegevensbestand met een specifiek formaat dat wordt uitgewisseld tussen twee systemen die weten hoe ze die gegevens moeten interpreteren.
IDoc staat voor โTussenliggend document'.
Wanneer u een uitvoering uitvoert uitgaande Tijdens een ALE- of EDI-proces wordt een IDoc aangemaakt. In de SAP SysteemIDocs worden opgeslagen in de database en elke IDoc heeft een uniek nummer binnen een klant.
BELANGRIJKSTE KENMERKEN
- IDocs zijn onafhankelijk van de zendende en ontvangende systemen (SAPTeSAP evenals niet-SAP).
- IDocs zijn gebaseerd op EDI standaarden, ANSI ASC X12 en EDIFACT. In geval van een conflict in gegevensgrootte, kiest IDoc de grootste.
- IDocs zijn onafhankelijk van de richting van de gegevensuitwisselingBijvoorbeeld ORDERS01 in de inkoopmodule ondersteunt zowel inkomende als uitgaande bestellingen.
- IDocs kunnen worden bekeken in een teksteditor omdat de gegevens in tekenformaat zijn opgeslagen in plaats van in binair formaat.
Structuur van een IDoc
De IDoc-structuur bestaat uit drie onderdelen:
- Het administratieve gedeelte (controleverslag) โ bevat het type IDoc, het berichttype, de huidige status, de afzender, de ontvanger en vergelijkbare metadata. Dit wordt het controlerecord genoemd.
- De applicatiegegevens (gegevensrecord) โ bevat de bedrijfsgegevens. Deze worden gegevensrecords genoemd. segmenten.
- De statusinformatie (statusrecord) โ geeft informatie over de verschillende fasen die de IDoc heeft doorlopen.
U kunt een IDoc bekijken via een transactie WE02 or WE05.
Zoals te zien in de bovenstaande schermafbeelding, bestaat het IDoc-record uit drie delen: controle, gegevens en status. Elk deel wordt hieronder in detail besproken.
Controlerecord
- Alle gegevens van de controlerecords worden opgeslagen in de EDIDC tabel. De sleutel tot deze tabel is het IDoc-nummer.
- Het bevat informatie zoals het IDoc-nummer, de richting (inkomend/uitgaand), afzender, ontvangergegevens, het gebruikte kanaal en de gebruikte poort.
- Richting โ1โ betekent uitgaand en โ2โ betekent inkomend.
Gegevensrecord
- Het gegevensbestand bevat applicatiegegevens zoals werknemersgegevens, wekelijkse details, klantgegevens, enzovoort.
- Alle gegevensrecords worden opgeslagen in tabellen. EDID2 tot EDID4en EDIDD Het is een structuur waarvan je de onderdelen kunt zien.
- Het bevat gegevens zoals het IDoc-nummer, de naam en het nummer van het segment in het IDoc, de hiรซrarchie en de gegevens zelf.
- De daadwerkelijke gegevens worden als een tekenreeks opgeslagen in een veld genaamd SDATA, wat een veld van 1000 tekens is.
Statusrecord
- Aan een IDoc wordt bij elke mijlpaal of wanneer er een fout optreedt een statusrecord gekoppeld.
- Alle statusrecordgegevens worden opgeslagen in de EDIDS tafel.
- Statuscodes 1โ42 zijn voor uitgaande vluchten, terwijl 50โ75 voor inkomende vluchten zijn.
IDoc-typen
Een IDoc-type (Basis) definieert de structuur en het formaat van het zakelijke document dat moet worden uitgewisseld. Een IDoc is een instantie van een IDoc-type., net zoals het concept van variabelen en variabele typen in programmeertalenIDoc-typen kunnen worden gedefinieerd met behulp van een transactie. WE30.
Wat is een segment?
Een segment definieert het formaat en de structuur van een Gegevensrecord In een IDoc zijn segmenten herbruikbare componenten.
Voor elk segment, SAP creรซert de volgende componenten.
- Segmenttype (versie-onafhankelijk)
- Segmentdefinitie (versieafhankelijk)
- Segmentdocumentatie
De laatste drie tekens geven de versie van het segment aan. Definities kunnen veranderen naarmate de versie verandert, maar het segmenttype blijft hetzelfde. Transactie: WE31.
Wat is een extensie-IDoc-type?
Een IDoc is er in twee typen:
- Basic
- Verlengstuk
SAP biedt veel vooraf gedefinieerde basis-IDoc-typen die kan niet worden gewijzigdAls u meer gegevens aan een beperkt basistype wilt toevoegen, kunt u een uitbreidingstype gebruiken. Meestal zult u niet Uitbreidingen nodig.
Documentatie
Elke IDoc is volledig gedocumenteerd in de transactie. WE60.
Berichttype
Een bericht vertegenwoordigt een specifiek type document dat is transmitEen transactie tussen twee partners, bijvoorbeeld bestellingen, orderbevestigingen en facturen.
Een IDoc-type kan aan meerdere berichttypen worden gekoppeld. Omgekeerd kan een berichttype aan verschillende IDoc-typen worden gekoppeld. Transactie: WE81.
IDoc-weergaven
Een IDoc-type kan voor meer dan รฉรฉn berichttype worden gebruikt, waardoor IDocs meer velden kunnen bevatten dan nodig is voor een bepaald berichttype.
IDoc-weergaven verbeteren de prestaties bij het genereren van IDocs door ervoor te zorgen dat alleen de relevante segmenten met gegevens worden gevuld. IDoc-weergaven zijn alleen belangrijk voor uitgaande verwerking.
Partnerprofielen
Een partner is een zakenpartner met wie je zaken doet en documenten uitwisselt.
In het partnerprofiel van een partner waarmee IDocs worden uitgewisseld, beheert u de parameters die nodig zijn voor de gegevensuitwisseling. De gebruikte transactie is WE20.
Haven
De poort definieert de technische kenmerken van de verbinding tussen uw SAP Het poorttype definieert het medium waarmee gegevens tussen de twee systemen worden uitgewisseld. Het poorttype definieert het medium waarmee gegevens tussen de twee systemen worden uitgewisseld.
Er bestaan โโverschillende soorten poorten. De twee meest gebruikte zijn: TRFC-poorten gebruikt in ALE en Bestandspoorten gebruikt door EDI.
Voor TRFC-poorten moet u de naam opgeven van de logische bestemming die is aangemaakt met behulp van SM59Bij gebruik van een bestandspoort kunt u de map opgeven waar het IDoc-bestand moet worden geplaatst. Het andere systeem of de middleware haalt het bestand vervolgens daarvandaan op. Een functiemodule kan worden gebruikt om een โโbestandsnaam voor het IDoc te genereren. het testen vanU kunt "Uitgaand bestand" gebruiken om een โโconstante bestandsnaam op te geven. Het tabblad "uitgaande trigger" kan worden gebruikt om informatie te verstrekken als u een bepaalde verwerking op het subsysteem wilt activeren wanneer een IDoc op deze locatie wordt aangemaakt. Geef de naam van het opdrachtbestand en de map op waarin het moet worden uitgevoerd.
Algemene IDoc-transactie Codes
| transactie Code | Doel |
|---|---|
| WE02 / WE05 | IDocs weergeven en bewaken |
| WE30 | Een IDoc-type maken of wijzigen |
| WE31 | Een segment aanmaken of wijzigen |
| WE20 | Partnerprofiel onderhouden |
| WE21 | Havens onderhouden |
| WE42 | Definieer het inkomende proces Code |
| WE57 | Wijs de inkomende functiemodule toe aan het berichttype. |
| WE60 | IDoc-documentatie |
| WE81 / WE82 | Berichttype aanmaken / koppelen aan IDoc-type |
| BD51 | Definieer de kenmerken van de functiemodule. |
| SM59 | Behoud RFC-bestemmingen |
IDoc-proces: een praktijkvoorbeeld
Neem bijvoorbeeld het versturen van een inkooporder naar een leverancier via IDoc.
- Wanneer een inkooporder (PO) wordt aangemaakt, moet het systeem een โโIDoc naar de leverancier sturen.
- De inkooporder wordt in de vorm van een IDoc naar de leverancier (partner) verzonden. Die partner moet EDI-compatibel zijn in het systeem. SAP erkent dat het document elektronisch naar deze leverancier kan worden verzonden.
- De inkooporder die door de klant als uitgaand IDoc wordt verzonden, wordt voor de leverancier een inkomend IDoc. SAP Het systeem aan de kant van de leverancier kan dit verwerken om een โโapplicatiedocument (een verkooporder) in hun systeem aan te maken.
- Offertes, aanvraagformulieren, inkooporders, verkooporders, facturen en leveringsbonnen behoren tot de meest voorkomende documenten die via IDoc worden uitgewisseld.
Het proces van gegevensoverdracht vanuit uw SAP systeem heet de Uitgaand procesterwijl gegevens naar uw SAP systeem heet de Inkomend procesAls ontwikkelaar of consultant die deze processen voor uw organisatie opzet, worden de configuratiestappen hieronder gedetailleerd beschreven.
Het uitgaande proces
Betrokken stappen:
- Maak segmenten aan (WE31).
- Een IDoc-type aanmaken (WE30).
- Een berichttype aanmaken (WE81).
- Koppel het berichttype aan het IDoc-type (WE82).
- Een poort aanmaken (WE21).
- Als u de berichtbesturingsmethode gebruikt om IDocs te activeren, maakt u de functiemodule aan die de IDoc samenstelt en koppelt u deze aan een uitgaand proces. Code.
- Anders kunt u een functiemodule of een zelfstandig programma maken dat de IDoc rechtstreeks aanmaakt.
- Maak een partnerprofiel (WE20) aan met de benodigde informatie in de uitgaande parameters voor de partner waarmee u de IDoc uitwisselt, en verstuur de IDoc.
Het inkomende proces
Betrokken stappen:
- Maak het basis-IDoc-type aan (transactie WE30).
- Maak het berichttype aan (transactie WE81).
- Koppel het berichttype aan het basis-IDoc-type (transactie WE82).
- Maak de functiemodule aan voor het verwerken van de IDoc.
- Definieer de kenmerken van de functiemodule (BD51).
- Wijs de inkomende functiemodule toe aan het berichttype (WE57).
- Definieer het proces Code (Transactie WE42).
- Maak het partnerprofiel aan (transactie WE20).










