本节教程将继续上节教程新增之后,继续介绍更新功能的开发。实际上来说,更新的处理方式及更新页面基本与创建页面类似,而且处理逻辑也基本一致,主要的区别就是更新的时候需要初始化,查询某个已有的记录,以便于进行数据的修改。
由于更新的页面和逻辑基本与创建一致,此处为了方便,直接拷贝之前的创建页面CreatePG,并重名为“UpdatePG”,同时,拷贝之前的创建CreateCO,重命名为UpdateCO。
1.AM业务逻辑
添加更新初始化方法
更新的时候需要更具主键信息查询某个已经存在的记录,以便于更新页面进行引用,进行相关的数据修改。
/** * 更新初始化方法 * @param empNum 员工编号 */ public void initUpdate(StringempNum) { EmpVOImpl vo =(EmpVOImpl)this.getEmpVO2(); vo.setWhereClause(null); vo.setWhereClause("EMPNO = " + empNum); vo.executeQuery(); }
该方法主要的目的就是根据员工编号参数,查询某个员工的数据信息,便于进行数据修改操作。
2.CO业务逻辑
调用更新初始化方法
在更新UpdateCO中的processRequest方法中添加一下代码:
OAApplicationModule am =pageContext.getApplicationModule(webBean); //此处以之前新建的2017号员工为例,后期为何查询界面结合起来通过参数传递的方式使用 //初始化VO am.invokeMethod("initUpdate",newSerializable[]{"2017"});
processFormRequest中的代码与之前新增中的代码一样即可。
修改页面属性
修改UpdatePG对应的属性信息,包括页面标题、引用CO、AM等等信息:
修改组件属性
由于是修改操作,因此记录的主键信息是不能变的,此处修改员工编号组件类型为messageStyleText类型(以后熟悉之后,可以直接修改为formValue类型)
运行页面
可以看到,编号为2017员工的信息正常展示出来,而且员工编号信息不能修改,此时便可以进行相关的数据修改了,我们修改员工姓名由“测试运功”修改为“测试更新”,保存之后再次运行更新页面,可以看到数据更新成功了:
到此更新功能基本就完成了。
附录
a. 本系列教程为个人原创,基于实际工作中的使用情况及个人理解,以及参考Jdeveloper开发工具自带的参考文档所得,仅供学习交流之用,有不足之处还望批评指正,希望共同提高
b. 本系列教程的EBS及软件平台环境信息如下:
EBS版本:12.1
数据库:Oracle Database 11g
Jdeveloper:Oracle Jdeveloper10g
c. 参考文档:D:\EBSTools\jdevelopment\jdevdoc(工具自带)