新規記事の投稿を行うことで、非表示にすることが可能です。
2020年02月10日
【ABAP】内部テーブルの宣言―理解しておきたい3つのポイント
ABAPプログラミングの一番の特徴をあげるとすれば、「内部テーブル」です。
他の言語では内部テーブルという概念がないのでとっつきにくく感じるかもしれませんが、ABAPのコーディングはこれを知らないと何も始まりません!
とはいえ、理解してしまえば難しくない概念ですしコーディングも簡単です。
このページでは、内部テーブルの宣言方法と押さえておきたい基本知識について解説していきます。
目次
1 内部テーブルの宣言方法
1.1 内部テーブルの宣言(構造の定義)
1.2 内部テーブルの宣言(テーブルの定義)
1 内部テーブルの宣言方法
内部テーブルの宣言方法は1つではありません。
が、どの方法をとるにせよ最も基本的な宣言方法を理解しておく必要があります。
以下では、1番基本となる構文ルールと考え方を解説していきます。
1.1 内部テーブルの宣言(構造の定義)
内部テーブルを定義するには、まず@「構造」の定義を行い、A定義した構造を用いて内部テーブルを定義する流れです。
構造の定義は、TYPES命令で行います。
簡単な2列の構造を定義する例を以下に示します。
TYPES:
BEGIN OF WORK001,
NO TYPE I,
NAME TYPE C,
END OF WORK001.
これで、最初のステップ@「構造の定義」が完了です。
1.2 内部テーブルの宣言(テーブルの定義)
定義した構造を基に、本題である内部テーブルの宣言を行います。
構文ルール
DATA TABLE001 TYPE TABLE OF WORK001.
内部テーブルの定義はDATA命令を用います。
ただし、内部テーブルの宣言を行う場合は、オプションに「TABLE OF」と指定します。
この点が、通常のDATA命令と異なります。
厳密に言うとこれだけでは内部テーブルを利用できる状態になったとは言えないのです。
内部テーブルを利用する際には、必ず作業エリア(1行だけのテーブル、つまり構造)が必要になるからです。
したがって、より実践的な書き方はこちらになります。
構文ルール(実践バージョン)
DATA :WorkSpace001 TYPE WORK001,
TABLE001 TYPE TABLE OF WORK001.
内部テーブルを定義すると同時に、作業エリアも同時に定義するのです。
実際の現場では、この書き方が中心です。
同時に宣言することで、なんのための作業エリアであるのかを判別しやすくするのです。
内部テーブルの宣言方法はこれだけです。
他にもいろいろな記述方式がありますが、ここで解説した内容はマスターしていることが前提となります。
タグ:ABAP