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.

  • 📦 Définition principale : IDoc est un conteneur de données indépendant du système, basé sur des normes EDI telles que ANSI ASC X12 et EDIFACT.
  • 🧱 Structure en trois parties : Chaque IDoc est composé d'un enregistrement de contrôle, d'enregistrements de données et d'enregistrements d'état, chacun étant stocké dans des tables de base de données dédiées.
  • ???? Hiérarchie des types : Les types IDoc de base sont fournis avec SAP et ne peuvent pas être modifiés ; les types d’extension ajoutent des champs personnalisés lorsque cela est nécessaire.
  • (I.e. Flux de processus : Le module sortant crée et envoie des IDocs ; le module entrant les reçoit et les publie via des modules de fonction liés.
  • 🤖 Activation de l'IA : Les outils de surveillance basés sur l'IA détectent rapidement les défaillances d'IDoc et cartographient automatiquement les champs. SAP et non-SAP les partenaires.

SAP Tutoriel IDOC

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

Structure d'un IDoc

La structure IDoc se compose de trois parties :

  1. 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.
  2. 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.
  3. 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.

Enregistrement IDoc affichant le contrôle, les données et l'état

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.

Segment dans l'IDoc

Qu'est-ce qu'un type IDoc d'extension ?

Il existe deux types d'IDoc :

  1. Basic
  2. Extension

Types d'IDoc de base et d'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.

Illustration du type IDoc d'extension

Documentation

Chaque IDoc est minutieusement documenté dans la transaction WE60.

Documentation IDoc dans 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.

Type de message dans IDoc

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.

Vues IDoc

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.

Profils des partenaires dans IDoc

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.

Port dans IDoc

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:

  1. Créer des segments (WE31).
  2. Créer un type IDoc (WE30).
  3. Créer un type de message (WE81).
  4. Associez le type de message au type d'IDoc (WE82).
  5. Créer un port (WE21).
  6. 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.
  7. Sinon, créez un module fonction ou un programme autonome qui crée directement l'IDoc.
  8. 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:

  1. Créer le type d'IDoc de base (transaction WE30).
  2. Créez le type de message (transaction WE81).
  3. Associez le type de message au type d'IDoc de base (transaction WE82).
  4. Créez le module fonctionnel pour le traitement de l'IDoc.
  5. Définir les caractéristiques du module fonctionnel (BD51).
  6. Attribuer le module de fonction entrant au type de message (WE57).
  7. Définir le processus Code (Transaction WE42).
  8. Créer le profil partenaire (transaction WE20).

FAQ

IDoc est asynchrone et utilisé pour la messagerie entre systèmes via ALE ou EDI. BAPI est synchrone et utilisé pour l'accès en temps réel aux données. SAP Objets métier. L'IDoc est mis en file d'attente ; la BAPI renvoie immédiatement.

Un type d'IDoc définit la structure technique des segments et des champs. Un type de message définit sa signification métier, comme les commandes ou les factures. Un type d'IDoc peut être associé à plusieurs types de messages, et inversement.

Utilisez les transactions WE02 ou WE05 pour afficher les IDocs et consulter les enregistrements d'état. Les IDocs sortants utilisent les codes d'état 1 à 42 ; les IDocs entrants, les codes 50 à 75. La transaction BD87 retraite les IDocs ayant généré des erreurs.

Le champ SDATA, qui stocke les données utiles de chaque enregistrement, a une longueur de 1 000 caractères. Un IDoc peut contenir de nombreux enregistrements ; la taille totale des données utiles est donc proportionnelle au nombre de segments.

Oui. Les IDocs sont indépendants du système et respectent les normes EDI telles que ANSI ASC X12 et EDIFACT. Non-SAP Les systèmes peuvent produire ou consommer des fichiers IDoc via des ports de fichiers ou des intergiciels comme SAP PI/PO.

Les enregistrements de contrôle se trouvent dans la table EDIDC, les enregistrements de données dans les tables EDID2 à EDID4 et les enregistrements d'état dans la table EDIDS. Le numéro d'IDoc est la clé qui relie ces trois tables pour un IDoc donné.

Les outils de surveillance basés sur l'IA regroupent les erreurs IDoc récurrentes, prédisent les défaillances à partir des modèles historiques et recommandent des solutions pour les problèmes d'état 51 ou 56, réduisant ainsi considérablement le temps de retraitement manuel.

Oui. Carte générée par l'IAping Les moteurs comparent les définitions de segments entre eux. SAP et les systèmes partenaires, proposent une carte de terrainpinget tirer des leçons des corrections passées, réduisant ainsi considérablement la configuration manuelle dans les projets ALE et EDI.

Résumez cet article avec :