jtf_rs_defresources_srp_v引起的问题 同义词无数据 基表有数据


今天搞了整一个上午。R12 Demo VIS中查询JTF.JTF_RS_SALESREPS有数据,但是查APPS.JTF_RS_SALESREPS_MO_V死活没数据。

看了下object属性:
SELECT *
FROM all_objects
WHERE object_name LIKE 'JTF_RS_SALESREPS%';

APPS.JTF_RS_SALESREPS_MO_V是JTF.JTF_RS_SALESREPS的同义词,想是编译出的问题,开始重编:
ALTER SYNONYM apps.JTF_RS_SALESREPS_MO_V COMPILE;

结果仍然没数据。。。上了metalink没找到结果。下午在一个帖子里无意中找到了类似的求助,解决方法很直接:
DROP SYNONYM JTF_RS_SALESREPS_MO_V;
CREATE SYNONYM JTF_RS_SALESREPS_MO_V FOR jtf.JTF_RS_SALESREPS;

Bingo!~~问题解决了,看到数据了。。。
具体原因上边说是原来的table被drop重建后造成的失效。。要重建synonym。残念~万恶的Oracle!


具有MOAC的SYNONYM-JTF_RS_SALESREPS_MO_V(jtf_rs_salesreps的同义词,加了一个POLICY,实现MOAC)



好像在oracle erp 中是很常见的....
例如: apps用户的RA_CUST_TRX_TYPES 和 RA_CUST_TRX_TYPES_ALL都是AR下RA_CUST_TRX_TYPES_ALL的同义词.但是RA_CUST_TRX_TYPES 不能查询出数据,而RA_CUST_TRX_TYPES_ALL可以查询出数据.

为什么同样的同义词,会出现这样的情况?
oracle 是怎么作到的?


现在,我们这边的老大给出了答案,确实这样的同义词和我们之前的是不一样的,数据和环境有关系.
初始化语句为
BEGIN
FND_GLOBAL.apps_initialize(user_id => 1116, --
resp_id => 50512, --
resp_appl_id => 222, --
security_group_id => null ,
server_id => null);
MO_GLOBAL.INIT('SQLAP');
mo_global.set_policy_context('A',null);
end;

mo_global.init('ONT');



declare
v number(20);
begin
mo_global.init('ONT');
select salesrep_id into v from JTF_RS_SALESREPS_MO_V where rownum = 1;
dbms_output.put_line(v);
end;
能打印出数据,原来需要写一个mo_global.init('ONT');




begin
mo_global.init('AR');
mo_global.set_policy_context('CUX','83');
end;




begin
fnd_client_info.set_org_context (190); -- org_id
end;

begin
dbms_application_info.set_client_info (190); -- org_id
end;

execute fnd_client_info.set_org_context (190); -- org_id
execute dbms_application_info.set_client_info (190); -- org_id
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值