EBS开发_Form开发中组件权限控制的几个常用方法
Form开发中组件权限控制的几个常用方法
<1>子功能法
按钮组件定义一个子功能
Form代码中根据功能来控制组件
在PRE-FORM触发器中,来判断用户是否有权限看到这个操作,如果有就显示否则不显示
IF (fnd_function.test('XHUORDER_BOOK_ORDER')) THEN
app_item_property.set_property('headers.book_order',DISPLAYED,PROPERTY_ON);
ELSE
app_item_property.set_property('headers.book_order',DISPLAYED, PROPERTY_OFF);
END IF;
将子功能授权给有权的用户
<2>功能参数法
在Form设计器中定义参数
在Form程序代码中引用参数的值来控制
if (:parameter.lookup_type is not null) then
set_block_property('FND_LOOKUP_TYPES',INSERT_ALLOWED,PROPERTY_FALSE);
end if;
if (:parameter.appl_short_name is not null) then
:parameter.appl_short_name:= upper(:parameter.appl_short_name);
:parameter.appl_id:=fnd_utilities.get_application_id(:parameter.appl_short_name);
:parameter.application:=fnd_utilities.get_application_name(:parameter.appl_id);
app_item_property.set_property('FND_LOOKUP_TYPES.APPLICATION_NAME',
INSERT_ALLOWED,PROPERTY_OFF);
end if;
定义Function时设置具体的参数值
<3>预置文件法
定义预置文件
Form中根据预置文件值进行控制
l_order_num_mode := fnd_profile.value('DEMO_ORDER_NUMBER_MODE');
if :parameter.order_number_mode = 'AUTOMATIC' then
app_item_property.set_property('HEADERS.ORDER_NUMBER',REQUIRED, PROPERTY_FALSE);
app_item_property.set_property('HEADERS.ORDER_NUMBER',ENTERABLE, PROPERTY_FALSE);
app_item_property.set_property('HEADERS.ORDER_NUMBER',NAVIGABLE, PROPERTY_FALSE);
end if;
设置预置文件的值