PS_Form个性化复杂需求新增Menu并调用Request(案例)

2014-06-01 Created By BaoXinjian

一、摘要


因为用户在调用Request时需输入很多参数,经过很多Form页面,如果想打印采购订单,发票,日记账时,

客户会要求在From中新增一个按钮,客户只需按这个按钮即可将采购订单进行输出,系统会自动调取采购订单页面上的数据,无需用户输入,实行自动化,增加用户交互性

一般这种需求有两种实现方式

  • 通过custom.pll,用代码进行定制
  • 通过form personalization,用设定进行定制

在调用程式时,一般会用到fnd_request api

  • fnd_request.add_layout: 添加打印文件
  • fnd_request.submit_request: 添加打印数据的并发程式

 

二、案例


需求:客户要求新增一个菜单项,调用打印Order的功能

1. 如何实现分析:Form中新建Menu以运行Request

    (1). 建立Global Parameter<xx_request_id>,并初始化;

    (2). 建立Menu;

    (3). 建立Menu Action, 并调用fnd_request.submit和fnd_request.add_layout;

    (4). 对xx_request_id赋值;

    (5). 建立Message,显示执行成功的信息和request_id;

 

2. 具体操作步骤

Step1. 建立Global Parameter<xx_request_id>,并初始化;

    

Step2. 建立Menu;

       

Step3. 建立Menu Action, 并调用fnd_request.submit和fnd_request.add_layout;

          

 1     ='DECLARE
 2       l_layout BOOLEAN;
 3       l_req_id NUMBER;
 4     BEGIN
 5       DELETE FROM xxont.xxont_4716_order_conf_gt;
 6       l_layout := fnd_request.add_layout( ' || '''XXONT''' ||
 7                                     ',' || '''XXONT0701''' ||
 8                                     ',' || 'NULL' ||
 9                                     ',' || 'NULL' ||
10                                     ',' || '''PDF''' || ');
11       l_req_id := fnd_request.submit_request( ' || '''XXONT''' ||
12                                         ',' || '''XXONT0701''' ||
13                                         ',' || '''''' ||
14                                         ',' || '''''' ||
15                                         ',FALSE' ||
16                                         ',' || ${item.ORDER.HEADER_ID.value} ||
17                                         ',chr(0));
18       COMMIT;
19       INSERT INTO xxont.xxont_4716_order_conf_gt(request_id) VALUES(l_req_id);
20     END'

Step4. 对xx_request_id赋值;

     

Step5. 建立Message,显示执行成功的信息和request_id;

          

 

3. 新知识点


(1). Personalization 控制的level,其function和form的区别

(2). 控制menu出现的block,如是多个block,可用逗号间隔;

(3). fnd_request 中的add_layout 和 submit的应用

 

Thanks and Regards

posted on 2014-06-01 12:44  东方瀚海  阅读(475)  评论(0编辑  收藏  举报