- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-24-2023 02:02 AM
Dear Team,
I have the below variables:
1# Requested for (requested_for)-> Reference from sys_user Table
2# access_request_type-> Select Box/Choices: Add, Change, Remove
3# access_change _perma_OR_tempo-> Select Box/Choices: Permanent, Temporary
4# system_access-> Select Box/Choices: SAP, Ops in a box, Resident Portal, Credit Check
5# change_of_access_request-> Select Box/Choices: SAP, Resident Portal, Credit Check, SAP Concur
6# vip_requested_user_requestaccess_locations-> List Collector from cmn_location Table
7# properties_access_require-> Reference from cmn_location Table
The requirement is: Variables 6 and 7 should be displayed only when the user selected in variable 1 is VIP (VIP-True) AND variable 2 is one of Add/Change AND variable 3 is one of Permanent/Temporary AND variable 4 is one of SAP/Resident Portal OR variable 5 is one of SAP/Resident Portal.
To fulfil this I approached UI Policy/Action (as shown below screenshot)
But Condition part 'user selected in variable 1 is VIP (VIP-True)' is NOT achievable through UI Policy due to which Variables 6 and 7 are getting displayed when the rest mentioned conditions are met, this is not desirable.
Please help on how to get this fulfilled. I will mark responses as correct and helpful if resolved.
Thanks
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2023 10:50 AM - edited 06-25-2023 10:51 AM
@rishabh31 I recommend you to
1. Create another variable of type (checkbox) called "vip_user".
2. Set that variable "vip_user" to read-only for the time being and hide it later once the requirement is achieved.
3. In the record producer/service catalog navigate to the "Catalog Data Lookup Definitions" tab and create a new record with the below details.
4. In the above created catalog data lookup definition "Set VIP User field", navigate to the "Catalog Matcher Definition" tab and create a new record as below. In my case the variable name is "requested_user", you will have to select "requested_for".
5. Navigate to the "Set VIP User field" catalog data lookup definition created in the step 3 and create a new "Catalog setter variable definition: as below.
6. In my PDI Abel is non-vip & Aqib is a VIP user and see how the check box behaves for these users.
7. Modify your UI policies to use the 'vip_user' variable.
Note: While testing make sure the user is active.
Please mark the appropriate response as correct answer and helpful
Thanks!!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-24-2023 11:38 PM
Hi @rishabh31
Try with below modified code
Make sure to change variable names and choice values according to your instance configuration
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var isVip;
var caller = g_form.getReference('requested_for', doAlert); // doAlert is our callback function
function doAlert(caller) { //reference is passed into callback as first arguments
isVip = caller.vip;
var accessRequestType = g_form.getValue('access_request_type');
var accessChangePermaOrTempo = g_form.getValue('access_change_perma_or_tempo');
var systemAccess = g_form.getValue('system_access');
var changeOfAccessRequest = g_form.getValue('change_of_access_request');
// Check the conditions to show or hide variables 6 and 7
var showVariables = (isVip) &&
(accessRequestType == 'Add' || accessRequestType == 'Change') &&
(accessChangePermaOrTempo == 'Permanent' || accessChangePermaOrTempo == 'Temporary') &&
((systemAccess == 'SAP' || systemAccess == 'Ops in a box' || systemAccess == 'Resident Portal') ||
(changeOfAccessRequest == 'SAP' || changeOfAccessRequest == 'Resident Portal'));
// Show or hide variables 6 and 7 based on the conditions
g_form.setDisplay('vip_requested_user_requestaccess_locations', showVariables);
g_form.setDisplay('properties_access_require', showVariables);
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2023 05:12 AM
Hi @Manmohan K , I tried ways and the modified script as well but it is not working as expected. I checked variables name, choices values but all looks good to me.
No luck as of now😔
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2023 10:50 AM - edited 06-25-2023 10:51 AM
@rishabh31 I recommend you to
1. Create another variable of type (checkbox) called "vip_user".
2. Set that variable "vip_user" to read-only for the time being and hide it later once the requirement is achieved.
3. In the record producer/service catalog navigate to the "Catalog Data Lookup Definitions" tab and create a new record with the below details.
4. In the above created catalog data lookup definition "Set VIP User field", navigate to the "Catalog Matcher Definition" tab and create a new record as below. In my case the variable name is "requested_user", you will have to select "requested_for".
5. Navigate to the "Set VIP User field" catalog data lookup definition created in the step 3 and create a new "Catalog setter variable definition: as below.
6. In my PDI Abel is non-vip & Aqib is a VIP user and see how the check box behaves for these users.
7. Modify your UI policies to use the 'vip_user' variable.
Note: While testing make sure the user is active.
Please mark the appropriate response as correct answer and helpful
Thanks!!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-24-2024 09:46 AM
This post was immensely helpful, thank you.
I'm looking to do something similar, except I can't get the VIP check box to be checked upon opening the record producer if the "Requested For" user (the logged in user in our case) that's there by default is a VIP. I have to clear that user out of the field and type it back in or type in another name. Then it works without issue. Thoughts?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2023 10:47 PM
Hi @Arun_S1,
Thanks for the response, it is working perfectly fine. Marked your response as correct and helpful.
Just a question, could you please help me to understand why this is not achievable through the Script provided or is this can't be achieved through Script?
Please help to understand this because what if the user does not want any extra variable as Check Box? then how it can be explained.