ORACLE EBS 多OU总结

摘要:
CUX_ OM_ ORDER_ HEADER的策略函数dbms加上组织mask_rls.add _ Policy(对象名=>dbms_rls.shared_context_sensitive);mo_global.get_current_org_ID或fnd_global.org_Id3)向报告参数和报告逻辑3添加OU限制。为总账数据实现多个OU 1)获取当前OU值。

1.  FormOU实现

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的id

2.  ReportOU实现

1)  给并发程序设置业务实体模式:单个,多个和空(默认)。一般设置为‘单个’

业务实体模式对应表fnd_concurrent_programs中的multi_org_category字段

2)  得到当前OU的值。

使用:mo_global.get_current_org_id或者fnd_global.org_id

3)  在报表的参数和报表的逻辑中加上OU的限制

3.  GL数据的多OU实现

1)  得到当前OU的值。

使用:mo_global.get_current_org_id或者fnd_global.org_id

2)  根据OU的值得到部门段的值:

DECLARE
  l_segment1 VARCHAR2(150); --公司段
BEGIN
  SELECT o3.attribute1
    INTO l_segment1
    FROM hr_all_organization_units o,
         hr_all_organization_units_tl otl,
         hr_organization_information o2,
         hr_organization_information o3
   WHERE o.organization_id = o2.organization_id
     AND o.organization_id = o3.organization_id
     AND o2.org_information_context = 'CLASS'
     AND o3.org_information_context = 'Operating Unit Information'
     AND o2.org_information1 = 'OPERATING_UNIT'
     AND o2.org_information2 = 'Y'
     AND o.organization_id = otl.organization_id
     AND o.organization_id = &p_org_id   --ou id
     AND otl.language = userenv('LANG');
END;

3)  将步骤2得到的值作为限制条件:

SELECT gl_code_combinations gcc WHERE gcc.segment1 = l_segment1;

4.  InterfaceOU总结

1)  给并发程序设置业务实体模式:单个,多个和空(默认)。业务实体模式对应表fnd_concurrent_programs中的multi_org_category字段

2)  如果接口的导入程序中OU作为一个参数,则应该将所有的OU作一次循环。

5.  OU实现扩展知识

1)  给客户化应用注册和取消MOAC的控制

fnd_mo_product_init_pkg.register_application(注册应用)

fnd_mo_product_init_pkg.register_application(取消应用)

查看支持MOAC的应用SQL:

SELECT * FROM fnd_mo_product_init;

2)  给数据库对象注册和取消策略-policy

dbms_rls.add_policy(注册策略)

dbms_rls.drop_policy(取消策略)

3)  多OU 涉及到的表

a)   查看数据库对象是否增加了策略-policy

SELECT * FROM dba_policies;

b)   查看当前session所能访问的OU

SELECT * FROM mo_glob_org_access_tmp;

c)   查看当前session应用上下文(context)的值(说明:OU的值保存在context中)

SELECT * FROM dba_context dc WHERE dc.namespace LIKE 'MULTI%';

MOAC使用的应用程序上下文:MULTI_ORG,MULTI_ORG2

免责声明:文章转载自《ORACLE EBS 多OU总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux uptime命令详解域名如何添加解析?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

kubernetes 集群的安装部署

本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 首先kubernetes得官方文档我自己看着很乱,信息很少,所以结合了很多博客搭建的 其次因为既然用到docker,当然离不开kubernetes管理,还有swarm,前者管理复杂,但功能齐全 这里仅仅是安装部署,还...

Oracle自增ID实现

首先,你要有一张表!   CREATE TABLE example(   ID Number(4) NOT NULL PRIMARY KEY,   NAME VARCHAR(25),   PHONE VARCHAR(10),   ADDRESS VARCHAR(50) );   然后,你需要一个自定义的sequence   CREATE SEQUENCE...

表与表之间建关系(约束)

目录 约束条件default默认值 unique唯一 primary key主键 auto_increment自增 表与表之间建关系 外键 表关系 一对多关系 多对多 一对一 修改表(了解) 复制表(了解) 约束条件 default默认值 # 补充知识点 插入数据的时候可以指定字段 create table t1( id int,...

mysql relay log参数汇总

前言:MySQL进行主主复制或主从复制的时候会在home目录下面产生相应的relay log,本文档总结这些相关参数的定义及解释 1、什么是relay log The relay log, like the binary log, consists of a set of numbered files containing events that desc...

循序渐进学.Net Core Web Api开发系列【9】:常用的数据库操作

系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一、概述 本篇描述一些常用的数据库操作,包括:条件查询、排序、分页、事务等基本数据库操作。试验的数据库为MySQL。 二、条件查询1、查询所有记录 List<Article...

Crash监控的简单实现方案

个人博客 http://www.milovetingting.cn Crash监控的简单实现方案 前言 本文从Java层及Native展开,简单记录Android中的Crash监控方案。 Java层Crash Java层的crash监控,可以通过实现Thread.UncaughtExceptionHandler接口,重写uncaughtExceptio...