2020年02月10日
【ABAP】DESCRIBE TABLE命令
本ページでは、ABAPにおける内部テーブルの属性を読み込む命令―。
「DESCRIBE TABLE」について解説します。
DESCRIBE TABLEをあまり見かけない方もいらっしゃるかもしれませんが、実は1つのプログラムで1回ぐらいはよく使われている命令です。
目次
1 DESCRIBE TABLE命令とは?
1.1 【LINES】DESCRIBE TABLE
1.2 【OCCURS】DESCRIBE TABLE
1.3 【KIND】DESCRIBE TABLE
1 DESCRIBE TABLE命令とは?
1.1 【LINES】DESCRIBE TABLE
1.2 【OCCURS】DESCRIBE TABLE
1.3 【KIND】DESCRIBE TABLE
1 DESCRIBE TABLE命令とは?
DESCRIBE TABLE命令は、指定した内部テーブルの属性を読み取る命令です。
(この命令では、内部テーブルの操作を行ったりレコードの追加・変更等は行いません。)
読み取りたい内部テーブルの属性に応じて3つのオプションがあり、オプションなしではDESCRIBE TABLE命令を利用することはできません。
必ず、以下いずれかのオプションを指定する必要があります。
DESCRIBE TABLE命令の3つのオプション
・LINESオプション
・OCCURSオプション
・KINDオプション
それでは、DESCRIBE TABLE命令の構文ルールとオプションの利用方法を合わせて解説します。
1.1 【LINES】DESCRIBE TABLE
DESCRIBE TABLE (内部テーブル) LINES (変数).
DESCRIBE TABLE (内部テーブル) LINES (変数).
LINESオプションを利用すると、内部テーブルの行数を判別することができます。
判別した行数については、LINESオプションの後に指定した変数に格納されます。
LINESオプションの後に指定する変数には、整数しか入りませんのでデータ型は「i(整数)」でなければなりません。
LINESオプションが最も利用頻度が高いです。
MESSAGE命令を用いて、処理成功件数を画面表示したい場合などに用いる場合が多いです。
1.2 【OCCURS】DESCRIBE TABLE
DESCRIBE TABLE (内部テーブル) OCCURS (変数).
OCCURSオプションでは、内部テーブルの初期メモリ所要量(INITIAL SIZE)を判別することができます。
初期メモリ所要量とは、内部テーブルを宣言したタイミングで自動的に与えられるメモリサイズのことです。
通常のプログラムであれば、この初期メモリ所要量を気にしなければいけないタイミングが(ほぼ)ないため、OCCURSオプションを用いたDESCRIBE TABLE命令を見かけることはまずありません。
OCCURSオプションの後に指定する変数は、LINESオプションと同様データ型「i(整数)」でなければなりません。
1.3 【KIND】DESCRIBE TABLE
DESCRIBE TABLE (内部テーブル) KIND (変数).
KINDオプションは、指定した内部テーブルのテーブルタイプを判別することができます。
KINDオプションの後に指定した変数には、テーブルタイプに応じて以下のいずれかの文字が格納されます。
・標準テーブルの場合「T」
・ハッシュテーブルの場合「H」
・ソートテーブルの場合「S」
そのため、KINDオプションの後に指定した変数のデータ型は「c(文字)」でなければなりません。
タグ:ABAP
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/9623108
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック