EBS开发_Form开发中组件权限控制的几个常用方法

Form开发中组件权限控制的几个常用方法

<1>子功能法

按钮组件定义一个子功能

EBS开发_Form开发中组件权限控制的几个常用方法

 

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;

 

将子功能授权给有权的用户

EBS开发_Form开发中组件权限控制的几个常用方法

 

<2>功能参数法


 EBS开发_Form开发中组件权限控制的几个常用方法

 在Form设计器中定义参数

EBS开发_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时设置具体的参数值


EBS开发_Form开发中组件权限控制的几个常用方法

 

<3>预置文件法

定义预置文件

EBS开发_Form开发中组件权限控制的几个常用方法

 

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;

 

设置预置文件的值

EBS开发_Form开发中组件权限控制的几个常用方法