10.7–11.5.x版本,多组织架构实现了经营单位(OU)的数据安全性,在底层数据表中有一列ORG_ID来记录数据所属的经营单一,所有多OU的基表都是以”_ALL”结尾,对应经营单位屏蔽信息的视图创建在APPS数据库模式下。 多OU的视图通过职责上面设置的MO: Operating Unit预制文件的值来限制值的读取。预制文件的值在用户登录系统职责后通过FND来初始化,CLIENT_INFO这个功能函数来取得ORG_ID的值,这个值在一个连接会话中有效。这样一来一个职责只能访问一个经营单位的数据。
从Oracle Applications R12开始,使用了(Multi-Org Access Control)功能,使用户在一个职责下存取一个或者多个经营单位(Operation Units)的数据。增加了用户操作的方便性和灵活性。是通过安全配置文件(Security Profile)来实现的,通过在HR模块中定义安全配置文件来包括层次结构的组织架构,然后使用MO: Security Profile 预制文件将安全性配置文件和职责关联起来,这样就实现了用户能够访问MO: Security Profile预制文件中所对应安全配置文件中的经营单位信息。而后台则是通过数据库中的VPD(Virtual Private Database)功能来替换CLIENT_INFO实现多OU存取数据的控制。 因此R12环境下多OU的设置为:- 定义组织架构及OU信息
- 定义安全配置文件
- 运行”Security List Maintenance Program”请求
- 为用户职责分配”MO: Security Profile”预制文件的值为安全配置文件的定义
- 为用户职责设置一个默认的操作OU,分配”MO: Default Operating Unit”预制文件的值
- 如果还是希望一个职责对应一个单独的OU,设置职责层的”MO: Operating Unit”预制文件