Put it all in a DB table with roles, SJA (whatever that is) and the resulting rights. Basically build up the matrix in a DB table.
Then use session variables to read that data based on the logged in user and filter your data based on those variables rather than trying to invent a weird way of writing hugely complex CASE WHEN statement in the business model / subject area filters.
I guess we can achieve this by specifying Data filters in RPD Level. Can you try once?
That's why I proposed to store the actual matrix in a table. Just "data filters" isn't enough because without an intermediary step you'd have to write filters which are a) complex and b) pretty static compared to a dynamic read from a DB table.
thank you for the suggestions but I'm in doubt about the feasibility.
Should I create 1 variable for each SJA-ROLES? so If I have 10 roles and 20 SJA I should create 200 Variable to be used as filter at the presentation level for each role.
Is this the only way? I'm trying to find a way to avoid 200 variables.
1.) Do you use "SJA" to mean Subject Area?!
2.) That's precisely why I said put it in a table and read from it dynamically
yes I mean subject Area.
what do you mean with read it dinamically? To manage that requirement I have to use ROLE-SJA variables to filter data correctly. it means I've to create one role for each couple of SJA - ROLE? I was lokking to avoid all this variables.
Thank you for your help and I'm sorry for the delay in my answer.
No. Already in my very first response I said to create a "matrix":
Christian Berg wrote:
Precisely to NOT have the situation where you have one application role for each combination.
Ok Christian, sorry but I don't understand how it should works.
Maybe because I never created a matrix before and I don't know how to query a matrix through init block; to take a value( or a list of value to be used as filter) depending on the SJA and ROLE all in one time.
Thank you for your help anyway.