Form多OU的实现
<1>创建一个Table,以CUX_OM_ORDER_HEADER_ALL为例
<2>创建Table的两个Synonym(一个不含_ALL,一个以_ALL结尾):CUX_OM_ORDER_HEADER和CUX_OM_ORDER_HEADER_ALL
<3>给不含_ALL的Synonym:CUX_OM_ORDER_HEADER加上组织策略函数
dbms_rls.add_policy(object_name => 'CUX_OM_ORDER_HEADER',
policy_name => 'ORG_SEC',
policy_function => 'MO_GLOBAL.ORG_SECURITY',
policy_type =>dbms_rls.shared_context_sensitive);
<4>在不含_ALL的Synonym的基础上创建视图:CUX_OM_ORDER_HEADER_V
<5>进入FORM时(pre-form触发器)添加代码;
mo_global.init(p_appl_shortname);--p_appl_shortname为应用简称
<6>被选择某个OU时(一般在when_validate_item触发器)中添加代码:
mo_global.set_policy_context('S',p_org_id>;--p_org_id为OU
实例如下:
PACKAGE BODY CUX_MOAC_PKG IS
--MOAC初始化
procedure pre_form
is