Oracle Form/PLSQL 在Form或PLSQL提交并发请求


好多Oracle EBS开发朋友都遇到过如何在Form或PLSQL提交一个并发请求?
实际上比较简单,可以参考供一下PLSQL

Declare
  v_req_id Number;
Begin
  fnd_global.apps_initialize(4394, 50593, 660, 0);
  dbms_output.enable(1000000);
 
  v_req_id := fnd_request.submit_request('ASN',
                                         'XYG_INV_OUTSOURCING_BALANCE',
                                         null,
                                         null,
                                         false,
                                         '103', 'CBC-CP', '2010-06-14', '2010-06-14', 'A',NULL);
  if v_req_id > 0 then
    dbms_output.put_line('Request Submitted');
  else
    dbms_output.put_line('Request Submitted Error');
  end if;
 
  /*v_req_id := fnd_request.submit_request('INV',
                                             'INCTCM',
                                             '',
                                             to_char(SYSDATE,
                                                     'YYYY/MM/DD HH24:MI:SS'),
                                             FALSE,
                                             chr(0));*/
  COMMIT;
  dbms_output.put_line(v_req_id);
End;

接下来对以上实例参数简单介绍一下:
1. fnd_global.apps_initialize(4394, 50593, 660, 0);是初始化应用环境,
procedure APPS_INITIALIZE(
    user_id in number,
    resp_id in number,
    resp_appl_id in number,
    security_group_id in number default 0,
    server_id in number default -1);
user_id:是Oracle EBS用户ID;
resp_id:是职责ID
resp_appl_id:是职责的应用产品ID
2.fnd_request.submit_request参数中:
INV为并发程序的应用程序的简称.
NCTCM为并发程的简称
后面的二参数为空
再后面的参数与并发程序注册的参数一一对应就行了.
注意:以上在PLSQL中调用是可以.要在Form中调用,可以不要初始化应用环境,fnd_request.submit_request中的参数,除了并发程序的参数输入完以后,后面的参数要用null值补完.

相关内容