EBS 个性化示例5:点击菜单,调用请求

前提:PLSQL或Form中提交请求
https://blog.csdn.net/weixin_42683386/article/details/107950708

方法1:FORMS_DDL
Step1: 用一个特定的PO号在PL\SQL中测试能否提交请求打印采购合同

Declare
    l_layout_result BOOLEAN;
    v_request_id    number;
begin
    FND_GLOBAL.APPS_INITIALIZE(1326,    --user_id, ACENOL
                               50657,   --resp_id, HGZ All Resp
                               700);    --resp_appl_id, Manufacturing

    l_layout_result := fnd_request.add_layout('XXE',         --template_appl_name
                                              'JCNPOVATTAX', --template_code:XML,not executable
                                              'en',          --template_language
                                              'US',          --template_territory
                                              'PDF');        --output format  

    v_request_id := FND_request.SUBMIT_request('XXE',         --application
                                               'JCNPOVATTAX', --program:HUH采购合同
                                               NULL, 
                                               NULL, 
                                               false, 
                                               2100010876,  --PO
                                               2100010876,  
                                               NULL,
                                               82,          --Org:HGZ
                                               CHR(0));                                                                                                                           
Commit;
END;

成功之后再部署到个性化:在PO界面增加”HUH采购合同”菜单选项,MENU1至15都是在 Tools 菜单下
在这里插入图片描述在这里插入图片描述
效果:
在这里插入图片描述
Step3: 添加个性化,点击菜单调用请求“HUH采购合同”。 在这里插入图片描述
Builtin Type Argumetn: 将Step1中的语句去掉初始化部分(FORM中已经初始化了)和注释
在这里插入图片描述

='declare
    l_layout_result BOOLEAN;
    v_request_id number;
begin  
    l_layout_result := fnd_request.add_layout(' || '''XXE''' || ',' || '''JCNPOVATTAX''' || ',' || '''en''' || ',' || '''US''' || ',' || '''PDF''' || ');' || '
    v_request_id := FND_request.SUBMIT_request(' || '''XXE''' || ',' || '''JCNPOVATTAX''' || ',NULL, NULL,false,' || :po_headers.segment1 || ',' || :po_headers.segment1 || ',NULL,' ||:PO_HEADERS.ORG_ID || ',CHR(0));'|| '
commit; 
end;'

方法2:Execute a Procedure
将方法1 的语句封装成一个带参Procedure, 在PL\SQL测试成功打印后去掉初始化语句。

CREATE OR REPLACE PROCEDURE SUBMIT_REQUEST_B 
( v_po_from   IN  VARCHAR2,     --input name, output id
  v_po_to     IN  VARCHAR2,
  v_org_id    IN  NUMBER ) 
IS
    v_request_id number;
    l_layout_result BOOLEAN;
BEGIN
    FND_GLOBAL.APPS_INITIALIZE(1326,    --user_id, A  CENOL
                               50657,   --resp_id, HGZ All Resp
                               700);    --resp_appl_id, Manufacturing
                               
    l_layout_result := fnd_request.add_layout('XXE',         --template_appl_name
                                              'JCNPOVATTAX', --template_code:XML,not executable
                                              'en',          --template_language
                                              'US',          --template_territory
                                              'PDF');        --output format 

    v_request_id := FND_request.SUBMIT_request('XXE',         --application
                                               'JCNPOVATTAX', --program
                                               NULL, 
                                               NULL, 
                                               false, 
                                               v_po_from,  --PO
                                               v_PO_to,  
                                               NULL,
                                               v_org_id,          --Org:HGZ
                                               CHR(0));                                      
commit;

dbms_output.put_line('v_request_id:'||v_request_id);

  EXCEPTION
    WHEN OTHERS THEN
      dbms_output.put_line(SQLERRM);
END;

其他步骤和方法1一样,只是将Builtin Type由FORMS_DDL改为Execute a Procedure.
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值