Hi Krishna,
I suggest you to have a customizing table which is used to store all the possible ui elements per view and read only status based on authorization. Based on authority object, set the read only values.
Your requirement can be achieved as below
- Store all possible ui elements in customizing table with read only settings along with authority, view name
- In WD check authority object and get the ui elements settings from customizing table
- in wddomodifyview( ) method, get the view elements and based on settings, set the property of READ_ONLY
- For alv's , you no need to maintain all the columns, instead just maintain the alv usage name and set it as read only = true / false. Now, inside your view, get the usage name and its table... .set_....read_only = true/false
Hope this helps you.
Regards,
Rama