特定のオブジェクト・インスタンスに関する 1 つまたは複数の特性値を 変更するために使用します。
許可
管理者または許可ユーザー (すべてのオブジェクト・タイプ); ユーザー (Comments オブジェクト・タイプのみ)
構文
APIRET APIENTRY FLGUpdateInst( PFLGHEADERAREA pObjInstStruct,
PFLGEXTCODE pExtCode );
パラメーター
戻された理由コードの説明については、付録 D, 情報カタログ・マネージャーの理由コードを参照してくだ さい。
入力構造
FLGUpdateInst を使用するには、図 154 に示す入力構造を定義し なければなりません。 この構造はヘッダー域、定義域、およびオブジェクト域からなります。
バイト・オフセットの意味については、情報カタログ・マネージャー API 入力構造を参照してくだ さい。
使用方法
前提条件
FLGUpdateInst 呼び出しを出すまえに、FLGCreateInst 呼び出しまたは FLGGetInst 呼び出しを 出して、修正するインスタンスに関する特性の仕様と値を得ておく必要があります。
入力要件
ヘッダー域
定義域
定義域は、オブジェクト・インスタンスを更新しているオブジェクト・タイプの定義済みの 特性のいくつか、またはすべてを含むことができます。 以下の規則が適用します。
データ・タイプ
データ長
特性省略名
値フラグ
UUI 番号
オブジェクト域
データ・タイプ | 初期設定値 |
---|---|
CHAR | 非適用記号のあとに、特性の長さ全体にわたってブランクが続きます。 |
TIMESTAMP | 最大設定可能値に設定。 9999-12-31-24.00.00.000000 |
VARCHAR LONG VARCHAR | 00000001; 8 バイトで指定された長さフィールド。非適用記号が続きます。 |
VARCHAR または LONG VARCHAR データ・タイプのオブジェクト域からは 後続ブランクが自動的に除去され、それに応じて長さフィールドが自動的に 調整されます。
情報カタログ更新の制御
プログラムを可能な限り、情報カタログと同期化させるために、FLGUpdateInst が正常に 完了したあとで、呼び出しを FLGCommit (FLGCommit参照) に組み込む必要があります。 FLGUpdateInst が正常に完了しない場合は、呼び出し を FLGRollback (FLGRollback参照) に組み込む必要があります。
図 155 は、FLGUpdateInst API 呼び出しを出すために必要な C 言語コード を示しています。
このサンプル・コードは、FLGCreateInst の例で定義された Quality Group という 名前のオブジェクト・インスタンスを更新します。 この更新では、短縮記述特性である簡略記述の値が修正されます。
図 155. C 言語による FLGUpdateInst の呼び出しのサンプル
APIRET rc; // Declare reason code
PFLGHEADERAREA pObjInstStruct; // Pointer to the input structure
FLGEXTCODE ExtCode = 0; // Declare extended code
.
. /* updating pObjInstStruct object Instance by */
/* providing an updated input structure */
.
rc = FLGUpdateInst (pObjInstStruct, // Pointer to updated input structure
&ExtCode); // Pass pointer to extended code
図 156 は、更新されるインスタンスに関する特性と値の 情報が入る入力構造 (この C コードの "pObjInstStruct" ポインターに よって指し示されています) を示しています。
図 156. FLGUpdateInst のための入力構造のサンプル
システム生成されたものでない (すなわち、バイト 126 の値が S に なっていない) 以下のオブジェクト域の値は、修正することができます。
FLGUpdateInst を使うと、修正していない特性と値を省略することができます。
この例では、簡略記述値が更新されます。 簡略記述値を修正すると、その長さも影響を受けます。 したがって、オブジェクト域内の簡略記述フィールドの前の 8 文字の 長さフィールドは 27 から 40 に修正されます。 ヘッダー・レコード内のオブジェクトの長さ値は 246 から 259 に変更されます。
FLGUpdateInst が完了すると、UPDATEBY の値が修正されて、そのインスタンスの更新に使用され たユーザー ID が入り、また UPDATIME には更新のタイム・スタンプが入ります。