EBS OAF 请求等待界面

1 篇文章 0 订阅


前言

有时候我们会遇到这样的情况,点了按钮之后,在后台运行的代码会调用数据库的程序包,提交请求或者API,导致前台的页面需要等待。但是这个时候,前台页面的按钮,输入框等是可以继续操作的。


场景:

如上图,点击提交之后,后台调用采购接收接口程序,生成采购接收事务处理。但是点击了提交之后,并不是马上能操作完成的。且在界面上输入框和按钮还能继续操作。

那么,如何避免客户重复点击提交或者进行别的操作呢?

此处我们用到了ProcessingCO:

一、创建ProcessingCO

  正常情况下,一个PG一个CO  PG的操作,CO相应作出相应的逻辑操作,如调用AM。

  1. 先在webui同路径下新建一个CO:

        2. 我们将原先CO中调用AM或处理逻辑的代码替换成

if submitbtton!=null{
 //新建的CO的路径
OAProcessingPage page =
          new OAProcessingPage("cux30.oracle.apps.cux.po.storage.webui.CUX30PORcvStoLinesProcessCO");
 //AM的路径     
page.setApplicationModuleDefName("cux30.oracle.apps.cux.po.storage.server.CUX30PORcvStorageIndexAM");
        //  page.setRetainAMValue(false);
     page.setConciseMessage("This Will Submit Invoice Program");
     page.setDetailedMessage("This Will Submit Concurrent Program to create Invoice in Oracle for the selected Request");
     page.setProcessName("Concurrent Program is Runing! please do not close this window");
     pageContext.putTransactionValue("reqId", reqId); // for parameters in ProcessCO
     
pageContext.forwardToProcessingPage(page);
 
}

二、将原先CO中的逻辑放到新的xxProcessCO中

public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
  {
    super.processFormRequest(pageContext, webBean);
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
     Number reqId =  (Number)pageContext.getTransactionValue("reqId");
     String sreqId = reqId.toString();
 
    Serializable[] parameters = { sreqId };
  
    int concreqid = ((Integer)am.invokeMethod("submitCPRequest", parameters)).intValue(); // submitting the concurrent request
    pageContext.putSessionValue("concreqid",concreqid);
 //自己需要的页面跳转
    pageContext.forwardImmediately("OA.jsp?page=/oracle/apps/xxdm/ecrc/webui/xxMainPG",
                 null,
                 OAWebBeanConstants.KEEP_MENU_CONTEXT,
                 null,
                 null,
                 true,
                 OAWebBeanConstants.ADD_BREAD_CRUMB_YES);
   
  }

运行效果如下:

参考文档:

https://community.oracle.com/message/13563102?tstart=0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仨告

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值