SAP IDOC-zelfstudie: definitie, structuur, typen, formaat en tabellen
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 gespecificeerd formaat dat wordt uitgewisseld tussen 2 systemen die weten hoe ze die gegevens moeten interpreteren.
IDOC staat voor ” Tussendocument”
Wanneer we een uitgaande ALE- of EDI-proces, er wordt een IDOC gemaakt.
In het SAP Systeem, I DOC's worden opgeslagen in de database. Elk IDOC heeft een uniek nummer(binnen een klant).
Belangrijkste kenmerken
- IDOC's zijn dat wel onafhankelijk van de zendende en ontvangende systemen.(SAPTeSAP evenals niet-SAP)
- IDOC's zijn gebaseerd op EDI standaarden, ANSI ASC X12 en EDIFACT. In het geval van een conflict in de gegevensgrootte, wordt er een met een grotere lengte gebruikt.
- IDOC's zijn dat wel onafhankelijk van de richting van de gegevensuitwisseling bijv. ORDERS01: Inkoopmodule: Inkomend en Uitgaand
- IDOC's kunnen worden bekeken in een teksteditor. Gegevens worden opgeslagen in tekenformaat in plaats van in binair formaat.
Structuur van een IDOC
De I-doc-structuur bestaat uit 3 delen:
- Het administratiegedeelte (Controlerecord) - met het type idoc, berichttype, de huidige status, de afzender, ontvanger enz. Dit wordt het controlerecord genoemd.
- De applicatiegegevens (Gegevensrecord) – Die de gegevens bevat. Dit worden de gegevensrecords/segmenten.
- De statusinformatie (Statusrecord)- Deze geven u informatie over de verschillende stadia die het idoc heeft doorlopen.
U kunt een I-DOC via transactie bekijken WE02 or WE05
Zoals te zien is in de bovenstaande schermafbeelding, bestaat het IDOC-record uit drie delen Controle, Gegevens en Status. Laten we ze in detail bekijken – Controlerecord
- Alle controlerecordgegevens 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), informatie over de afzender, de ontvanger, het kanaal dat het gebruikt, welke poort het gebruikt, enz.
- Richting '1' geeft uitgaand aan, '2' geeft inkomend aan.
Gegevensrecord
- Het gegevensbestand bevat applicatiegegevens zoals werknemersheaderinformatie, wekelijkse details, klantgegevens, enz.
- Alle gegevensrecordgegevens worden opgeslagen in EDID2 tot EDID4-tabellen en EDIDD is een structuur waarin u de componenten ervan 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
- De daadwerkelijke gegevens worden opgeslagen als een tekenreeks in een veld met de naam SDATA, een veld van 1000 tekens lang.
Statusrecord
- Bij elke mijlpaal of wanneer er fouten optreden, wordt een statusrecord aan een I-DOC toegevoegd.
- Alle statusrecordgegevens worden opgeslagen in de EDIDS-tabel.
- Statussen 1-42 zijn voor uitgaand, terwijl 50-75 voor inkomend
IDOC-typen
Een I DOC Type (Basic) definieert de structuur en het formaat van het bedrijfsdocument dat moet worden uitgewisseld. Een IDOC is een instantie van een IDOC-type , net zoals het concept van variabelen en variabelentypen programmeertalen. U kunt IDOC-typen definiëren met behulp van WE30
Wat is een segment?
Een segment definieert het formaat en de structuur van een gegevensrecord in I-DOC. Segmenten zijn herbruikbare componenten.
Voor elk segment SAP creëert
- Segmenttype (versie-onafhankelijk)
- Segmentdefinitie (versieafhankelijk)
- Segmentdocumentatie
De laatste 3 tekens zijn de versie van het segment
Definities blijven veranderen afhankelijk van de versie, maar het segmenttype blijft hetzelfde.
transactie:WE31
Wat is het extensie-IDOC-type?
Een IDOC bestaat uit 2 soorten: -
- Basic
- Verlenging
SAP biedt veel vooraf gedefinieerde basis-IDOC-typen die kan niet worden gewijzigd. Als u meer gegevens wilt toevoegen aan dit beperkte basistype, kunt u een extensietype gebruiken. Meestal wel NIET gebruik extensie.
Documentatie
Elke IDOC wordt grondig gedocumenteerd in de transactie WE60
Berichttype
Een bericht vertegenwoordigt een specifiek type document dat wordt verzonden tussen twee partners. Ex. Bestellingen, bestellingenreacties, facturen etc
Een idoc-type kan aan veel berichttypen worden gekoppeld
Ook kan een berichttype aan verschillende idoc-typen worden gekoppeld. Transactie WE81
IDOC-weergaven
Een IDOC-type kan voor meer dan één berichttype worden gebruikt, wat ertoe leidt dat IDOC's meer velden bevatten dan vereist voor een bepaald berichttype.
IDOC-weergaven worden gebruikt om de prestaties bij het genereren van IDOC's te verbeteren, zodat alleen de relevante segmenten met gegevens worden gevuld. IDOC-weergaven zijn alleen belangrijk voor uitgaande verwerking.
Partnerprofielen
Een partner wordt gedefinieerd als een zakenpartner met wie u zaken doet en documenten uitwisselt
In het partnerprofiel van een partner waarmee wij Idocs uitwisselen, houden wij de parameters bij die nodig zijn voor het uitwisselen van de gegevens. De gebruikte transactie is WE20.
Haven
De poort definieert de technische kenmerken van de verbinding tussen uw SAP systeem en het andere systeem waarmee u gegevens wilt overbrengen (subsysteem). De poort definieert het medium waarin gegevens tussen de 2 systemen worden uitgewisseld.
Er zijn verschillende soorten poorten. De 2 meest gebruikte zijn de TRFC-poorten gebruikt in ALE en Dien in poorten die EDI gebruikt.
Voor TRFC-poorten moeten we de naam opgeven van de logische bestemming die is gemaakt met SM59.
Wanneer u bestandspoort gebruikt, kunt u de map opgeven waar het IDOC-bestand moet worden geplaatst. Het andere systeem of de middleware haalt het bestand vanaf hier op. De Functiemodule kan worden gebruikt om een bestandsnaam voor het idoc te genereren. Terwijl Testen Met “Uitgaand bestand” kunt u een constante bestandsnaam opgeven. Het tabblad "uitgaande trigger” kan worden gebruikt om informatie te verstrekken als we een verwerking op het subsysteem willen activeren wanneer op deze locatie een idoc wordt gemaakt. We moeten de naam van het opdrachtbestand en de map die moet worden uitgevoerd opgeven.
Dit is zo VERWAREND!
Laten we het proces van het creëren van een IDOC begrijpen met een voorbeeld:
- Telkens wanneer een inkooporder (PO) wordt aangemaakt, willen we het IDOC naar een leverancier sturen.
- De PO wordt in de vorm van een IDOC naar de leverancier (partner) gestuurd. Die partner moet EDI-enabled zijn in dat systeem. SAP moet beseffen dat het documenten elektronisch naar deze leverancier kan sturen.
- De inkooporder die door de klant als uitgaand idoc wordt verzonden, is een inkomend idoc voor de leverancier. De SAP Het systeem aan de kant van de leverancier kan dit verwerken om een toepassingsdocument (een verkooporder) op hun systeem aan te maken.
- Offerte, RFQ, PO, SO, factuur, leveringsbon enz. zijn enkele van de vaak uitgewisselde documenten via IDOC
Het proces van gegevensoverdracht vanuit uw SAP systeem heet de Uitgaand proces, terwijl die van gegevens naar jou toekomen SAP systeem wordt genoemd Inkomend proces. Als ontwikkelaar of adviseur betrokken bij het inrichten van het scriptieproces voor uw organisatie. Hier zijn de stappen om ze in te stellen-
Het uitgaande proces
Betrokken stappen –
- Segmenten maken(WE31)
- Maak een idoc-type (WE30)
- Maak een berichttype aan (WE81)
- Koppel een berichttype aan idoc-type (WE82)
- Maak een poort aan(WE21)
- Als u de berichtcontrolemethode gaat gebruiken om idocs te activeren, maak dan de functiemodule aan voor het maken van de idoc en koppel de functiemodule aan een uitgaande procescode
- Maak anders de functiemodule of het zelfstandige programma dat de idoc zal maken
- Maak een partnerprofiel (WE20) aan met de benodigde informatie in de uitgaande parameters van de partner waarmee u het idoc wilt uitwisselen. Trigger het idoc.
Het inkomende proces
Betrokken stappen-
- Creëren van een basis-Idoc-type (Transactie WE30)
- Berichttype aanmaken (Transactie WE81)
- Het berichttype koppelen aan het basis-Idoc-type (transactie WE82)
- Maak de functiemodule voor het verwerken van het idoc
- Definieer de functiemodulekarakteristieken (BD51)
- Wijs de inkomende functiemodule toe aan het berichttype (WE57)
- Procescode definiëren (Transactie WE42)
- Partnerprofiel aanmaken (Transactie WE20)