The only technical difference is that End User Roles can be granted to user - hence the names - whereas Functional Roles cannot. The purpose with Functional Roles is to build a hierarchy of permissions, although both types can be granted to other permission sets.
At a bare minimum, you only need End User Roles. However, if there is a reasonable amount of overlap between what different users need, I generally recommend having:
- Functional Roles that represent business processes, such as “enter purchase requisition”, “approve purchase order”, “register arrival”, “enter supplier invoice” etc.
- This is where you would grant IFS features (i.e., presentation objects, projections, lobbies etc.)
- End User roles that represent positions and individual may hold, such as “procurement officer”, “warehouse worker”, “AP assistant” etc.
- These would in turn contain functional roles
- Some functional roles may be shared by many end user roles, e.g., “enter purchase requisition” may be relevant for a wide range of positions, from inventory to HCM
- You can grant IFS features directly to these, but I would recommend not, just to keep it clean.
That’s just one way of doing it though, so I could recommend:
- Be consistent, whichever approach you take
- As always, keep it simple. It’s easy to get lost in detail. (I have seen customer installations with more permission sets than users, indicating that something went wrong somewhere.)
- Give “your” permission set a specific prefix to (in name or description), to make them easier to identify, since there are a plethora of system defined permission sets (which are not marked as such).
Finally a couple of technical details:
- Everyone needs the permission set FND_ENDUSER in IFS Applications, or FND_WEBENDUSER_MAIN in IFS Cloud, which contains very basic permissions like access to log on.
- FND_CONNECT has a misleading name, and is not for connecting to IFS, but only for the integration framework user IFSCONNECT (pet peeve or mine).
I hope that helps, and please feel free to ask more questions if you want.