Click HERE to see how Saviynt Intelligence is transforming the industry. |
05/29/2024 11:00 PM
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:
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:
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
05/29/2024 11:02 PM
<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>
05/29/2024 11:05 PM
the type="character" is already updated to type="number">
Regards
Sangita Ladi
05/29/2024 11:07 PM
It should be character for Custom property
05/30/2024 12:15 AM
updated but still same error.
05/30/2024 06:44 AM
Share sample output of stored procedure and logs in text format