Oracle采购模块中的多组织访问控制(MOAC)



1. 概述

从Release12开始启用多组织访问控制功能,将允许用户在一个单独的职责中访问一个或者多个经营单位(OU-Operation Units)的数据。这个功能允许用户在一个可共享服务的环境中,在一个单独的职责中访问/处理多个经营单位(OU-Operation Units)中的数据,同时通过安全政策限制其他用户的访问。这个功能对于共享服务的用户来说,给予更多的弹性和方便性。同时,你可以组织某些未授权的用户访问某些特定的数据。在Release 12 版本之前,用户只能在某一特定的职责下,有限的访问所属本经营单位(OU-Operation
Units)下的信息。

2. 工作原理

本功能使用了在Release 11i Oracle 人力资源管理系统(请参考Oracle人力资源管理系统配置,报告及系统管理指导Release11i Part No. A95418-02中第1-22页 - Oracle Human Resources Management Systems Configuring, Reporting, and System Administration Guide Release 11i Part No. A95418-02)中介绍的安全配置文件的概念,它允许系统管理员预定义访问特权的范围作为一个配置文件的选项。一个安全配置文件可能被定义,它可能包含一个或者多个经营单位(OU-Operation
Units)。

配置文件选项,MO: Security Profile,用来连接一个预定义的安全配置文件和用户职责。这通过安全配置文件MO: Security Profile中设置的经营单位(OU-Operation Units)名称,从而确保用户的安全访问。

2.1  在10.7-11.5.x中的工作原理

多组织结构按照经营单位(OU-Operation Units)存在数据安全性,在Release10.7中的每一个基表中增加了一个栏位ORG_ID,可以访问所有经营单位(OU-Operation Units)。所有这些表都被加上后缀重命名,'_ALL',它们对应的安全视图都被创建在APPS模式(APPS schema)中。

多组织视图通过在应用职责层级的配置文件:MO: Operating Unit设置单独的经营单位(OU),然后过滤数据,从而实现限制数据访问。配置文件的值缓存在应用上下文(Application Context)中,每当FND初始化程序被调用的时候,被执行初始化。功能CLIENT_INFO检索在应用上下文(Application Context)中存储的ORG_ID的值。这个值在一个会话中是有效的。

2.2 在12.x中有什么不同

在Release12中,多组织访问控制虚拟专用数据库(Virtual Private Database - VPD)功能的引入将取代在多组织结构中CLIENT_INFO(Org Context)功能的用法。

3. 必要的设置

- 在采购菜单(例如;PURCHASING_SUPER_USER)中增加下列表单功能

i. 定义组织

ii. 定义全球安全配置文件

- 在请求组中,增加安全列表维护程序(Security List Maintenance Program),并附属于采购职责

- 定义经营单位(OU-Operation Unit)(可选)



- 定义安全配置文件, 通过职责: HR ->安全性->配置文件->表单 '安全性配置文件' 及如下: (详细信息请参考本文档附件)

i. 为安全配置文件输入一个唯一的名称

ii. 通过离散组织名单来限制访问, 通过组织层次结构及(或)组织的安全类型列表选择安全组织.

iii. 选中复选框'排除业务组', 用来排除组织列表中的业务组.

iv. 用'分类'来限制'组织名'的所有值列表(LOV). 例如: 如果你选择分类 = Operating Unit, 只有Operating Unit可以显示在'组织名' 下面的所有制列表(LOV)中.

v. 在'组织名'区域, 选择Operating Unit 为你想访问的值. 重复该步骤直到包含所有的你想要访问的组织完成设定.

-  在标准的请求提交表单中,运行‘维护安全性列表’请求,此请求可以较好的对于一个安全配置文件运行,从而防止干扰其他的安全配置文件设置。

- 分配MO: 安全性配置文件(MO: Security Profile)

i. 选择'系统管理员'职责

ii. 打开'配置文件' -> '系统'选项

iii. 为你的职责或者用户分配安全配置文件'MO: Security Profile'

-    分配MO: Default Operating Unit (可选)

i. 选择'系统管理员'职责

ii.打开'配置文件'-> '系统'选项

iii. 为你的职责或者用户分配默认经营单位(OU - Operating Unit)给MO: Default Operating Unit 配置文件选项

-    分配MO: Operating Unit (只有单一组织的情况下必须分配,或如果‘MO: 安全性配置文件(MO: Security Profile’ 没有设置的情况下必须分配)

i. 选择'系统管理员'职责

ii. 打开'配置文件'-> '系统' 选项

iii. 为你的之责或者用户分配经营单位 (OU - Operating Unit) 给MO: Operating Unit

4. 采购模块中MOAC的影响

a. 所有和采购相关的经营单位,在交易录入的表单上,都会有一个新的单元值列表(LOV),作为必填项出现。这将显示一个所有经营单位的列表,此列表中经营单位的用户可以通过安全配置文件访问。在这个表单上点击另外任意一个字段/快之前,用户在这个字段上必须选择一个值。例如:在自动创建表单上,经营单位单元值列表(LOV)是必须的。

b. 在采购模块中,所有只限查看的表单将会有一个新的经营单位单元值列表,这是可选的。这将会显示一个含有所有经营单位的列表,此列表中经营单位的用户可以通过安全配置文件访问。如果经营单位字段为空,所有的经营单位敏感的单元值列表(LOV)字段将会扩展到在所有安全配置文件中配置的经营单位中交叉查询,单元值列表(LOV)窗口将会为字段显示经营单位栏位,从而可以实现在多个经营单位中有用相同的值。(例如:采购订单单号)

c. 经营单位字段已经在只限查看表单中,被增加在新建文件夹字段,从而可以用在多个经营单位中,查看详细信息。

d. 一个新字段名为‘经营单位’包含在标准SRS界面。对于每一个采购报表或者并发请求用户,将会被要求去选择一个经营单位作为参数。这和‘接收报表’(不需要提供‘经营单位’)是不一样的情况。



下列是采购和接收报表列表(需要‘经营单位’作为必须输入项)。输出将会有经营单位名称的打印。



Buyer Listing – 采购员列表

Contract Status Report – 合同状态报表

Item Detail Listing - 物料明细列表

Financials/Purchasing Options Listing - 财务/采购选项列表

Savings Analysis Report(by Category) - 节省分析报表 (按类别)

Savings Analysis Report(by Buyer) - 节省分析报表 (按采购员)

Standard Notes Listing - 标准附注列表

Purchase Agreement Audit Report - 采购协议跟踪报表

Purchase Order and Releases Detail Report - 采购订单和发放明细报表

Cancelled Purchase Orders Report - 取消的采购订单报表

Purchase Order Commitment By Period Report - 按期间报表的采购订单承付款

Encumbrance Detail Report - 保留款明细报表

Open Purchase Orders Report(by Buyer) - 打开采购订单报表(按采购员)

Open Purchase Orders Report(by Cost Center) - 打开采购订单报表 (按成本中心)

Matching Holds Report by Buyer Report - 按采购员匹配暂挂报表

Purchase Order Detail Report - 采购订单明细报表

Vendor Price Performance Analysis Report - 供应商价格分析报表

Quotation Action Required Report - 报价单活动登记报表

Vendor Quality Performance Analysis Report - 供应商质量表现分析报表

Invoice Price Variance By Vendor Report - 按供应商列出的发票价格差异报表

Invoice Price Variance Report - 发票价格差异报表

Purchase Price Variance Report - 采购价格差异报表

Requisition Import Exceptions Report - 请购单导入例外报表

RFQ Action Required Report - RFQ活动登记报表

Backordered Internal Requisitions Report - 延交订单的内部请购单报表 

Buyer's Requisition Action Required Report - 采购员请购活动报表

Vendor Service Performance Analysis Report - 供应商服务表现分析报表

Purchase Summary Report By Category - 按类别列出的采购汇总报表

Item Summary Listing - 物料汇总报表

Location Listing - 地点列表

Quality Code Listing - 质量代码报表

Unit of Measure Class Listing - 单位分类列表

Unit of Measure Listing - 单位列表

New Vendor Letter Report - 新供应商信函报表

Vendors on Hold Report - 供应商暂挂报表

Vendor Affiliated Structure Listing - 供应商分支机构列表

Blanket and Planned PO Status Report - 一揽子采购订单和计划采购订单状态报表

Purchasing Activity Register - 采购申请活动登记表

Printed Change Orders Report (Portrait) - 已打印更改单报表(纵向)

Printed Change Orders Report (Landscape) - 已打印更改单报表 (横向)

Purchase Order Distribution Detail Report - 采购订单分配明细报表

Printed Purchase Order Report(Landscape) - 已打印采购订单报表(横向)

Printed Purchase Order Report(Portrait) - 已打印采购订单报表(纵向)

PO Output for Communication - PO通信输出

Purchase Summary Report By Category - 按类别列出的采购汇总报表

Printed RFQ Report(Landscape) - 已打印的询价单报表(横向)

Printed RFQ Report(Portrait) - 已打印的询价单报表(纵向)

Printed Requisitions Report - 已打印的请购单报表

Requisition Activity Register - 请购单活动登记表

Cancelled Requisition Report - 被取消的请购单报表

Requisition Distribution Detail Report - 申请分配明细报表

ReqExpress Templates Listing - 快速申请模板列表

Purchase Requisition Status Report - 采购单申请状态报表

Internal Requisitions/Deliveries Discrepancy Report - 内部请购单/交货差异报表

Internal Requisition Status Report - 内部请购单状态报表

Buyer's Requisition Action Required Report - 采购员请购活动报表

Receiving Account Distribution Report - 接收账户分配报表

Receiving Transactions Register - 接收事务处理登记表

Overshipments Report - 过量发货报表

Receiving Exceptions Report - 接受例外报表

Substitute Receipts Report - 替代接收报表

Receipt Adjustments Report - 接收调整报表

Expected Receipts Report - 预期收入报告

Unordered Receipts Report - 为订购接收报表

Uninvoiced Receipts Report - 为开票接收报表



下列是采购和接收报表列表(需要'经营单位'作为必须输入项). 输出将会有经营单位名称的打印.



Generate Sourcing Rules and ASLs from Blanket Agreements - 根据一揽子协议生成来源补充规则和ASL

Define MassCancel - 定义成批取消

Requisition Import - 导入申请

Create Internal Orders - 创建内部订单

Run MassCancel - 运行成批取消

Create Releases - 创建发放

Send Notifications for Purchasing Documents - 发送采购单据通知

Import Standard Purchase Orders - 导入标准采购订单

Import Price Catalogs - 导入价格目录

Mass Update of Buyer Name on Purchasing Documents成批更新采购单据上的采购员姓名

Retroactive Price Update of Purchasing Documents Program - 采购单据可追溯价格更新程序

Reschedule Requisitions - 重新计划申请

Accrue Receipts - 累计收据

Receipt Accruals - Period-End - 应计收款 - 期末

Advanced Shipment Notice Discrepant Receipts - 提前发货通知差异接收

Pay On Receipt AutoInvoice - ‘按接受开票’自动开票程序



e. 这实际上有助于通过同一个职责在另一个运营单位(采购组织)运送至接收组织的送货组织时,为采购订单创建接货单/提前发货通知/提前发货开票通知。



f. 同时,原始交易凭证可以在所有包含在采购员安全配置文件中的经营单位被创建或者查看。

g. 所有的采购订单应用程序接口已经被增加了一个参数org_id,当应用程序接口需要被调用的时候该参数可以用来填充org_id。

5. 实施注意事项

a. 请注意职责层配置文件选项将在安全配置文件中提供所有的经营单位。



b. 在Release 12中, 当配置文件选项'HR:Cross Business Group'为‘否’,所有的员工的单位值列表将会对在配置文件选项中'HR:Cross Business Group'的业务组限制,不考虑经营组织的相关性。 如果某单一职责已经访问隶属于多个业务组的经营单位,这将会是一个实施问题。

c. 如果已经设置配置文件选项'MO: Security Profile'且授予权限访问多经营组织,那么如果已经设置配置文件'MO: Default Operating Unit'的有效值,它就会用来校验配置文件'MO: Security Profile'中经营单位列表的值。如果该经营单位已经被包含在安全配置文件中,那么它将会作为一个默认值被返回。否则,将不会有默认的经营单位值。 同时,如果没有设置配置文件选项'MO: Default Operating
Unit'的值,那么也不会有默认的经营单位。

d. 如果设置了配置文件选项'MO: Security Profile',同时授予访问一个经营单位的权限,即使配置文件'MO: Default Operating Unit' 已经设置了另外一个不同的值,默认经营单位也将会返回'MO: Security Profile' 中设置的值。



e. 如果没有设置配置文件选项'MO: Security Profile', 即使'MO: Default Operating Unit'配置文件已经被设置为另外一个值,那么'MO: Operating Unit'的值依然用来作为默认的经营单位值。

f. 配置文件选项'HR: Security Profile'优先级高于'MO: Security Profile'。



g. 如果一个组织既被定义为业务组,也被定义为一个经营组织,只有当‘排除业务组’复选框在安全配置文件表单中没有被选中的情况下,它才将会显示在有效经营单位的单位值列表中。

6. 客式化

虚拟专用数据库(Virtual Private Database - VPD)功能的引入将会代替在多组织结构中CLIENT_INFO(组织相关性 Org Context)的用法。之前组织相关性功能的所有调用将不会再继续工作。 所有这样视图/标志都只能通过安全配置文件来访问。

例如:之前运行下列脚本可以用来访问PO_HEADERS视图的信息。



begin

dbms_application_info.set_client_info('&org_id');

end;

/

select * from po_headers

/

但是在R12中,上面的脚本将会失效除非我们在数据库中通过安全政策请求访问。 MO_GLOBAL公共应用程序接口可以用来获得这样的访问。 它同样适用于工作流包。更深一步的详细信息,请参考文档415860.1。

同时,通过安全配置文件,客式表单和报表需要被初始化,从而达到安全访问。

在您的设计中,您需要考虑到未来客式化和扩展可能将会被用在一个共享的服务环境。这就意味着附加的任务,例如:对于您的单位值列表,经营单位的附加字段;或者当表或者试图有关于经营单位的敏感数据,用org_id准确地将数据加入到您的查询中。

更进一步的详细信息,在R12中,关于创建/修改您的客式化代码的方法,请参考文档420787.1。

7. 故障排除

请根据下列的说明来对于您因为在Oracle采购模块中实施MOAC(多组织访问控制)所遇到的问题进行故障排除。

i. 假如经营单位的单位值列表没有反映出用户从相关的安全配置文件增加/删除经营单位的变化,请针对相关的业务组运行‘维护安全性列表’并发请求,同时查看此请求的日志文件。如果您在请求中看到错误信息,请对错误信息进行查看,然后纠正您对应的设置。



ii. 假如一笔事务处理在错误的经营单位中已经被创建,您需要删除/取消这笔事务处理。在没有主要业务影响的条件下,只要这些事务处理可以通过应用被撤销掉,否则数据修复不会被考虑。

iii. 请阅读文档 “Oracle Human Resources Management Systems Configuring, Reporting, and System Administration Guide”来开启审计跟踪。 假如遇到任何由于设置引起的安全问题,请查阅审计报告。 



iv. 当您向Oracle技术支持提交了服务请求,是关于一个在采购模块中,多组织访问控制的问题,请提供以上您已经阅读的相关信息,并且提供下列文件版本。



Files Directory

AFMOGBLS.pls $FND_TOP/patch/115/sql

POXCOSEU.plx $PO_TOP/resource

POXVMOUS.pls $PO_TOP/patch/115/sql

POXVMOUB.pls $PO_TOP/patch/115/sql

上一篇:var a=b=c=1; 和 var a=1, b=2, c=3; 的区别。


下一篇:a链接onclick="window.location.href=在ie6上面无法执行解决