SAP ABAP - Chaînes

Strings, qui sont largement utilisées dans la programmation ABAP, sont une séquence de caractères.

Nous utilisons des variables de type C pour contenir des caractères alphanumériques, avec un minimum de 1 caractère et un maximum de 65 535 caractères. Par défaut, ceux-ci sont alignés à gauche.

Création de chaînes

La déclaration et l'initialisation suivantes créent une chaîne composée du mot «Hello». La taille de la chaîne correspond exactement au nombre de caractères du mot «Bonjour».

Data my_Char(5) VALUE 'Hello'.

Le programme suivant est un exemple de création de chaînes.

REPORT YT_SEP_15. 
DATA my_Char(5) VALUE 'Hello'. 
Write my_Char.

Le code ci-dessus produit la sortie suivante -

Hello

Longueur de chaine

Afin de trouver la longueur des chaînes de caractères, nous pouvons utiliser STRLEN statement. La fonction STRLEN () renvoie le nombre de caractères contenus dans la chaîne.

Exemple

REPORT YT_SEP_15. 
DATA: title_1(10) VALUE 'Tutorials',
      length_1 TYPE I. 
	
length_1 = STRLEN( title_1 ). 
Write: / 'The Length of the Title is:', length_1.

Le code ci-dessus produit la sortie suivante -

The Length of the Title is: 9

ABAP prend en charge un large éventail d'instructions qui manipulent des chaînes.

S.No. Déclaration et objectif
1

CONCATENATE

Deux chaînes sont jointes pour former une troisième chaîne.

2

CONDENSE

Cette instruction supprime les caractères d'espacement.

3

STRLEN

Utilisé pour trouver la longueur d'un champ.

4

REPLACE

Utilisé pour faire des remplacements de caractères.

5

SEARCH

Pour exécuter des recherches dans des chaînes de caractères.

6

SHIFT

Utilisé pour déplacer le contenu d'une chaîne vers la gauche ou la droite.

sept

SPLIT

Utilisé pour diviser le contenu d'un champ en deux champs ou plus.

L'exemple suivant utilise certaines des instructions mentionnées ci-dessus -

Exemple

REPORT YT_SEP_15. 
DATA: title_1(10) VALUE 'Tutorials', 
      title_2(10) VALUE 'Point',
      spaced_title(30) VALUE 'Tutorials  Point  Limited',
      sep,
      dest1(30),
      dest2(30).
	
CONCATENATE title_1 title_2 INTO dest1. 
Write: / 'Concatenation:', dest1. 

CONCATENATE title_1 title_2 INTO dest2 SEPARATED BY sep. 
Write: / 'Concatenation with Space:', dest2. 

CONDENSE spaced_title.
Write: / 'Condense with Gaps:', spaced_title. 

CONDENSE spaced_title NO-GAPS. 
Write: / 'Condense with No Gaps:', spaced_title.

Le code ci-dessus produit la sortie suivante -

Concatenation: TutorialsPoint 
Concatenation with Space: Tutorials Point 
Condense with Gaps: Tutorials Point Limited 
Condense with No Gaps: TutorialsPointLimited

Note -

  • En cas de concaténation, le «sep» insère un espace entre les champs.

  • L'instruction CONDENSE supprime les espaces vides entre les champs, mais ne laisse qu'un espace pour 1 caractère.

  • «NO-GAPS» est un ajout facultatif à l'instruction CONDENSE qui supprime tous les espaces.