I have got a requirement to restrict the updation of Assignment Category from ‘Contract’ to ‘Employee’ and vice versa. Customer is having many interfaces also. We need to restrict the updation both from the GUI as well as interfaces.
GUI could be restricted through Form Personalization. Is there any way to put this restriction irrespective of any mode i.e. through GUI and interfaces.
I used to be a techie... A before user hook would certainly allow the rule to be applied where the transaction was initiated via the standard API.
It always used to be that professional user forms did their own thing in respect of managing updates to the base table (e.g. assignments screen manages changes to assignment rows) - that is to say, they didn't use the API! There is a somewhat lame reason behind this which I will not bore you with, but as far as I am aware the functionality had not changed that much in R12.2.
The upshot of which is, you'll need to apply the same validation logic to the Forms Personalisation also. Having said that, if you set it all up in its own package procedure/function, and then called the same code from user hook and forms personalisation, that will at least allow you to make the rule more manageable in the event of the need to alter it in some way.