【iDempiere Lab】検索ウィンドウに割り当てたプロセスからジャスパーレポートの出力を確認する

検索ウィンドウに割り当てたプロセスからジャスパーレポートが出力できるかどうか、調査及び研究し、その成果をまとめています。

ジャスパーレポートの設定

iDempiereの検索ウィンドウで選択されているレコードのIDは、T_SELECTIONテーブルの、T_SELECTION_IDカラムに保存されています。iDempiereからはプロセスID(AD_PInstance_ID)がジャスパーレポートへ渡されますので、ジャスパーレポートのSQLでは、AD_PInstance_IDを使用して、検索ウィンドウで選択されているレコードIDを取得します。

SQLサンプル

SELECT * From JP_ReferenceTest WHERE JP_ReferenceTest_ID IN

(SELECT T_Selection_ID FROM T_Selection WHERE AD_PInstance_ID = $P{AD_PINSTANCE_ID} )

プロセスのクラスが無いケース

まずは、プロセス無しの単純なジャスパーレポートだけで試してみます。

【JPIERE-0084】リファレンスの検証画面の検索ウィンドウにジャスパーレポートのプロセスを割り当てて検証します。

◆アプリケーション辞書の検索ウィンドウ設定

アプリケーション辞書の検索ウィンドウ設定
アプリケーション辞書の検索ウィンドウ設定

◆すべてのリファレンスがあるテスト用検索ウィンドウ

検証結果 - ちゃんとジャスパーレポートは出力される!!

プロセスのクラスがあるケース

次に、プロセスのクラスがあるケースで試してみます。

【JPIERE-0084】リファレンスの検証画面の検索ウィンドウにジャスパーレポートのプロセスを割り当てて検証します。

レポートとプロセス設定

検証結果 - ちゃんとプロセスが実行された後で、ジャスパーレポートは出力される!!

ちゃんとプロセスが実行された後で、ジャスパーレポートが出力されました!!

プロセスが呼び出されて、プロセスの処理が実行されて、コミットされた後で、ジャスパーレポートが表示されるようになっています。