インクルード 

個々の項目を含めるだけでなく、別の構造の項目を テーブル 構造にインクルードすることもできます。 個々の項目とインクルードは必要に応じて組み合わせることができます。

インクルードが変更されると、それをインクルードしているすべてのテーブルおよび構造は自動的に調整されます。

構造 A がテーブル B にインクルードされています。構造 A に新しい項目が追加されました。構造 A が有効化されると、テーブル B はこの変更に対応するように調整され、新しい項目が挿入されます。

インクルードには グループ名を割り当てることができ、 ABAP プログラム内でそのインクルードの項目をまとめてそのグループ名で参照することができます。

インクルードのネスト、つまり構造 A が構造 B をインクルードし、さらに B は別の構造 C をインクルードする、というようなことが可能です。ネストの深さは最大 9 に制限されています。 このためテーブルまたは構造の中のネスト化されたインクルードのパスの最大長は 9 です ( テーブル / 構造自体は含みません )

フラットな構造のみがインクルード可能です。 フラットな構造とは、全項目がデータエレメントを参照しているか、またはデータ型、長さ、必要な場合は少数以下桁数が各項目に直接割り当てられている構造です。

テーブルには構造のみをインクルードすることができます。 構造にはテーブル、構造およびビューをインクルードすることができます。

項目名の長さは、構造よりもテーブルでより制限されています。 テーブルでは、項目名が 16 桁を超えることはできません。これに対し構造では、 30 桁まで項目名として使用することができます。 したがって、構造の項目名がどれも 16 桁より長くない場合のみ、構造をテーブルに含めることが可能です。

ただし、ネストされたインクルードのパスに含むことができるテーブルは 1 つだけです。

テーブル TAB1 には構造 STRUCT1 がインクルードされ、その中に構造 STRUCT2 がインクルードされています。 ここでは、ネストされたインクルードのパスにはテーブル TAB1 のみが含まれています。 別の構造 STRUCT0 TAB1 をインクルードすることもできます。

ただし、この場合はネストされるインクルードが 2 つのテーブル (TAB1 および TAB2) を含むことになる可能性があるので、 TAB2 以外のテーブルを TAB1 にインクルードすることはできません。

以下のトピックを参照してください。

インクルードの挿入