SAP Dictionnaire de données ABAP (SE11)

⚡ Résumé intelligent

SAP Le dictionnaire de données ABAP (SE11) centralise toutes les définitions de métadonnées utilisées par SAP Applications. Cette page explique les trois niveaux réutilisables — domaines, éléments de données et tables — ainsi que les objets agrégés tels que les vues, les aides à la recherche et les objets de verrouillage.

  • 📚 Définition principale : Le dictionnaire ABAP est le référentiel central de métadonnées, décrivant comment chaque champ, table et vue est défini et réutilisé dans l'ensemble du système. SAP système.
  • 🧱 Trois niveaux réutilisables : Les domaines contiennent des attributs techniques, les éléments de données ajoutent une signification sémantique, et les tables ou structures assemblent ces éléments en enregistrements.
  • 🔗 Objets agrégés : Les vues combinent les données de plusieurs tables, la recherche facilite la saisie et les objets de verrouillage protègent les enregistrements en cas d'accès simultané.
  • (I.e. Mécanisme de verrouillage : Les modules fonctionnels ENQUEUE et DEQUEUE sont générés à partir d'objets de verrouillage et doivent toujours libérer le verrou après traitement.
  • Flux de travail de création : La transaction SE11 crée des tables transparentes en définissant les champs, la classe de livraison, les paramètres techniques, puis en activant l'objet.
  • 🧭 Transactions clés : SE11, SE13, SE14, SE16 et SM30 couvrent la définition, les paramètres techniques, les utilitaires de base de données, l'affichage des données et la maintenance.

SAP Dictionnaire de données ABAP SE11

Qu'est-ce que le dictionnaire de données ?

Le dictionnaire de données est une source centrale d'informations pour les données dans un système de gestion de l'information. Sa fonction principale est de prendre en charge la création et la gestion de définitions de données (ou « métadonnées »).

In SAPCe référentiel central est appelé le dictionnaire ABAP et est géré via la transaction SE11. Chaque table, champ, vue et verrou utilisé par un programme ABAP y est décrit une seule fois, puis réutilisé partout, de sorte qu'une définition n'a jamais besoin d'être répétée dans les différents programmes.

Dictionnaire de données ABAP

La capture d'écran ci-dessus illustre l'écran initial de SE11, où chaque type d'objet du dictionnaire est sélectionné avant d'être affiché ou modifié. Avant d'examiner ces types d'objets, il est utile de comprendre pourquoi. SAP conserve ces métadonnées en dehors des programmes qui les utilisent.

Pourquoi le dictionnaire ABAP est important

Le dictionnaire ABAP existe parce que SAP Elle sépare la description des données des programmes qui les traitent. Un champ tel que le numéro de document d'achat est décrit une seule fois, et chaque rapport, écran et module fonctionnel qui en a besoin se réfère à cette unique description.

Cette définition centrale présente quatre avantages pratiques. La cohérence est garantie, car toute modification apportée à un domaine est immédiatement répercutée dans tous les champs qui y font référence via un élément de données. La redondance est éliminée, puisque les développeurs réutilisent les définitions existantes au lieu d'en créer de nouvelles. Integrity La protection est assurée, car les plages de valeurs, les tables de vérification et les clés étrangères sont validées par le dictionnaire et non par le code applicatif. Enfin, le dictionnaire étant indépendant de la base de données, une table définie dans SE11 est automatiquement créée dans la base de données sous-jacente avec les types natifs appropriés.

Le dictionnaire est également actif lors de l'exécution. Les écrans lisent directement à partir de celui-ci les libellés de champs, les textes d'aide et les plages de valeurs ; c'est pourquoi une aide F1 ou une liste de valeurs F4 s'affiche sans aucune ligne de code supplémentaire. La compréhension des trois niveaux ci-dessous explique comment cette réutilisation est organisée.

Dictionnaire ABAP 3 niveaux

Les objets du dictionnaire ABAP se trouvaient sur trois niveaux qui permettent leur réutilisation. Ces niveaux sont :

  1. Domaines
  2. Éléments de données
  3. Tableaux et structures

Chaque niveau s'appuie sur le précédent : un domaine fournit les attributs techniques, un élément de données leur confère une signification métier, et une table ou une structure regroupe les éléments de données dans un enregistrement. Examinons-les en détail.

Domaines

  • Décrit les caractéristiques techniques d'un champ de table
  • Spécifie une plage de valeurs qui décrit les valeurs de données autorisées pour les champs
  • Les champs faisant référence au même domaine (via les rubriques qui leur sont affectées) sont modifiés lors d'un changement de domaine
  • Assure la cohérence

Ex. Numéro de document d'achat (EBELN)

Dictionnaire : Afficher les domaines

L'écran de domaine ci-dessus définit uniquement le type et la longueur des données. La signification métier de cette valeur est fournie par le niveau suivant, l'élément de données.

Éléments de données

  • Décrit le rôle joué par un domaine dans un contexte technique
  • Les champs de même signification sémantique peuvent faire référence au même élément de données
  • Contient les informations du champ

Ex. Numéro de document d'achat (EBELN)

Dictionnaire : Afficher les éléments de données

L'écran des éléments de données contient les libellés des champs et la documentation que les utilisateurs voient à l'écran. Les éléments de données sont ensuite combinés en tableaux.

Tableaux

  • Représente les tables de base de données où résident réellement les données.
  • Les tables peuvent être définies indépendamment de la base de données dans le dictionnaire ABAP.
  • Les champs de la table sont définis avec leur (indépendant de la base de données) SAP Types de données ABAP et longueurs.

Dictionnaire : Afficher les tableaux

Structure

  • Sont des déclarations d'enregistrement qui ne correspondent PAS à une table de base de données.
  • Tout comme le type de données défini par l'utilisateur.
  • Défini comme un tableau et peut ensuite être adressé à partir des programmes ABAP.
  • Les structures contiennent des données uniquement pendant l'exécution d'un programme.

Dictionnaire : Structures d'affichage

Le tableau ci-dessous compare les trois niveaux en un coup d'œil.

Niveau Ce que cela définit Stocke des données ? Exemple typique
Domaine Attributs techniques : type de données, longueur, plage de valeurs Non EBELN (CHAR 10)
Élément de données Signification sémantique : étiquettes de champs, documentation, aide F1 Non EBELN — Numéro de document d'achat
lampe de table Un enregistrement des champs créé dans la base de données Oui, de manière persistante EKKO — En-tête du document d'achat
Structure Un enregistrement des champs utilisés uniquement à l'intérieur d'un programme Oui, uniquement lors de l'exécution Zone de travail pour un table interne

Objets agrégés du dictionnaire ABAP

Moyens agrégés constitués de plusieurs composants. Dans le dictionnaire ABAP, les objets agrégés sont des objets issus de plusieurs tables transparentes différentes.

  1. Vues
  2. Aide pour la recherche
  3. Verrouiller les objets

Examinons-les en détail

Vues

  • Vues dans SAP – ABAP est utilisé pour synthétiser des données réparties dans plusieurs tables
  • Les données d'une vue ne sont pas réellement stockées physiquement. Les données d'une vue sont plutôt dérivées d'une ou plusieurs autres tables
  • Il est adapté aux besoins d'une application spécifique

Dictionnaire : Afficher les vues

Aide pour la recherche

  • Une aide à la recherche est un outil qui vous aide à rechercher des enregistrements de données dans le système.
  • Une recherche efficace et conviviale aide les utilisateurs lorsque la clé d'un enregistrement est inconnue

Dictionnaire : Afficher l'aide à la recherche

Verrouiller les objets

  • Accès simultané au même enregistrement de données par deux utilisateurs dans le SAP le système est synchronisé par un mécanisme de verrouillage.
  • Les verrous sont définis et libérés en appelant certains modules fonction. Ces modules fonction sont générés automatiquement à partir de la définition des objets dits de verrouillage dans le dictionnaire ABAP/4.

Modules fonctionnels : Mettre en file d'attente_ – pour verrouiller la table dequeue_ – pour débloquer le verrou

Dictionnaire : Afficher les objets de verrouillage

⚠️ Attention : Un verrou posé avec ENQUEUE et jamais libéré avec DEQUEUE reste actif jusqu'à la fin de la session utilisateur. Appelez toujours le module DEQUEUE, y compris dans le chemin d'erreur du programme.

Une fois les types d'objets compris, la section suivante les applique en créant un tableau transparent dans SE11.

Comment créer un tableau transparent dans SE11

Une table transparente est l'objet dictionnaire le plus courant, car elle correspond à une table physique dans la base de données. Les étapes ci-dessous permettent d'en créer une.

  1. Ouvrir SE11 : Saisissez la transaction SE11, sélectionnez le Table de base de données bouton radio, saisissez un nom dans l'espace de noms client (commençant par Z ou Y), puis choisissez Créer.
  2. Saisissez une brève description et la classe de livraison : Sur le Attributs Dans l'onglet, ajoutez un court texte et définissez la classe de diffusion, ce qui indique SAP Le comportement des données lors d'une copie client ou d'une mise à niveau est décrit. La classe de diffusion A est utilisée pour les données applicatives et la classe C pour les données de personnalisation.
  3. Définir l'attribut de maintenance : Choisissez Affichage/Maintenance autorisé une vue de maintenance peut donc être générée ultérieurement avec SE55 ou SM30.
  4. Définir les champs : Sur le Des champs Dans l'onglet correspondant, ajoutez MANDT comme premier champ clé avec l'élément de données MANDT, puis ajoutez les champs clés métier. Chaque champ est typé par un élément de données, qui lui-même fait référence à un domaine ; ainsi, les trois niveaux décrits précédemment sont réutilisés au lieu d'être redéfinis.
  5. Maintenir les paramètres techniques : Cliquez à nouveau Paramètres techniques (Transaction SE13) et définissez la classe de données, par exemple APPL0 pour les données de base, ainsi que la catégorie de taille attendue. Ces valeurs déterminent l'espace de stockage et la taille initiale dans la base de données.
  6. Activer: Presse ActiverL'activation génère la table physique dans la base de données et rend la définition utilisable dans les programmes ABAP.

Astuce : Créez des clés étrangères pour chaque champ devant être validé par rapport à une table de contrôle. Le dictionnaire assure alors automatiquement la relation, et aucun code de validation n'est nécessaire dans le programme.

Une fois la table active, elle peut être adressée directement depuis un programme ABAP avec Open SQLL'exemple ci-dessous lit la table de dictionnaire standard SCARR dans une table interne et liste son contenu.

REPORT zdemo_ddic_read.

* Internal table typed directly from the dictionary table SCARR
DATA: lt_scarr TYPE STANDARD TABLE OF scarr,
      ls_scarr TYPE scarr.

SELECT carrid carrname currcode
  FROM scarr
  INTO TABLE lt_scarr.

LOOP AT lt_scarr INTO ls_scarr.
  WRITE: / ls_scarr-carrid, ls_scarr-carrname, ls_scarr-currcode.
ENDLOOP.

Comme la table interne est typée avec TYPE STANDARD TABLE OF scarr, la longueur et le type de données de chaque champ proviennent du dictionnaire. Si la définition de la table change, le programme prend en compte la modification après l'activation, sans aucune intervention de sa part.

Dictionnaire ABAP essentiel des transactions Codes

Les transactions suivantes décrivent le travail quotidien de définition, de vérification et de maintenance des objets du dictionnaire.

Transaction Interet
SE11 Écran initial du dictionnaire de données (affichage SE12 uniquement)
SE13 Dictionnaire ABAP : Paramètres techniques
SE14 Utilitaire de base de données
SE15 Système d'information du référentiel
SE16 Explorateur de données
SE17 Affichage général du tableau
SE55 Maintenance de la vue tableau
SM30 Entretien des tables

FAQ

SE11 gère la définition d'un objet dictionnaire, comme les champs et les clés d'une table. SE16 affiche et filtre les lignes de données stockées dans cette table. L'un gère les métadonnées, l'autre les enregistrements.

Oui. Un élément de données peut prendre directement un type prédéfini au lieu de faire référence à un domaine. L'utilisation d'un domaine reste toutefois recommandée, car elle centralise la plage de valeurs et permet à une modification d'affecter tous les champs qui l'utilisent.

Une table transparente correspond exactement à une table physique de la base de données. Une table mutualisée partage une table de base de données avec de nombreuses petites tables de dictionnaire ; elle ne peut donc être lue qu’avec Open SQL, et jamais avec SQL natif.

Les assistants IA tels que SAP Joule et les assistants de code des outils de développement ABAP suggèrent des noms de champs, proposent des éléments de données pour une nouvelle table, expliquent les tables standard inconnues et signalent les clés étrangères manquantes avant l'activation de l'objet.

L'IA peut générer la liste des champs, les types de données et la nomenclature, mais la définition doit encore être vérifiée et activée par un développeur. La classe de livraison, les paramètres techniques et les clés étrangères nécessitent une validation humaine avant le transport.

Résumez cet article avec :