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

DB account import is failing with null with Null pointer exception, was working fine before

sangitaladi
Regular Contributor II
Regular Contributor II

Hi Team

 

Our DB account import was running fine, but the account status was showing null under user ->accounts. But the account status was showing active under endpoints->accounts. Like below:

sangitaladi_2-1717048228780.png

 

sangitaladi_1-1717048204886.png

 

In this case, we were getting the status as "Active" from target. Since we saw the above issue, to fix it we updated the status to "1" instead of "Active". But with this change now the whole import is failing with null pointer exception.Below is the error screenshot:

sangitaladi_3-1717048470707.png

XMLs before (active as status)

ACCOUNTSIMPORT

<dataMapping>
<sql-query description="This is the Source DB Query">
<![CDATA[ {call dbo.GHI_APP_NAME_USER_ROLES_TO_VERIFY()} ]]>
</sql-query>
<mapper description="This is the mapping field for Saviynt Field name" accountnotinfileaction="Suspend" deleteaccountentitlement="true" ifusernotexists="noaction">
<mapfield saviyntproperty="accounts.name" sourceproperty="EMAIL" type="character"></mapfield>
<mapfield saviyntproperty="securitysystems.systemname" sourceproperty="System" type="character"></mapfield>
<mapfield saviyntproperty="endpoints.endpointname" sourceproperty="Application" type="character"></mapfield>
<mapfield saviyntproperty="entitlementtypes.entitlementname" sourceproperty="Access" type="character"></mapfield>
<mapfield saviyntproperty="entitlementvalues.entitlementvalue" sourceproperty="ROLE" type="character"></mapfield>
<mapfield saviyntproperty="accounts.status" sourceproperty="Status" type="character"></mapfield>
<mapfield saviyntproperty="accounts.customproperty1" sourceproperty="LDAP" type="character"></mapfield>
<mapfield saviyntproperty="accounts.customproperty2" sourceproperty="USRNAM" type="character"></mapfield>
<mapfield saviyntproperty="accounts.displayname" sourceproperty="FULLNAME" type="character"></mapfield>
<mapfield saviyntproperty="accounts.customproperty3" sourceproperty="Status" type="character"></mapfield>
</mapper>
</dataMapping>

STATUS_THRESHOLD_CONFIG

 

{
"statusAndThresholdConfig": {
"statusColumn": "customproperty3",
"activeStatus": ["Active"],
"deleteLinks": true,
"accountThresholdValue": 100,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": false
}
}

 

and after (1 as status) change:

ACCOUNTSIMPORT

<dataMapping>
<sql-query description="This is the Source DB Query">
<![CDATA[ {call dbo.GHI_APP_NAME_USER_ROLES_TO_VERIFY()} ]]>
</sql-query>
<mapper description="This is the mapping field for Saviynt Field name" accountnotinfileaction="Suspend" deleteaccountentitlement="true" ifusernotexists="noaction">
<mapfield saviyntproperty="accounts.name" sourceproperty="EMAIL" type="character"></mapfield>
<mapfield saviyntproperty="securitysystems.systemname" sourceproperty="System" type="character"></mapfield>
<mapfield saviyntproperty="endpoints.endpointname" sourceproperty="Application" type="character"></mapfield>
<mapfield saviyntproperty="entitlementtypes.entitlementname" sourceproperty="Access" type="character"></mapfield>
<mapfield saviyntproperty="entitlementvalues.entitlementvalue" sourceproperty="ROLE" type="character"></mapfield>
<mapfield saviyntproperty="accounts.status" sourceproperty="Status" type="number"></mapfield>
<mapfield saviyntproperty="accounts.customproperty1" sourceproperty="LDAP" type="character"></mapfield>
<mapfield saviyntproperty="accounts.customproperty2" sourceproperty="USRNAM" type="character"></mapfield>
<mapfield saviyntproperty="accounts.displayname" sourceproperty="FULLNAME" type="character"></mapfield>
<mapfield saviyntproperty="accounts.customproperty3" sourceproperty="Status" type="number"></mapfield>
</mapper>
</dataMapping>

STATUS_THRESHOLD_CONFIG

 

{
"statusAndThresholdConfig": {
"statusColumn": "customproperty3",
"activeStatus": ["1"],
"deleteLinks": true,
"accountThresholdValue": 100,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": false
}
}

 

Please share your insights on this issue.

 

Regards

Sangita Ladi

5 REPLIES 5

rushikeshvartak
All-Star
All-Star

<dataMapping>
<sql-query description="This is the Source DB Query">
<![CDATA[ {call dbo.GHI_APP_NAME_USER_ROLES_TO_VERIFY()} ]]>
</sql-query>
<mapper description="This is the mapping field for Saviynt Field name" accountnotinfileaction="Suspend" deleteaccountentitlement="true" ifusernotexists="noaction">
<mapfield saviyntproperty="accounts.name" sourceproperty="EMAIL" type="character"></mapfield>
<mapfield saviyntproperty="securitysystems.systemname" sourceproperty="System" type="character"></mapfield>
<mapfield saviyntproperty="endpoints.endpointname" sourceproperty="Application" type="character"></mapfield>
<mapfield saviyntproperty="entitlementtypes.entitlementname" sourceproperty="Access" type="character"></mapfield>
<mapfield saviyntproperty="entitlementvalues.entitlementvalue" sourceproperty="ROLE" type="character"></mapfield>
<mapfield saviyntproperty="accounts.status" sourceproperty="Status" type="number"></mapfield>
<mapfield saviyntproperty="accounts.customproperty1" sourceproperty="LDAP" type="character"></mapfield>
<mapfield saviyntproperty="accounts.customproperty2" sourceproperty="USRNAM" type="character"></mapfield>
<mapfield saviyntproperty="accounts.displayname" sourceproperty="FULLNAME" type="character"></mapfield>
<mapfield saviyntproperty="accounts.customproperty3" sourceproperty="Status" type="character"></mapfield>
</mapper>
</dataMapping>


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

the type="character" is already updated to type="number">

 

Regards

Sangita Ladi

It should be character for Custom property


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

updated but still same error.

Share sample output of stored procedure and logs in text format


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