SAP ABAP - Types de données

Lors de la programmation en ABAP, nous devons utiliser diverses variables pour stocker diverses informations. Les variables ne sont rien d'autre que des emplacements de mémoire réservés pour stocker des valeurs. Cela signifie que lorsque vous créez une variable, vous réservez de l'espace en mémoire. Vous pouvez souhaiter stocker des informations de différents types de données comme des caractères, des nombres entiers, des virgules flottantes, etc. En fonction du type de données d'une variable, le système d'exploitation alloue de la mémoire et décide de ce qui peut être stocké dans la mémoire réservée.

Types de données élémentaires

ABAP offre au programmeur un riche assortiment de types de données de longueur fixe et variable. Le tableau suivant répertorie les types de données élémentaires ABAP -

Type Mot-clé
Champ d'octet X
Champ de texte C
Entier je
Point flottant F
Numéro emballé P
Chaîne de texte CHAÎNE

Certains champs et numéros peuvent être modifiés en utilisant un ou plusieurs noms comme suit -

  • byte
  • numeric
  • character-like

Le tableau suivant montre le type de données, la quantité de mémoire nécessaire pour stocker la valeur en mémoire et la valeur minimale et maximale pouvant être stockée dans ce type de variables.

Type Longueur typique Gamme typique
X 1 octet Toutes les valeurs d'octet (00 à FF)
C 1 caractère 1 à 65535
N (texte numérique déposé) 1 caractère 1 à 65535
D (date semblable à un caractère) 8 caractères 8 caractères
T (temps semblable à un caractère) 6 caractères 6 caractères
je 4 octets -2147483648 à 2147483647
F 8 octets 2.2250738585072014E-308 à 1.7976931348623157E + 308 positif ou négatif
P 8 octets [-10 ^ (2len -1) +1] à [+ 10 ^ (2len -1) 1] (où len = longueur fixe)
CHAÎNE Variable Tous les caractères alphanumériques
XSTRING (chaîne d'octets) Variable Toutes les valeurs d'octet (00 à FF)

Exemple

REPORT YR_SEP_12. 
DATA text_line TYPE C LENGTH 40. 
text_line = 'A Chapter on Data Types'. 
Write text_line. 

DATA text_string TYPE STRING. 
text_string = 'A Program in ABAP'. 
Write / text_string. 

DATA d_date TYPE D. 
d_date = SY-DATUM. 
Write / d_date.

Dans cet exemple, nous avons une chaîne de caractères de type C avec une longueur prédéfinie de 40. STRING est un type de données qui peut être utilisé pour toute chaîne de caractères de longueur variable (chaînes de texte). Les objets de données de type STRING doivent généralement être utilisés pour le contenu de type caractère où la longueur fixe n'est pas importante.

Le code ci-dessus produit la sortie suivante -

A Chapter on Data Types 
A Program in ABAP 
12092015

Le type DATE est utilisé pour le stockage des informations de date et peut stocker huit chiffres comme indiqué ci-dessus.

Types complexes et de référence

Les types complexes sont classés en Structure types et Table types. Dans les types de structure, les types élémentaires et les structures (c'est-à-dire la structure intégrée dans une structure) sont regroupés. Vous ne pouvez envisager que le regroupement des types élémentaires. Mais vous devez être conscient de la disponibilité de l'imbrication des structures.

Lorsque les types élémentaires sont regroupés, la donnée élémentaire est accessible en tant que donnée élémentaire groupée ou les éléments de données individuels de type élémentaire (champs de structure) sont accessibles. Les types de table sont mieux connus sous le nom de tableaux dans d'autres langages de programmation.Arrayspeuvent être des tableaux simples ou structurés. Dans ABAP, les tableaux sont appelés tables internes et peuvent être déclarés et exploités de nombreuses manières par rapport à d'autres langages de programmation. Le tableau suivant montre les paramètres selon lesquels les tableaux internes sont caractérisés.

S.No. Paramètre et description
1

Line or row type

La ligne d'un tableau interne peut être de type élémentaire, complexe ou de référence.

2

Key

Spécifie un champ ou un groupe de champs comme clé d'une table interne qui identifie les lignes de la table. Une clé contient les champs de types élémentaires.

3

Access method

Décrit comment les programmes ABAP accèdent aux entrées de table individuelles.

Les types de référence sont utilisés pour faire référence à des instances de classes, d'interfaces et d'éléments de données d'exécution. Les services de type d'exécution ABAP OOP (RTTS) permettent la déclaration des éléments de données au moment de l'exécution.