Notes DB連携を試そう2

皆さん、こんにちは。


今日もDomino VoltのNotes DB連携についてです。
では、ビューエントリーのリストについて試してみました。
今回は、ビューエントリーの検索(画面上では「表示エントリーの検索」)を試します。

連携するNotes DBは前回と同じものを利用します。


今日のDomino Voltのアプリケーションのフォームはこんな感じにしてあります。
サンプルアプリケーション(表示エントリの検索)
サンプルアプリケーション(表示エントリの検索)

「表示エントリーの検索」なので、結果が1文書の場合と複数文書の場合が想定できます。
なので、それぞれのパターンを実装してみます。

まずは[商品の検索]ボタンにサービスを設定します。
ボタンのプロパティからonClickイベントを開きます。
onClickイベントの画面で「サービスの呼び出し」にチェックをつけて、「サービス構成の追加/編集」をクリックします。
サービスの選択(表示エントリーの検索)
サービスの選択(表示エントリーの検索)

「Domino データベースから選択」をクリック、データベースの選択では、「商品テーブルDB」を選択、サービスの操作では「表示エントリーの検索」を選択、
ビューの選択では「商品コード順」を選択します。

ここまで設定できたら[次へ]をクリックして、入力タブに移動します。
ソースの選択は画面上の「商品コード」フィールドを選択、ターゲットの選択は「検索値」を選択して、これらを関連付けます。
※ソート順やソート方向はビューに設定されているキー列(ソートされている列)とは違う列で検索したいときに使うものなので今回は設定しません。
入力タブの設定
入力タブの設定

設定したら[次へ]をクリックして出力タブに移動します。
ソースの選択が「表示エントリーの検索」の結果になります。
よく見ると、「最初のエントリー~」というのと「ビュー・エントリー」というのに分かれています。
商品コードはこのNotes DB内ではユニーク(な設定)にしてあるので、検索結果は必ず1件(もしくはゼロ件)になります。
そのため、ソースの選択では「最初のエントリー/商品名」「最初のエントリー/商品カテゴリ」を選択します。
ターゲットの選択では「商品名」「商品カテゴリ」を選択して、それぞれを関連付けます。
出力タブの設定
出力タブの設定

ここまで設定できたら[OK]をクリックして確定させます。
これで商品コードを入力して[商品の検索]ボタンをクリックしたら、該当する文書の商品名と商品カテゴリがセットされるはずです。

ということで実行結果を見てみましょう。
実行画面
実行画面

画面が表示されたら、「商品コード」に値を入力して[商品の検索]ボタンをクリックします。
その結果がこちら。
検索結果
検索結果

確かに検索できていることがわかりますね。


では、次に検索結果が複数件あることが考えられる場合の実装方法を見ていきます。
[検索結果が複数の場合]のボタンのonClickイベントにサービスを設定します。
サービスの設定
サービスの設定

ここの設定で先ほどと違うのは「ソートおよびフィルター処理する列の選択」「ソートの方向」に値をセットするところです。
ここでは「商品カテゴリ」列を選択して、ソートの方向は「Ascending」(昇順)を選択します。
※ちなみに、この列の選択ですが、Notes DB側のビュー列の設定で「列のヘッダーをクリック時にソート」のチェックがついていないと、その列は選択できません。要注意!
列のプロパティ
列のプロパティ

[次へ]をクリックして入力タブに移動します。
ここでは検索結果が複数になるようにしたいので、ソースの選択は「商品カテゴリ」を選択、ターゲットの選択は「検索値」にして、関連付けます。
入力タブの設定
入力タブの設定

[次へ]をクリックして出力タブに移動します。
ここでは、複数値の結果を返したいので、ソースの選択を「最初のエントリー~」ではなく、「ビュー・エントリー」の「商品コード」「商品名」にします。さらに、「ユニバーサル・ドキュメント ID」も表示したいので選択しておきます。
対して、ターゲットの選択は「商品コード」「商品名」「文書UNID」を選択してそれぞれを関連付けます。
出力タブの設定
出力タブの設定
※実際には、ソースとターゲットを一つずつ選択して、真ん中のリンクアイコンをクリックして関連付けます。

関連付けが完了したら[OK]をクリックして確定させます。
これでアプリケーションをデプロイして「起動」します。
商品カテゴリに「くだもの」と入力して[検索結果が複数の場合]ボタンをクリックすると・・・
検索結果が複数の場合
検索結果が複数の場合

はい。きちんと検索結果が複数文書、表に出力されているのがわかりますね。

今回はフラットなビューで試しましたがカテゴリ別のビューでも動くかと思います。
是非試してみてください。

「表示エントリーのリスト」と「表示エントリーの検索」の違いは、
「表示エントリーのリスト」はビューエントリーを表示するだけですが、「表示エントリーの検索」はその名の通り、ビューの検索が可能であることです。
※表示エントリーのリストでもカテゴリを絞り込むことは可能ですが、検索とは異なります。



次回は「表示カテゴリーのリスト」を試します。



それでは今日はこの辺で・・・



Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。
HCL Ambassadorの私が承ります!
お問い合わせはこちらから→Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

コメント