サーチ…


リテラル

ABAPは、文字列または文字のような変数を宣言するための3つの異なる演算子を提供します

シンボル内部タイプ長さ
'...' C 1-255チャーテキストフィールドリテラル
`...` CString 0〜255文字テキスト文字列リテラル
| ... | CString 0〜255文字テンプレートリテラル

長さの範囲は、ハードコードされた値にのみ適用されることに注意してください。内部的にCString変数は任意の長さを持ち、 Cタイプの変数は常に固定長です。

文字列テンプレート

文字列テンプレートは、リテラル文字列と変数の値を混合する便利な方法です。

WRITE |Hello, { lv_name }, nice to meet you!|.

また、日付のようなものをフォーマットすることもできます。ログオンしたユーザーの日付形式を使用するには:

WRITE |The order was completed on { lv_date DATE = USER } and can not be changed|.

機能メソッド呼び出しと式がサポートされています:

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

注意!直接大規模なパフォーマンスの問題(それについての詳細を読むにつながることができます文字列テンプレートの内側(メソッド呼び出しのような)一時的な結果を実装こちら )。めったに実行されないステートメントの中でそれを使用するのは大丈夫ですが、プログラムではループが急速に減速します。

文字列の連結

文字列と文字のような変数は、ABAP CONCATENATEコマンドを使用して連結できます。結果を保存するための余分な変数が必要です。

例:

CONCATENATE var1 var2 var3 INTO result.
"result now contains the values of var1, var2 & var3 stringed together without spaces

省略名

ABAPの新しいバージョンでは、&&(連鎖演算子)を使用した連結の非常に短い変形が提供されています。

DATA(lw_result) = `Sum: ` && lw_sum.

注意!ループ内の連鎖演算子と組み合わせて一時的な結果を使用すると、コピー命令が増加するために大きなパフォーマンス上の問題が発生する可能性があることに注意する必要があります(詳細はこちらを参照しください )。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow