Click HERE to see how Saviynt Intelligence is transforming the industry. |
03/18/2024 12:31 PM
Hi There,
I am facing :- Error in Users Import - Error while processing
data: Column count doesn't match value count at
row 1
I am using below in sav file
#USER_NOT_IN_FILE_ACTION=NOACTION
#FILENAME=contractor
#DELIMITER=,
#ZERODAYPROVISIONING=TRUE
#CHECKRULES=TRUE
#userReconcillationField=EMPLOYEEID
REGIONCODE,EMPLOYEETYPE,EMPLOYEEID,Firstname,Lastname,PREFEREDFIRSTNAME,JOBCODEDESC,Statuskey,Companyname,LOCATION,CUSTOMPROPERTY9,MANAGER,STARTDATE,ENDDATE,TITLE,TERMDATE,CUSTOMPROPERTY3,PHONENUMBER,CUSTOMPROPERTY8,CUSTOMPROPERTY41,CUSTOMPROPERTY44,CUSTOMPROPERTY11,CUSTOMPROPERTY12,CUSTOMPROPERTY47
#MODIFYUSERDATAJSON={"ADDITIONALTABLES":{"USERS": "SELECT REGIONCODE,CUSTOMPROPERTY3,CUSTOMPROPERTY8,PHONENUMBER,CUSTOMPROPERTY11,CUSTOMPROPERTY12,CUSTOMPROPERTY42,TERMDATE,CUSTOMPROPERTY41,CUSTOMPROPERTY19,EMPLOYEEID,DISPLAYNAME,USERNAME,MANAGER,STARTDATE,ENDDATE,TITLE,FIRSTNAME,STATE,SYSTEMUSERNAME,CITY,STREET,REGION,LOCATIONDESC,PREFEREDFIRSTNAME,JOBCODEDESC,LASTNAME,EMAIL,EMPLOYEETYPE,STATUSKEY,COMPANYNAME,LOCATION,CUSTOMPROPERTY9,CUSTOMPROPERTY14,CUSTOMPROPERTY6,COUNTRY,OWNERONTERMINATE,USERKEY FROM USERS","ACCOUNTS": "SELECT NAME,CUSTOMPROPERTY1,CUSTOMPROPERTY19,CUSTOMPROPERTY31,CUSTOMPROPERTY28,CUSTOMPROPERTY27 FROM ACCOUNTS ","DATASET_VALUES": "SELECT ATTRIBUTE1,ATTRIBUTE2,ATTRIBUTE3,ATTRIBUTE4,ATTRIBUTE5,ATTRIBUTE6,DATASETNAME,ATTRIBUTE7,ATTRIBUTE8,ATTRIBUTE9 FROM DATASET_VALUES where DATASET_VALUES.DATASETNAME in ('Domain','IngADOUMap','IngLocationAddr')"}, "COMPUTEDCOLUMNS": ["DISPLAYNAME","EMAIL","USERNAME","SYSTEMUSERNAME","FIRSTNAME","LASTNAME","CUSTOMPROPERTY14","LOCATIONDESC","CITY","REGION","STATE","STREET","LOCATION","REGIONCODE","EMPLOYEETYPE", "STATUSKEY","CUSTOMPROPERTY11","CUSTOMPROPERTY12","ENDDATE","TERMDATE","CUSTOMPROPERTY8","COUNTRY","OWNERONTERMINATE"],"PREPROCESSQUERIES": ["UPDATE NEWUSERDATA LEFT JOIN CURRENTUSERS ON NEWUSERDATA.EMPLOYEEID = CURRENTUSERS.EMPLOYEEID SET NEWUSERDATA.CITY=(select distinct attribute6 from CURRENTDATASET_VALUES where CURRENTDATASET_VALUES.DATASETNAME='IngLocationAddr' and CURRENTDATASET_VALUES.attribute1=NEWUSERDATA.REGIONCODE and CURRENTDATASET_VALUES.attribute2=NEWUSERDATA.LOCATION and CURRENTDATASET_VALUES.attribute4=NEWUSERDATA.CUSTOMPROPERTY9)","UPDATE NEWUSERDATA LEFT JOIN CURRENTUSERS ON NEWUSERDATA.EMPLOYEEID = CURRENTUSERS.EMPLOYEEID SET NEWUSERDATA.STATE=(select distinct attribute7 from CURRENTDATASET_VALUES where CURRENTDATASET_VALUES.DATASETNAME='IngLocationAddr' and CURRENTDATASET_VALUES.attribute1=NEWUSERDATA.REGIONCODE and CURRENTDATASET_VALUES.attribute2=NEWUSERDATA.LOCATION and CURRENTDATASET_VALUES.attribute4=NEWUSERDATA.CUSTOMPROPERTY9)","UPDATE NEWUSERDATA LEFT JOIN CURRENTUSERS ON NEWUSERDATA.EMPLOYEEID = CURRENTUSERS.EMPLOYEEID SET NEWUSERDATA.CUSTOMPROPERTY14=(select distinct attribute8 from CURRENTDATASET_VALUES where CURRENTDATASET_VALUES.DATASETNAME='IngLocationAddr' and CURRENTDATASET_VALUES.attribute1=NEWUSERDATA.REGIONCODE and CURRENTDATASET_VALUES.attribute2=NEWUSERDATA.LOCATION and CURRENTDATASET_VALUES.attribute4=NEWUSERDATA.CUSTOMPROPERTY9)","UPDATE NEWUSERDATA LEFT JOIN CURRENTUSERS ON NEWUSERDATA.EMPLOYEEID = CURRENTUSERS.EMPLOYEEID SET NEWUSERDATA.STREET=(select distinct attribute5 from CURRENTDATASET_VALUES where CURRENTDATASET_VALUES.DATASETNAME='IngLocationAddr' and CURRENTDATASET_VALUES.attribute1=NEWUSERDATA.REGIONCODE and CURRENTDATASET_VALUES.attribute2=NEWUSERDATA.LOCATION and CURRENTDATASET_VALUES.attribute4=NEWUSERDATA.CUSTOMPROPERTY9)","UPDATE NEWUSERDATA LEFT JOIN CURRENTUSERS ON NEWUSERDATA.EMPLOYEEID = CURRENTUSERS.EMPLOYEEID SET NEWUSERDATA.LOCATIONDESC=(select distinct attribute5 from CURRENTDATASET_VALUES where CURRENTDATASET_VALUES.DATASETNAME='IngADOUMap' and CURRENTDATASET_VALUES.attribute1=NEWUSERDATA.REGIONCODE and CURRENTDATASET_VALUES.attribute3=NEWUSERDATA.LOCATION and CURRENTDATASET_VALUES.attribute4=NEWUSERDATA.CUSTOMPROPERTY9)","UPDATE NEWUSERDATA LEFT JOIN CURRENTUSERS ON NEWUSERDATA.EMPLOYEEID = CURRENTUSERS.EMPLOYEEID SET NEWUSERDATA.OWNERONTERMINATE=(select userkey from CURRENTUSERS where CURRENTUSERS.USERNAME=NEWUSERDATA.MANAGER)","UPDATE NEWUSERDATA LEFT JOIN CURRENTUSERS ON NEWUSERDATA.EMPLOYEEID = CURRENTUSERS.EMPLOYEEID SET NEWUSERDATA.COUNTRY=(select distinct attribute3 from CURRENTDATASET_VALUES where CURRENTDATASET_VALUES.DATASETNAME='IngLocationAddr' and LOWER(CURRENTDATASET_VALUES.attribute1)=LOWER(NEWUSERDATA.REGIONCODE) and LOWER(CURRENTDATASET_VALUES.attribute2)=LOWER(NEWUSERDATA.LOCATION) and LOWER(CURRENTDATASET_VALUES.attribute4)=LOWER(NEWUSERDATA.CUSTOMPROPERTY9))","CUSTOMFUNCTION###FUNCTION1"],"CUSTOMFUNCTIONS": {"FUNCTION1": {"FULLCLASSNAME": "com.saviynt.preprocessor.connection.ConnectionUtlityService","METHODNAME": "doCustomPreprocess"}}}
Solved! Go to Solution.
03/18/2024 12:33 PM
Your csv have less column than specified in sav config
03/18/2024 12:39 PM
REGIONCODE | EMPLOYEETYPE | EMPLOYEEID | Firstname | Lastname | PREFEREDFIRSTNAME | JOBCODEDESC | Statuskey | Companyname | LOCATION | CUSTOMPROPERTY9 | MANAGER | STARTDATE | ENDDATE | TITLE | TERMDATE | CUSTOMPROPERTY3 | PHONENUMBER | CUSTOMPROPERTY8 | CUSTOMPROPERTY41 | CUSTOMPROPERTY44 | CUSTOMPROPERTY11 | CUSTOMPROPERTY12 | REGIONCODE | EMPLOYEETYPE | EMPLOYEEID | Firstname | Lastname | PREFEREDFIRSTNAME | JOBCODEDESC | Statuskey | Companyname | LOCATION | CUSTOMPROPERTY9 | MANAGER | STARTDATE | ENDDATE | TITLE | TERMDATE | CUSTOMPROPERTY3 | PHONENUMBER | CUSTOMPROPERTY8 | CUSTOMPROPERTY41 | CUSTOMPROPERTY44 | CUSTOMPROPERTY11 | CUSTOMPROPERTY12 | CUSTOMPROPERTY47 |
We already checked it is correct only.
03/18/2024 03:37 PM
Some fields are repeated like firstname lastname
03/19/2024 05:26 AM
It is working when I remove CUSTOMPROPERTY47 from the SAV and CSV file, but when I include CUSTOMPROPERTY47 , it throw error Error in Users Import - Error while processing
data: Column count doesn't match value count at
row 1.
Thanks,
Utkarsh Rathore
03/19/2024 05:58 AM
It seems like Saviynt has some limitations over column count.
I removed cp44 to cp47 and it worked.