on 03-31-2015 10:29 AM
Hi gurus,
I'm facing a problem that I was not able to solve despite of the huge amount of time I used to do research. We're running IDM 7.2 SP9 with DB2 and we want to minimize - or rather filter - the roles a user can select for a request in the UI.
For that, a user has to go through a couple of filters before he can select one or several roles. The filter uses attributes that are stored on the roles itself and additionally are stored in a table Z_ROLES (performance reasons). In the UI it looks like this:
The last attribute which enables the user to select the roles is a standard multivalue text-attribute, mulit-select with an SQL-statement to the custom table Z_ROLES where the role MSKEYVALUES and their properties are stored. SQL statement looks like this:
select distinct MSKEYVALUE from Z_ROLES where Z_ROLE_BUSINESSUNIT like %FIELD.Z_ROLE_FILTER_BUSINESSUNIT%
and Z_ROLE_FUNC_AREA like %FIELD.Z_ROLE_FILTER_FUNC_AREA%
and Z_ROLE_REGION like %FIELD.Z_ROLE_FILTER_REGION%
and Z_ROLE_COUNTRY like %FIELD.Z_ROLE_FILTER_COUNTRY%
and Z_ROLE_LOCATION like %FIELD.Z_ROLE_FILTER_LOCATION%
Filter works fine so far, however there are 2 show-stoppers:
1. If I select one or several roles for request and then change the filter to add some more roles to my request, the roles I selected in the first place will be removed when pushing the button "Request role(s)".
2. We did not find a proper way to include the role description into the "SELECTION ATTRIBUTE". Of course we can add it to the values which are shown by changing the SQL-statement, but this is not very user-friendly. The role descriptions are very important for the client.
We then tried to change the "SELECTION ATTRIBUTE" to data type "Entry Reference" with a reference to "MX_ROLE" and hoped to solve both issues. SQL-statement now does not hint to the Z_ROLES table, but to the idmv_vallink_basic_active view:
select mskey from idmv_vallink_basic_active where mcattrname = 'Z_ROLE_BUSINESSUNIT' and mcvalue like %FIELD.Z_ROLE_FILTER_BUSINESSUNIT%
and mskey in (select mskey from idmv_vallink_basic_active where mcattrname = 'Z_ROLE_FUNC_AREA' and mcvalue like %FIELD.Z_ROLE_FILTER_FUNC_AREA%)
and mskey in (select mskey from idmv_vallink_basic_active where mcattrname = 'Z_ROLE_REGION' and mcvalue like %FIELD.Z_ROLE_FILTER_REGION%)
and mskey in (select mskey from idmv_vallink_basic_active where mcattrname = 'Z_ROLE_COUNTRY' and mcvalue like %FIELD.Z_ROLE_FILTER_COUNTRY%)
and mskey in (select mskey from idmv_vallink_basic_active where mcattrname = 'Z_ROLE_LOCATION' and mcvalue like %FIELD.Z_ROLE_FILTER_LOCATION%)
Using this statement however does not work. I cannot select entries although all filter attributes are selected properly:
My suggestion is, that filters do not work for entry reference attributes. Can someone confirm this?
SQL-filtering can be done on a reference-attribute since I tried the SQL statement on the reference attribute without the filters (replacing the %FIELD.<some attribute>% with values).
Does anyone have an idea how to solve this issue? Or is it just not possible to use the %FIELD.<some attribute>% operator on a reference attribute?
Thanks for your help.
Steffen
Hi Steffen,
unfortunately this feature has never been enhanced in order to enable usage with reference attributes. I have asked this question some times already in the past. This could be a very powerful feature if it would not be as limited as it is.
Can you put a suggestion in the idea place and maybe also mention that it would be nice to have an option to keep selected values after changing the filter attributes?
Thanks
Norman
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.