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

简介: 20150716 Created By BaoXinjian 一、摘要 TransactionUnitHelper用以创建一个被标记的Transaction,个人感觉类似PLSQL SavePoint用以Commit和Rollback特定交易的作用 主要用法 1.

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 - 鲍新建
相关文章
|
XML 前端开发 Java
从产品展示页面谈谈Hybris的特有概念和设计结构
从产品展示页面谈谈Hybris的特有概念和设计结构
253 0
从产品展示页面谈谈Hybris的特有概念和设计结构
|
uml
<十八>UML核心视图动态视图之协作图
一:协作图 --->描述了对象间交互的一种模式。它通过对象之间的连接和它们相互发送的消息来显示参与交互的对象 --->协作图可以有对象和主角实例,以及描述它们之间关系和交互的连接和消息。通过说明对象间如何通过相互发送消息来实现通信,协作图描述了参与对象中发生的情况。
927 0
|
数据安全/隐私保护 JavaScript 数据库
|
Oracle 关系型数据库
OAF_开发系列20_实现OAF打印功能
ddddd   添加一个页面级的button区域:pagebuttonBar,在之下添加button item ,这里主要设置的参数有:采用默认的oaf的打印按钮的id名称: IcxPrintablePageButton,设置属性集为:/oracle/apps/fnd/attributesets...
1172 0
|
测试技术
OAF_开发系列15_实现OAF组件重用和继承(案例)
20150717 Created By BaoXinjian 一、摘要 组件的重用和继承 如果你想包含共享对象到你的页面中,你可以简单继承它们。 比如,在OAFToolBox Sample Library/Tutorial中,我们创建了一个通用区域(名为OrganizationRN),因此同样的内容不需要编码就可以包含在多个页面中。
929 0
|
关系型数据库 Oracle
OAF_开发系列14_实现OAF代码动态新增控件
dERP技术讨论群: 288307890 技术交流,技术讨论,欢迎加入 Technology Blog Created By Oracle ERP - 鲍新建
1076 0
|
SQL Oracle 关系型数据库
OAF_开发系列10_实现OAF动态LOV设定
20150712 Created By BaoXinjian 一、摘要 要在OAF中动态创建LOV的功能是很复杂的一件事,本文所讲述的动态LOV创建场合用于事先不能知道页面上会有多少个LOV,而且LOV所使用的SQL查询,也是由用户交互而获得的。
915 0
|
Web App开发
OAF_开发系列09_实现OAF预提取LOV设定(案例)
20150712 Created By BaoXinjian 一、摘要 1. 预取LOV(Look Ahead LOV) (1). 预取LOV最大的特点就是再也不需要每次都要烦人的弹出一个窗口让人选择了。
1142 0