Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

Updated user attribute name store in customproperty using preprocessor.

ankitalande
New Contributor II
New Contributor II

Hii,

I have one use case, 

In mover scenario some attributes are change to user profile, I want to store the attribute name like jobcodedesc, department name to users customproperty31 using preprocessor.

following some of sytax I try, but fails to achieve.

{
"ADDITIONALTABLES": {
"USERS": "SELECT * FROM USERS"
},
"COMPUTEDCOLUMNS": [
"CUSTOMPROPERTY31"
],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA SET CUSTOMPROPERTY31 = (', ',
CASE WHEN NEWUSERDATA.jobcodedesc != CURRENTUSERS.jobcodedesc THEN 'job profile change' ELSE NULL END
);"
]
}

 

 

{
"ADDITIONALTABLES": {
"USERS": "SELECT * FROM USERS"
},
"COMPUTEDCOLUMNS": [
"CUSTOMPROPERTY31"
],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA SET CUSTOMPROPERTY31 =
CASE WHEN NEWUSERDATA.jobcodedesc != CURRENTUSERS.jobcodedesc THEN 'job profile change' ELSE NULL END WHERE NEWUSERDATA.jobcodedesc != CURRENTUSERS.jobcodedesc;"
]
}

 

{
"ADDITIONALTABLES": {
"USERS": "SELECT * FROM USERS"
},
"COMPUTEDCOLUMNS": [
"CUSTOMPROPERTY31"
],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA SET CUSTOMPROPERTY31 = CONCAT_WS(', ',
CASE WHEN NEWUSERDATA.LOCATION != CURRENTUSERS.LOCATION THEN 'Location change' ELSE NULL END,
CASE WHEN NEWUSERDATA.MANAGER != CURRENTUSERS.MANAGER THEN 'Manager change' ELSE NULL END,
CASE WHEN NEWUSERDATA.JOBCODEDESC != CURRENTUSERS.JOBCODEDESC THEN 'Job profile change' ELSE NULL END,
CASE WHEN NEWUSERDATA.CUSTOMPROPERTY15 != CURRENTUSERS.CUSTOMPROPERTY15 THEN 'Functional group change' ELSE NULL END
);"
]
}

 

can you please suggest, how we can achieve this.

9 REPLIES 9

Raghu
Valued Contributor III
Valued Contributor III

@ankitalande  try below:


{
"ADDITIONALTABLES": {
"USERS": "SELECT JOBCODEDESC FROM USERS"
},
"COMPUTEDCOLUMNS": [
"CUSTOMPROPERTY31","JOBCODEDESC"
],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA SET CUSTOMPROPERTY31 = (', ',
CASE WHEN NEWUSERDATA.JOBCODEDESC != CURRENTUSERS.JOBCODEDESC THEN 'job profile change' ELSE NULL END
)"
]
}


{
"ADDITIONALTABLES": {
"USERS": "SELECT JOBCODEDESC FROM USERS"
},
"COMPUTEDCOLUMNS": [
"CUSTOMPROPERTY31","JOBCODEDESC"
],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA SET CUSTOMPROPERTY31 =
CASE WHEN NEWUSERDATA.jobcodedesc != CURRENTUSERS.JOBCODEDESC THEN 'job profile change' ELSE NULL END WHERE NEWUSERDATA.JOBCODEDESC != CURRENTUSERS.JOBCODEDESC"
]
}


{
"ADDITIONALTABLES": {
"USERS": "SELECT LOCATION,MANAGER,JOBCODEDESC,CUSTOMPROPERTY15 FROM USERS"
},
"COMPUTEDCOLUMNS": [
"CUSTOMPROPERTY31"
],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA SET CUSTOMPROPERTY31 = CONCAT_WS(', ',
CASE WHEN NEWUSERDATA.LOCATION != CURRENTUSERS.LOCATION THEN 'Location change' ELSE NULL END,
CASE WHEN NEWUSERDATA.MANAGER != CURRENTUSERS.MANAGER THEN 'Manager change' ELSE NULL END,
CASE WHEN NEWUSERDATA.JOBCODEDESC != CURRENTUSERS.JOBCODEDESC THEN 'Job profile change' ELSE NULL END,
CASE WHEN NEWUSERDATA.CUSTOMPROPERTY15 != CURRENTUSERS.CUSTOMPROPERTY15 THEN 'Functional group change' ELSE NULL END
)"
]
}


Thanks,
Raghu
If this reply answered your question, Please Accept As Solution and hit Kudos.

ankitalande
New Contributor II
New Contributor II

still not working, for testing purpose I upload the user through csv and check, User not updated and review history showing 0 as well. 

 

Raghu
Valued Contributor III
Valued Contributor III

try :

{
"ADDITIONALTABLES": {
"USERS": "SELECT JOBCODEDESC FROM USERS"
},
"COMPUTEDCOLUMNS": [
"CUSTOMPROPERTY31","JOBCODEDESC"
],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA SET CUSTOMPROPERTY31 = CASE WHEN (NEWUSERDATA.JOBCODEDESC is not null and NEWUSERDATA.JOBCODEDESC != CURRENTUSERS.JOBCODEDESC) THEN 'job profile change' ELSE NULL END"
]
}


{
"ADDITIONALTABLES": {
"USERS": "SELECT JOBCODEDESC FROM USERS"
},
"COMPUTEDCOLUMNS": [
"CUSTOMPROPERTY31","JOBCODEDESC"
],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA SET CUSTOMPROPERTY31 =
CASE WHEN (NEWUSERDATA.JOBCODEDESC is not null and NEWUSERDATA.JOBCODEDESC != CURRENTUSERS.JOBCODEDESC) THEN 'job profile change' ELSE NULL END WHERE NEWUSERDATA.JOBCODEDESC != CURRENTUSERS.JOBCODEDESC"
]
}


{
"ADDITIONALTABLES": {
"USERS": "SELECT LOCATION,MANAGER,JOBCODEDESC,CUSTOMPROPERTY15 FROM USERS"
},
"COMPUTEDCOLUMNS": [
"CUSTOMPROPERTY31"
],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA SET CUSTOMPROPERTY31 = CONCAT_WS(', ',
CASE WHEN (NEWUSERDATA.LOCATION is not null and NEWUSERDATA.LOCATION != CURRENTUSERS.LOCATION) THEN 'Location change' ELSE NULL END,
CASE WHEN (NEWUSERDATA.MANAGER is not null and NEWUSERDATA.MANAGER != CURRENTUSERS.MANAGER) THEN 'Manager change' ELSE NULL END,
CASE WHEN (NEWUSERDATA.JOBCODEDESC is not null and NEWUSERDATA.JOBCODEDESC != CURRENTUSERS.JOBCODEDESC) THEN 'Job profile change' ELSE NULL END,
CASE WHEN (NEWUSERDATA.CUSTOMPROPERTY15 is not null and NEWUSERDATA.CUSTOMPROPERTY15 != CURRENTUSERS.CUSTOMPROPERTY15) THEN 'Functional group change' ELSE NULL END
)"
]
}


Thanks,
Raghu
If this reply answered your question, Please Accept As Solution and hit Kudos.

Are you updating preprocessor JSON while uploading user?


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

ankitalande
New Contributor II
New Contributor II

Yes, I updated preprocessor json while uploading user.

 

ankitalande
New Contributor II
New Contributor II

Is there any other way to achieve this or alternative preprocessor json.

Saviynt 4 saviynt


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

ankitalande
New Contributor II
New Contributor II

How we can define attribute change in saviynt 4 saviynt?

 

based on user update date and comparing value in actual attribute and Custom property


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.