コンテンツフレーム起動

標準テーブルの特殊機能 文書を SAP ライブラリストラクチャに組み込む

ソートテーブル、ハッシュテーブル、内部テーブルへのキーアクセスはリリース 4.0 で初めて導入されましたが、標準テーブルは数リリース前からありました。行データ型、テーブルタイプ、ヘッダ行のないテーブルの定義は、リリース 3.0 以降でのみ行うことができます。このため、互換性のために引き続き存在している標準テーブルの機能があります。

リリース 3.0 より前の標準テーブル

リリース 3.0 より以前は、内部テーブルはすべてヘッダ行とフラット構造の行データ型を持ち、独立したテーブルデータ型はありませんでした。以下のように、DATA 命令で、後ろにフラット構造の宣言を記述した OCCURS オプションを使用して、テーブルオブジェクトを作成することができただけでした。

DATA: BEGIN OF <itab> OCCURS <n>,
        ...

         <fi> ...,
        ...

       END OF <itab>.

この命令では、OCCURS オプションの後ろに定義された行データ型を持つ内部テーブル <itab> が宣言されます。さらに、すべての内部テーブルにはヘッダ行が含められます。 

OCCURS オプションの番号 <n> は、リリース 4.0 INITIAL SIZE オプションの場合と同じ意味を持ちます。‘0’ を入力すると、INITIAL SIZE オプションを省略したのと同じ結果になります。その場合、テーブルの初期サイズはシステムによって決定されます。

上記の命令は、リリース 4.0 でも使用でき、以下の命令とほぼ同じ機能を持ちます。

TYPES: BEGIN OF <itab>,
         ...

          <fi> ...,
         ...

        END OF <itab>.

DATA <itab> TYPE STANDARD TABLE OF <itab>
                 WITH NON-UNIQUE DEFAULT KEY
                 INITIAL SIZE <n>
                 WITH HEADER LINE.

元の命令では、独立したデータ型 <itab> は作成されません。代わりに、行データ型はデータオブジェクト <itab> の属性としてのみ存在します。 

リリース 3.0 以降の標準テーブル

リリース 3.0 以降では、以下の命令を使用してテーブルデータ型を作成することができます。

TYPES <t> TYPE|LIKE <linetype> OCCURS <n>.

また、以下の命令を使用してテーブルオブジェクトを作成することができます。

DATA <itab> TYPE|LIKE <linetype> OCCURS <n> [WITH HEADER LINE].

OCCURS オプションによって、データ型 <linetype> を持つ標準テーブルが作成されます。行データ型は任意のデータ型にすることができます。OCCURS オプションの番号 <n> は、3.0 より前のリリースの場合と同じ意味を持ちます。4.0 より前のリリースでは、内部テーブルのキーは必ずデフォルトキーでした。つまり、すべての非数値項目はそれ自体が内部テーブルになることはありませんでした。

上記の命令は、リリース 4.0 でも使用でき、以下の命令と同じ機能を持ちます。

TYPES|DATA <itab> TYPE|LIKE STANDARD TABLE OF <linetype>
                            WITH NON-UNIQUE DEFAULT KEY
                            INITIAL SIZE <n>
                            [WITH HEADER LINE].

この命令は、以下の命令と置き換えることもできます。

リリース 4.0 以降の標準テーブル

標準テーブルを作成する場合、以下の TYPES 命令と DATA 命令の書式を使用することができます。また、すべての命令で INITIAL SIZE オプションを使用することができます。DATA 命令では、WITH HEADER LINE オプションを使用することができます。

標準テーブルデータ型

ジェネリック標準テーブルデータ型:

TYPES <itab> TYPE|LIKE [STANDARD] TABLE OF <linetype>.

テーブルキーは定義されません。

完全指定標準テーブルデータ型:

TYPES <itab> TYPE|LIKE [STANDARD] TABLE OF <linetype>
                       WITH [NON-UNIQUE] <key>.

完全指定標準テーブルのキーは常に非一意です

標準テーブルオブジェクト

DATA 命令の簡易書式

DATA <itab> TYPE|LIKE [STANDARD] TABLE OF <linetype>.

DATA <itab> TYPE|LIKE [STANDARD] TABLE OF <linetype>
                      WITH DEFAULT KEY.

上記のどちらの DATA 命令も、以下のようにシステムによって自動的に完成されます。

DATA <itab> TYPE|LIKE STANDARD TABLE OF <linetype>
                      WITH NON-UNIQUE DEFAULT KEY.

DATA 命令の簡易書式の目的は、以前のリリースの内部テーブルと互換性のある標準テーブルの宣言をできるだけ単純にしておくことにあります。上記のデータ型を参照する標準テーブルを宣言すると、テーブルキーとしてデフォルトキーが自動的に採用されます。

完全指定標準テーブル:

DATA <itab> TYPE|LIKE [STANDARD] TABLE OF <linetype>
                       WITH [NON-UNIQUE] <key>.

標準テーブルのキーは常に非一意です。

 

 

 

コンテンツフレーム終了