【ABAP】SPLIT命令―文字列の分割方法を1分で解説

ABAP

文字列の分割を行うSPLIT命令について1分で解説します。

このページで学べる内容
  • SPLIT命令の処理内容
    • 分割後の値を変数に格納する場合
    • 分割後の値を内部テーブルに格納する場合
  • SPLIT命令利用時の注意点
  • SPLIT命令を利用したサンプルコード

ABAPerであれば知っておきたい重要知識です。是非最後までご覧ください。

スポンサーリンク
スポンサーリンク

SPLIT命令の処理内容

SPLIT命令は、指定した文字列を区切りとして変数の値を分割する命令です。変数a の値を区切り文字「/」で分割した場合のイメージ図がこちら。

決して難しい処理ではありません。

分割結果を変数に代入する

SPLIT命令:構文ルール

SPLIT(変数)AT(区切り文字)INTO(変数1)(変数2)・・・

DATA LV_TEST(15) TYPE C VALUE 'ABC/DEF/GHI/JKL'.

* /区切りで分割する
SPLIT LV_TEST AT '/' INTO LV_ABC
                          LV_DEF
                          LV_GJI
                          LV_JKL.

WRITE LV_DEF. "⇒ DEF が表示される

変数 "LV_TEST" の値が、「/」で区切られそれぞれの変数に代入されます。区切り文字が1つも見つからない場合は、最初の変数にすべての文字列が格納されることになります。

分割結果を内部テーブルに代入する

また、格納結果を変数に代入するのではなく、内部テーブルに格納することも可能です。

SPLIT命令:構文ルール2

SPLIT(変数)AT(区切り文字)INTO TABLE(内部テーブル).

DATA LV_TEST(15) TYPE C VALUE 'ABC/DEF/GHI/JKL'.

* 結果格納用内部テーブル
DATA LT_TEST TYPE TABLE OF test.

* /区切りで分割する
SPLIT LV_TEST AT '/' INTO  LT_TEST.
DESCRIBE TABLE LT_TEST LINES a.

WRITE a. " ⇒結果は「4」

分割結果を変数に格納していく場合、結果の分だけ変数を定義しておく必要がありますが、内部テーブルを利用すれば結果がいくつになっても問題ありません。

利用シーンに応じた使い分けが重要です。

SAP / ABAPを1から学習したい方は

SAP / ABAPを1から学習したい初心者の方向けに、できるだけ網羅的にABAPが理解できるよう以下ページに知識体系を整理しています。

特に初心者のうちは、どこから学べばよいか?どう勉強すれば良いか?すらわからない状態になりがち。

ある程度の知識を持ったうえで、はじめて実践的な理解へとつながります。

是非、一度ご覧になってみてください。

タイトルとURLをコピーしました