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 ...


type
signification
XByte
CChar
IInteger
FFloat
PPacked Number
DDate
THeure
STRINGChaine 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.

variableval
SY-SYSID
identifiant du sytème
SY-MANDTmandant
SY-HOSTidentifiant du serveur
SY-LANGUlangue de connexion
SY-UZEITheure sytème
SY-DATUMdata système
SY-UNAMEidentifiant 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
©2022 - BeSAP.com - Tous droits réservés - Réalisation fantosap ! - Plan du site