Recherche…


Littéraux

ABAP propose trois opérateurs différents pour déclarer des variables de type chaîne ou char

Des symboles Type interne Longueur prénom
'...' C 1-255 Chars littéraux de champ de texte
`...` C chaîne 0-255 caractères littéraux de chaîne de texte
| ... | C chaîne 0-255 caractères littéraux de modèle

Notez que l'intervalle de longueur ne s'applique qu'aux valeurs codées en dur. Les CString CString en interne ont une longueur arbitraire alors que les variables de type C ont toujours une longueur fixe.

Modèles de chaîne

Les modèles de chaîne sont un moyen pratique de mélanger des chaînes littérales avec des valeurs provenant de variables:

WRITE |Hello, { lv_name }, nice to meet you!|.

Il peut aussi formater des choses comme des dates. Pour utiliser le format de date de l'utilisateur connecté:

WRITE |The order was completed on { lv_date DATE = USER } and can not be changed|.

Les appels et expressions de méthodes fonctionnelles sont pris en charge:

WRITE |Your token is { to_upper( lv_token ) }|.
WRITE |Version is: { cond #( when lv_date < sy-datum then 'out of date' else 'up to date' ) }|.

Attention! L'implémentation directe de résultats temporaires (comme les appels de méthode) à l'intérieur des modèles de chaîne peut entraîner des problèmes de performances massifs (pour en savoir plus, cliquez ici ). Bien que l’utilisation à l’intérieur d’instructions rarement exécutées soit acceptable, votre programme ralentit rapidement dans les boucles.

Chaînes concaténantes

Les variables de type chaîne et caractère peuvent être concaténées à l'aide de la commande ABAP CONCATENATE . Une variable supplémentaire pour stocker les résultats est requise.

Exemple:

CONCATENATE var1 var2 var3 INTO result.
"result now contains the values of var1, var2 & var3 stringed together without spaces

Sténographie

Les nouvelles versions d'ABAP offrent une très courte variante de concaténation à l'aide de && (opérateur de chaînage).

DATA(lw_result) = `Sum: ` && lw_sum.

Attention! Il est intéressant de noter que l'utilisation de résultats temporaires en combinaison avec l'opérateur de chaînage à l'intérieur des boucles peut entraîner des problèmes de performances considérables dus à l'augmentation des instructions de copie (pour en savoir plus, cliquez ici ).



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow