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

FLGDeleteInst

あるオブジェクト・タイプの、単一の特定オブジェクト・インスタンスを 削除します。

許可

管理者または許可ユーザー (すべてのオブジェクト・タイプ); ユーザー (Comments オブジェクト・タイプのみ)

構文



APIRET  APIENTRY    FLGDeleteInst( PSZ              pszFLGID,
                                  PFLGEXTCODE  pExtCode );

パラメーター

pszFLGID (PSZ) − 入力
削除するインスタンスに関する 16 文字のシステム生成された固有の ID を指 します。

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

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

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

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

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

使用方法

前提条件

pszFLGID 入力パラメーターに指定する値は、存在している値でなければな りません。

制約事項

オブジェクト管理タスクの実行を許可されていないユーザーの場合は、 ログオン・ユーザー ID の値が作成者の値と同じである Comments インスタンス のみを削除することができます。

関連するオブジェクト・インスタンスに関する規則

Attachment 関係に参加しているインスタンスの場合、

  • インスタンスが 1 つ以上の関連する Comments インスタンスをもつ場合は、 オブジェクト・インスタンス自体を削除すると、すべての Comments インスタンス、 および、すべてのこのような関係も削除されます。
  • インスタンスが Comments である場合は、インスタンスは Attachment 関係にあるので、 すべてこのような関係は、Comments オブジェクト・インスタンスそのものが削除されると、 同時に削除されます。

インスタンスの中に別のインスタンスが含まれている場合、

  • 包含する側のインスタンスを削除するときには、FLGDeleteInst を使って インスタンスを削除する前に、含まれているオブジェクト・インスタンス との間のすべての関係を削除しなければなりません。 包含する側のインスタンスと含まれている オブジェクト・インスタンスとのすべての関係 を削除するときには、代わりに FLGDeleteTree を 使うことができます (FLGDeleteTree参照)。
  • 別のオブジェクトに含まれているインスタンスの場合には、それを含む オブジェクトとの関係を削除せずにこのインスタンスを削除することができ ます。 相互の関係もインスタンス自体も、ともに自動的に削除されます。

Contact 関係にあるインスタンスの場合、

  • 何らかの Contact 関係にあるインスタンスの場合には、 オブジェクト・インスタンス自体を削除すると、これらのすべての関係も削除されます。
  • インスタンスが Contact 関係における Contact である場合には、 Contact オブジェクト・インスタンス自体を削除すると、 これらのすべての関係も削除されます。

リンク関係にあるインスタンスの場合、

何らかのリンク関係にあるインスタンスの場合には、 オブジェクト・インスタンス自体を削除すると、これらのすべての関係も削除されます。

非 Program オブジェクト・タイプに関連付けられた Programs インスタンスの場合、

Programs インスタンスをいつ削除しても、関連するオブジェクト・タイプは影響を受けません。

情報カタログ更新の制御

プログラムを可能な限り、情報カタログと同期化させるために、 FLGDeleteInst が正常に完了したあとで、呼び出しを FLGCommit (FLGCommit参照) に 組み込む必要があります。 FLGDeleteInst が正常に完了しない場合は、呼び出し を FLGRollback (FLGRollback参照) に組み込む必要があります。

図 56 は、FLGDeleteInst 呼び出しを出すために必要な C 言語コード を示しています。 このサンプル・コードは、オブジェクト・タイプを削除します。

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

 APIRET         rc;                   // Declare reason code
 UCHAR         pszFLGID[FLG_ID_LEN + 1];   // Unique instance identifier
 FLGEXTCODE     ExtCode = 0;                // Declare extended code
   .
   .  /* Get FLGID for object instance using FLGSearch. */
   .
 strcpy (pszFLGID,"0000330000001234");
 rc = FLGDeleteInst (pszFLGID,             // Instance ID
                       &ExtCode);
 


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