特定の Grouping オブジェクトに含まれるオブジェクトのリストを検索する ために使用します。
許可
管理者またはユーザー
構文
APIRET APIENTRY FLGNavigate( PSZ pszFLGID,
PFLGHEADERAREA * ppListStruct,
PFLGEXTCODE pExtCode );
パラメーター
この ID の 1 文字目から 6 文字目までは、このインスタンスの オブジェクト・タイプを識別します。
この ID の 7 文字目から 16 文字目までは、システム生成された固有のインスタンス ID です。
戻された理由コードの説明については、付録 D, 情報カタログ・マネージャーの理由コードを参照してくだ さい。
出力構造
FLGNavigate が作成する出力構造には、図 131 に示すように、 指定されたオブジェクトに含まれるオブジェクトのリストが入っています。
出力構造のオブジェクト域には、指定されたオブジェクト・インスタンス に含まれるすべてのオブジェクト・インスタンスのリストが入ります。 戻されたオブジェクト・インスタンスは、FLGID の値、 オブジェクト・インスタンスの外部名、および子インディケーター によって識別されます。子インディケーターは、そのオブジェクトが別の オブジェクトを含んでいるかどうかを示します。
バイト・オフセットの意味については、情報カタログ・マネージャー入力および出力構造を参照してくだ さい。
使用方法
この出力構造には、戻された各インスタンスに関する以下の特性値が入ります。
出力リストは、使用しているデータベース管理システムで採用 されている照合順序に従って、最初にオブジェクト・タイプ名によ って分類され、次に 80 バイトのオブジェクト・インスタンス名によって分類されます。
FLGNavigate によって戻すことのできる、含まれているオブジェクト・インスタンスの 最大数は計算機で使用可能な記憶域によって異なり、約 5000 です。
出力構造に割り振られたメモリーの解放
FLGNavigate が出力構造にあるデータを戻した場合、出力構造に戻されたデータを 保管してから、FLGFreeMem を呼び出さなくてはなりません (FLGFreeMem参照)。 メモリーを解放するのに、たとえば C 言語指示のような他の方式は使用しないで ください。
図 133 は、別のオブジェクトを含んでいるオブジェクトの 構造をナビゲートします。 この例の ACCOUNTING には、ACCPAYABLE、 ACCRECBLE、および 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 のための出力構造のサンプル