新規記事の投稿を行うことで、非表示にすることが可能です。
2020年02月13日
【ABAP】CONCATENATE命令―文字列結合
CONCATENATE命令は、文字列を結合する命令です。
基本的にはExcelの「concatenate」関数と同じような働きをするため難しい内容ではありません。
目次
構文ルール:CONCATENATE命令
SEPARATEDオプション構文ルール:SEPARATED BY
構文ルール:CONCATENATE命令
SEPARATEDオプション構文ルール:SEPARATED BY
構文ルール:CONCATENATE命令
CONCATENATE a1 a2 a3 ・・・・ INTO (変数).
a1、a2、a3については変数などのデータオブジェクトか、文字列を直接指定します。
Excelのconcatenate命令とは異なり、各オブジェクト/文字列の間のカンマは不要です。
スペースの扱いなど基本的なルールは、他の命令と同様です。
CONCATENATE命令の処理内容
CONCATENATE命令は、a1、a2、a3・・・と指定した順番に文字列を連結し、 "INTO" の後に指定した変数に格納する命令です。
CONCATENATE命令利用時の留意事項
1.データ型の制限
2.データ長(桁長)の制限
1.データ型の制限
2.データ長(桁長)の制限
留意事項@:データ型の制限
CONCATENATE命令で扱えるデータ型は以下の5つに限定されます。
C・・・文字列
N・・・数値
D・・・日付(YYYYMMDD)
T・・・時刻(HHMMSS)
STRING・・・文字列(可変長)
これ以外のデータ型についてCONCATENATE命令を行うと構文エラー、もしくはプログラム実行エラーになるため注意が必要です。
留意事項A:データ長(桁長)の制限
CONCATENATE a1 a2 a3 a4 INTO (変数).
とした場合、変数に文字列が収まりきらない場合があることを考慮する必要があります。
入りきらない分は全て切捨てされるため注意が必要です。
もし、CONCATENATE命令を利用してデータ長の桁溢れが発生した場合(格納先の変数に入りきらない場合)、SY-SUBRCには4がセットされます。
逆に、余った分はブランクとして処理されます。
SEPARATEDオプション
構文ルール:SEPARATED BY
CONCATENATE a1 a2 a3 ・・・・ INTO (変数)
SEPARATED BY (変数 or 文字列).
SEPARATEというのは、日本語で「分ける」「別れる」「分離する」といった意味になります。
「SEPARATED」オプションを利用すると、指定した変数 or 文字で格納する文字列を区切ることができます。
タグ:ABAP