Saviynt unveils its cutting-edge Intelligence Suite products to revolutionize Identity Security!
Click HERE to see how Saviynt Intelligence is transforming the industry.
Saviynt Copilot Icon

How to handle multiple entries for same user in feed file

RKV
New Contributor III
New Contributor III

Hi Team,

We are getting feed data in CSV file and in that CSV file we have multiple entries for single user. Could you please suggest how to handle multiple entries for same in feed during import in preprocessing.

Scenarios:

1. same role different cost center

2. different role same cost center

3. different role and different cost center

We need to assign birthright AD group on role role start date and remove them on role end date but our main issue is that we are not sure how to handle multiple entries in feed for single user while importing in Saviynt. Please suggest.

Sample Data:

UsernameEmployeeIDRoleRoleStartDateRoleEndDateCostCenter
user110001Finance29-08-202429-09-202450001
user110001Finance29-08-202429-10-202450002
user210001Finance29-08-202429-09-202450001
user210001IT29-08-202429-10-202450001
user310001Finance29-08-202429-09-202450001
user310001IT29-08-202429-10-202450002
6 REPLIES 6

rushikeshvartak
All-Star
All-Star
  • Ideally user should be unique in feed file.
  • You can concate role / costcenter using processor

Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

RKV
New Contributor III
New Contributor III

Hi Rushikesh,

I tried to achieve this using concatenate role values in pre-processing but it did not work. 

Summary:

To concatenate role we are trying to get role value from NEWUSERDATA table but this table holds the details of last record from the feed. Example - We have one record in feed at row number 10 and another record for same user at row number 100 then NEWUSERDATA holds the values of record at row number 100.

So storing role value from record number 10 to some cp12 and concatenate that cp12 value with role value from record number 100 doesn't work because both cp12 and role value from record number 100 are same.

Please suggest.

  • If its same dont concat

Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

RKV
New Contributor III
New Contributor III

Hi Team,

Could you please suggest any other way because we need to iterate through all records of a particular user in feed and capture the different role values in one of the identity attribute.

RKV
New Contributor III
New Contributor III

Hi Team,

Is it possible to call NEWUSERDATA table in ADDITIONALTABLES in User Pre-processor JSON? When I tried am getting error

Error:

---------------

2024-07-31T21:34:48+05:30-ecm-services.ImportSAvDataUserService-http-nio-8080-exec-28-9tx5z-ERROR-Error occured while creating table TEMPCUSTOMROLES_19057
 
2024-07-31T21:34:48+05:30-ecm--null-9tx5z--java.sql.SQLSyntaxErrorException: Table 'saviyntaws.newuserdata' doesn't exist at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) 

User Pre-processor Config JSON

--------------------------------

{
"ADDITIONALTABLES": {
"USERS": "SELECT USERNAME,CUSTOMPROPERTY1,CUSTOMPROPERTY2,CUSTOMPROPERTY3,CUSTOMPROPERTY10,CUSTOMPROPERTY11 FROM USERS ",
"CUSTOMROLES": "SELECT USERNAME as combousername,group_concat(NEWUSERDATA.customproperty1 SEPARATOR '|') as COMBO from NEWUSERDATA GROUP BY USERNAME"
},
"COMPUTEDCOLUMNS": [
"CUSTOMPROPERTY10",
"CUSTOMPROPERTY11"
],
"PREPROCESSQUERIES": [
"UPDATE NEWUSERDATA SET NEWUSERDATA.CUSTOMPROPERTY10 = (SELECT COMBO from CURRENTCUSTOMROLES where combousername=NEWUSERDATA.USERNAME)",
"CUSTOMFUNCTION###FUNCTIONTEST"
],
"CUSTOMFUNCTIONS": {
"FUNCTIONTEST": {
"FULLCLASSNAME": "com.test.saviynt.utility.test",
"METHODNAME": "test"
}
}
}

No you can't call table like that


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.