Its a very common issue faced by ERP administrators, that a GL user with admin rights is also eligible to view flexfield values of other modules (fa,hr,payroll etc.). Here is a simple solution of this problem through form personalization. I found this solution on (http://www.biztech.com/blog/2011/08/view-only-access-to-key-flexfield-values/), so if you find some difficulty in understanding you can go use given link.
So, as you can see the flexfield find window in screenshot, our first target will be to disable all radio buttons on left side except 'Key Flexfield' radio button.
Following are the screenshots of personalization to disable radio buttons, trigger event will be 'WHEN-NEW-FORM-INSTANCE' and we will have to define three actions separately for each radio button.
Now we will move further to restrict list of values of find window as follows,
1- Application Name: General Ledger
2- Title: Accounting Flexfield
3- Structure: XX Accounting Flexfield
To achieve this we will write new record group sql quires, I will provide these, if you want to change these you need a technical person for that. Given quires are extracted from the request groups of standard form and if you want to change these it is recommended to have fresh copy of these quires from standard form.
First define record group for lov 'Application' and then assign that record group to item.
Query: select application_name, application_id from fnd_application_vl where application_id = 101
Now define record group for 'Title' and assign that to respective item
Query: select id_flex_name,id_flex_code from fnd_id_flexs where application_id = 101 and id_flex_name = 'Accounting Flexfield'
Now define record group for 'Structure' and assign that to respective item
Query: select id_flex_structure_name,id_flex_num from fnd_id_flex_structures_vl where application_id = 101 and ID_FLEX_STRUCTURE_NAME = 'WT Accounting Flexfield' and id_flex_code = 'GL#'
Now, user will have only one choice in find window lovs.
So, as you can see the flexfield find window in screenshot, our first target will be to disable all radio buttons on left side except 'Key Flexfield' radio button.
Following are the screenshots of personalization to disable radio buttons, trigger event will be 'WHEN-NEW-FORM-INSTANCE' and we will have to define three actions separately for each radio button.
Now we will move further to restrict list of values of find window as follows,
1- Application Name: General Ledger
2- Title: Accounting Flexfield
3- Structure: XX Accounting Flexfield
To achieve this we will write new record group sql quires, I will provide these, if you want to change these you need a technical person for that. Given quires are extracted from the request groups of standard form and if you want to change these it is recommended to have fresh copy of these quires from standard form.
First define record group for lov 'Application' and then assign that record group to item.
Query: select application_name, application_id from fnd_application_vl where application_id = 101
Now define record group for 'Title' and assign that to respective item
Query: select id_flex_name,id_flex_code from fnd_id_flexs where application_id = 101 and id_flex_name = 'Accounting Flexfield'
Now define record group for 'Structure' and assign that to respective item
Query: select id_flex_structure_name,id_flex_num from fnd_id_flex_structures_vl where application_id = 101 and ID_FLEX_STRUCTURE_NAME = 'WT Accounting Flexfield' and id_flex_code = 'GL#'
Now, user will have only one choice in find window lovs.
Hi,
ReplyDeleteVery well explained. Can I do the same for value sets? I am trying to personalize value sets form so that only a specific set of value sets can be queried and modified at a responsibility level. For example: User should be able to query and update only the value sets that start with VTX.
Thanks
AB.
Hello,
ReplyDeleteAn extremely useful post, thank you.
My only issue with this is that when I add the property settings to grey out the value set, descriptive flexfield, and concurrent program radio buttons, it isn't selecting the key flexfield radio button. It's, therefore, not picking up the rest of the personalisation..
Did I miss something?!
Thanks
Marina
All good. Figured it out! It's been a long day... I had navigated to the Validation...Values form not Flexfield...Key...Vales
Delete