SAP ABAP - Constantes et littéraux

Les littéraux sont des objets de données sans nom que vous créez dans le code source d'un programme. Ils sont pleinement définis par leur valeur. Vous ne pouvez pas modifier la valeur d'un littéral. Les constantes sont des objets de données nommés créés de manière statique à l'aide d'instructions déclaratives. Une constante est déclarée en lui affectant une valeur qui est stockée dans la zone mémoire du programme. La valeur affectée à une constante ne peut pas être modifiée pendant l'exécution du programme. Ces valeurs fixes peuvent également être considérées comme des littéraux. Il existe deux types de littéraux: numérique et caractère.

Littéraux numériques

Les littéraux numériques sont des séquences de chiffres qui peuvent avoir un signe préfixé. Dans les littéraux numériques, il n'y a pas de séparateurs décimaux ni de notation avec mantisse et exposant.

Voici quelques exemples de littéraux numériques -

183. 
-97. 
+326.

Littéraux de caractères

Les littéraux de caractères sont des séquences de caractères alphanumériques dans le code source d'un programme ABAP entre guillemets simples. Les littéraux de caractères entre guillemets ont le type ABAP prédéfini C et sont décrits comme des littéraux de champ de texte. Les littéraux entre «guillemets» ont le type ABAP STRING et sont décrits comme des chaînes littérales. La longueur du champ est définie par le nombre de caractères.

Note - Dans les littéraux de champ de texte, les espaces de fin sont ignorés, mais dans les littéraux de chaîne, ils sont pris en compte.

Voici quelques exemples de littéraux de caractères.

Littéraux de champ de texte

REPORT YR_SEP_12. 
Write 'Tutorials Point'. 
Write / 'ABAP Tutorial'.

Littéraux de champ de chaîne

REPORT YR_SEP_12. 
Write `Tutorials Point `. 
Write / `ABAP Tutorial `.

La sortie est la même dans les deux cas ci-dessus -

Tutorials Point  
ABAP Tutorial

Note- Lorsque nous essayons de changer la valeur de la constante, une erreur de syntaxe ou d'exécution peut se produire. Les constantes que vous déclarez dans la partie déclaration d'une classe ou d'une interface appartiennent aux attributs statiques de cette classe ou interface.

Déclaration CONSTANTS

Nous pouvons déclarer les objets de données nommés à l'aide de l'instruction CONSTANTS.

Voici la syntaxe -

CONSTANTS <f> TYPE <type> VALUE <val>.

L'instruction CONSTANTS est similaire à l'instruction DATA.

<f> spécifie un nom pour la constante. TYPE <type> représente une constante nommée <f>, qui hérite des mêmes attributs techniques que le type de données existant <type>. VALUE <val> affecte une valeur initiale au nom de constante déclaré <f>.

Note- Nous devrions utiliser la clause VALUE dans l'instruction CONSTANTS. La clause 'VALUE' permet d'affecter une valeur initiale à la constante lors de sa déclaration.

Nous avons 3 types de constantes telles que les constantes élémentaires, complexes et de référence. L'instruction suivante montre comment définir des constantes à l'aide de l'instruction CONSTANTS -

REPORT YR_SEP_12. 
CONSTANTS PQR TYPE P DECIMALS 4 VALUE '1.2356'. 
Write: / 'The value of PQR is:', PQR.

La sortie est -

The value of PQR is: 1.2356

Ici, il fait référence au type de données élémentaire et est connu sous le nom de constante élémentaire.

Voici un exemple de constantes complexes -

BEGIN OF EMPLOYEE,  
Name(25) TYPE C VALUE 'Management Team',  
Organization(40) TYPE C VALUE 'Tutorials Point Ltd',  
Place(10) TYPE C VALUE 'India',  
END OF EMPLOYEE.

Dans l'extrait de code ci-dessus, EMPLOYEE est une constante complexe composée des champs Nom, Organisation et Lieu.

L'instruction suivante déclare une référence constante -

CONSTANTS null_pointer TYPE REF TO object VALUE IS INITIAL.

Nous pouvons utiliser la référence constante dans les comparaisons ou nous pouvons la transmettre aux procédures.