PR

【ABAP】1分で理解できる!DESCRIBE TABLE命令

ABAP

本ページでは、ABAPにおける内部テーブルの属性を読み込む命令―。「DESCRIBE TABLE」について解説します。

DESCRIBE TABLEをあまり見かけない方もいらっしゃるかもしれませんが、実は1つのプログラムで1回ぐらいはよく使われている命令です。

このページで学べる内容

  • DESCRIBE TABLE命令とは?使い方と意味
  • LINESオプションの使い方
  • OCCURSオプションの使い方
  • KINDオプションの使い方
  • DESCRIBE TABLE命令の使いどころと使用例

ABAPerであれば、知っておいて損はない知識ばかりですので、是非最後までご覧ください。

スポンサーリンク

DESCRIBE TABLE命令とは?

DESCRIBE TABLE命令は、指定した内部テーブルの属性を読み取る命令です。(この命令では、内部テーブルの操作を行ったりレコードの追加・変更等は行いません。)

読み取りたい内部テーブルの属性に応じて3つのオプションがあり、オプションなしではDESCRIBE TABLE命令を利用することはできません。必ず、以下いずれかのオプションを指定する必要があります。

DESCRIBE TABLE命令の3つのオプション

  • LINESオプション
  • OCCURSオプション
  • KINDオプション

それでは、DESCRIBE TABLE命令の構文ルールとオプションの利用方法を合わせて解説します。

【LINES】DESCRIBE TABLE

DESCRIBE TABLE (内部テーブル) LINES (変数).


LINESオプションを利用すると、内部テーブルの行数を判別することができます。判別した行数については、LINESオプションの後に指定した変数に格納されます。

LINESオプションの後に指定する変数には、整数しか入りませんのでデータ型は「i(整数)」でなければなりません。

※ABAPデータ型については、こちらのページで詳しく解説しております。不安な方は合わせてご覧ください。

もし、以下の内部テーブル「ITAB1」に対して、 DESCRIBE TABLE命令を用いた場合、変数「Z_i」には「」が格納されることになります。


DESCRIBE TABLE ITBA1 LINES Z-i.

blank

LINESオプションが最も利用頻度が高いです。MESSAGE命令を用いて、処理成功件数を画面表示したい場合などに用いる場合が多いです。

【OCCURS】DESCRIBE TABLE

DESCRIBE TABLE (内部テーブル) OCCURS (変数).


OCCURSオプションでは、内部テーブルの初期メモリ所要量(INITIAL SIZE)を判別することができます。

初期メモリ所要量とは、内部テーブルを宣言したタイミングで自動的に与えられるメモリサイズのことです。通常のプログラムであれば、この初期メモリ所要量を気にしなければいけないタイミングが(ほぼ)ないため、OCCURSオプションを用いたDESCRIBE TABLE命令を見かけることはまずありません

OCCURSオプションの後に指定する変数は、LINESオプションと同様データ型「i(整数)」でなければなりません。

【KIND】DESCRIBE TABLE

DESCRIBE TABLE (内部テーブル) KIND (変数).


KINDオプションは、指定した内部テーブルのテーブルタイプを判別することができます。KINDオプションの後に指定した変数には、テーブルタイプに応じて以下のいずれかの文字が格納されます。

  • 標準テーブルの場合「T
  • ハッシュテーブルの場合「H
  • ソートテーブルの場合「S

そのため、KINDオプションの後に指定した変数のデータ型は「c(文字)」でなければなりません。

※ハッシュテーブル/ソートテーブルという単語にピンとこない方はこちらのページをご覧ください。

ABAPを1から勉強したい方は・・・

初めてABAPを勉強するのは結構難しいですよね。

でもその悩みを抱えているのは一人じゃありません。全てのABAP使いが同じ道を進んできました。

ABAPをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?

あなたの技術、もっと価値ある場所で活かしませんか?
SAPエンジニアのキャリア支援はこちらから↓

No.1 > 外資系・IT業界などハイクラスの転職なら【アクシスコンサルティング】blank
4人に1人のコンサルタントが選ぶパートナー!
ビッグ4やアクセンチュアへの転職を実現し年収1000万へ。

No.2 > IT・Web転職特化エージェント【レバテックキャリアblank
blank
サービス利用者数20万人突破。

平均年収アップ率77%であなたの転職成功を保証します。

No.3 > blankリクルートエージェント
blank
\転職支援実績NO.1/

応募が殺到しすぎるが故に・・・非公開にせざるを得ない魅力的な求人が多数!

読者料典 【完全無料】ABAP:学習カリキュラム ←こちらから!

このWebサイトは現役のエンジニアが以下3点を目的として運営しています。

  1. 勉強:一度理解した内容を忘れないように。
    → アウトプットは「最強のインプット」である! 
  2. 備忘:忘れたとしても後から見返せるように。
    → 未来の自分への「お手紙」を書いています。 
  3. 共有:〇〇ってこうだったんだ!の感動をシェアできるように。
    → あなたの知識は誰かにとっての「価値ある情報」です。 

副業ブログの始め方はこちらから

スポンサーリンク
ABAPSAP
シェアする
ビズドットオンラインをフォローする
blank
ビズドットオンライン
タイトルとURLをコピーしました