検索定義
iDempiereの画面上部のメニューボタンの左側にある"検索フィールド"は、メニューの検索だけでなく、目的のウィンドウを素早く表示したり、目的のデータを検索する事にも使用する事ができます。ここでは、その検索フィールドをカスタマイズする"検索定義"について調査及び研究し、その成果をまとめています。
検索フィールドの使い方
メニュー検索
メニュー検索は、メニューツリーに割り当てられているメニューを検索する事ができます。メニューツリーに多くのメニューが割り当てられているシステム管理者にとってはとても便利な機能です。
トランザクションコードによるウィンドウへのショートカット
トランザクションコードを定義し、ウィンドウを結び付けておく事により、検索フィールドにそのトランザクションを入力し、Enterキーを押すと、結びついているウィンドウを表示する事ができます。
そして、トランザクションコードに続き、検索条件を指定してウィンドウを開いた時に表示されるデータを予め絞り込む事もできます。例えば取引先マスタウィンドウに"BP"というトランザクションコードが割り当てられているとして、検索フィールドに"/bp 得意先"と入力する得意先という名称の取引先マスタを絞り込んでウィンドウに表示する事ができます。
データ検索
検索フィールドに入力した値でデータを検索する事ができます。
検索定義ウィンドウ
◆トランザクションコード
"トランザクションコードによるウィンドウへのショートカット"を定義する場合、そのトランザクションコードとしたい値を入力します。"データ検索"を定義する場合には、トランザクションコードは入力は不要です。
◆検索タイプ
次の2つから選択します。
- Query…選択するとクエリフィールドが表示されます。データ検索を細かく定義したい場合に使用します。
- Table…選択するとカラムフィールドが表示されます。
◆デーブル
検索対象となるテーブルを選択します。
◆クエリ
検索タイプに"Query"を選択した際に表示されるフィールドでSQLで記述します。例えば、iDempiereに初期設定されている、取引先マスタウィンドウにトランザクションコードを定義している設定では次のように記述されています。
SELECT b.C_BPartner_ID FROM C_BPartner b
INNER JOIN AD_User u ON (b.C_BPartner_ID = u.C_BPartner_ID)
WHERE (UPPER(b.name) LIKE UPPER(?) OR UPPER(u.name) LIKE UPPER(?))
AND b.AD_Client_ID=@#AD_Client_ID@
◆カラム
検索タイプに"Table"を選択した際に表示されるフィールドで、データを検索する際に検索フィールドに入力された値とマッチングさせるカラムを選択します。選択できるカラムはリファレンスが次のものにダイナミックバリデーションで制限さされています。
String / Integer / ID / Text / Number / Text Long
◆データタイプ
データを検索する際に、検索フィールドに入力された値とマッチングさせるカラムの型を次の2つから選択します。
- String
- Integer
◆ウィンドウ
検索フィールドにトランザクションコードを入力し、Enterキーを押した際に、表示するウィンドウを設定します。
◆ウィンドウ(購買管理)
検索フィールドにトランザクションコードを入力し、Enterキーを押した際に、表示するウィンドウを設定します。