注册 登录
壹佰网|ERP100 - 企业信息化知识门户 返回首页

的个人空间 https://www.erp100.com/?0 [收藏] [复制] [RSS]

日志

客户化AP子模块iExpenses(R11)

已有 2054 次阅读2007/11/15 21:55

对比一下R11和R12,iExpenses还是有些区别的,R11的解决方案如下:
     此方案的主要思路是,在多步骤创建的每个页面上,处理“下一页”这个按钮的事情,及时保存当前页面的信息

1、对应于创建费用报表的第一步“一般信息”的页面为GeneralInfomationPG,对应的顶层CO为EntryFlowPageCO(oracle.apps.ap.oie.entry.webui.EntryFlowPageCO)
2、对应于创建费用报表的第四步“现金和其他费用”的页面为CashAndOtherLinesPG,对应的顶层CO为EntryFlowPageCO
3、在JDeveloper中继承EntryFlowPageCO,派生新类BaiduEntryFlowPageCO(baidu.oracle.apps.ap.oie.entry.webui.BaiduEntryFlowPageCO)
4、在新类中的processFormRequest方法中增加如下代码:

         import oracle.apps.ap.oie.webui.NavigationUtility;
         
         
         
         ...
         super.processFormRequest(pageContext, webBean);
   String s = NavigationUtility.getCurrentPage(oapagecontext);
   OAApplicationModule aapplicationmodule = oapagecontext.getRootApplicationModule();
         
         
         if(NavigationUtility.isNextClicked(oapagecontext))
            {
                if(s.equals("CashAndOtherLinesPG"))
                    ((WebExpensesAMImpl)oaapplicationmodule).updateForSaveOrDuplicate(Boolean.TRUE, Boolean.TRUE);
                oapagecontext.getRootApplicationModule().invokeMethod("saveExpenseReportFromWeb");
                MessageToken amessagetoken[] = {
                    new MessageToken("INVOICENUM", (String)oaapplicationmodule.invokeMethod("getInvoiceNum")), new MessageToken("REPORTTOTAL", (String)oaapplicationmodule.invokeMethod("getReportTotal"))
                };
                OAException oaexception2 = new OAException("SQLAP", "OIE_EXP_REPORT_SAVE", amessagetoken, (byte)2, null);
                oaexception2.setApplicationModule(oaapplicationmodule);
                oapagecontext.putDialogMessage(oaexception2);
                oapagecontext.putParameter("ButtonLink", "ValidateForSave");
            }
   
   ...
   
5、修改GeneralInfomationPG,设置ID为GeneralInformationPG的Region的Controll Class为baidu.oracle.apps.ap.oie.entry.webui.BaiduEntryFlowPageCO
6、修改CashAndOtherLinesPG,设置ID为CashAndOtherLinesPG的Region的Controll Class为baidu.oracle.apps.ap.oie.entry.webui.BaiduEntryFlowPageCO
7、import这二个页面
8、FTP新的CO到JAVA_TOP
9、重启Appache

此方案在用户点击“下一页”时,会自动保存当前页的内容,这样就可以避免填写的费用数据因为长时间没有操作而造成数据丢失。

评论 (0 个评论)

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 00:08 , Processed in 0.011859 second(s), 12 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部