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

Oracle EBS R12 - Form Personalization - Disable a particular field

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

"Update not allowed here !!"

我认为我们可以使用表单个性化来实现这一点。 但实际上我不确定 (Trigger Event,Trigger Object,Condition) - 如何禁用特定字段

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

看你的情况,是否依赖于记录数据,用户更改数据时是否可以更改等

如果条件在表单会话期间保持不变,请使用 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;

如果您的条件取决于记录数据,用户可以使用与 POST-QUERY-TRIGGER

相同代码的额外 WHEN-VALIDATE-RECORD 触发器进行修改