2015-11-16 356 views
1

用户不应在标签中更新Ordered Quantity Fields,即(Pricing ,Shipping,Addresses,Returns,Service,Others)如果满足特定条件。 如果有人试图更新 - 只是弹出一条错误消息Oracle EBS R12 - 表单个性化 - 禁用特定字段

“更新不允许在这里!!”

我想我们可以使用Form Personalization来实现这一点。 但我实际上并不确定(Trigger Event,Trigger Object,Condition) - 如何禁用特定字段

请帮助。 让我知道如果你需要更多的投入

回答

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相同