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

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

sangitaladi
Regular Contributor
Regular Contributor

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 you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

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

 

Regards

Sangita Ladi

It should be character for Custom property


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

updated but still same error.

Share sample output of stored procedure and logs in text format


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