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.

  • ???? Kerndefinitie: IDoc is een systeemneutrale datacontainer gebaseerd op EDI-standaarden zoals ANSI ASC X12 en EDIFACT.
  • ๐Ÿงฑ Structuur in drie delen: Elke IDoc bestaat uit een controlerecord, gegevensrecords en statusrecords, die elk in aparte databasetabellen worden opgeslagen.
  • ๐Ÿ†š Typehiรซrarchie: Standaard IDoc-typen worden meegeleverd. SAP en kunnen niet worden gewijzigd; uitbreidingstypen voegen indien nodig aangepaste velden toe.
  • ๐Ÿ” Processtrooms: Uitgaande processen creรซren en verzenden IDocs; inkomende processen ontvangen en verwerken deze via gekoppelde functiemodules.
  • ๐Ÿค– AI-ondersteuning: AI-gestuurde monitoringtools detecteren IDoc-fouten vroegtijdig en brengen velden automatisch in kaart. SAP en niet-SAP partners.

SAP IDOC-handleiding

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

Structuur van een IDoc

De IDoc-structuur bestaat uit drie onderdelen:

  1. 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.
  2. De applicatiegegevens (gegevensrecord) โ€” bevat de bedrijfsgegevens. Deze worden gegevensrecords genoemd. segmenten.
  3. 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.

IDoc-record met weergave van controle, gegevens en status

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.

Segment in IDoc

Wat is een extensie-IDoc-type?

Een IDoc is er in twee typen:

  1. Basic
  2. Verlengstuk

Basis- en uitbreidings-IDoc-typen

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.

Illustratie van het type extensie-IDoc

Documentatie

Elke IDoc is volledig gedocumenteerd in de transactie. WE60.

IDoc-documentatie in 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.

Berichttype in IDoc

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.

IDoc-weergaven

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.

Partnerprofielen in IDoc

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.

Poort in IDoc

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:

  1. Maak segmenten aan (WE31).
  2. Een IDoc-type aanmaken (WE30).
  3. Een berichttype aanmaken (WE81).
  4. Koppel het berichttype aan het IDoc-type (WE82).
  5. Een poort aanmaken (WE21).
  6. 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.
  7. Anders kunt u een functiemodule of een zelfstandig programma maken dat de IDoc rechtstreeks aanmaakt.
  8. 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:

  1. Maak het basis-IDoc-type aan (transactie WE30).
  2. Maak het berichttype aan (transactie WE81).
  3. Koppel het berichttype aan het basis-IDoc-type (transactie WE82).
  4. Maak de functiemodule aan voor het verwerken van de IDoc.
  5. Definieer de kenmerken van de functiemodule (BD51).
  6. Wijs de inkomende functiemodule toe aan het berichttype (WE57).
  7. Definieer het proces Code (Transactie WE42).
  8. Maak het partnerprofiel aan (transactie WE20).

Veelgestelde vragen

IDoc is asynchroon en wordt gebruikt voor berichtenuitwisseling tussen systemen via ALE of EDI. BAPI is synchroon en wordt gebruikt voor realtime toegang tot systemen. SAP Bedrijfsobjecten. IDoc wordt in de wachtrij geplaatst; BAPI retourneert direct.

Een IDoc-type definieert de technische structuur van segmenten en velden. Een berichttype definieert de zakelijke betekenis, zoals bestellingen of facturen. Eรฉn IDoc-type kan meerdere berichttypen ondersteunen en omgekeerd.

Gebruik transactie WE02 of WE05 om IDocs weer te geven en statusrecords te inspecteren. Uitgaande IDocs gebruiken statuscodes 1โ€“42; inkomende IDocs gebruiken 50โ€“75. Transactie BD87 verwerkt IDocs met fouten opnieuw.

Het SDATA-veld, waarin de payload van elk datarecord is opgeslagen, is 1000 tekens lang. Een IDoc kan veel datarecords bevatten, waardoor de totale payload evenredig is met het aantal segmenten.

Ja. IDocs zijn systeemneutraal en volgen EDI-standaarden zoals ANSI ASC X12 en EDIFACT. Niet-SAP Systemen kunnen IDoc-bestanden produceren of consumeren via bestandspoorten of middleware zoals SAP PI/PO.

Controlegegevens bevinden zich in tabel EDIDC, gegevensgegevens in EDID2 tot en met EDID4 en statusgegevens in EDIDS. Het IDoc-nummer is de sleutel die alle drie de tabellen voor een gegeven IDoc met elkaar verbindt.

AI-gestuurde monitoringtools groeperen terugkerende IDoc-fouten, voorspellen storingen op basis van historische patronen en bevelen oplossingen aan voor problemen met status 51 of 56, waardoor de tijd die nodig is voor handmatige herverwerking aanzienlijk wordt verkort.

Ja. AI-gestuurde kaartping zoekmachines vergelijken segmentdefinities over SAP en partnersystemen, een veldkaart voorstellenpingen leren van correcties uit het verleden โ€” waardoor de handmatige configuratie in ALE- en EDI-projecten drastisch wordt verminderd.

Vat dit bericht samen met: