!--a11y-->
ABAP
クラスタデータベースに属するデータクラスタの目次を登録する場合は、以下の命令を使用します。構文
IMPORT DIRECTORY INTO <dirtab>
FROM DATABASE <dbtab>(<ar>)
[CLIENT <cli>] ID <key>.
この命令によって、データベース
<dbtab> に格納されているデータクラスタ内のデータオブジェクトの一覧が登録され、テーブル <dirtab> に格納されます。 <dbtab> を TABLES 命令で宣言しておかなければなりません。データクラスタをデータベース内に格納する場合、通常は
EXPORT TO DATABASE 命令を使用します( クラスタデータベースへのデータオブジェクトの格納を参照してください)。データベーステーブル <dbtab> の構造については、 クラスタデータベースの構造を参照してください。<ar>
は、クラスタをデータベースに格納する際に使用される2文字領域 ID です。 <key> は、最大長が <dbtab> の名称項目の長さによって異なり、データベースのデータを識別します。オプションの CLIENT <cli> を使用すれば、クライアント独自のクラスタデータベースを扱う際に、自動クライアント処理をオフにして、自分でクライアントを指定することができます。このオプションはデータベース名の直後に指定しなければなりません。IMPORT
命令ではデータベースのテーブルからテーブル作業領域 <dbtab> のユーザ項目の内容も自動的に読み込むことができます。目次を登録できる場合は、
SY-SUBRC の設定は0です。作成できない場合は、その値は4になります。ABAP
ディクショナリ構造 CDIR にもとづいて内部テーブル <dirtab> を設定する必要があります。その場合は、 DATA 命令の LIKE オプションを使用します( DATA 命令の基本型を参照してください)。構造 CDIR には以下のようなコンポーネントが含まれています。
項目名 |
タイプ |
内容説明 |
NAME |
CHAR |
クラスタに格納されたオブジェクトの名称 |
OTYPE |
CHAR |
オブジェクトのタイプ: F は基本項目を示しますR は項目列を示しますT は内部テーブルを示します |
FTYPE |
CHAR |
オブジェクトのデータ型。構造化型データ型はタイプ C です。 |
TFILL |
INT4 |
設定された行数(内部テーブルの場合)。 |
FLENG |
INT2 |
項目または構造の長さ。 |
PROGRAM SAPMZTS2.
TABLES INDX.
DATA DIRTAB LIKE CDIR OCCURS 10 WITH HEADER LINE.
IMPORT DIRECTORY INTO DIRTAB FROM DATABASE
INDX(HK) ID '
IF SY-SUBRC = 0.
WRITE: / 'AEDAT:', INDX-AEDAT,
/ 'USERA:', INDX-USERA,
/ 'PGMID:', INDX-PGMID.
WRITE / '
このプログラムは、
クラスタデータベースへのデータオブジェクトの格納のサンプルプログラムで格納したデータクラスタの目次を登録します。出力は以下のようになります。
目次
DIRTAB には、データクラスタに長さが8バイトの行を 3000 行持った ITAB という内部テーブルがあることを示す行が含まれています。