15

CONCATENATEキーワードを使用する代わりに、ABAP で連結する別の方法はありますか?

使用例CONCATENATE:

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

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

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

5 に答える 5

29

(ABAP 7.02 以降) を使用&&して 2 つの文字列を連結できます。

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

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

foobar = foo && bar.

これは文字リテラルでも機能します:

foobar = 'foo' && 'bar'.

スペースを保持するには、2 つのグレイブ アクセント(U+0060)で定義された「テキスト文字列リテラル」という名前のこの種の文字リテラルを使用します。

foobar = foo && ` and ` && bar
于 2013-09-18T09:18:06.817 に答える
14

はい、 ABAP 7.02で導入されたString Templatesを使用できます。

以下に例を示します。

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

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

  foobar = |{ foo } and { bar }|.
于 2013-09-17T21:34:12.147 に答える
5

Eduardo Copat によって言及された String Expressions に加えて、MESSAGE ... INTO ...特にテキストが翻訳されることになっている場合は、ステートメントを使用することが賢明な場合があります。一部の翻訳では、相互に相対的な変数の位置を交換する必要があります。一般にYou cannont combine &1 with &2.、別々の部分You cannot combinewith.

于 2013-09-18T06:35:25.817 に答える