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