標籤:des cWeb c style class blog
2014-06-01 BaoXinjian In Capgemini
一、摘要
因為使用者在調用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