首页 > 其他 > 详细

EBS OAF开发中如何在OAF页面调用form并传递参数给form

时间:2014-02-11 21:19:42      阅读:465      评论:0      收藏:0      [点我收藏+]

EBS OAF开发中如何在OAF页面调用form并传递参数给form

(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)

从OAF页面运行Oracle EBS forms

1.      在页面上添加一个链接和一个提交按钮,结构如下图.

bubuko.com,布布扣

2.      为链接Item设置属性如下图所示,这里主要要设置的属性是Destination URI,它的值为form:MSC:MFG_AND_DIST_SUPER_USER_APS:STANDARD:RCV_POTEST,

bubuko.com,布布扣

3.      上面URI的式样是
form:responsibilityApplicationShortName:responsibilityKey:securityGroupKey:functionName,

responsibilityApplicationShortName就是ApplicationDeveloper->Application->Register form界面上缩写名。

bubuko.com,布布扣

4.      responsibilityKey就是SystemAdminstrator->Security->Responsibility->Define上的ResponsibilityKey的值。

bubuko.com,布布扣

5.      securityGroupKey就是用户分配职责时指定的SecurityGroup所对应的key,可以在Application Developer->Application->Lookup->Security Groups上面对应的Name字段。

bubuko.com,布布扣

bubuko.com,布布扣

6.      部署运行页面,就可以打开对应的form,但是这里是不可以动态传参数的。

7.      要动态传参数给form,就需要用提交按钮而不是链接或者图片,设置上面添加的提交按钮的属性如下

bubuko.com,布布扣

8.      在processFormRequest方法中添加代码如下,可以根据页面上输入框上的值传入到相应form的parameter中去,然后form上可以根据这个值做相应的处理或者显示相应的值。

  public void processFormRequest(OAPageContextpageContext, OAWebBean webBean)

  {

     super.processFormRequest(pageContext,webBean);

    if(pageContext.getParameter("InvokeFormBtn") != null)

     {

       String destUrl ="form:MSC:MFG_AND_DIST_SUPER_USER_APS:STANDARD:RCV_POTEST";

       String param =pageContext.getParameter("ParamTextInput");

       if(param != null)

       {

         destUrl+=":TEST_PARAM=";

         destUrl+=param;

       }

      pageContext.forwardImmediatelyToForm(destUrl);

     }

}


这里Destination URI属性为使用下面格式的值(注意参数列表在每个”parameter=value”对之间使用空格隔开).

form:responsibilityApplicationShortName:responsibilityKey:securityGroupKey:functionName:param1=value1 param2=value2 param3=value3

注意:如果你想传递varchar2参数值并且其中包含空格,使用”\”把字符串值包括起来。比如,要传递给form的值如下面:

TXN_NUMBER=LT INVOICE 1

就要使用下面的替换:

TXN_NUMBER=\”LT INVOICE 1\”

9.      在对应的form上添加相应的parameter为TEST_PARAM,类型根据需要设置,并在要处理这个参数的trigger中添加相应的处理代码,这里是在BLOCK级别的WHEN-NEW-BLOCK触发器中根据这个参数的值初始化这个Block上一个字段的值。

bubuko.com,布布扣

IF:PARAMETER.TEST_PARAM IS NOT NULL THEN

 :FIND.TXNID := :PARAMETER.TEST_PARAM;

END IF;

10.  运行是OAF页面如下,如果点链接,会打开form但不传递任何参数;如果点提交按钮,就会把输入框中的值传递到form上,并显示在TXNID字段上。

bubuko.com,布布扣

11.  点击按钮后打开Form的效果如下

bubuko.com,布布扣

EBS OAF开发中如何在OAF页面调用form并传递参数给form

原文:http://blog.csdn.net/tavor/article/details/19043441

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!