FORM中的MOAC控制

1.创建表时,对_ALL表创建同义词

-- Create Multi Org Synonym

CREATE  OR REPLACE  SYNONYM CUX_WF_DEF_HEADER FOR CUX.CUX_WF_DEF_HEADER_ALL;


2.对表添加VPD

-- Create Multi Org VPD Policy
BEGIN
  dbms_rls.add_policy(object_name     => 'CUX_WF_DEF_HEADER',
                      policy_name     => 'ORG_SEC',
                      policy_function => 'MO_GLOBAL.ORG_SECURITY',
                      policy_type     => dbms_rls.shared_context_sensitive);
END;


删除

dbms_rls.drop_policy(object_schema => 'APPS',
                        object_name  => 'CUX_WF_DEF_HEADER',
                        policy_name  => 'ORG_SEC');


3.对CUX应用进行注册
BEGIN
fnd_mo_product_init_pkg.register_application   
(p_appl_short_name => 'CUX',
p_owner => 'HAND_CXY',
p_status => 'Y'
);
END;

4.对视图进行注册
BEGIN
  dbms_rls.add_policy(object_name=>'CUX_MOAC_TEST_V',
  policy_name => 'ORG_SEC',
  policy_function => 'MO_GLOBAL.org_security',
  policy_type => dbms_rls.shared_context_sensitive);
END;
(如果不想注册了
BEGIN
  dbms_rls.drop_policy(object_schema => 'APPS',
                        object_name  => 'CUX_MOAC_TEST',
                        policy_name  => 'ORG_SEC');
END;
)

5.在form的WHEN-NEW-FORM-INSTANCE触发器中加入
mo_global.init(p_application_short_name);  
比如mo_global.init('CUX');  

6.在FORM中选择OU字段的WHEN-VALIDATE-ITEM触发器上加入代码,比如:
IF :control_block.org_id IS NOT NULL THEN
  mo_global.set_policy_context('S',:control_block.org_id);
ELSE
  mo_global.set_policy_context('M',NULL);
END IF;

转载于:https://www.cnblogs.com/wanghang/p/6299259.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值