文字列の分割を行うSPLIT命令について1分で解説します。
このページで学べる内容
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」
分割結果を変数に格納していく場合、結果の分だけ変数を定義しておく必要がありますが、内部テーブルを利用すれば結果がいくつになっても問題ありません。
利用シーンに応じた使い分けが重要です。
変数と内部テーブルの違い
変数と内部テーブルの違いが分からないという方は以下の記事をご覧ください。
DESCRIBE TABLE命令
サンプルコード中で利用した「DESCRIBE TABLE」命令は指定した内部テーブルの属性を読みとる命令です。
詳しくは下記のページで解説おりますのでこの機会に合わせて学んでおきましょう。
SAP / ABAPを1から学習したい方は
SAP / ABAPを1から学習したい初心者の方向けに、できるだけ網羅的にABAPが理解できるよう以下ページに知識体系を整理しています。
特に初心者のうちは、どこから学べばよいか?どう勉強すれば良いか?すらわからない状態になりがち。
ある程度の知識を持ったうえで、はじめて実践的な理解へとつながります。
是非、一度ご覧になってみてください。