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

Owner on Terminate Mapping || File Upload or Import from Auth Source

Manu269
All-Star
All-Star

Hello Team,

Can someone let me know how can we set Owner on terminate atrribute from Auth Source or Schema Import in Saviynt?

We are in stage where users and associated managers are already onboarded from an HR source.

We are looking for an option via any means if we can update secondary manager on user profile and we can setup Owner on Terminate as Manager in 1 go.

We are not looking for an option to hardcode the manager userkey/username in this attribute, rather any changes detected must be automatically reflected.

Ex : User A has Manager M defined. and Manager M has SM Manager defined.

We want to populate M as Manager and SM as Secondary Manager for user A.

I also want M should reflect as Owner on Terminate by default, so that if there is change in Manager M for user U, its get reflected properly on Owner on terminate.

 

Regards
Manish Kumar
If the response answered your query, please Accept As Solution and Kudos
.
10 REPLIES 10

rushikeshvartak
All-Star
All-Star

{
"ADDITIONALTABLES": {
"USERS": "SELECT USERKEY,USERNAME , MANAGER, OWNER, SITEID,JOBCODE, STATUSKEY, CUSTOMPROPERTY13, CUSTOMPROPERTY64,DISPLAYNAME,OWNERONTERMINATE,FIRSTNAME,LASTNAME FROM USERS"
},
"COMPUTEDCOLUMNS": [
"OWNERONTERMINATE",

],
"PREPROCESSQUERIES": [

"UPDATE NEWUSERDATA SET OWNERONTERMINATE=OWNER",

]
}


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

Thanks for sharing the data. Let me validate.

Can you also let me know how can we populate secondary manager as users manager manager in the secondary manager attribute?

Regards
Manish Kumar
If the response answered your query, please Accept As Solution and Kudos
.

similar like ownerontermnate you can update if you getting directly from HR source else make query internally to find managers manager


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

We are not getting that secondaryManager from HR source.

Can you please help in getting the query to check internally to fetch managers manager?

Regards
Manish Kumar
If the response answered your query, please Accept As Solution and Kudos
.

Refer https://forums.saviynt.com/t5/identity-governance/same-table-multiple-times-in-pre-processor/td-p/80...


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

@rushikeshvartak this did not work.

I came up with this but seems this also not working :

{
"ADDITIONALTABLES": {
"USERS": "SELECT USERNAME, FIRSTNAME, LASTNAME, STATUSKEY, MANAGER, JOBCODEDESC, DEPARTMENTNAME, SECONDARYMANAGER,OWNERONTERMINATE,OWNER FROM USERS" },
"COMPUTEDCOLUMNS": [
"OWNERONTERMINATE" ],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA LEFT JOIN CURRENTUSERS ON CURRENTUSERS.USERNAME = NEWUSERDATA.USERNAME SET NEWUSERDATA.OWNERONTERMINATE= CASE WHEN (NEWUSERDATA.statuskey = 'INACTIVE') THEN CURRENTUSERS.OWNERONTERMINATE WHEN (NEWUSERDATA.statuskey = 'ACTIVE') THEN CURRENTUSERS.OWNER ELSE CURRENTUSERS.OWNERONTERMINATE END" ]
}

This is the input we are setting in File :

usernamefirstnamelastnamestatuskeyemployeetypemanagerjobcodedescdepartmentname
X99994RohitShah1EmployeeVijaySCO Project ManagerService Solution Delivery

 

Regards
Manish Kumar
If the response answered your query, please Accept As Solution and Kudos
.

{
"ADDITIONALTABLES": {
"USERS": "SELECT USERNAME, FIRSTNAME, LASTNAME, STATUSKEY, MANAGER, JOBCODEDESC, DEPARTMENTNAME, SECONDARYMANAGER,OWNERONTERMINATE,OWNER FROM USERS" },
"COMPUTEDCOLUMNS": [
"OWNERONTERMINATE" ],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA SET OWNERONTERMINATE= OWNER"
}

This is the input we are setting in File :

usernamefirstnamelastnamestatuskeyemployeetypeOwnerjobcodedescdepartmentname
X99994RohitShah1EmployeeVijaySCO Project ManagerService Solution Delivery

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

Getting error :

org.codehaus.groovy.grails.web.converters.exceptions.ConverterException: Error parsing JSON at grails.converters.JSON.parse(JSON.java:292) at com.saviynt.ecm.services.ImportSAvDataUserService.doImportDataPreprocessing(ImportSAvDataUserService.groovy:170) at com.saviynt.ecm.services.ImportSAvDataUserService.importDataFromFile(ImportSAvDataUserService.groovy:733) at com.saviynt.ecm.services.ImportSAvDataUserService.importDataFromFile(ImportSAvDataUserService.groovy:686) at com.saviynt.ecm.services.UsersService.uploadUserFinalStep(UsersService.groovy:8687) at com.saviynt.ecm.identitywarehouse.controllers.UsersController$_closure26.doCall(UsersController.groovy:1720) at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53) at com.saviynt.webservice.SaviyntRestAuthenticationFilter.doFilter(SaviyntRestAuthenticationFilter.groovy:155) at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:62) at grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.java:59) at com.mrhaki.grails.plugin.xframeoptions.web.XFrameOptionsFilter.doFilterInternal(XFrameOptionsFilter.java:69) at com.brandseye.cors.CorsFilter.doFilter(CorsFilter.java:82) at java.lang.Thread.run(Thread.java:750)Caused by: org.codehaus.groovy.grails.web.json.JSONException: Expected a ',' or ']' at character 299 of {

User Pre-processor Config JSON :

{
"ADDITIONALTABLES": {
"USERS": "SELECT USERNAME, FIRSTNAME, LASTNAME, STATUSKEY, MANAGER, JOBCODEDESC, DEPARTMENTNAME, SECONDARYMANAGER,OWNERONTERMINATE,OWNER FROM USERS" },
"COMPUTEDCOLUMNS": [
"OWNERONTERMINATE" ],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA SET OWNERONTERMINATE= OWNER"
}

Input :

usernamefirstnamelastnamestatuskeyemployeetypeOwnerjobcodedescdepartmentname
W100009SamanaShah1EmployeeVijaySCO Project ManagerService Solution Delivery
Regards
Manish Kumar
If the response answered your query, please Accept As Solution and Kudos
.

PREPROCESSQUERIES ] is missing closing

{
"ADDITIONALTABLES": {
"USERS": "SELECT USERNAME, FIRSTNAME, LASTNAME, STATUSKEY, MANAGER, JOBCODEDESC, DEPARTMENTNAME, SECONDARYMANAGER, OWNER FROM USERS"
},
"COMPUTEDCOLUMNS": [
"OWNERONTERMINATE"
],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA SET OWNERONTERMINATE = OWNER"
]
}


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

Can you also help how can we map managers manager as secondry manager?

Regards
Manish Kumar
If the response answered your query, please Accept As Solution and Kudos
.