
02 Les variables et constantes
ABAP permets de déclarer des constantes, de types de données, des variables.
En revanche, SAP impose que le nom de des constantes et variables ne dépasse pas 8 caractères.
1. les constantes
CONSTANTS ma_const1(10) TYPE C VALUES 'blabla'.
CONSTANTS ma_const2 TYPE p LENGTH 5 DECIMALS 2 VALUE '12665.14'.
2. les types
Les variables en abap se déclarent de la façon suivante.
Data : maVar type C.
Jusqu'il y a peu, la déclaration des variables obligatoire avec abap. Depuis s/4, il est possible de faire des déclarations implicites avec le nom de la variable entre parenthèses.
Read table mytable into data(myvar) index 1.
2.1 les types simples
Nativement, ABAP support les types suivants : Char, Integer, Date, Time ...
| X | Byte |
| C | Char |
| I | Integer |
| F | Float
|
| P | Packed Number
|
| D | Date |
| T | Heure
|
| STRING | Chaine de caractère
|
Il est possible de définir des chaines de charactères
2.2 les structures
il est aussi possible de défini des données structurées.
BEGIN of ws_struc,
champ1(3) type C,
champ2 type i,
END OF ws_struc.
DATA : struc1 type ws_struc.
2.3 les tableaux
Pour déclarer un tableau, rien de plus simple.
il suffit juste d'indiquer son type et le type de table que l'on souhaite
* syntaxe ABAP >> TYPES <internal_tab> TYPE|LIKE <internal_tab_type> OF
<line_type_itab> WITH <key> INITIAL SIZE <size_number>.
type w_field type(10) C.
data : wt_table1 type standard table of w_field.
Il est possible différents type de table : STANDARD, SORTEd (table triée), HASH ...
D'autres options peuvent être utilisées
- "WITH UNIQUE KEY <fieldname>" pour créer une contrainte d'unicité
- "WITH HEADER LINE" pour simplifier la lecture des données.
Il est bien entendu possible de créer une table sur base d'une structure.
BEGIN of ws_struc,
champ1(3) type C,
champ2 type i,
END OF ws_struc.
data : wt_table1 type standard table of ws_struc WITH HEADER LINE.
wt_table1-champ1 = 'ABC'.
wt_table1-champ2 = 2.
append wt_table1.
wt_table1-champ1 = 'DEF'.
wt_table1-champ2 = 1.
append wt_table1.
* afficher le contenu du tableau
LOOP AT wt_table1.
WRITE : / 1 wt_table1-champ1, 20 wt_table1-champ2.
ENDLOOP.
3. les variables
Pour déclarer une variable, utilisez le mot clé "DATA" suivi de ":" , du nom de la variable puis de son type.
DATA : w_myvar(10) TYPE C.
w_myvar = 'Hello'.
WRITE : / w_myvar.
* affichera Hello à l'écran
Pour faciliter la vie des développeurs, SAP mets à disposition un certain nombre de variables système.
ces variables sont accessibles via SY-<nom de la variable>.
Une petite liste non exhaustive des informations auquelles vous pouvez avoir accès.
SY-SYSID | identifiant du sytème
|
| SY-MANDT | mandant |
| SY-HOST | identifiant du serveur |
| SY-LANGU | langue de connexion
|
| SY-UZEIT | heure sytème
|
| SY-DATUM | data système
|
| SY-UNAME | identifiant de l'utilisateur
|
SY-TCODE
| transaction en cours
|
4. les domaines
SAP permet de créer des types de données stockés en base de données.
ils présents de nombreux intérêts
- ils peuvent être simple (ex : nombre entier) ou complexe (structure 30 champs)
- ils sont utilisables par l'ensemble des programmes et objets de la base de données (ex champ de table)
- ils permettent de gérer des traductions
- ils permettent de retrouver l'ensemble des programmes utilisant ce domaine
Les domaines sont crées et gérés via la transaction SE11.
mots clés :

article écrit et publié par
fantosap ! le 20.09.2022