ディレクトリ抽象化レイヤで定義されたクエリオブジェクトでは、LDAP検索を事前定義して、その後ワークフローフォームからこの検索を実行できます。この項では、クエリを定義し、フォームでそれを使用する方法について説明します。
特定の従業員にテレフォンカードを配布したいと考えており、自宅で勤務し、その自宅がローカルオフィスの市外局番外にある従業員だけに配布しようと考えているとします。従業員が次の作業を行うワークフローフォームを作成します。
カードを受け取る資格があることを確認する。
資格がある場合、カードの要求を送信する。
フォームでは、ユーザは、自身のローカルオフィスの市外局番を入力し、その市外局番に基づいて、カードを受ける資格があるユーザのリストを確認できます。ランタイム時のフォームを図 6-33に示します。
図 6-33 テレフォンカード要求フォームのサンプル
[Candidates Picklist]コントロールのデータは、図 6-34に示すように定義されたクエリの結果から取り込まれます。
図 6-34 テレフォンカードクエリの定義
クエリは、ユーザが入力した市外局番の単一の入力パラメータ()を取得します。クエリは続いて、ユーザエンティティ(idmsample-alhコンテナ内)を検索し、電話番号がに入力した同じ値で始まらないユーザを返します。
フォームには、という入力フィールドがあります。これは、ユーザがローカルオフィスの市外局番を入力するテキストフィールドです。[OfficeAreaCode]のプロパティを図 6-35に示します。
図 6-35 [OfficeAreaCode]のプロパティ
[テキスト]コントロールがイベントを定義することに注意してください。イベントは、ユーザが[テキスト]コントロールからタブで移動すると開始します。イベントは、図 6-36に示すようにカスタムイベントを開始します。
図 6-36 OnChangeイベントのプロパティ
イベントは、[ Picklist]コントロールでプロパティとして定義されます。
図 6-37 [Candidates PickList]のプロパティ
イベントが開始されると、イベントは、メソッド(「図 6-38」を参照)をコールするアクション式を実行します。このメソッドは、[ PickList]コントロールの値に、(図 6-34で定義)というクエリの結果を取り込みます。テキストフィールドの値をクエリの入力パラメータとして渡します。
図 6-38 GetCandidatesイベント