SAP ABAP内部テーブル

SAP ABAP内部テーブル
SAP ABAP内部テーブルは、すべてのレコードが同じ構造とキーを持つ動的なシーケンシャルデータセットです。 内部テーブルは配列として使用されます。 内部表の個々のレコードは、READ文を使用して索引またはキーのいずれかを使用して読み取ることができます。 内部テーブルをループして、すべてのレコードを1つずつ読み取ることもできます。
内部テーブルのデータ型は、行の型、キー、およびテーブルの型によって完全に指定されます。
内部テーブルには三つのタイプがあります。 それらは-標準テーブル、ソートテーブル、およびハッシュテーブルです。
標準テーブル、ソートテーブル、ハッシュテーブルの違いは、-
標準テーブル
-内部線形インデックスを持っています。
-システムは、テーブルインデックスまたはキーを使用してレコードにアクセスできます。
-キーアクセスの応答時間は、テーブル内のエントリ数に比例します。
-一意のキーを指定することはできません。 それは常に非一意のキーを持っています。
Sorted Table
-ソートされたテーブルは常にキーでソートされて保存されます。 彼らはまた、内部インデックスを持っています。
-システムは、テーブルインデックスまたはキーを使用してレコードにアクセスできます。
-キーアクセスの応答時間は、システムがバイナリ検索を使用するため、テーブルエントリの
数に対数的に比例します。
-ソートされたテーブルのキーは、一意または非一意のいずれかになります。
テーブルを定義するときは、キーを一意にするか非一意にするかを指定する必要があります。
ハッシュテーブル
-ハッシュテーブルに線形インデックスがありません。 ハッシュテーブルには、そのキーを使用してのみアクセスできます。
-システムがハッシュアルゴリズムを使用してテーブルエントリにアクセスするため、応答時間はテーブルエントリの数に依存せず、
は一定です。
-ハッシュテーブルのキーは一意である必要があります。
-テーブルを定義するときは、キーをUNIQUEとして指定する必要があります。
抽出物とは何ですか? 内部テーブルとどのように違うのですか?
抽出は、異なる行が異なる構造を持つことができる動的な順次データセットです。 各ABAPプログラムには、現在、単一の抽出データセットのみがあります。 Keyまたはindexを使用して、抽出内の個々のレコードにアクセスすることはできません。 代わりに、常にループを使用して処理します。
LOOP文の行の割り当てを抑制するには?
内部テーブル行の内容を作業領域に転送しない場合や、フィールドシンボルに割り当てない場合は、次のステートメントを使用できます。
loop AT itab TRANSPORTING NO FIELDS condition。

コメントを残す

メールアドレスが公開されることはありません。