オープンソースのERP iDempiereの検索ウィンドウは、他のCompiere Distribution(主にCompiereとADempiere)と比べて、大きく進化しています。パラメータ設定で独自の検索ウィンドウを作成する事ができるようになっており、とても柔軟で多機能な仕組が提供されています。ここでは検索ウィンドウのカスタマイズすべては紹介しきれませんので、基本的な事項について解説したいと思います。
【補足説明】iDempiere1.0の検索ウィンドウの特徴
- Javaのコーディングなしで(パラメータ設定だけで)、検索ウィンドウをどのテーブルのデータに対しても定義できるようになりました。
- 業務メニューツリーより検索ウィンドウを開く事ができるようになりました。
- 作成した検索ウィンドウを使用するフィールドを指定する事ができるようになりました(特定のフィールド(カラム)に対して特定の検索ウィンドウをリファレンスの設定を通して割り当てる事ができるようになりました)。
ページ目次
検索ウィンドウタブの主な設定項目説明
◆名称(Name)
検索ウィンドウの名称を入力します。
◆テーブル(Table)
データを検索する対象となるテーブルを選択します。
◆SQL FROM句(Sql From)
SQLのFROM句を記述する事ができます。INNER JOINやOUTER JOINも使用する事ができます。その際には、各々のテーブルにエイリアスをつける事をおススメします。
◆SQL WHERE句(Sql Where)
SQLのWHERE句を記述する事ができます。あらかじめ検索するデータを絞り込んでおく事ができます。
◆SQL ORDER BY句(Sql ORDER BY)
SQLのORDER BY句を記述し、検索結果の並び順を制御する事ができます。
◆その他のSQL文(Other SQL Clause)
Group BYなどを追加記述する事ができます。
◆Distinct(Distinct)
Distinctを使用する場合にはONにします。
◆デフォルト(Default)
テーブル毎に1つデフォルトとなる検索ウィンドウを定義しておくことができます。
◆有効(Valid)
検索ウィンドウの設定が正しいく行われているかどうか有効性を確認し、有効であればONになります。
◆ヘルプコンテキスト(Context Help)
作成中
◆バリデート(Validate)
作成中
検索ウィンドウタブの設定例
検索ウィンドウカラムタブの主な設定項目説明
◆エレメント(Element)
エレメントを選択します。
◆DBカラム名称(DB Column Name)
DBのカラム名称。
◆シーケンスNo(Sequence)
検索結果表示の並び順を制御します。検索カラムシーケンスが"0"の場合は、検索カラムの並び順にも使用されます。
◆SQL SELECT句(Sql SELECT)
検索クエリーのSELECT句を完成させるのに使用されます。
◆名称(Name)
検索ウィンドウカラムの名称を入力します。
◆表示(Displayed)
このフラグがONの場合は、その検索ウィンドウカラムは検索結果に表示されます。
◆クエリ検索条件(Query Criteria)
このフラグをONにすると、その検索ウィンドウカラムは、検索条件として使用されます。
◆エレメント定義利用(Centrally maintained)
エレメントに定義されている翻訳を使用する場合にはONにします。独自の翻訳を適用したい場合は、OFFにして、翻訳タブに独自の翻訳を定義します。
◆識別子(Identifier)
フィールドに値を直接入力した際に、このフラグがONになっているカラムの情報とマッチングさせて検索する事ができます。例えば、品目マスタの検索で「検索キー(Search key)」の識別子をONにしておくと、フィールドに直接「検索キー(Search key)」の値を入力しデータ登録する事ができます。
【ポイント】識別子(identifier)の活用のヒント
この機能が個人的には、iDempiere1.0の検索ウィンドウ(Info Window)をすばらしく使い勝手の良い機能にしてくれていると思います。この機能のおかげで、先の品目マスタの例で言えば「検索キー(Search key)」だけでなく、設定によっては「SKU」や「JAN/UPC/EAN」などのコードもフィールドに直接入力し品目マスタを検索&マッチングする事ができます。この機能を上手に活用する事によって使い勝手だけではなく、運用方法もより良く改善できるのではないかと思います。
◆検索カラムシーケンスNo(Selection Column Sequence)
「クエリ検索条件(Query Criteria)」フラグがONの時に表示されるフィールドで、検索ウィンドウに表示される検索条件の項目の並び順を制御します。
◆表示ロジック(Display Logic)
「表示(Displayed)」フラグがONの場合か「クエリ検索条件(Query Criteria)」フラグがONの場合に表示されるフィールドで、検索条件や検索結果の項目が表示される条件を設定する事ができます。
◆クエリ条件オペレーター(Query Operator)
「クエリ検索条件(Query Criteria)」フラグがONの時に表示されるフィールドで、検索条件に入力された値をどのように処理するのか選択する事ができます。
◆クエリDB関数(Query Function)
「クエリ検索条件(Query Criteria)」フラグがONの時に表示されるフィールドで、検索条件となるカラムには、オプションとして関数を定義する事ができます。
◆リファレンス(Reference)
リファレンスを設定して検索条件の入力方法や検索結果の表示方法を定義します。
◆リファレンスキー(Reference Key)
リファレンス(Display Type)が”List(17)”、”Table(18)”、”Search(30)”、”Button(28)”との時に表示されるフィールドで、リファレンスキーを指定して検索条件の値を制限する事ができます。
◆ダイナミックバリデーション(Dynamic Validation)
リファレンス(Display Type)が”List(17)”、”Table(18)”、”Table Direct(19)”、”Search(30)”、”Button(28)”、”Payment(200012)”との時に表示されるフィールドで、ダイナミックバリデーションを設定する事ができます。
検索ウィンドウカラムタブの設定例
テーブルとカラムウィンドウのカラムタブに設定するリファレンスを"Search"にして、「リファレンスキー(Reference Key)」の設定を通して、カラムの情報入力に使用する検索ウィンドウを指定する事ができます。
メニューツリーの中に、検索ウィンドウを組み込むことができます。