伝票番号の自動採番の処理を、独立したトランザクション処理にシステムコンフィグ設定で切り替えられるようにしました。そうすることで、同じ番号シーケンスをしようして伝票を並列で登録できるようになります。
【技術情報】
伝票番号を自動採番する場合、伝票の新規登録と伝票番号の自動採番は同じトランザクション制御になります。つまり長時間のプロセスが実行されており最後までコミットされないようなケースにおいて、その間ずっと伝票番号を採番している「番号シーケンス」はロックされます。そのため同じ番号シーケンスを使用した伝票の新規登録や別プロセスの実行はできなくなります。
このカスタマイズは伝票の新規登録と伝票番号の採番を別トランザクションにすることで、ロックを回避して他の処理も並列でできるように意図しています。
システムコンフィグ設定
JP_DOCUMENTNO_TRX
- Y … 伝票の新規登録と伝票番号の自動採番処理は別トランザクションになります。
- N … 伝票の新規登録と伝票番号の自動採番処理は同じトランザクションになります。※iDempiereの標準的挙動と同じなります。
カスタマイズ情報
モディフィケーションクラス
- jpiere.base.plugin.org.adempiere.base.JPiereDocumentNoTrxValidator