Oracle EBS R12 - 表单个性化 - 禁用特定字段

时间:2015-11-16 17:17:33

标签: oracleforms oracle-ebs

如果满足特定条件,用户不应更新标签中的Ordered Quantity Fields,即(Pricing ,Shipping,Addresses,Returns,Service,Others)。  如果有人试图更新 - 只需弹出错误消息

  

"此处不允许更新!!"

我认为我们可以使用Form Personalization来实现这一目标。 但我不确定(Trigger Event,Trigger Object,Condition) - 如何禁用特定字段

请帮助。 如果您需要更多输入,请告诉我

1 个答案:

答案 0 :(得分:1)

这取决于您的情况,是否取决于记录数据,是否可以在用户更改数据时更改等。

如果条件在表单会话期间保持不变,请使用WHEN-NEW-FORM-INSTANCE这样的触发器

if _condition_ then
    set_item_property('your_block.item1', UPDATE_ALLOWED, PROPERTY_FALSE);
    set_item_property('your_block.item2', UPDATE_ALLOWED, PROPERTY_FALSE);
    ...
end if;

如果您的情况取决于记录数据,请以类似方式使用POST-QUERY触发器

if _condition_ then
    set_item_instance_property('your_block.item1', :SYSTEM.TRIGGER_RECORD, UPDATE_ALLOWED, PROPERTY_FALSE);
    set_item_instance_property('your_block.item2', :SYSTEM.TRIGGER_RECORD, UPDATE_ALLOWED, PROPERTY_FALSE);
    ...
else
    set_item_instance_property('your_block.item1', :SYSTEM.TRIGGER_RECORD, UPDATE_ALLOWED, PROPERTY_TRUE);
    set_item_instance_property('your_block.item2', :SYSTEM.TRIGGER_RECORD, UPDATE_ALLOWED, PROPERTY_TRUE);
    ...
end if;

如果您的条件取决于记录数据,用户可以使用与WHEN-VALIDATE-RECORD

相同的代码修改使用额外的POST-QUERY-TRIGGER触发器