オープンソースのERP iDempiereでは、色々なデータをツリー上にして表示する機能があります。このツリー機能は、視覚的にデータ階層が確認できるのでとても便利なのですが、もともとがマスタを対象にしていた機能という事もあり、レコード件数が多くなった場合に、パフォーマンス的に好ましくない実装をしている箇所がありました。
そこで、ツリーに表示されるレコードの情報だけ取得するように一部修正しました。この修正が問題なく動作するようであれば、iDempiereコミュニティーにも修正を提案して行きたいと思います。
このカスタマイズは、iDempiereリポジトリにコミットされたため、JPiereのカスタマイズとしては2021年10月23日に削除しました。
カスタムツリーのカスタマイズ
ツリーに表示をするための情報を取得するために、対象テーブルのデータをいったんすべて取得していた処理を、表示するデータのみになるようにSQLを修正しました。
カスタマイズ情報
クラス
- org.compiere.model.MTree
カスタマイズ履歴
IDEMPIERE-5008:Performance improvement of "NF3.0 Tree On Any Table".
2021年10月20日iDempiereコミュニティーに改善提案し、翌日の10月21日にコミットされました。