Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Apprendre à programmer avec ABAP
  3. Dictionnaire de données (DDIC)
Extrait - Apprendre à programmer avec ABAP Les fondamentaux du développement sur SAP (avec exercices et corrigés)
Extraits du livre
Apprendre à programmer avec ABAP Les fondamentaux du développement sur SAP (avec exercices et corrigés) Revenir à la page d'achat du livre

Dictionnaire de données (DDIC)

Définition

Ce chapitre présente le dictionnaire de données plus communément appelé DDIC (pour Data Dictionary). Le DDIC regroupe toutes les fonctionnalités des tables de la base de données, structure, vues...

Pour accéder à la gestion du DDIC, la transaction SE11 est utilisée. Comme cela a été évoqué dans le chapitre Premiers pas sur SAP - Connexion et fenêtre d’accueil, il est possible d’y accéder par ces différents moyens :

  • De n’importe quel écran en renseignant la transaction dans la zone de commande et en spécifiant si elle doit être exécutée dans une même session (/nSE11) ou dans une nouvelle (/oSE11).

  • À partir de la fenêtre d’accueil, dans le menu SAP par un double clic sur la ligne du DDIC ou par un clic droit puis Exécuter : Dictionnaire .

    Menu SAP - Outils - ABAP Workbench - Développement - SE11 Dictionnaire

images/05RI01.png

Une fois arrivé sur l’écran de la gestion du DDIC, plusieurs options sont possibles :

images/05RI02.png
  • Table base de données : la table classique de la programmation où sont stockées toutes les informations du système (table des clients, fournisseurs...) .

  • Vue : regroupement de plusieurs tables permettant d’accéder rapidement et simultanément à un large éventail...

Les domaines

1. Définition

Un domaine va définir les caractéristiques techniques de base d’un champ contenu dans une table. Il peut être de plusieurs types dont voici les principaux :

  • CHAR : chaîne de caractères alphanumériques (et donc contenant aussi bien des chiffres que des lettres), mais toujours considérée comme un texte.

  • CURR : pour l’anglais Currency, devise d’un montant (euro, dollar...).

  • DATS : format date.

  • DEC : décimal pouvant contenir bien sûr une décimale mais aussi un signe (+ ou -), et un séparateur de milliers. Sa longueur maximale est de 31 positions.

  • FLTP : nombre flottant incluant aussi une décimale, mais dont la longueur maximale ne peut être supérieure à 16 positions.

  • INT1, INT2 et INT4 : utilisés pour les nombres entiers.

  • NUMC : texte numérique, ou plus précisément un nombre qui sera considéré à la fois comme une valeur numérique et un texte (utile lors d’une concaténation d’un texte et d’un chiffre incrémenté dans une boucle cf. chapitre Instructions basiques ABAP - Opérations sur variable texte) .

  • STRING : chaîne de caractères ayant une longueur importante (utilisé pour une description, par exemple).

Il existe beaucoup plus de choix mais ils restent peu utilisés.

Afin de comprendre comment se définit un domaine, le domaine MATNR (numéro d’article) sera pris comme exemple. Pour cela, la transaction SE11 doit être exécutée (voir le début de ce chapitre pour la procédure), puis dans l’écran initial de la gestion du dictionnaire ABAP, l’option Domaine doit être cochée, puis dans la zone texte, MATNR doit être renseigné.

images/05RI04.png

Cliquer sur le bouton Afficher. L’écran suivant apparaît :

images/05RI05.png

Le premier constat est de voir que la barre d’outils a changé. En effet, les options affichées sont les suivantes :

images/05RI06.png
  • Deux flèches (Objet précédent et Objet suivant) afin de naviguer entre les écrans comme une navigation web .

  • Afficher <-> Modifier pour passer à la modification en cas d’affichage et inversement .

    Domaine - Afficher <-> Modifier...

Éléments de données

1. Définition

Le domaine est la caractéristique technique d’un champ d’une table, cependant il existe une autre couche afin d’en compléter sa définition : l’élément de données. Celui-ci est tout simplement l’objet qui va définir le visuel du champ (titre, nom des colonnes...) et quelques caractéristiques additionnelles (aide à la recherche...).

Pour continuer avec l’exemple du code article, l’élément de données associé se nomme également MATNR (il n’est pas rare de rencontrer un nom de domaine identique à celui de l’élément de données). Pour l’afficher, la transaction SE11 doit être exécutée à partir de la zone de commande ou par le menu SAP de l’écran d’accueil. Une fois sur l’écran de gestion du dictionnaire ABAP, il suffit de cocher l’option Type de Donnée, puis de renseigner le nom de l’objet. Un clic sur le bouton Afficher va permettre d’accéder au détail de l’objet.

images/05RI13.png

Comme pour le domaine, l’écran de gestion de l’élément de données est composé d’une barre d’outils quasiment identique. La différence majeure réside dans la présence de deux nouveaux boutons : Documentation et Documentation complémentaire.

images/05RI14.png

Ils permettent de créer une aide pour l’élément de données créé.

images/05RI15.png

Suivent ensuite quatre onglets :

  • Propriétés

  • Type données

  • Propriétés supplémentaires

  • Description de zone

Le premier onglet est exactement le même que pour le domaine (et comme beaucoup d’objets DDIC) à savoir le nom de l’utilisateur, la date de la dernière modification, le package...

L’onglet Type données quant à lui, va définir la composante technique.

images/05RI16.png

Elle peut être définie par :

  • Type élémentaire, à savoir un domaine ou directement un type de données avec sa longueur de champ. Cette dernière option est plus utilisée pour...

Aide à la recherche

1. Définition

Un autre objet faisant partie des types de données est l’aide à la recherche. C’est une interface assurant la cohérence entre un champ faisant référence à un domaine et la liste des valeurs permises. L’aide à la recherche s’exécute lors d’une recherche de valeur sur un champ ayant une icône annexée (voir ci-dessous) ou plus communément avec la touche raccourci-clavier [F4].

images/05RI23.png

Par exemple : dans la zone de commande, la transaction /oMM03 va être renseignée afin d’afficher le détail d’un article, dans une nouvelle session. L’écran est alors composé d’un seul champ nommé Article.

images/05RI24.png

Dans ce champ Article, une recherche peut être effectuée afin de sélectionner la valeur adéquate. La fenêtre de l’aide à la recherche apparaîtra donc (touche [F4] sur la cellule) et se présente ainsi :

images/05RI25.png

Cette aide à la recherche est composée de plusieurs sous-aides à la recherche permettant d’aider au mieux l’utilisateur à affiner sa sélection.

Il serait intéressant de voir comment naviguer jusqu’aux objets qui nous intéressent pour un champ spécifique. Pour chaque champ de chaque écran sur SAP, il est possible de connaître sa référence technique. Pour cela, il suffit de cliquer avec le bouton droit sur ledit champ, puis dans le menu, de choisir l’Aide (ou d’utiliser directement la touche raccourci-clavier [F1]).

images/05RI26.png
Une fenêtre apparaît avec différentes informations. C’est cette description qui est définie dans l’élément de données Documentation complémentaire (cf. section sur Éléments de données de ce chapitre). Dans la barre d’outils se trouve une icône avec un marteau et une clé images/05RI27.png, permettant d’obtenir les informations techniques du champ.

Voici pour celui de l’article de la transaction MM03 :

images/05RI28.png

C’est une configuration typique des informations techniques divisée en quatre parties :

1.

Données dynpro : renseigne sur le nom du programme principal et du numéro d’écran. Un programme peut posséder plusieurs écrans...

Structures et Tables

1. Les tables

Cette partie développera la partie concernant les tables et les structures car ces deux notions sont très similaires. En résumé, une structure est grossièrement une table qui ne stocke pas de données.

Cependant, comme la configuration d’une table de données est un peu plus complexe, il serait intéressant d’étudier son comportement et toutes ses options possibles.

Pour cela, la table MARA vue dans les sections précédentes sera analysée. Il suffit d’exécuter la transaction SE11, puis dans la fenêtre d’accueil du gestionnaire du dictionnaire ABAP, de sélectionner l’option Table base de données et de renseigner la zone adjacente.

images/05RI39.png

L’affichage de la table MARA se présentera alors sous cette forme :

images/05RI40.png

a. Barre d’outils

Comme à l’accoutumée, la barre d’outils présente de nouvelles fonctionnalités, notamment les cinq dernières :

images/05RI41.png
  • Graphique donne une représentation graphique de la table et de ses relations externes. 

  • Contenu affiche toutes les données sauvegardées .

    Utilitaires - Contenu de table - Afficher [Ctrl][Shift][F10]

Ainsi, pour la table MARA, lorsque cette option est choisie, l’utilisateur arrive sur l’écran de sélection suivant :

images/05RI42.png

Il s’agit simplement d’options de filtrage afin de réduire la sélection à celle qui nous intéresse en renseignant par exemple une date de création, un groupe de marchandises... Il est également possible de laisser tout à blanc et de tout sélectionner. Le processus de sélection s’effectue après avoir cliqué sur le bouton Exécuter tout en haut à gauche de l’écran, ou grâce à la touche raccourci-clavier [F8] (ou via le menu déroulant Programme - Exécuter [F8]).

Dans la barre d’outils, le bouton Nombre d’entrées est une option pratique également, permettant de vérifier très rapidement le nombre d’enregistrements pour une sélection donnée.

  • Options techniques permet de renseigner des informations techniques supplémentaires.

    Saut - Options techniques [Ctrl][Shift][F9]

images/05RI43.png

Dans les Propriétés générales...