Transaction SE11 sur SAP #
Transaction SE11 #
La transaction SE11 est un outil SAP central pour la gestion du DATA DICTIONARY ou DICTIONNAIRE DE DONNEES (DDIC).
Elle permet de créer, visualiser et maintenir tous les objets liés aux données dans SAP.
Objectifs #
- Comprendre l’interface de la
SE11et ses menus - Savoir visualiser et modifier les objets de données :
tables,Vues,TYPES DE DONNÉES - Gérer les
KEYS,INDEXet relations entre objets - Utiliser les fonctionnalités d’aide à la création et au contrôle
Définition #
Imagine que la
SE11soit une boîte à outils centrale où sont rangés tous les plans de construction des données SAP.
Sans cette boîte, impossible de bâtir, connecter ou vérifier la cohérence du système.
Tous les objets créés dans SAP (champs, structures, tables, etc.) sont enregistrés dans le
DDIC.
C’est la base technique sur laquelle repose tout le modèle de données.
La transaction SE11 est une transaction SAP utilisée pour la gestion des dictionnaires de données. Voici ses principales utilisations :
-
Visualisation des objets de données: LaSE11permet de visualiser différents objets de données dans SAP, tels que les DB tables, les Vues, les Types de donnée, etc. Cela inclut également la visualisation des Fields, des Primary Keys, des contraintes et d’autres propriétés des objets de données. -
Création et modification des objets de données: Les développeurs SAP peuvent utiliser laSE11pour créer de nouveaux objets de données ou modifier des objets existants, comme les tables ou les Types de donnée. -
Maintenance des structures de données: La SE11 permet de gérer les Structures de données complexes en définissant des relations entre les tables, en ajoutant ou en supprimant des Fields, en définissant des clés de jointure, etc. -
Génération de rapports sur les données: Les utilisateurs peuvent utiliser la SE11 pour générer des rapports sur les données stockées dans les tables en permettant l’accès aux données via des requêtes SQL ou des outils de reporting.
Menu #
Contrôler l'objet[ Ctrl ] + [ F2 ]Activer[ Ctrl ] + [ F3 ]Cas d'Emploipermet de savoir où est utilisé l’objet [ Shift ] + [ F3 ]Analyser l'environnementliste les composants ABAP que l’objet utilise [ Ctrl ] + [ Shift ] + [ F4 ]Aide à l'application[ Ctrl ] + [ F8 ]Supprimer un objet du DDIC[ Shift ] + [ F2 ]Copier un objet du DDIC[ Ctrl ] + [ F5 ]
Fonctionnalités #
Database Table: table classique de la programmation où sont stockées les informations du système.View: regroupement visuel de plusieurs tables.Data type: peut être un élément de données, une structure de table ou un type de table.Type Group: genre d’include où sont stockées plusieurs types de variables, (Constants, type de table…).Domain: Domaine.Search help: Aide à la recherche.Lock Object: permet le blocage d’une table… si besoin. La création d’un objet de blocage va créer automatiquement deuxmodules fonction:ENQUEUE_nom-objet-blocage(appel de cette fonction pour bloquer la table…)DEQUEUE_nom-objet-blocage(appel de cette fonction pour débloquer la table…)
Boutons #
Display[ F7 ]Change[ F6 ]Create[ F5 ]
Fenêtre d’affichage (à l’execution) #
Menu #
-
<- ->
-
Afficher <-> Modifier[ Ctrl ] + [ F1 ] -
... -
Autre objet[ Maj ] + [ F1 ] -
Contrôler[ Ctrl ] + [ F2 ] -
Activer[ Ctrl ] + [ F3 ] -
Cas d'emploi[ Ctrl ] + [ Maj ] + [ F3 ] -
Affichage liste d'objets[ Ctrl ] + [ Maj ] + [ F5 ]
-
Afficher fenêtre de navigation[ Ctrl ] + [ Maj ] + [ F4 ]
-
Activer/Désactiver plein écran[ Maj ] + [ F12 ] -
Manuel[ Ctrl ] + [ F8 ] -
Graphique[ Ctrl ] + [ Maj ] + [ F11 ]
-
Contenu[ Ctrl ] + [ Maj ] + [ F10 ] -
Options techniquesde la table [ Ctrl ] + [ Maj ] + [ F9 ] -
Structure appendpour visualiser les structures ajoutées à la structure (MARA dans notre exemple) [ F5 ]
ONGLET ZONES #
-
Fields
-
Clés
-
Valeur initiale
-
élément de données
-
Type de donnée (longueur et décimales)
-
Description
ONGLET AIDE/CONTROLE DE SAISIE #
L’aide/contrôle de saisie est une fonctionnalité qui permet de fournir une assistance aux utilisateurs lorsqu’ils saisissent des données dans un Fields.
L’onglet Aide/Contrôle de saisie affiche le lien entre un Fields et sa table de contrôle.
ONGLET ZONES DEVISES/QUANTITES #
l’onglet “Zones Devises/Quantités” est une fonctionnalité permettant de définir des caractéristiques spécifiques des champs de données liés aux devises et aux quantités dans SAP.
Plus spécifiquement, il permet d’afficher les liens entre un Fields contenant une valeur quantitative et son unité de mesure.
Par exemple, le Fields BRGEW de la structure MARA représente le poids brut d’un article. Pour autant, nous ne savons pas de base si le poids est en kilogramme, en gramme ou en tonne. BRGEW doit donc être lié à un autre Fields afin de définir et stocker son unité de mesure. Dans cet exemple, BRGEW est lié au Fields GEWEI (de type unité de mesure) et qui possède comme desciption “Unité de poids”.
Lors de création de table, il est obligatoire de toujours lier un champ de type quantité (type de données : QUAN) avec un champ qui décrira son unité de mesure (Type de données : UNIT).
Domaines #
Objectifs #
- Comprendre le rôle d’un
DOMAINdans le dictionnaire SAP - Identifier les différents types de données disponibles
- Définir les propriétés techniques et éditoriales d’un
DOMAIN - Créer un
DOMAINdans la transactionSE11avec ses plages de valeurs et routines de conversion
Définition #
On peut le voir comme le moule dans lequel une donnée doit entrer.
La définition d’un
DOMAINconstitue le niveau le plus bas de description d’une donnée dans SAP.
Il permet de définir les caractéristiques techniques d’un champ contenu dans une TABLE.
SE11 #
afin de faciliter la compréhension, nous allons prendre l’exemple du domaine
MATNR, accessible depuis la TransactionSE11en entrant dans l’input “Domaine” le nom du domaine rechercher. Cliquer ensuite sur [ Afficher ] (or “Display”)
Menu #
Deux flèches: (Objet précédent et Objet suivant) pour naviguer entre les écrans.Afficher <-Modifier: pour passer à la modification en cas d’affichage et inversement [Ctrl][F1]Actif <-> Inactifpermet de naviguer entre la version active et la version inactiveAutre Objet: pour sélectionner un autre domaine sans repasser par l’écran initial de la SE11. [Shift][F5]Contrôler[ Ctrl ] + [ F2 ]Activation[ Ctrl ] + [ F3 ]Cas d'Emploi[ Ctrl ] + [ Shift ] + [ F3 ]Afficher Liste d'objets[ Ctrl ] + [ Shift ] + [ F5 ]Afficher fenêtre de navigation[ Ctrl ] + [ Shift ] + [ F4 ]Activer/Désactiver plein écranManuel en ligne[ Ctrl ] + [ F8 ]
Description #
Onglet Propriétés #
Derniere modificationdu domainePackagedu domaineLangue d'originedu domaine (lors de sa création)
Onglet Définition #
Type de donnéescaractérisant le format du domaineNombre positionsIl s’agit du nombre de caractères d’un type de données du Dictionnaire ABAPDécimalesLongueur éditionIl s’agit de la longueur d’édition comme partie des proprietés d’édition de domainesRout. ConversionIl s’agit de la routine de conversion comme partie des proprietés d’édition de domainesSigne +/-paramètre du domaineMinusculesparamètre du domaine
Onglet Plage de valeurs #
Une plage de valeur pour un domaine fait référence à une gamme ou à un ensemble de valeurs autorisées pour ce champ.
Si elle est renseignée lors de la création du domaine, lorsqu’un utilisateur emploiera une variable définie par ce domaine, SAP ira vérifier si la valeur renseignée existe bien en consultant cette plage de valeur. Si elle n’existe pas il renverra un message d’erreur.
Types de données disponibles #
- CHAR : chaîne de caractères alphanumériques
- CURR : devise (EUR, USD…)
- DATS : format date
- DEC : nombre décimal avec signe et séparateur de milliers
- FLTP : nombre flottant (jusqu’à 16 positions)
- INT1, INT2, INT4 : nombres entiers
- NUMC : texte numérique (utile pour concaténer chiffres et texte)
- STRING : chaîne de caractères longue
- XSTRING : chaîne hexadécimale
Imaginez un moule à biscuits.
LeDOMAINdéfinit la forme et la taille du biscuit. Peu importe la garniture (la valeur), elle doit toujours rentrer dans ce moule.
Le
DOMAINfixe les règles techniques universelles d’un champ (type, longueur, format).
Ainsi, tous les champs basés sur ceDOMAINpartageront les mêmes contraintes et comportements.
Un
DOMAINpeut être réutilisé dans plusieurs tables. Si vous le modifiez, tous les champs qui l’utilisent seront impactés.
Propriétés principales #
- Type de données : format de base (CHAR, NUMC, DEC, etc.)
- Nombre de positions : nombre de caractères autorisés
- Décimales : uniquement pour les types numériques
- Longueur édition : longueur visible dans les interfaces
- Routine de conversion : conversion ou formatage automatique (ex. ALPHA)
- Signe +/- : autorise les nombres négatifs
- Minuscules : autorise les lettres minuscules
Si un
DOMAINdéfinit un identifiant de 5 caractères, et que vous saisissez123456, SAP refusera la valeur.
Si vous saisissez123, la routine de conversion ALPHA peut compléter avec des zéros pour obtenir00123.
Une longueur trop courte ou une mauvaise définition du type peut provoquer des erreurs de troncature ou d’incompatibilité avec d’autres objets.
Toujours définir le type et la longueur avec cohérence fonctionnelle (ex :
ZID_CLIENT→ CHAR10 pour permettre un format alphanumérique mixte).
Plage de valeur #
Une plage de valeurs définit un ensemble de valeurs autorisées pour le champ.
C’est comme un menu dans un restaurant. Si le plat que vous demandez n’est pas dans le menu, le serveur (SAP) vous indique que ce n’est pas autorisé.
Lorsqu’une plage est définie, SAP vérifie automatiquement que la valeur saisie appartient à cette liste et rejette toute donnée non conforme.
Les plages de valeurs sont utiles pour restreindre des champs tels que le type de contrat, le code pays, ou le statut.
Définir des plages de valeurs dès que les données sont codifiées ou limitées à une liste fermée (par ex. O/N, A/B/C…).
Routine de conversion #
Les routines de conversion permettent de formater automatiquement les données lors de la saisie ou de l’affichage.
Un champ de type
MATNR(numéro de matériel) doit toujours comporter 10 caractères.
Si vous saisissez12345, la routine ALPHA le convertira automatiquement en0000012345.
SAP utilise ces routines pour assurer une uniformité d’affichage entre les écrans, les bases et les rapports.
Ainsi, les valeurs sont toujours stockées sous le même format technique, mais affichées sous une forme lisible.
Si une routine de conversion n’est pas adaptée, des erreurs d’affichage ou de comparaison peuvent survenir entre systèmes (ex : entre ECC et S/4HANA).
Employer les routines standard SAP (ex : ALPHA, CUNIT, CURRENCY) plutôt que d’en créer de nouvelles.
Création d’un domaine #
- Transaction SE11
Cocherl’optionDomaine
Nommerle domaine (exempleZCONSULTANT_ID)
Créerou [ F5 ]
Entrerunedescription(obligatoire) (exempleIdentifiant Consultant SAP AELION)
- Insérer les informations suivantes :
Type de données: CHARNombre positions: 30Longueur édition: 30Rout. conversion: ALPHA
Sauvegarder
Contrôler
Activer
Créer un
DOMAIN, c’est comme définir un gabarit officiel pour un formulaire :
chaque champ doit respecter ce gabarit pour garantir l’uniformité des données dans tout le système.
L’activation du
DOMAINvérifie automatiquement les incohérences éventuelles.
En cas d’erreur, SAP indique précisément le champ ou la propriété à corriger.
Résumé #
Un
DOMAINdéfinit la structure technique d’un champ SAP : type, longueur, décimales, conversion et plage de valeurs.
Il garantit la cohérence et la qualité des données dans tout le système.
- Chaque champ d’une table SAP est basé sur un
DOMAIN.- Le
DOMAINassure l’homogénéité et la validation des données.- Les routines de conversion et les plages de valeurs renforcent l’intégrité du modèle de données.
Toujours créer un
DOMAINréutilisable plutôt que de définir des types directement dans les champs de table.
Cela simplifie la maintenance et la normalisation des données à long terme.
Éléments de données #
Objectifs #
- Comprendre le rôle d’un
ELEMENT DE DONNEES - Identifier la relation entre
ELEMENT DE DONNEESetDOMAINE - Définir la description et la présentation des données
- Créer un
ELEMENT DE DONNEESdans la transaction SE11
Définition #
Si le
DOMAINEest le moule qui définit la forme et la taille du biscuit,
l’ELEMENT DE DONNEESest l’étiquette collée sur le biscuit.
Tous les biscuits du même moule peuvent avoir des étiquettes différentes selon leur usage (ex : “biscuit client”, “biscuit fournisseur”).
Un
ELEMENT DE DONNEESest lié à un seulDOMAINE, mais unDOMAINEpeut être utilisé par plusieurs éléments de données.Un
ELEMENT DE DONNEESest la zone de référence d’une donnée dans SAP.
Il définit comment une donnée est présentée et utilisée dans le système, et il est toujours associé à unDOMAINE.
Le
DOMAINEfixe les caractéristiques techniques (type, longueur, format),
tandis que l’ELEMENT DE DONNEESfixe la signification fonctionnelle et l’étiquette d’affichage du champ.
Le
DOMAINEZCONSULTANT_IDdéfinit un identifiant technique de 30 caractères.
L’ELEMENT DE DONNEESZCONSULTANT_IDdéfinit comment ce champ apparaîtra à l’écran :
par exemple “Identifiant Consultant SAP”.
L’
ELEMENT DE DONNEESest une abstraction de présentation :
il rend les données techniques compréhensibles pour les utilisateurs métier.
C’est une couche entre la technique (DOMAINE) et la sémantique (écran, formulaire, rapport).
Relation entre domaine et élément de données #
| Élément | Rôle principal | Exemple |
|---|---|---|
DOMAINE |
Définition technique (type, longueur, conversion) | CHAR30 |
ELEMENT DE DONNEES |
Définition fonctionnelle (texte, libellé, aide, docu.) | “Identifiant Consultant SAP” |
Le
DOMAINEdit comment la donnée doit être stockée,
l’ELEMENT DE DONNEESdit comment elle doit être comprise et affichée.
Ne jamais confondre
DOMAINEetELEMENT DE DONNEES.
Modifier unDOMAINEaffecte tous les éléments qui l’utilisent.
Modifier unELEMENT DE DONNEESaffecte uniquement la présentation du champ (pas sa structure).
Création d’un élément de données #
Prérequis #
Avoir créé un DOMAINE (ex : ZCONSULTANT_ID).
Étapes #
- Transaction SE11
Cocherl’optionType de données
Nommerl’élément (exempleZCONSULTANT_ID)
Créerou [ F5 ]
SélectionnerElément de données
Entrerunedescription(obligatoire) (exempleN° d'identification du consultant)
Renseignerle DOMAINE (exempleZCONSULTANT_ID)
Appuyersur [ Entrée ]
Renseignerles descriptions de zone dans l’ongletDescript. zone
| Longueur | Nbr caractères | Nom |
|---|---|---|
Court |
10 | Consultant |
Moyen |
20 | Ident.Consult. |
Long |
40 | Identification Consultant |
Intitulé |
55 | Identification du Consultant |
Sauvegarder
Dans cet exemple, la création de l’ELEMENT DE DONNEE se fera en local mais il est soumis, comme tout objet, à la possibilité d’être affilié à un OT.
Contrôler
Activer
Ces libellés seront utilisés automatiquement dans les écrans, rapports, ALV et formulaires. Cela permet d’uniformiser la présentation des champs dans tout le système.
Si le
DOMAINEest le moule du biscuit,
l’ELEMENT DE DONNEESajoute l’étiquette et le style d’écriture sur le biscuit.
Tous les biscuits issus de ce moule seront identiques techniquement,
mais l’étiquette (ELEMENT DE DONNEES) permet de savoir à quoi ils correspondent.
Les textes courts, moyens et longs sont utilisés selon le contexte d’affichage
- Court : listes, ALV, tableaux
- Moyen : écrans SAP classiques
- Long / Intitulé : info-bulles, aide à la saisie, formulaires
L’
ELEMENT DE DONNEESne doit pas être confondu avec un champ de table.
Le champ d’une table réutilise unELEMENT DE DONNEES, il ne le définit pas.
Utilisation conseillée #
Utilisation conseillée
- Créez un
ELEMENT DE DONNEESpar champ fonctionnel distinct, même si leDOMAINEest le même.- Utilisez des noms explicites (
ZCLIENT_ID,ZSUPPLIER_ID) pour faciliter la maintenance.- Toujours documenter la signification du champ dans l’onglet “Document.” de SE11.
- Cela facilite la compréhension et la réutilisation dans d’autres projets SAP.
Résumé #
L’
ELEMENT DE DONNEESest la définition sémantique d’un champ SAP.
Il repose sur unDOMAINEpour ses caractéristiques techniques,
mais ajoute la signification, les libellés et l’aide utilisateur.
- Un
ELEMENT DE DONNEES= un libellé fonctionnel basé sur unDOMAINEtechnique- Un
DOMAINEpeut être partagé, mais unELEMENT DE DONNEESne référence qu’un seulDOMAINE- Il garantit une présentation homogène et une compréhension claire des données dans tout SAP
Dans un projet SAP bien structuré, le couple
DOMAINE+ELEMENT DE DONNEES
constitue la base de tout modèle de données propre, cohérent et compréhensible.
Champs / Zones / Fields #
Objectifs #
- Comprendre ce qu’est un
CHAMPdans SAP - Identifier la relation entre
CHAMP,ELEMENT DE DONNEEetDOMAINE - Savoir créer et modifier des
CHAMPSdans SE11 - Différencier l’affichage des
CHAMPSdans les tables et les structures
Définition #
Imaginez une feuille Excel
- chaque colonne (ex : Nom, Prénom, Date de naissance) est un
CHAMP- le type de la colonne (texte, nombre, date) est défini par le
DOMAINE- l’étiquette affichée (Nom du client, Âge, etc.) est définie par l’
ELEMENT DE DONNEE
- Un
CHAMPest une zone de stockage d’information dans une table ou une structure.- Chaque
CHAMPest lié à unELEMENT DE DONNEE, qui lui-même est lié à unDOMAINE.- Le
CHAMPdéfinit le contenu exact, la longueur, le type et l’affichage de la donnée.Un
CHAMP(ou zone) dans SAP correspond à une colonne spécifique d’une table ou d’une structure.
ChaqueCHAMPcontient une information précise et est lié à unELEMENT DE DONNEEet à unDOMAINEqui définissent son type et ses caractéristiques.
Dans la table
MARA(données de matériaux)
- Le
CHAMPMATNRcorrespond à l’identifiant du matériau.- Le
DOMAINEdéfinit sa longueur (CHAR 18).- L’
ELEMENT DE DONNEEdéfinit son étiquette d’affichage (“Numéro de matériel”).
Le
CHAMPest la colonne physique dans la base de données.
L’ELEMENT DE DONNEEest la description fonctionnelle duCHAMP.
LeDOMAINEdéfinit la nature technique de la valeur autorisée.
Un même
DOMAINEpeut être partagé entre plusieursCHAMPS(ex : ID client, ID fournisseur),
mais chaqueCHAMPa sa propre signification via sonELEMENT DE DONNEE.
Champs dans SE11 (structures) #
Dans la transaction SE11, lorsqu’on ouvre une structure, chaque ligne du tableau de définition correspond à un
CHAMP.On y retrouve les colonnes
- Nom du
CHAMPELEMENT DE DONNEEassocié- Description du
CHAMPDOMAINEsous-jacent
Une structure est comme un formulaire papier chaque case à remplir (
CHAMP) possède des règles précises (DOMAINE) et un libellé clair (ELEMENT DE DONNEE).
Les structures permettent de définir des ensembles de
CHAMPSutilisés dans plusieurs tables ou programmes.
Ainsi, si un même groupe deCHAMPSdoit être réutilisé ailleurs, on peut référencer la structure au lieu de tout redéfinir.
- Pour visualiser les détails d’un
CHAMPdans SE11, double-cliquez sur le nom de l’ELEMENT DE DONNEE.- Pour connaître son type exact, double-cliquez sur le
DOMAINEassocié.
Champs dans SE16N (tables de données) #
Dans SE16N, chaque
CHAMPcorrespond à une colonne de la table.
Vous pouvez visualiser, filtrer ou saisir des valeurs dans cesCHAMPSpour interroger ou mettre à jour les données.
Chaque colonne dans SE16N est comparable à une colonne Excel.
Vous pouvez y trier, filtrer ou saisir des valeurs, mais la forme des données (longueur, type, unité) reste contrôlée par leDOMAINEet l’ELEMENT DE DONNEE.
- Les modifications dans SE16N affectent les données réelles de la base SAP.
- Il faut éviter d’éditer directement dans SE16N sans autorisation, car une mauvaise valeur peut provoquer des incohérences.
SE16N est un outil d’analyse de données, pas un outil de conception.
LesCHAMPSy apparaissent avec leurs libellés issus des éléments de données, ce qui rend la lecture plus intuitive.
Lien entre champ, élément de données et domaine #
| Niveau | Rôle | Exemple |
|---|---|---|
DOMAINE |
Définit le type technique (CHAR, NUMC, etc.) | CHAR(10) |
ELEMENT DE DONNEE |
Définit la signification fonctionnelle du CHAMP |
“Identifiant client” |
CHAMP |
Colonne concrète dans une table SAP | KUNNR dans KNA1 |
Ce lien hiérarchique assure la cohérence et la réutilisation des définitions.
Ainsi, si unDOMAINEchange (par exemple la longueur d’un identifiant),
tous lesCHAMPSutilisant ceDOMAINEbénéficieront de la même mise à jour technique.
Utilisation conseillée #
Utilisation conseillée
- Nommer les
CHAMPSavec des préfixes explicites (ex :ZCLIENT_ID,ZCITY_NAME)- Réutiliser les éléments de données existants pour garder la cohérence du dictionnaire
- Ne jamais créer un
CHAMPsansDOMAINEniELEMENT DE DONNEE(évite les incohérences)- Documenter systématiquement chaque
CHAMPdans SE11 (onglet “Documentation”)
En cas de doute sur la signification d’un
CHAMP, consultez
- SE11 → double-cliquez sur l’
ELEMENT DE DONNEE- Cas d’emploi (
Ctrl+Shift+F3) pour savoir où il est utilisé dans le système
Résumé #
- Chaque
CHAMP= 1 colonne physique dans une table ou structure- Chaque
CHAMPest défini par unELEMENT DE DONNEE- Chaque
ELEMENT DE DONNEEs’appuie sur unDOMAINE- Dans SE11, les
CHAMPSsont visibles dans les structures- Dans SE16N, ils apparaissent comme colonnes manipulables
Cette hiérarchie (
CHAMP→ELEMENT DE DONNEE→DOMAINE) est fondamentale pour comprendre la logique du Data Dictionary SAP.
Elle assure que toutes les données du système parlent le même langage, aussi bien pour les développeurs que pour les utilisateurs métier.
Structures de table #
Objectifs #
- Comprendre ce qu’est une structure de table dans SAP
- Différencier une structure d’une table
- Savoir créer une structure et y ajouter des champs
- Maîtriser les notions d’INCLUDE et APPEND
Définition #
Une structure de table est un ensemble de champs définis à partir d’éléments de données, sans stockage physique dans la base.
Elle sert à organiser, transmettre et manipuler des informations, comme un modèle ou un patron pour créer des tables ou travailler sur des données temporaires.
Imaginez une maquette ou un squelette : vous voyez la forme et les composants (champs), mais il n’y a pas encore de données réelles.
La structure sert de modèle pour construire des tables ou manipuler des informations temporairement.
- Une structure de table ne stocke pas de données, elle définit uniquement la forme et le type des champs.
- Chaque champ d’une structure est lié à un élément de données, lui-même lié à un domaine.
- Les structures sont souvent utilisées pour - Passer des paramètres à des programmes ou fonctions
- Construire des tables temporaires
- Définir des modèles pour créer des tables standard ou transparentes
La structure est une définition technique, comme un plan de formulaire ou un modèle de tableau.
On sait quelles colonnes il y aura et quel type de données elles contiendront, même si aucune donnée n’existe encore.
Include & Append #
Include #
Copier un bloc Lego déjà assemblé dans une nouvelle construction. Si le bloc Lego change, toutes les constructions qui l’utilisent sont mises à jour automatiquement.
- Intègre tous les champs d’une structure existante dans une autre structure ou table.
- Si la structure source change, les modifications se répercutent automatiquement dans toutes les structures ou tables qui l’incluent.
- Les champs issus d’un include apparaissent en bleu dans SE11, signifiant qu’ils ne sont pas natifs de la table principale.
Pour réutiliser des ensembles de champs standard, éviter de les recréer manuellement.
Append #
Ajouter une extension à une maison : la maison originale reste intacte, mais vous pouvez ajouter une pièce pour vos besoins spécifiques.
- Ajoute des champs supplémentaires à une table ou structure sans modifier l’original.
- Utile pour les tables standard SAP où la modification directe est interdite.
- Les champs append sont spécifiques à votre développement.
Les champs append ne doivent pas créer de conflits avec les champs existants. Toujours vérifier la cohérence avec la table originale.
Création d’une structure de table (SE11) #
- Transaction SE11
Cocherl’optionType de données
Nommerl’élément (exempleZST_CONSULTANT)
Créerou [ F5 ]
SélectionnerStructure
Entrerunedescription(obligatoire) (exempleStructure de Table ZT_CONSULTANT).
Insérerles signes suivantes
| COMPOSANTE | CATEGORIE TYPE | TYPE COMPOSANTE |
|---|---|---|
| CONSULTANT_ID | TYPES | ZCONSULTANT_ID |
| VILLE | TYPES | CITY |
| PAYS | TYPES | LAND_X |
Sauvegarder
Contrôler
Activer
Créer une structure revient à préparer une fiche Excel avec les colonnes définies, prête à recevoir des données. Vous définissez la forme des informations avant de remplir les cases.
- Vérifiez toujours que les éléments de données associés existent et sont corrects.
- Les noms de champs doivent suivre la nomenclature Z/AELION pour éviter les collisions avec SAP standard.
Une structure ne contient pas de données. Pour stocker des données, il faudra utiliser une table basée sur cette structure ou une table interne dans un programme.
Bonnes pratiques #
| Bonnes pratiques | Explication |
|---|---|
| Toujours contrôler et activer | Vérifie que la structure est valide et utilisable |
| Utiliser INCLUDE pour réutiliser | Évite de recréer des champs déjà existants |
| Utiliser APPEND pour personnaliser | Ajoute des champs spécifiques sans toucher au standard |
| Documenter la structure | Facilite la maintenance et la compréhension pour d’autres devs |
Utilisation conseillée
- Réutilisez INCLUDE pour harmoniser les champs communs dans plusieurs tables/structures
- Utilisez APPEND uniquement pour vos développements spécifiques ou extensions
Résumé #
- Une structure de table est un modèle de champs sans stockage physique
- Include : reprend les champs d’une structure existante
- Append : ajoute des champs spécifiques sans toucher à l’original
- Les structures servent à organiser les données et faciliter leur passage entre programmes
La structure est comme une maquette ou un gabarit.
Vous savez quelles colonnes existent et comment elles sont définies, mais les données elles-mêmes ne sont pas encore présentes.
Tables #
Objectifs #
- Comprendre ce qu’est une table dans SAP
- Différencier une table transparente, table pool et table cluster
- Savoir créer une table et y ajouter des champs
- Maîtriser les notions de clé primaire, index et plage de valeurs
- Comprendre INCLUDE et APPEND
- Créer une table avec INCLUDE ou APPEND
Définition #
Imaginez une fiche Excel complète : chaque colonne est un champ, chaque ligne est un enregistrement. Contrairement à une structure, les données sont réellement stockées dans la base.
Une table est un objet de stockage physique dans SAP, composée de champs (ou colonnes) définis par des éléments de données.
Elle permet de stocker, organiser et gérer les données de manière structurée.
Types de tables #
| Type de table | Description |
|---|---|
| Transparente | Correspond à une table réelle dans la base, une seule ligne = un enregistrement |
| Table pool | Regroupe plusieurs petites tables transparentes dans une table physique unique |
| Table cluster | Regroupe des tables liées dans une table physique pour optimiser le stockage |
- Table transparente : une fiche individuelle pour chaque enregistrement.
- Table pool : plusieurs mini-fiches stockées dans un classeur unique.
- Table cluster : plusieurs fiches liées combinées dans une enveloppe.
Clés primaires #
Les clés primaires, souvent abrégées en “PK” pour “Primary Key” en anglais, sont un concept fondamental en gestion de base de données. Une clé primaire est un ou plusieurs fields dans une table de base de données qui identifient de manière unique chaque enregistrement dans cette table. Voici quelques points importants à retenir sur les clés primaires :
-
Unicité des enregistrements: Laclé primairegarantit que chaque enregistrement dans latable de base de donnéesest unique. Cela signifie qu’aucun deux enregistrements ne peut avoir la même valeur declé primaire. -
Contrainte d'intégrité: Lesclés primairessont souvent définies comme unecontrainte d'intégritédans labase de données, ce qui signifie que le système de gestion debase de données(SGBD) garantit que laclé primaireest respectée à tout moment. Ainsi, les tentatives d’insertion ou de mise à jour d’enregistrements qui violeraient cettecontraintesont automatiquement rejetées. -
Indexation automatique: Lesclés primairessont souvent indexées automatiquement par leSGBDpour améliorer les performances des opérations de recherche et dejointuresur la table. Cela permet d’accélérer l’accès aux données lors de l’exécution de requêtes. -
Définition lors de la conception de la base de données: Lesclés primairessont définies lors de la conception initiale de labase de données. Les concepteurs debases de donnéeschoisissent les fields qui doivent former laclé primaireen fonction des exigences spécifiques de l’application et des relations entre les données. -
Types de clés primaires: Uneclé primairepeut être composée d’un seul fields (clé primaire simple) ou de plusieurs fields combinés (clé primaire composite). Dans le cas d’uneclé primaire composite, l’ensemble des valeurs de tous les fields formant la clé doit être unique.
Création d’une table #
Créer une table revient à préparer un classeur Excel avec colonnes et lignes, où chaque cellule est prête à recevoir des données.
- Transaction SE11
Sélectionnerl’optionTable base données
Entrerle nom de la table (exemple ZDRIVER_CAR_FGI).
Créerou [ F5 ]
Entrerunedescription(obligatoire) (exempleTable des Consultants SAP).
- Onglet
Livraison et gestion:Class de livraison:classe A
Gestion Dara Browser/vue table:Affichage/gestion autorisés
Onglet Zones
Renseignerles champs avec leurs ZONES, KEYS et ELEMENT DE DONNEES
L’élément de donnée cropé est le suivant : VLC_YEAR_OF_CONSTRUCTION
Clé externe
répéter les mêmes étapes pour le champ COUNTRY.
Aucune information à renseigner dans l’onglet Zones devises/quantités étant donné qu’il n’y a aucune unité de mesure nécessaire.
SauvegarderetActiver
Catégorie d'extension
> La catégorie d’extension n’est pas obligatoire mais recommandée car elle définit le type de champs qui composeront la table (extension de la table doit être compris par ajout de champs dans la table directement ou grâce à un append dans le cas de tables standards).
Pour information
Extensible sans restriction : pas de règle pour l’extension de la table ou de la structure.
Extensible et alphanumérique ou numérique : tous les champs devront être soit alphanumériques, soit numériques. La différence avec Extensible sans restriction est qu’il ne sera pas possible d’ajouter des champs de type date ou heure (par exemple) dans un append ou un include.
Extensible et alphanumérique : la table ou la structure ne sera composée que de champs alphanumériques et une erreur sera retournée si un champ est défini comme numérique (il sera alors possible de modifier le type d’extension).
Non extensible : il sera possible d’ajouter un champ directement à la table ou la structure initiale, mais impossible via un append. Ainsi, comme l’append est l’unique moyen d’ajouter un champ à une table standard, il n’y aura aucune possibilité pour accomplir cette tâche.
Non classifié (par défaut), aucune extension n’a été définie pour la table ou la structure.
Dans le cas de notre table, il n’y aura pas besoin de restriction, l’option Extensible sans restriction sera donc choisie.
-
Onglet
Aide/contrôle de saisieIci, il n’y a rien à ajouter car nous n’avons pas de quantité et donc pas d’unité de mesure. Lorsque vous aurez à crééer une table avec un champ ayant une quantité telle qu’un nombre de pièce, une taille, le montant d’une devise, … il faudra (juste en dessous de la ligne en question) ajouter une ligne avec le champ correspondant à son unité de mesure. Par exemple :
- Quantité de pièce : 13
- Type de pièce : palette
ou encore
- Montant : 12807
- Devise : Euros
En général, ces informations vous seront transmises dans la spécification fonctionnelle.
-
Sauvegarderpuis cliquer surOptions techniques
-
Onglet
Propriétés générales, renseigner les éléments suivant comme suit :
Type de données: APPL0Catég. taille: 0
-
Sauvegarderpuis [ Flèche verte ] pour revenir à l’écran précédent. -
Activer
Bonnes pratiques #
| Bonnes pratiques | Explication |
|---|---|
| Toujours définir la clé primaire | Garantit l’unicité des enregistrements |
| Utiliser les domaines et éléments de données existants | Assure la cohérence et facilite la maintenance |
| Ajouter des index pour les recherches fréquentes | Optimise la performance des requêtes |
| Documenter les tables | Facilite la compréhension et la maintenance |
- Définir toujours la clé primaire avant de remplir la table
- Réutiliser les éléments de données et domaines pour assurer l’homogénéité
Include et append #
Include #
- Permet de réutiliser des champs existants d’une structure ou d’une table dans une nouvelle table ou structure
- Évite de recréer les mêmes champs à plusieurs endroits
- Les champs apparaissent en bleu dans SE11
- Toute modification de la structure incluse se répercute automatiquement
Copier un patron prêt à l’emploi dans une nouvelle fiche, au lieu de réécrire toutes les colonnes.
- Réutiliser pour harmoniser des champs communs dans plusieurs tables
- Assure la cohérence des données
Append #
- Permet d’ajouter des champs supplémentaires à une table ou structure sans modifier l’original
- Très utile pour adapter une table standard SAP aux besoins spécifiques
- Les champs ajoutés sont propres à votre développement
Ajouter une extension à une fiche standard, sans toucher à la fiche originale.
Ex : ajouter un champ “Numéro d’employé interne” à une table client standard.
Les champs append ne doivent pas entrer en conflit avec les champs existants. Toujours vérifier la cohérence.
Création d’une table avec append ou include #
Création avec include #
- Créer une structure réutilisable (ex :
ZST_ADRESSEavec VILLE, PAYS, CODE_POSTAL) - Ouvrir SE11 pour créer la table
- Dans l’onglet Zones, ajouter un INCLUDE de la structure existante
- Les champs de l’INCLUDE apparaissent automatiquement et peuvent être utilisés comme si vous les aviez créés directement
- Sauvegarder, Contrôler, Activer
Copier un patron prêt à l’emploi dans une nouvelle fiche au lieu de réécrire toutes les colonnes.
Création avec append #
- Ouvrir la table existante (standard ou spécifique) dans SE11
- Cliquer sur Créer Append Structure
- Nommer la structure APPEND (ex :
ZAPPEND_CONSULTANT) - Ajouter les champs supplémentaires dans cette structure
- Associer la structure APPEND à la table via l’onglet Append
- Sauvegarder, Contrôler, Activer
Ajouter une fiche supplémentaire à un classeur existant, sans toucher aux fiches originales.
Resume #
- Une table est un objet de stockage physique dans SAP
- Chaque table est composée de champs définis par des éléments de données
- La clé primaire identifie de manière unique chaque enregistrement
- Les tables peuvent être transparente, pool ou cluster
- INCLUDE = réutilisation de champs existants
- APPEND = ajout de nouveaux champs sans toucher à la table originale
- Créer une table avec INCLUDE ou APPEND permet de gagner du temps, personnaliser les tables SAP et maintenir la cohérence
Vues SAP #
Objectifs #
- Comprendre ce qu’est une
VIEWdans SAP - Différencier les types de
VIEWS: Database View, Projection View, Help View - Savoir créer une
VIEWen utilisant des tables existantes - Maîtriser les notions de jointures et sélections de champs
Définition #
Une
VIEWest une représentation logique de données provenant d’une ou plusieurs tables.
Elle ne stocke pas physiquement les données mais permet d’accéder à une sélection structurée et filtrée.
Imaginez un filtre Excel qui n’affiche que certaines colonnes et lignes d’un classeur. La
VIEWmontre les données filtrées, mais ne les copie pas réellement.
Types de views #
- Database View : une
VIEWpivot qui combine plusieurs tableaux Excel.- Projection View : un tableau résumé ne montrant que certaines colonnes.
- Help View : un menu déroulant intelligent pour choisir une valeur.
Type de VIEW |
Description |
|---|---|
| Database View | Combine des champs de plusieurs tables liées par des clés primaires et étrangères |
| Projection View | Sélection de certains champs d’une seule table, souvent pour des rapports ou modules spécifiques |
| Help View | Spéciale pour les aides à la recherche, affiche une liste filtrée de valeurs pour un champ |
Les
VIEWSn’écrivent pas dans la base, elles ne servent qu’à consulter ou filtrer les données.
Création d’une view #
- Transaction SE11
SélectionnerVue
Renseignerun nom de vue (par exemple ZV_EKKO_EKPO)
Créerou [ F5 ]
SélectionnerVue de BDpour une vue de données présentes dans la Base de données
Renseignerune description (par exemple : Vue pour les tables EKKO et EKPO)
- Onglet
Tables/Conditions de jointure
- Onglet
Zones vue
SauvegarderetActiver
Un message apparaîtra avec l’information suivante :
Le journal rapporte des avertissements concernant les “zones clé” et la dépendance mandant. C’est normal étant donné que la clé unique de la table EKKO (EBELN) se répetera éventuellement autant de fois qu’elle a de poste dans la table EKPO.
- Transaction SE16N
Une Database View
ZV_CONSULTANT_INFOpourrait combiner la tableZT_CONSULTANTavec la tableZT_PROJETSpour afficher le consultant, sa ville et ses projets en une seuleVIEW.
La
VIEWagit comme un résumé logique des tables : on peut interroger, filtrer et afficher les données sans toucher aux tables originales.
Bonnes pratiques #
| Bonnes pratiques | Explications |
|---|---|
| Limiter les champs et tables | Optimise les performances de lecture |
| Toujours définir les jointures | Assure que les relations entre les tables sont correctes |
Nommer les VIEWS clairement |
Facilite la compréhension et l’utilisation dans les programmes |
Utiliser les VIEWS pour l’accès logique |
Évite de manipuler directement les tables physiques |
Pour les rapports et modules SAP, privilégiez toujours les
VIEWSplutôt que les tables pour accéder aux données, afin de préserver l’intégrité et la cohérence.
Ne pas confondre Database View et table physique : une modification des données via la
VIEWimpacte toujours la table source, mais certainesVIEWS(projection/help) peuvent être lecture seule.
Résumé #
- Une
VIEWest une représentation logique des données SAP- Types de
VIEWS: Database, Projection, Help- Permet d’accéder à des données sélectionnées ou combinées sans stockage physique
- Idéal pour rapports, analyses et aides à la recherche
Une
VIEWSAP est comme un filtre ou un tableau de bord Excel : elle montre ce dont vous avez besoin sans toucher aux données originales.
Aide à la recherche (F4 Help) #
Objectifs #
- Comprendre ce qu’est une aide à la recherche dans SAP
- Savoir créer une aide à la recherche pour un champ
- Connaître les différents types de dialogues disponibles
Définition #
Une aide à la recherche permet à l’utilisateur de voir une liste de valeurs possibles directement depuis un champ SAP.
Elle facilite la saisie et réduit les erreurs.
Imaginez un formulaire Excel avec un champ “Ville”. Une liste déroulante apparaît pour proposer toutes les villes possibles. L’aide à la recherche fonctionne de la même manière dans SAP.
Types de dialogues #
| Type de dialogue | Description |
|---|---|
| Affichage de valeurs immédiat | La liste s’affiche directement après l’appel de l’aide |
| Dialogue complexe avec délimitation | Une boîte de dialogue permet de filtrer et choisir les valeurs à afficher |
| Dialogue dépendant du jeu de valeurs | Le système choisit automatiquement selon le nombre de valeurs |
- Affichage immédiat : liste déroulante courte
- Dialogue complexe : filtre avancé
- Dialogue dépendant : le système décide le meilleur affichage selon le nombre de valeurs
Le type de dialogue choisi influence la performance et l’ergonomie de l’aide à la saisie. Pour beaucoup de valeurs, préférez le dialogue complexe.
Création d’une aide à la recherche #
- Transaction SE11
Cocherl’optionAide recherche
Entrerle nomZAR_MARA(“AR” pour Aide à la Recherche).
Sélectionnerl’optionAide recherche élémentaire
Entrerunedescription(obligatoire) (exempleAide MARA).
RenseignerlaMéthode sélectionetTable des textes
-
Description : Aide à la recherche MARA
-
Méthode sélection : MARA
-
Table des textes : MAKT
Sélectionnerl’optionAffichage de valeurs immédiat(Type de dialogue).
Cette aide à la recherche affichera les champs :
MATNR(n° d’article) qui sera à la fois un champ d’importet d’exportMAKTX(désignation de l’article)MTART(type d’article)MATKL(groupe marchandise)
Les paramètres ressembleront à ceci :
| CHAMP | IMP | EXP | PosL | PAR. | Elmt données |
|---|---|---|---|---|---|
MATNR |
X | X | 1 | 1 | MATNR |
MAKTX |
2 | 2 | MAKTX | ||
MTART |
3 | 3 | MTART | ||
MATKL |
4 | 4 | MATKL |
Sauvegarder
Contrôler
Activer
Il est également possible de la tester avec le bouton Tester… de la barre d’outils, via le raccourci-clavier [F8] ou par le menu déroulant.
Tester immédiatement l’aide pour vérifier qu’elle fonctionne correctement et propose les valeurs attendues.
Bonnes pratiques #
| Bonnes pratiques | Explications |
|---|---|
| Tester l’aide après création | Vérifie que les valeurs sont correctes et accessibles |
| Utiliser les champs clés et descriptions | Facilite l’identification des valeurs |
| Choisir le type de dialogue adapté | Évite les listes trop longues ou inutiles |
| Documenter l’aide à la recherche | Permet aux autres utilisateurs de comprendre son usage |
Les aides à la recherche sont particulièrement utiles pour les champs avec des valeurs fixes ou standardisées (ex : matériel, client, code postal).
Si le nombre de valeurs est très important, privilégiez un dialogue complexe ou vue filtrée, sinon l’aide sera lente ou inutilisable.
Résumé #
- Une aide à la recherche permet de proposer des valeurs possibles pour un champ SAP
- Elle peut être élémentaire ou collective et se base sur une table ou une vue
- Trois types de dialogues permettent d’adapter l’affichage selon la quantité de données
- Toujours sauvegarder, contrôler et activer une aide après sa création
L’aide à la recherche est comme un menu déroulant intelligent dans Excel : elle guide l’utilisateur pour éviter les erreurs et accélérer la saisie.