读书人

jtf_rs_defresources_srp_v引起的有关

发布时间: 2013-12-10 15:05:55 作者: rapoo

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');

读书人网 >其他数据库

热点推荐