SAP Tutoriel IDOC en ABAP : Guide étape par étape
⚡ Résumé intelligent
SAP IDoc (document intermédiaire) est un conteneur de données standardisé qui permet le transfert d'informations commerciales entre différents supports. SAP et non-SAP Ce tutoriel décrit la définition, la structure, les types, les tables, les profils partenaires, les ports et les processus de bout en bout, entrants et sortants, des systèmes ALE et EDI.

Qu'est-ce qu'un IDoc ?
IDoc est simplement un conteneur de données utilisé pour échanger des informations entre deux processus capables de comprendre la syntaxe et la sémantique des données.
En d'autres termes, un IDoc est comme un fichier de données avec un format spécifié qui est échangé entre deux systèmes qui savent comment interpréter ces données.
IDoc signifie «Document intermédiaire" .
Lorsque vous exécutez une sortant Dans le cadre d'un processus ALE ou EDI, un IDoc est créé. SAP SystèmeLes IDocs sont stockés dans la base de données, et chaque IDoc possède un numéro unique au sein d'un client.
Fonctionnalités clés
- Les IDocs sont indépendant des systèmes d'envoi et de réception (SAP-À-SAP ainsi que non-SAP).
- Les IDocs sont basés sur EDI Les normes IDoc sont ANSI ASC X12 et EDIFACT. En cas de conflit de taille de données, IDoc adopte la valeur la plus longue.
- Les IDocs sont indépendant du sens d'échange des données, par exemple ORDERS01 dans le module Achats prend en charge à la fois les entrées et les sorties.
- Les IDocs peuvent être visualisés dans un éditeur de texte car les données sont stockées au format caractère et non au format binaire.
Structure d'un IDoc
La structure IDoc se compose de trois parties :
- La partie administrative (Registre de contrôle) — Contient le type d'IDoc, le type de message, l'état actuel, l'expéditeur, le destinataire et des métadonnées similaires. Il s'agit de l'enregistrement de contrôle.
- Les données de l'application (enregistrement de données) — contient les données commerciales. On les appelle les enregistrements de données ou segments.
- Informations sur l'état (Enregistrement d'état) — fournit des informations sur les différentes étapes par lesquelles l'IDoc est passé.
Vous pouvez consulter un IDoc à l'aide de la transaction WE02 or WE05.
Comme le montre la capture d'écran ci-dessus, l'enregistrement IDoc comporte trois parties : Contrôle, Données et Statut. Chaque partie est décrite en détail ci-dessous.
Dossier de contrôle
- Toutes les données des enregistrements de contrôle sont stockées dans le EDIDC tableau. La clé de ce tableau est le numéro IDoc.
- Il contient des informations telles que le numéro IDoc, la direction (entrant/sortant), l'expéditeur, les informations du destinataire, le canal utilisé et le port utilisé.
- La direction « 1 » indique la sortie et la direction « 2 » indique l’entrée.
Enregistrement de données
- L'enregistrement de données contient des données d'application telles que les informations d'en-tête des employés, les détails hebdomadaires, les détails des clients, etc.
- Toutes les données d'enregistrement sont stockées dans des tables. EDID2 à EDID4et EDIDD est une structure dont on peut voir les composants.
- Il contient des données telles que le numéro IDoc, le nom et le numéro du segment dans l'IDoc, la hiérarchie et les données elles-mêmes.
- La charge utile proprement dite est stockée sous forme de chaîne de caractères dans un champ appelé DONNÉES SD, qui est un champ de 1000 caractères.
Enregistrement de statut
- Un enregistrement d'état est associé à un IDoc à chaque étape importante ou lorsqu'une erreur se produit.
- Toutes les données d'enregistrement d'état sont stockées dans le EDID tableau.
- Les statuts 1 à 42 concernent les départs, tandis que les statuts 50 à 75 concernent les arrivées.
Types d'IDoc
Un type IDoc (basique) définit la structure et le format du document commercial à échanger. Un IDoc est une instance d'un type IDoc, tout comme le concept de variables et de types de variables dans langages de programmationLes types d'IDoc peuvent être définis à l'aide d'une transaction. WE30.
Qu'est-ce qu'un Segment ?
Un segment définit le format et la structure d'un Enregistrement de données dans un IDoc. Les segments sont des composants réutilisables.
Pour chaque segment, SAP crée les composants suivants.
- Type de segment (indépendant de la version)
- Définition du segment (dépendant de la version)
- Documentation des segments
Les trois derniers caractères représentent la version du segment. Les définitions peuvent changer avec la version, mais le type de segment reste le même. Transaction : WE31.
Qu'est-ce qu'un type IDoc d'extension ?
Il existe deux types d'IDoc :
- Basic
- Extension
SAP fournit de nombreux types d'IDoc de base prédéfinis qui ne peut pas être modifiéSi vous devez ajouter des données à un type de base restreint, vous pouvez utiliser un type d'extension. La plupart du temps, vous devrez… pas Il faut des prolongations.
Documentation
Chaque IDoc est minutieusement documenté dans la transaction WE60.
Type de message
Un message représente un type spécifique de document qui est transmitéchanges entre deux partenaires, par exemple les commandes, les réponses aux commandes et les factures.
Un type d'IDoc peut être associé à plusieurs types de messages. Inversement, un type de message peut être associé à différents types d'IDoc. Transaction : WE81.
Vues IDoc
Un type d'IDoc peut être utilisé pour plusieurs types de messages, ce qui a pour conséquence que les IDocs contiennent plus de champs que requis pour un type de message particulier.
Les vues IDoc améliorent les performances de génération des IDocs en garantissant que seuls les segments pertinents sont renseignés. Les vues IDoc sont importantes uniquement pour le traitement sortant.
Profils des partenaires
Un partenaire est un partenaire commercial avec lequel vous faites des affaires et échangez des documents.
Dans le profil partenaire d'un partenaire avec lequel des IDocs sont échangés, vous gérez les paramètres nécessaires à l'échange de données. La transaction utilisée est WE20.
Port
Le port définit les caractéristiques techniques de la connexion entre votre SAP Le port définit le support d'échange de données entre les deux systèmes.
Il existe différents types de ports. Les deux plus couramment utilisés sont : Ports TRFC utilisé dans l'ALE et ports de fichiers utilisé par EDI.
Pour les ports TRFC, vous devez indiquer le nom de la destination logique créée à l'aide de SM59Lorsqu'un port de fichier est utilisé, il est possible de spécifier le répertoire où le fichier IDoc doit être placé. Le système ou l'intergiciel concerné récupère ensuite le fichier à cet emplacement. Un module fonction peut être utilisé pour générer un nom de fichier pour l'IDoc. vers les tests, vous pouvez utiliser « Fichier sortant » pour spécifier un nom de fichier constant. L’onglet « déclencheur sortantCette commande permet de fournir des informations si vous souhaitez déclencher un traitement sur le sous-système lors de la création d'un IDoc à cet emplacement. Spécifiez le nom du fichier de commandes et le répertoire dans lequel exécuter la commande.
Transaction IDoc courante Codes
| Transaction Code | Interet |
|---|---|
| WE02 / WE05 | Afficher et surveiller les IDocs |
| WE30 | Créer ou modifier le type d'IDoc |
| WE31 | Créer ou modifier un segment |
| WE20 | Gérer le profil partenaire |
| WE21 | Maintenir les ports |
| WE42 | Définir le processus entrant Code |
| WE57 | Affecter le module de fonction entrant au type de message |
| WE60 | Documentation IDoc |
| WE81 / WE82 | Créer un type de message / l'associer à un type d'IDoc |
| BD51 | Définir les caractéristiques du module fonctionnel |
| SM59 | Maintenir les destinations RFC |
Processus IDoc : un exemple concret
Prenons l'exemple de l'envoi d'un bon de commande à un fournisseur via IDoc.
- Chaque fois qu'une commande d'achat (PO) est créée, le système doit envoyer un IDoc au fournisseur.
- Le bon de commande est envoyé au fournisseur (partenaire) sous forme d'IDoc. Ce partenaire doit avoir activé l'EDI dans le système. SAP reconnaît qu'elle peut transmettre le document à ce fournisseur par voie électronique.
- Le bon de commande envoyé par le client sous forme d'IDoc sortant devient un IDoc entrant pour le fournisseur. SAP Le système du fournisseur peut traiter cela pour créer un document d'application (une commande client) sur son système.
- Les devis, les demandes de prix, les bons de commande, les bons de livraison, les factures et les bons de livraison font partie des documents les plus fréquemment échangés via IDoc.
Le processus de transfert de données hors de votre SAP système est appelé le Processus sortant, tandis que les données se déplacent vers votre SAP système est appelé le Processus entrantEn tant que développeur ou consultant chargé de mettre en place ces processus pour votre organisation, les étapes de configuration de chacun sont détaillées ci-dessous.
Le processus sortant
Étapes impliquées:
- Créer des segments (WE31).
- Créer un type IDoc (WE30).
- Créer un type de message (WE81).
- Associez le type de message au type d'IDoc (WE82).
- Créer un port (WE21).
- Si vous utilisez la méthode de contrôle des messages pour déclencher des IDocs, créez le module fonction qui construit l'IDoc et liez-le à un processus sortant. Code.
- Sinon, créez un module fonction ou un programme autonome qui crée directement l'IDoc.
- Créez un profil partenaire (WE20) avec les informations nécessaires dans les paramètres sortants pour le partenaire avec lequel vous échangez l'IDoc, et déclenchez l'IDoc.
Le processus entrant
Étapes impliquées:
- Créer le type d'IDoc de base (transaction WE30).
- Créez le type de message (transaction WE81).
- Associez le type de message au type d'IDoc de base (transaction WE82).
- Créez le module fonctionnel pour le traitement de l'IDoc.
- Définir les caractéristiques du module fonctionnel (BD51).
- Attribuer le module de fonction entrant au type de message (WE57).
- Définir le processus Code (Transaction WE42).
- Créer le profil partenaire (transaction WE20).










