ここでは、フックの作成に使用できる基本的な構成要素について説明します。
それぞれの API 呼び出しを最初に VBScript 形式で、次に Perl 形式で示します。
構文として <object.><method> のフォーマットを使用します。
Perl では、現在の Entity オブジェクトと Session オブジェクトを entity と session (小文字) として事前定義しています。VBScript では、現在の Entity オブジェクトが引き継がれるため、メソッドを呼び出すときにこのオブジェクトを明示的に指定する必要はありません。
詳細については、『IBM Rational ClearQuest API リファレンス』を参照してください。
- API 呼び出し (VBScript/Perl)
- 関数
- [entity.]GetSession $entity->GetSession
- ほかの多数の API を呼び出すために必要なセッションを取得します。
- session.OutputDebugString $session->OutputDebugString
- フック コードまたは外部アプリケーションのデバッグ時に使用できるデバッグ ストリーム情報を出力します。
- session.GetEntity $session->GetEntity
- データベースからレコードを取得します。
- session.EditEntity $session->EditEntity
- データベースから取得したレコードを編集します。
- [entity.]SetFieldValue $entity->SetFieldValue
- 値をフィールドに割り当てます。
- [entity.]Validate $entity->Validate
- データベースにレコードを保存する前に、
レコード内のデータが有効かどうかを確認します。
- [entity.]Commit $entity->Commit
- レコードとレコードに対するすべての編集内容をデータベースにコミットします。
- [entity.]Revert $entity->Revert
- 変更を取り消します。
確認エラーが発生してレコードがコミットされていない場合には、
このメソッドを使用すると便利です。
- [entity.]GetFieldValue $entity->GetFieldValue
- 指定したフィールドのフィールド情報オブジェクトを取得します。
- FieldInfo.GetValue $FieldInfo->GetValue
- フィールドの値を取得します。
- session.BuildQuery $session->BuildQuery
- クエリーを作成します。
- QueryDef.BuildField $QueryDef->BuildField
- クエリー結果セットに特定のフィールドを含めます。
- QueryDef.BuildFilterOperator QueryFilterNode.BuildFilterOperator $QueryDef->BuildFilterOperator
$QueryFilterNode->BuildFilter Operator
- 「等しい」または「より大きい」など、クエリーのフィルタ演算子を作成します。
- QueryFilterNode.BuildFilter $QueryFilterNode->BuildFilter
- 複雑なクエリーのサポートを可能にします。
- session.BuildResultSet $session->BuildResultSet
- クエリーの実行に必要な ResultSet オブジェクトを作成します。
- ResultSet.Execute $ResultSet->Execute
- 現在の ResultSet オブジェクトを使用してクエリーを実行します。
- ResultSet.MoveNext $ResultSet->MoveNext
- データ セット内の次のレコードにカーソルを移動します。
- ResultSet.GetColumnValue $ResultSet->GetColumnValue
- 現在行で、指定した列の値を取得します。
- session.GetUserLoginName $session->GetUserLoginName
- ユーザーのログイン ID を取得します。
- entity.Revert $entity->Revert
- Entity オブジェクトに対して行われたすべての変更を破棄します。
フックの内部から現在のアクションを中断する場合には、Revert API を使用しないでください。
この API は、フックまたはスクリプト内で明示的に開始されたアクションを元に戻す場合にだけ使用できます。
現在のアクションを中断する必要がある場合は、スクリプト言語の例外メカニズムを使用して例外を
スローさせるか、Validation アクション フックから「false」を返させます。