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

JOB_ID user attribute value not imported correctly

kunal_saxena
Regular Contributor
Regular Contributor

Hi,
Our trusted source for user import is a database. From the trusted source, we are importing JOB_ID along with other user attributes. The data type of JOB_ID in the DB is number.

We have created a DB connection in Saviynt for user import. In the USERIMPORT section, we have mapped the JOB_ID as follows (Below is a snippet from the USERIMPORT xml):

<dataMapping>
    <sql-query description="This is the Source DB Query" uniquecolumnsascommaseparated="username">
        <![CDATA[SELECT
		username AS "username",
		JOB_ID AS "JOB_ID", 
	FROM 
		users
	WHERE 
	usertype in ('Employee','Contractor')
]]>
    </sql-query>
    <importsettings>
        <zeroDayProvisioning>true</zeroDayProvisioning>
        <generateEmail>false</generateEmail>
        <userNotInFileAction>NOACTION</userNotInFileAction>
        <checkRules>true</checkRules>
        <buildUserMap>false</buildUserMap>
        <generateSystemUsername>false</generateSystemUsername>
        <userReconcillationField>USERNAME</userReconcillationField>
    </importsettings>
    <mapper description="This is the mapping field for Saviynt Field name" defaultrole="ROLE_SAV_ENDUSER">
		<mapfield saviyntproperty="USERNAME" sourceproperty="username" type="character"/>
		<mapfield saviyntproperty="JOB_ID" sourceproperty="JOB_ID" type="character"/>
    </mapper>
</dataMapping> 

Issue - We have observed that the JOB_ID is not getting imported correctly in the Saviynt JOB_ID user attribute. For example, if the JOB_ID value for a user in DB is 123, then the value imported in Saviynt is 789. The value that is imported into Saviynt is totally different from what it is stored on the DB.

We have also tried to change the data type in the mapping to "number", but the issue still persists:

<mapfield saviyntproperty="JOB_ID" sourceproperty="JOB_ID" type="number"/>

Please let me know if you have any suggestions on how to address this issue.

P.S. - the JOB_ID datatype in Saviynt users table is bigint.

kunal_saxena_0-1707473310025.png

https://docs.saviyntcloud.com/bundle/SSM-DB-Schema-Reference-v55x/page/Content/Identity-Repository-S...

Thanks,
Kunal

2 REPLIES 2

armaanzahir
Valued Contributor
Valued Contributor

Hi @kunal_saxena 

 

I guess the job_id column in the users table stores the joib id for the User Import Job that pulled in the user or updated it. I do not think it's available for mapping in Database Import. (ecmimportjob table will store the jobs metadata for user imports and accounts import and job id is the primary key over there)

armaanzahir_0-1707480604004.png

Can you map the value to jobcode instead and check as job_id will always store the User Import's job id even for a user record and the documentation is misleading around the same.  😊

armaanzahir_1-1707480927583.png

Database Schema Reference (saviyntcloud.com)

 

 

Regards,
Md Armaan Zahir

rushikeshvartak
All-Star
All-Star

Job_id is used internally by saviynt when any job is executed to update last imported job id for application 


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