情報カタログ・マネージャー プログラミングの手引きおよび解説書

FLGNavigate

特定の Grouping オブジェクトに含まれるオブジェクトのリストを検索する ために使用します。

許可

管理者またはユーザー

構文



APIRET  APIENTRY    FLGNavigate( PSZ              pszFLGID,
                                 PFLGHEADERAREA * ppListStruct,
                                  PFLGEXTCODE  pExtCode );

パラメーター

pszFLGID (PSZ) − 入力
含まれているオブジェクトが検索されるオブジェクト・インスタンスを表 す 16 文字の FLGID を指します。

この ID の 1 文字目から 6 文字目までは、このインスタンスの オブジェクト・タイプを識別します。

この ID の 7 文字目から 16 文字目までは、システム生成された固有のインスタンス ID です。

ppListStruct (PFLGHEADERAREA) − 出力
出力構造を指すポインターのアドレスを指します。 出力構造がない場合、出力構造へのポインターは NULL にセットされます。

pExtCode (PFLGEXTCODE) − 出力
理由コードに関連する拡張コードを指します。 戻された理由コードに関連した意味のある拡張コードがあるかどうかについて は、付録 D, 情報カタログ・マネージャーの理由コードを参照してください。

理由コード (APIRET)
この API 呼び出しの実行結果を表します。

戻された理由コードの説明については、付録 D, 情報カタログ・マネージャーの理由コードを参照してくだ さい。

出力構造

FLGNavigate が作成する出力構造には、図 131 に示すように、 指定されたオブジェクトに含まれるオブジェクトのリストが入っています。

出力構造のオブジェクト域には、指定されたオブジェクト・インスタンス に含まれるすべてのオブジェクト・インスタンスのリストが入ります。 戻されたオブジェクト・インスタンスは、FLGID の値、 オブジェクト・インスタンスの外部名、および子インディケーター によって識別されます。子インディケーターは、そのオブジェクトが別の オブジェクトを含んでいるかどうかを示します。

図 131. FLGNavigate 出力構造


Figure FLAA2048 not displayed.

バイト・オフセットの意味については、情報カタログ・マネージャー入力および出力構造を参照してくだ さい。

使用方法

この出力構造には、戻された各インスタンスに関する以下の特性値が入ります。

FLGID
オブジェクト・インスタンスの 16 文字の識別子。
Name
オブジェクト・インスタンスの 80 バイトの外部名。
CHILDIND
オブジェクト・インスタンスが別のオブジェクト・インスタンスを含んで いるかどうかを示す、1 文字の値。Y は含んでいることを表し、N は含んでいない ことを表します。

出力リストは、使用しているデータベース管理システムで採用 されている照合順序に従って、最初にオブジェクト・タイプ名によ って分類され、次に 80 バイトのオブジェクト・インスタンス名によって分類されます。

FLGNavigate によって戻すことのできる、含まれているオブジェクト・インスタンスの 最大数は計算機で使用可能な記憶域によって異なり、約 5000 です。

出力構造に割り振られたメモリーの解放

FLGNavigate が出力構造にあるデータを戻した場合、出力構造に戻されたデータを 保管してから、FLGFreeMem を呼び出さなくてはなりません (FLGFreeMem参照)。 メモリーを解放するのに、たとえば C 言語指示のような他の方式は使用しないで ください。

図 133 は、別のオブジェクトを含んでいるオブジェクトの 構造をナビゲートします。 この例の ACCOUNTING には、ACCPAYABLEACCRECBLE、および GLEDGER の 3 つの オブジェクトが含まれています。 この構造は図 132 のようになっています。

図 132. ACCOUNTING オブジェクトの内容


ACCOUNTING



ACCPAYABLE



PAYABLE1

PAYABLE2


ACCRECBLE

GLEDGER



図 133 は、FLGNavigate API 呼び出しを出すために必要な C 言語コード を示しています。

図 133. C 言語による FLGNavigate の呼び出しのサンプル

 APIRET          rc;               // reason code from FLGNavigate
 UCHAR           pszFLGID[FLG_ID_LEN + 1];
 PFLGHEADERAREA  * ppListStruct;
 FLGEXTCODE     ExtCode = 0;                // Declare extended code
   .
   .  /* set pszParentID to FLGID of 'ACCOUNTING'          */
   .
 rc = FLGNavigate (pszFLGID,
                 ppListStruct, // pass the address of
                                    // output structure pointer
                   &ExtCode);
 

図 134 は、この API 呼び出しの出力構造を示しています。

図 134. FLGNavigate のための出力構造のサンプル


Figure FLAA2049 not displayed.


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]