2013-09-17 1 views
9

Есть ли другой способ объединиться в ABAP вместо использования CONCATENATE keyword?Есть ли другой способ конкатенации вместо использования ключевого слова CONCATENATE?

Пример использования CONCATENATE:

DATA: 
    foo TYPE string, 
    bar TYPE string, 
    foobar TYPE string. 

    foo = 'foo'. 
    bar = 'bar'. 

    CONCATENATE foo 'and' bar INTO foobar SEPARATED BY space. 

ответ

19

Вы можете (начиная с ABAP 7.02, я полагаю) использовать '& &', чтобы объединить две строки.

Data: 
foo TYPE string, 
bar TYPE string, 
foobar TYPE string. 

foo = 'foo'. 
bar = 'bar'. 

foobar = foo && bar. 

Это также работает с литералами.

foobar = 'foo' && 'bar'. 

Для сохраняющих пространств:

foobar = foo && ` and ` && bar 
+0

Это работает слишком большое! Но вы не можете объединиться с пробелами с этим оператором, попробуйте это: 'foobar = foo && 'и' && bar'. –

+3

Попробуйте использовать foobar = foo && 'и' && bar. С инвертированным апострофом (Не знаю названия этого символа. –

+0

@nmiranda, по-видимому, это называется обратным цитатой или серьезной цитатой (среди прочего, см. Здесь http://www.computerhope.com/jargon/b/backquot .htm, и он используется для указания строковых литералов. Вещь со строками состоит в том, что пробелы в конце не игнорируются, поскольку они связаны с конкатенацией символов (или символьных литералов - с одинарными кавычками) –

10

Да, вы можете использовать String Expressions, которые были введены в ABAP 7.02.

Пример следующее:

DATA: 
    foo TYPE string, 
    bar TYPE string, 
    foobar TYPE string. 

    foo = 'foo'. 
    bar = 'bar'. 

    foobar = |{ foo } and { bar }|. 
4

Кроме строковых выражений, упомянутых Эдуардо Copat, иногда целесообразно использовать MESSAGE ... INTO ... заявление - особенно если текст должен быть переведен. В некоторых переводах позиции переменных относительно друг друга должны быть заменены, и, как правило, намного легче перевести текст You cannont combine &1 with &2., чем отдельные части You cannot combine и with.

+0

Использования сообщения в также помогает найти сообщение с «используемым Где» инструментом –

 Смежные вопросы

  • Нет связанных вопросов^_^