FORM中MOAC屏蔽策略
来源:互联网 发布:巨人网络2017利润 编辑:程序博客网 时间:2024/06/11 05:14
开发步骤:
1. 设计表结构来支持MOAC
2. 为多OU的基表同义词添加VPD的MOAC策略
3. 在PRE-FORM中初始化MOAC环境信息,并初始化OU的值
4. 在OU显示数据块的WHEN-CREATE-RECORD触发器中初始化OU的值
5. 创建OPERATING_UNITS的LOV来显示能够访问的OU列表
6. 关联OU名称字段到OPERATING_UNITS LOV
7. 添加OU处理的几个参数
具体步骤:
1.
运行下面的SQL来检查我们客户化应用是否具有多组织访问的能力
如果返回0,说明不具有
SELECT COUNT(1) FROM fnd_mo_product_init t WHERE t.application_short_name = 'CUX' AND t.status = 'Y';
如果不具备,运行下面的代码来使客户化的应用具有多组织访问的能力
BEGIN fnd_mo_product_init_pkg.register_application(p_appl_short_name => 'CUX', p_owner => 'SYSADMIN', p_status => 'Y'); COMMIT;END;
2.
支持MOAC的表结构设计
创建基表_ALL,(带org_id),同义词(不带all),基表对应的视图(与hr_operating_units关联获取org_name)
使用oracle提供的dbms_rls来为我们的同义词(去掉_all的那个同义词)添加MOAC组织访问控制的VPD策略
BEGIN dbms_rls.add_policy(object_schema => 'APPS', object_name => 'CUX_FOREX_TRANSFER_BILLS_ALL', --同义词,这里也是带_ALL policy_name => 'ORG_SEC', function_schema => 'APPS', policy_function => 'MO_GLOBAL.ORG_SECURITY', policy_type => dbms_rls.shared_context_sensitive);END;
成功之后。可以查询到:
SELECT * FROM dba_policies dp WHERE dp.object_name = 'CUX_FOREX_TRANSFER_BILLS_ALL'
3.
PRE_FORM中初始化OU
procedure pre_form is l_default_org_id number; l_default_ou_name varchar2(240); l_ou_count number; begin MO_GLOBAL.init('CUX'); mo_utils.get_default_ou(l_default_org_id, l_default_ou_name, l_ou_count); copy(l_default_org_id,'PARAMETER.mo_default_org_id'); copy(l_default_ou_name,'PARAMETER.mo_default_ou_name'); copy(l_ou_count,'PARAMETER.mo_ou_count'); --判断是否找到了OU,如果没有找到,则报错 if nvl(l_ou_count,0) <=0 then fnd_message.debug('错误001:没有找到相应的OU,请联系系统管理员或开发人员!'); raise form_trigger_failure; end if; end pre_form;
4.
在OU显示数据块的WHEN-CREATE-RECORD触发器中初始化OU的值
PROCEDURE WHEN_CREATE_RECORD IS BEGIN -- ou :MAIN.ORG_NAME := cux_agm_public_pkg.get_org_name(:PARAMETER.MO_DEFAULT_ORG_ID); :MAIN.ORG_ID := :PARAMETER.MO_DEFAULT_ORG_ID; END WHEN_CREATE_RECORD;
5.
创建OPERATING_UNITS的LOV来显示能够访问的OU列表
SELECT HR.NAME OPERATING_UNIT, HR.ORGANIZATION_ID ORG_ID, PO_MOAC_UTILS_PVT.get_ou_shortcode(ORGANIZATION_ID) OU_SHORT_CODEFROM HR_OPERATING_UNITS HR WHERE PO_MOAC_UTILS_PVT.CHECK_ACCESS (HR.ORGANIZATION_ID) = 'Y'ORDER BY OPERATING_UNIT
6. 关联OU名称字段到OPERATING_UNITS LOV
7. 添加OU处理的几个参数
- FORM中MOAC屏蔽策略
- FORM 開發筆記 -- MOAC
- FORM中的MOAC控制
- FORM R12 MOAC
- 支持MOAC功能的Form开发步骤
- Form添加MOAC:多组织访问控制
- 支持MOAC功能的Form开发步骤
- MOAC中“MO:安全性配置文件“对于开发者
- MOAC中“MO:安全性配置文件“对于开发者
- MOAC中“MO:安全性配置文件“对于开发者
- 屏蔽form回车提交
- 屏蔽FORM系统提示信息
- Form窗体屏蔽鼠标双击
- MOAC 配置
- EBS MOAC
- Struts中在使用DispatchAction时使用多个input,以及屏蔽不需要进行Form验证的方法
- 启用MOAC时,查不出数据,初始化MOAC
- 在基于Form验证的SharePoint网站中实现用户口令过期策略
- 浅谈网络语音技术
- 面试100题系列之1将查找二叉树转换成有序的双向链表
- vim高亮显示当前行,列
- oracle archive log(oracle 打开和关闭归档模式的方法)
- JAVA和C++的区别
- FORM中MOAC屏蔽策略
- socks5原理
- SQL经典面试题目
- 关于mysql数据库
- Phylip进化树的使用,偏重于文件格式的获取
- Android属性
- 交叉编译opencv
- xcode 环境变量
- C语言Time函数