内部テーブルは、実際には、実行されているABAPプログラムのレコードを含む一時テーブルです。 内部テーブルは、SAPプログラムの実行時にのみ存在します。 これらは、ABAP言語を使用して大量のデータを処理するために使用されます。 データベーステーブルからデータを取得する必要がある場合は、ABAPプログラムで内部テーブルを宣言する必要があります。
内部テーブルのデータは行と列に格納されます。 各行は行と呼ばれ、各列はフィールドと呼ばれます。 内部テーブルでは、すべてのレコードは同じ構造とキーを持ちます。 内部テーブルの個々のレコードには、インデックスまたはキーを使用してアクセスします。 関連するプログラムが実行されるまで内部テーブルが存在するため、プログラムの実行が終了すると内部テーブルのレコードが破棄されます。 したがって、内部テーブルは、必要に応じてデータを変更できる一時記憶域または一時バッファとして使用できます。 これらのテーブルは、実行時にのみメモリを占有し、宣言時にはメモリを占有しません。
内部テーブルは、プログラムが実行されているときにのみ存在するため、コードを記述するとき、内部テーブルは、プログラムがそれを利用できるように構造化されていなければなりません。 内部テーブルは構造体と同じように動作することがわかります。 主な違いは、構造体には1行しかありませんが、内部テーブルには必要な数の行を含めることができることです。
内部テーブルは、ABAPディクショナリでテーブルが多数の項目を使用して登録されたのと同様に、テーブルの列に対応する多数の項目で構成できます。 キー項目は内部テーブルでも使用でき、これらの内部テーブルを作成する際には、柔軟性がわずかに向上します。 内部テーブルでは、一意でないキーを指定して、任意の数の一意でないレコードを格納し、必要に応じて重複レコードを格納できるようにすることができます。
内部テーブルのサイズまたはそれに含まれる行数は固定されていません。 内部テーブルのサイズは、内部テーブルに関連付けられたプログラムの要件に応じて変更されます。 ただし、内部テーブルはできるだけ小さくすることをお勧めします。 これは、膨大な量のデータを処理するのに苦労するため、システムがゆっくりと実行されないようにするためです。
内部テーブルは、多くの目的のために使用されています−
-
これらは、プログラムの後半で使用できる計算の結果を保持するために使用できます。
-
内部テーブルにはレコードとデータを保持することもできるため、データベーステーブルからこのデータにアクセスするのではなく、迅速にアクセスできます。
-
彼らは非常に汎用性があります。 それらは、任意の数の他の定義された構造体を使用して定義できます。
例
ユーザーが1つまたは複数の大きなテーブルからさまざまな顧客の連絡先番号のリストを作成するとします。 ユーザーは最初に内部テーブルを作成し、顧客テーブルから関連するデータを選択してから、そのデータを内部テーブルに配置します。 他のユーザーは、プログラムの実行時に各操作を実行するためのデータベースクエリを記述するのではなく、この内部テーブルに直接アクセスして使用して、目的の情報を取得することができます。
お役立ち動画講座
SAPUI5オンライントレーニング
25講義6時間
三条トーマス
SAP Webiオンライントレーニング
26講義2時間
Neha Gupta
SAP Basisオンライントレーニング
30講義2.5時間
SAP C4Cオンライントレーニング
30講義4時間
Sumit Agarwal
SAP MMオンライントレーニング
14講義1.5時間
Neha Malik
SAP WMオンライントレーニング
13講義1.5時間
ネハ-マリク