Rajeb Omar
Compte rendu
FORMATION ABAP
Table des matières
Le dictionnaire de données (DATA DICTIONARY) .............................................................4
1. définition : .....................................................................................................................4
[Link] domaine de données: ...............................................................................................4
2.1.définition : ................................................................................................................4
[Link]éation d’un domaine de données .......................................................................4
3.L’élément de données: ..................................................................................................6
3.1.définition: .................................................................................................................6
[Link]éation d’un élément de données ........................................................................6
[Link] table et la structure:..................................................................................................7
4.1.définition : ................................................................................................................7
4.2.Définition d’un champ: ............................................................................................7
[Link]éation d’une table: ...............................................................................................8
I. Introduction à la programmation ABAP.....................................................................10
1.L’environnement de développement: .........................................................................10
1.2.Définitions:.............................................................................................................10
[Link]: .........................................................................................................11
[Link] La programmation ABAP: ..........................................................................................12
[Link] programme exécutable:.......................................................................................12
2.1.1 définition: ............................................................................................................12
[Link]éation du programme exécutable: .................................................................12
[Link] déclarations: ......................................................................................................14
déclarations de variables : .........................................................................................14
déclarations de structures :........................................................................................14
La commande « LIKE » : .............................................................................................15
Définition de l’écran de sélection :.............................................................................15
la commande « SELECT SINGLE » : ..........................................................................16
afficher des champs de table : ...................................................................................17
Ajouter une condition sur la date de l’affichage : .....................................................18
1
Rajeb Omar
Déclaration d’une table avec ‘header line’.................................................................19
Manipulation de Variables ..........................................................................................20
Concaténation de Chaînes ...........................................................................................20
Opérations Numériques ..............................................................................................21
Recherche de Chaînes ..................................................................................................21
Création d’une table contenant des données de différentes tables de base (Inner
Joins) ...........................................................................................................................22
2
Rajeb Omar
3
Rajeb Omar
Le dictionnaire de données (DATA DICTIONARY)
1. définition :
Le DDIC (Data Dictionary) est un répertoire complet décrivant les éléments
nécessaires à la définition d'un contenant, utilisé comme référentiel dans le
Workbench ABAP. La table de base de données est centrale dans le DDIC
transaction: SE11
[Link] domaine de données:
2.1.définition :
Le domaine de données décrit les propriétés techniques d'un champ (format,
longueur, etc.) et spécifie les valeurs autorisées pour les champs qui le référencent,
soit par une liste de constantes soit par une table de valeurs.
[Link]éation d’un domaine de données
1- Pour créer un domaine, exécutez la transaction SE11 et entrez le nom du
domaine dans le paramètre "Domaine".
2- Saisir les données du domaine incluant la désignation, les attributs
de format (type, nombre de positions, décimales), ainsi que les attributs
d'édition (longueur, routine de conversion, etc.).
4
Rajeb Omar
Les routines de conversion :
Une routine de conversion utilise une
implémentation personnalisée pour
remplacer les conversions standard,
gérant le transfert de données entre les
objets de données ABAP et les champs
dynpro.
3- Enregistrer les données concernant le contenu : plage ou intervalle de valeurs,
ainsi que les tables de valeurs associées.
5
Rajeb Omar
3.L’élément de données:
3.1.définition:
Un élément de données détaille le rôle spécifique d'un domaine dans un contexte
donné, portant ainsi la définition fonctionnelle de l'information. Il est associé à un
seul domaine, lequel peut être utilisé par plusieurs éléments de données,
généralement définis sur la base de ce domaine de données.
[Link]éation d’un élément de données
1- Lancez la transaction SE11, entrez le nom de l'élément à créer dans le
paramètre “Type de données” (en cochant la case associée), puis appuyez sur
"Créer" et choisissez "Elément de données" dans le pop-up affiché.
2- Entrer les détails de l'élément incluant une brève description et le choix
entre un type de données lié à un domaine spécifique ou un type générique.
3- Saisir les données additionnelles : Paramètre ID
6
Rajeb Omar
4- Enregistrer les descriptions des zones (courte, moyenne, longue )
[Link] table et la structure:
4.1.définition :
Les structures et les tables du DDIC se construisent de manière similaire par la
définition de champs, mais les tables possèdent des attributs supplémentaires liés
au stockage des données, incluant une clé primaire pour éviter les doublons et la
possibilité de créer des tables mandant-dépendantes ou inter-mandant en incluant
ou non le mandant dans la clé.
4.2.Définition d’un champ:
Chaque champ de table est lié à un élément de données et par extension à un domaine,
partageant ainsi ses caractéristiques et fonctions dans le dictionnaire des données.
7
Rajeb Omar
[Link]éation d’une table:
1- Pour créer une table, ouvrir la transaction SE11, entrer le nom de la table dans
le champ "Table base données", cocher la case associée, puis appuyer sur "Créer".
2- Saisir la classe de livraison et sélectionner le type de gestion autorisé
3- Cliquez sur "Options techniques" et spécifiez le type de données ainsi que
la catégorie de taille.
8
Rajeb Omar
4- Pour composer la structure de la table, saisissez pour chaque champ : le
nom, l'option de clé primaire le cas échéant, l'élément de données de référence, et la
clé externe si nécessaire.
9
Rajeb Omar
I. Introduction à la programmation ABAP
1.L’environnement de développement:
1.2.Définitions:
- ABAP Workbench: ABAP Workbench, un ensemble d'outils intégrés fournis
par SAP, facilite le développement de traitements spécifiques, depuis la
création de nouvelles tables dans la base de données jusqu'à la réalisation de
programmes exécutables. Accessible via le menu SAP, cet ensemble constitue
une plateforme complète pour la création et la gestion d'applications dans
l'environnement SAP.
10
Rajeb Omar
- L'éditeur ABAP: L'éditeur ABAP est l'outil de rédaction de code source dans
SAP, semblable à un traitement de texte, doté de fonctionnalités spécifiques à
l'écriture de code ABAP, telles que la mise en surbrillance des mots clés ABAP,
l'indentation automatique (Pretty printer), l'auto-complétion des commandes
ABAP, et la possibilité d'apposer des points d'arrêt pour le débogage lors de
l'exécution.
[Link]:
- SE11 (Dictionnaire): Il englobe l'ensemble des aspects liés au développement des
éléments du dictionnaire de données, comprenant les types, structures, tables, vues,
aides à la recherche, ainsi que les objets de blocage, entre autres.
- SE38 ( Editeur ABAP):Cet outil principal de développement permet la création ou la
modification de programmes tels que des exécutables, des inclus, des pools de sous-
programmes.
- SE37 (Modules fonction ABAP): La transaction SE37 dans SAP permet de
consulter, tester et analyser les modules de fonction existants, fournissant des détails
sur les paramètres, le code source et les structures de données associées.
- SE80 (Object Navigator): La transaction SE80 dans SAP utilisée pour accéder à
l'éditeur d'objets ABAP, offrant des fonctionnalités de développement et de gestion
d'objets logiciels.
- SE51 (Screen painter): La transaction SE51 est utilisée pour créer et modifier des
écrans de saisie dans SAP
11
Rajeb Omar
[Link] La programmation ABAP:
[Link] programme exécutable:
2.1.1 définition:
- Le programme exécutable: Un programme exécutable, au cœur de notre
apprentissage en programmation ABAP, représente l'entité de développement la
plus répandue. Créé à partir des transactions SE38 ou SE80, il permet l'exécution
de tâches et de logiques spécifiques dans les systèmes SAP.
[Link]éation du programme exécutable:
- Le programme exécutable dans notre cas sera :
12
Rajeb Omar
- Le cartouche d’en-tête du notre programme :
- La commande « REPORT » :
Le code source d'un programme ABAP exécutable commence
obligatoirement par la commande "REPORT", ajoutée
automatiquement lors de sa création, et offre diverses options
pour spécifier les fonctionnalités et les limitations du programme,
telles que la gestion du nombre de lignes et de colonnes par
page pour le reporting traditionnel.
13
Rajeb Omar
[Link] déclarations:
déclarations de variables :
Déclarations des variables
Attribution des valeurs
Affichage des variables
Display output
déclarations de structures :
Déclaration de la structure GS_ADDR de type ADRC
Déclarations de la structure gs_comm
Déclarations d’une variable de type la gs_comm
Affichage des valeurs de la structure gs_comm
14
Rajeb Omar
Display output
La commande « LIKE » :
Display output
Définition de l’écran de sélection :
Déclaration du paramètre p_part
Déclaration du pu_flg comme case à cocher
Déclaration du paramètres comme bouton radio
Déclaration de la plage de sélection s_credat pour le champ crdat de la table but000
15
Rajeb Omar
Display output
la commande « SELECT SINGLE » :
Sélection d'une seule ligne depuis la table T001 où le champ bukrs
correspond à lv_burks et stockage dans ls_t001
Display output
16
Rajeb Omar
afficher des champs de table :
Déclaration d’une table interne pour stocker les data du but000
Vérification du statut de sélection
Parcours des données du tables lt_but000 et extract dataset dans ls_but000 puis les afficher
Display output
17
Rajeb Omar
Ajouter une condition sur la date de l’affichage :
Déclaration d’une structure ls_but000 de type but000
Affichage les partenaires qui sont créés à partir de 08/02/2023
Display output
18
Rajeb Omar
Déclaration d’une table avec ‘header line’
On a définit une structure de données `emul` basée sur la table
`BUT000`, crée une table interne `emultab` pour stocker les dix
premières lignes de `BUT000`, les extrait via une requête SELECT, les
transfère dans `emultab`, puis les affiche en bouclant à travers
chaque ligne et en imprimant les valeurs des champs `partner`,
`client` et `type`.
Faire la correspondance des champs entre les tables.
Display output
19
Rajeb Omar
Manipulation de Variables
Concaténation de Chaînes
20
Rajeb Omar
Opérations Numériques
Recherche de Chaînes
21
Rajeb Omar
Création d’une table contenant des données de différentes tables
de base (Inner Joins)
Déclaration d'un paramètre pour saisir le partenaire à rechercher
Sélection des données des tables but000 et fkkvkp en
fonction du partenaire spécifié
Display output
22