EBS 请求:请求权限控制

  • 请求组:系统请求组一般是会分配给多个职责,即多个职责具有请求权限

    如果自定义请求组并分配给单个职责也可以,只是自定义请求组不包含系统请求。

  • 功能表:职责如果不共用功能表(自定义功能表),可将请求权限赋予一个职责。

  • 用户:仅指定用户有请求权限

  • 请求参数: 屏蔽请求参数值

1. 请求组

职责分配一个请求组,将请求挂载到该请求组,职责就有了运行请求的权限。
在这里插入图片描述
请求挂载到请求组
在这里插入图片描述
职责中“检视->请求”或“报表->请求”运行报表

2. 功能表

将请求挂载到函数function(菜单项)。
Step1, 自定义一个函数
在这里插入图片描述
Step2, 属性型态选择“表单”
在这里插入图片描述

Step3, 表单TAB页中,表单选择“执行报表”
在这里插入图片描述

参数:请求简称和请求所在应用模组简称
CONCURRENT_PROGRAM_NAME=“CUX_CST_TRANSACTION_PKG_NC” PROGRAM_APPL_SHORT_NAME=“INV”
在这里插入图片描述

Step4, 将自定义的函数加入需要用的功能表(菜单)中。
自定义功能表,将该功能表仅分配给单个职责,就可以将请求权限控制到单个职责。

3. 用户

需求:包含成本、价格信息等,安全级别比较高的报表, 权限能否控制到用户?
例:实现仅用户“CONST2” 能运行请求

个性化,自定义请求名称的LOV:PROGLOVDEF
步骤1:将请求挂载到请求组,请求组分配给CONST2所在的职责,即CONST2能在某职责下运行请求
步骤2:个性化设置,非用户“CONST2”,将请求从LOV中排除
在这里插入图片描述

建立记录群组,群组名称自定义
在这里插入图片描述

select distinct p.user_concurrent_program_name, a.application_id, a.application_name, a.application_short_name, p.concurrent_program_name, 
p.concurrent_program_id, p.application_id program_application_id, '$SRS$.'||p.concurrent_program_name descriptive_flexfield_name, 
p.srs_flag, p.printer_name, p.output_print_style, p.required_style, p.save_output_flag, p.nls_compliant, p.execution_method_code, 
p.mls_executable_id, p.mls_executable_app_id 
from fnd_concurrent_programs_vl p, fnd_application_vl a, fnd_request_group_units u
where p.srs_flag in ('Y', 'Q') and 
p.enabled_flag = 'Y' and 
request_set_flag = 'N' 
and ((a.application_id = u.unit_application_id 
and u.application_id = :world.group_application_id 
and u.request_group_id = :world.request_group_id 
and u.request_unit_type = 'A') 
or (p.application_id = u.unit_application_id 
and p.concurrent_program_id = u.request_unit_id 
and u.application_id = :world.group_application_id 
and u.request_group_id = :world.request_group_id 
and u.request_unit_type = 'P'))
and (((p.security_group_id is null or p.security_group_id = :world.security_group_id) 
and (:world.enable_security_groups = 'Y')) 
or (:world.enable_security_groups != 'Y')) 
and p.application_id = a.application_id
and user_concurrent_program_name not in('请求名称')

在这里插入图片描述

4. 请求参数

需求:请求参数是值集,能够根据判断条件(如职责)屏蔽值集中某些值
例: 请求仓库参数的值集为:CUX_INV_SUBINVENTORY ,限定某些职责只能选择:60仓

方法1:动态值集
步骤1. 自定义一个Profile:值集CUX_INV_SUBINVENTORY只能选择60仓
在这里插入图片描述

SQL="SELECT MEANING \"Log Enabled\", LOOKUP_CODE
into :visible_option_value,
:profile_option_value
from fnd_lookups
where lookup_type = 'YES_NO'"
COLUMN="\"Log Enabled\"(30)"

步骤2. 定义表验证值集
在这里插入图片描述在这里插入图片描述

where organization_id = 107
and secondary_inventory_name=
(decode(NVL(FND_PROFILE.VALUE('TEST'),'N'),'Y','60',secondary_inventory_name))
order by secondary_inventory_name

步骤3. 在职责层级设置设定档
在这里插入图片描述

步骤4. 测试成功, 在职责TC_CM_SUPERUSER下,请求参数(值集)只能选择60仓。

Q: 如何实现值集CUX_INV_SUBINVENTORY能选择10仓,60仓?
A:

where organization_id = 107
and (secondary_inventory_name=
(decode(NVL(FND_PROFILE.VALUE('TEST'),'N'),'Y','10',secondary_inventory_name)) 
     or secondary_inventory_name=
(decode(NVL(FND_PROFILE.VALUE('TEST'),'N'),'Y','60',secondary_inventory_name))  )
order by secondary_inventory_name

方法2: 段值安全性

安全性规则是一种限制弹性域段值访问的安全性屏蔽功能,可以使用安全性规则为弹性域和报表参数值的范围定义值进行限定,从而限制访问。

完整操作是先定义安全性规则,再将安全性规则分配给应用产品责任。在定义过程中,我们先通过为段指定包括下限值和上限值在内的值范围来定义安全性规则要素。安全性规则要素适用于包括在所指定的值范围内的所有段值。每个安全性规则要素标识为 Include 或 Exclude,其中 Include 指包括指定范围内的所有值;Exclude 指排除指定范围内的所有值。由于规则会自动排除所有值(除非特别指定包括这些值),因此每个规则必须至少有一个Include 规则要素。Exclude 规则要素优先于 Include 规则要素。

步骤1. 定义值集CUX_INV_SUBINVENTORY在这里插入图片描述在这里插入图片描述
步骤2. 定义安全性规则
在这里插入图片描述在这里插入图片描述
指定给相应的组织
在这里插入图片描述

Step3. 请求参数使用值集:CUX_INV_SUBINVENTORY, 并启用安全性检查。
在这里插入图片描述

Step4. 在指定了安全性规则的职责下:TC_IV_SUPERUSER运行请求,请求参数只能选择60仓。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值