差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

kdict:abap:16:46:06 [2019/12/06 06:56] (現在)
行 1: 行 1:
 +======テーブルデータ型======
 +{{page>kdict:abap:adsense:ads_content_header&nouser&nodate&nomdate&noeditbtn}}
  
 +テーブルデータ型は、ABAP における内部テーブルの構造と機能属性を示します。このトピックでは、テーブルデータ型を取り上げて、その構成や種類などを説明します。
 +
 +
 +=====構成=====
 +テーブルデータ型は、行データ型、キー、およびアクセス方法によって完全指定されます。
 +{{ kdict:abap:16:46:abap_tbldatatyp_001.gif |}}
 +<html><table style="width:100%"><tr><td align="center">(source:SAP Help Portal) </td></tr></table> </html>
 +
 +==== 行データ型 ====
 +通常、内部テーブルのデータ型は構造であり、その構造の各コンポーネントは、それぞれ内部テーブル内の1つの列になります。
 +ただし、内部テーブルのデータ型の仕様としては、構造以外の任意のデータ型を使用することも可能です。
 +
 +==== キー ====
 +テーブル行データはキーによって識別されます。キーは、システムからデフォルトで生成されるは標準キーのほかに、ユーザから定義することもできます。ユーザ定義キーはUNIQUE または NON-UNIQUE として指定することができます。
 +
 +==== アクセス方法 ====
 +内部テーブルのアクセス方法は以下三つの種類から指定できます。
 +  * 標準テーブル \\ 標準テーブルは内部的な線型索引を持ちます。 \\ 索引を使用して個別のテーブルエントリをアドレス指定する予定がある場合には、これが最適なデータ型です。
 +  * ソートテーブル \\ ソートテーブルは常にキー別にソートされ、保存されます。ソートテーブルも内部索引を持ちます。 \\ バイナリ検索が求められる場合には、これが最適なデータ型です。
 +  * ハッシュテーブル \\ ハッシュテーブルは線型索引を持ちません。キーを使用した場合にのみハッシュテーブルにアクセスすることができます。 \\ ハッシュ検索が求められる場合には、これが最適なデータ型です。
 +
 +===== 分類 =====
 +テーブルデータ型は以下の階層図で示されたように、内部テーブルのアクセス方法により分類することができます。
 +{{ kdict:abap:16:46:abap_tbldatatyp_002.gif |}}
 +<html><table style="width:100%"><tr><td align="center">(source:SAP Help Portal) </td></tr></table> </html>
 +
 +==== 完全指定のテーブルデータ型 ====
 +内部テーブルのアクセス方法が明示されたテーブルデータ型です。
 +  * STANDARD TABLE または TABLE \\ 標準テーブルを登録します。
 +  * SORTED TABLE \\ ソートテーブルを登録します。
 +  * HASHED TABLE \\ ハッシュテーブルを登録します。
 +
 +
 +==== ジェネリックテーブルデータ型 ====
 +内部テーブルのアクセス方法が明示されたテーブルデータ型です。
 +  * INDEX TABLE \\ 索引アクセスを使用するジェネリックテーブルデータ型を登録します。
 +  * ANY TABLE \\ 完全なジェネリックテーブルデータ型を登録します。
 +
 +ジェネリックテーブルデータ型は動的なプログラミングでよく使用されます。
 +
 +===== 定義 =====
 +テーブルデータ型は、ローカルまたはグローバルに定義することができます。
 +
 +==== ローカル定義 ====
 +プログラムの中でTYPE命令を使用してテーブルデータ型をローカルに定義することができます。
 +構文:
 +<code>
 +TYPES type TYPE|LIKE tabkind OF linetype [WITH key]
 + [INITIAL SIZE n].
 +</code>
 +
 +==== グローバル定義 ====
 +ABAP ディクショナリのデータ型としてテーブルデータ型をグローバルに定義することもできます。
 +例として、標準のMMPUR_REQUISITION_ITEMSを取り上げてそのイメージを示します。
 +{{ kdict:abap:16:46:abap_tbldatatyp_003.jpg |}}
 +{{ kdict:abap:16:46:abap_tbldatatyp_004.jpg |}}
 +{{ kdict:abap:16:46:abap_tbldatatyp_005.jpg |}}
 +
 +
 +===== 参考 =====
 +[[https://help.sap.com/saphelp_nw70/helpdata/ja/fb/f14736a1f0ad1fe10000009b38f839/content.htm|テーブルデータ型-SAP Help Portal]]