由于一些安全策略,EBS的一些视图在后台会查询不到数据。
在11i中我们通常会运行如下代码之后,来查询View的数据:
fnd_client_info.set_org_context(Org_id);
而在R12中,应该是:
mo_global.set_policy_context('S',Org_id) -- 前面的参数具体用法可参考一些资料。
在11i,R12中,调用标准的请购单导入程序:
declare
l_request_id number;
v_a varchar2(3000);
v_b varchar2(3000);
v_count number;
begin
mo_global.set_policy_context('S',Org_Id);
fnd_request.set_org_id(Org_Id); --Set Operating unit 11i中不用,R12中必须添加,要不会报No data found的错误。
l_request_id := Fnd_Request.Submit_Request('PO',
'REQIMPORT',
null,
null,
false,
'TEST',
'',
'VENDOR',--'All',
'N',
'N',--'N',
'N'--'N'
,chr(0)
);
commit;
dbms_output.put_line(l_request_id);
dbms_output.put_line(v_count);
end;
Oe_Order_Pub的用法也跟11i有些区别,都是由于安全策略的不一样引起的,这些在调用的时候也注意一下。