"
Apoiado por

Concatenemos

Temos duas variáveis:


DATA palavra1 TYPE string.
DATA palavra2 TYPE string.
DATA: frase TYPE string.

palavra1 = ‘isto’.
palavra2 = ‘aquilo’.

E queremos concatená-las metendo entre elas a palavra ‘mais’ e, claro, separando-as por espaços.

Forma 1 (a clássica):


CONCATENATE palavra1 ‘mais’ palavra2 INTO frase SEPARATED BY space.

Forma 2, que não retém os espaços:


frase = palavra1 && ‘ ‘ && mais && ‘ ‘ && palavra2.

Forma 3, rebuscada mas retendo os espaços:


frase = palavra1 && ‘ALT+255‘ && ‘mais' && ‘ALT+255‘ && palavra2.

(em que ALT+255 é mesmo carregar no ALT e depois escrever 255)
(em rigor não fica lá um espaço, mas o aspecto é o mesmo)

Forma 4, que é o último grito nesta modalidade:


frase = | { palavra1 } mais { palavra2 } |.

Aliás, este último até dá para invocar métodos pelo meio, tipo:


frase = | { o_livro->get_palavra( 1 ) } mais { o_livro->get_palavra( 2 ) } |.

Obrigado Ricardo Monteiro pelo truque do ALT+255 e Sérgio Fraga por nos mostrares o futuro.
Obrigado halfrain pela foto.

O Abapinho saúda-vos.

5 comentários a “Concatenemos”

  1. Tommas Diz:

    Hi,
    phrase = word1 && ‘ ‘ && word2.
    phrase = word1 && ` ` && word2. “this will keep space

    For more info:
    http://help.sap.com/abapdocu_731/en/abenstring_templates.htm

  2. Tommas Diz:

    Single quotation mark should be different, but they are “parsed”/changed to other in this web. Check example in link (different kinds of quotation marks).

  3. Tommas Diz:

    One more comment :D

    Here I found direct help page about what I wanted to say:
    http://help.sap.com/abapdocu_731/en/abenliteral.htm

    The thing is, that “Text string literals”(check link) keeps space. So by using them, modified example “Form 2” would work.

  4. Nuno Godinho Diz:

    Hi Thommas, indeed you’re right. I’ll soon update the article to reflect your findings.

  5. Nuno Godinho Diz:

    Thank you very much!

Deixe um comentário


Acerca do Abapinho
O Abapinho é suportado pelo WordPress
Artigos (RSS) e Comentários (RSS).