Existe-t-il un autre moyen de concaténer dans ABAP au lieu d'utiliser le mot clé CONCATENATE
?
Un exemple utilisant CONCATENATE
:
DATA:
foo TYPE string,
bar TYPE string,
foobar TYPE string.
foo = 'foo'.
bar = 'bar'.
CONCATENATE foo 'and' bar INTO foobar SEPARATED BY space.
Vous pouvez (à partir de ABAP 7.02 je suppose) utiliser '&&' pour concaténer deux chaînes.
Data:
foo TYPE string,
bar TYPE string,
foobar TYPE string.
foo = 'foo'.
bar = 'bar'.
foobar = foo && bar.
Cela fonctionne aussi avec les littéraux.
foobar = 'foo' && 'bar'.
Pour préserver les espaces:
foobar = foo && ` and ` && bar
Oui, vous pouvez utiliser String Expressions , introduites dans ABAP 7.02 .
Un exemple suivant:
DATA:
foo TYPE string,
bar TYPE string,
foobar TYPE string.
foo = 'foo'.
bar = 'bar'.
foobar = |{ foo } and { bar }|.
Outre les expressions de chaîne mentionnées par Eduardo Copat, il est parfois judicieux d'utiliser l'instruction MESSAGE ... INTO ...
, en particulier si le texte est censé être traduit. Dans certaines traductions, les positions des variables les unes par rapport aux autres doivent être permutées et il est généralement beaucoup plus facile de traduire le texte You cannont combine &1 with &2.
que les parties séparées You cannot combine
et with
.
Vous pouvez utiliser && ou | {} {} | notations.
Vous n'avez pas besoin de taper et entre les objets, si vous donnez de l'espace, cela le prendra comme espace ou autre.
"no space:
foobar = |{ foo }{ bar }|.
"1 space:
foobar = |{ foo } { bar }|.
etc.