欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

OAF_开发系列21_实现OAF事物控制TransactionUnitHelper(案例)

发布时间:2025/3/19 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 OAF_开发系列21_实现OAF事物控制TransactionUnitHelper(案例) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

20150716 Created By BaoXinjian

一、摘要


TransactionUnitHelper用以创建一个被标记的Transaction,个人感觉类似PLSQL SavePoint用以Commit和Rollback特定交易的作用

主要用法

1. 交易开始时TransactionUnitHelper.startTransactionUnit,创建交易标志

2. 交易过程中TransactionUnitHelper.isTransactionUnitInProgress,判断交易是否正在处理中

3. 交易完成后TransactionUnitHelper.endTransactionUnit,结束该标志交易

 

二、锁定统计信息


1. CO中处理交易过程

public void processRequest(OAPageContext pageContext, OAWebBean webBean){super.processRequest(pageContext, webBean);
// 判断页面不是导航Back
if (!pageContext.isBackNavigationFired(false)){
// 创建交易标志TransactionUnitHelper.startTransactionUnit(pageContext,
"purProgUpdateTxn");if (!pageContext.isFormSubmission()){OAApplicationModule am = pageContext.getApplicationModule(webBean);am.invokeMethod("createEmployee", null);}}
else{
// 判断交易是否正在处理
if (!TransactionUnitHelper.isTransactionUnitInProgress(pageContext,"purProgUpdateTxn",true)){ // 提示交易正在处理中OADialogPage dialogPage = new OADialogPage(NAVIGATION_ERROR);pageContext.redirectToDialogPage(dialogPage);}}}

2. 回滚和提交

// 对交易进行回滚
if
(TransactionUnitHelper.isTransactionUnitInProgress(pageContext,"purProgUpdateTxn",false)) {am.rollbackPurProgram();TransactionUnitHelper.endTransactionUnit(pageContext,"purProgUpdateTxn"); }
// 对交易进行提交
else {am.commitPurProgram();TransactionUnitHelper.endTransactionUnit(pageContext,"purProgUpdateTxn"); }

 

Thanks and Regards


ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建 与50位技术专家面对面20年技术见证,附赠技术全景图

总结

以上是生活随笔为你收集整理的OAF_开发系列21_实现OAF事物控制TransactionUnitHelper(案例)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。