解除OU屏蔽(EBS检查无法直接查询解决)
具有OU屏蔽的例子
SELECT t.org_id, t.*  FROM po.po_headers_all t  -- 无屏蔽表,在PL/SQL运行有数据
SELECT t.org_id, t.*  FROM apps.po_headers t     -- 包含OU屏蔽,在PL/SQL中查询无数据


多组织屏蔽原理
1. 在PO Schema 上创建一张表, 命名为 PO_HEADERS_ALL
2. 在APPS schema 上创建一个同义字(synonym) PO_HEADERS_ALL , 指向 PO.PO_HEADERS_ALL
3. 在APPS 中别一个同义字(synonym) 被创建: PO_HEADERS, 指向 PO_HEADERS_ALL
4. 通过使用 MO_GLOBAL.ORG_SECURITY, 行级别的安全被应用于 PO_HEADERS.
5. 这个可以通过运行 SQL 
	select * from all_policies where object_name='PO_HEADERS' 来再次确认
6. 这个策略的影响是无论何时当你访问 PO_HEADERS 时, Oracle RLS 会动态的扩展WHERE 条件语句,如
    SELECT * FROM PO_HEADERS WHERE EXISTS (SELECT 1 FROM mo_glob_org_access_tmp oa WHERE oa.organization_id = 		org_id)
通过模拟登录使apps.po_headers在PL/SQL中可以查询到数据
BEGIN
  fnd_global.apps_initialize(user_id      => 0 /* FND_GLOBAL.USER_ID*/, -- 请求提交用户ID
                             resp_id      => 56736, -- 请求提交职责ID
                             resp_appl_id => 222); -- 职责应用
  mo_global.init('M');
END;
SELECT * FROM mo_glob_org_access_tmp;
其中apps_initialize参数可以通过如下步骤获取值:
-  帮助->诊断->检查 
-  “块”中填写值:profiles 
-  在字段里分别填写:user_id、resp_id、resp_appl_id获取值 
-  模拟登录完以后,就可以在PL/SQL中运行查询语句 
SELECT t.org_id, t.*  FROM apps.po_headers t     -- 模拟登录以后,查询包含数据



















