We are delighted to share our new EIC Delivery Methodology for efficiently managing Saviynt Implementations and delivering quick time to value. CLICK HERE.

How can I use datasets/custom tables to populate a User's customproperty?

Community_User
Saviynt Employee
Saviynt Employee
Originally posted on November 1 2021 at 02:24 UTC

In freshdesk, there's documentation on how to create and update a dataset Dataset Overview : Customer Portal (freshdesk.com) but there's no instructions or examples on how to use them. Please provide instructions to accomplish the following? Provide code examples if possible.


My client needs to store information in a  table that will have the following columns: location_code, location name, Active Directory Organizational Unit. The table will have over 80 records. 


For example:

 

Location Code | Name | Active Directory Organization Unit ----------------------------------------------------------------------------- 123 | Toronto  |  ou=toronto, dc=example, dc=com 234 | Montreal  | ou=montreal, dc=example, dc=com  323 | Saskatoon | ou=saskatoon, dc=example, dc=com

 

I will need to perform lookup on that table to set a user's customproperty.  Here's how it'll be used:


Joiner Use case: New Hire Employee


  1. Import users from Workday (this will import the new users and the user's location number will be set)
  2. Use inline preprocessing (or something else, to populate User's customproperty with the corresponding Active Directory Organization Unit
  3. Run a DetectiveProvisionJob so that the new user is detected, and pending tasks are created to provision the new users on the target applications: Active Directory, Exchange and Zoom.


How can I perform step 2? How do I refer to the data set to perform a lookup? If the dataset is named ADOrganizationUnits, how to do perform a lookup? customerProperty10 = ADOrganizationUnits[ user.locationnumber ] ? Where would I add this configuration?







This message was previously posted on Saviynt's legacy forum by a community user and has been moved over to this forum for continued exposure.
1 REPLY 1

Community_User
Saviynt Employee
Saviynt Employee
Originally posted on November 1 2021 at 21:29 UTC

Hello Yusuf,


You can explore the option of User Inline processing here. Dataset values which you upload will be stored in the table called dataset_values. You can use this table as Additional Tables under preprocessing later use the sql logic to build your solution on top of it.


Lets say you have uploaded dataset with attribute1 = 'Location Code' and attribute2 = 'AD OU Information' on a dataset called 'ADOrganizationUnits'


Now you can define a sql logic similar to below


Update users set users.customproperty10 = (select distinct dataset_values.attribute2 from dataset_values where dataset_values.datasetname  = 'ADOrganizationUnits' and dataset_values.attribute1 = Users.Locationcode);


The above logic is just a reference writeup and not a actual query. Develop your sql logic based on the requirement and also syntax which preprocessor expects as defined in below document


https://saviynt.freshdesk.com/support/solutions/articles/43000571860-user-import-preprocessor


Note : You can always use Data Analyzer to perform the check on your data and your sql logics 




Other Approach is to define this OU logic directly in provisioning connection JSON based on user job location instead of placing the OU details in the user table. 


Regards,

Sagar Srikantaiah

Partner and Product Success


This message was previously posted on Saviynt's legacy forum by a community user and has been moved over to this forum for continued exposure.