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

How to terminate the users if the user not in feed

AravindK
Regular Contributor
Regular Contributor

Hi Team,
We are working on the user terminatation through userimportfullJob and we have set the property but it is not terminating after user import .In the logs we can see the below message like term limit is null .

  • 2023-05-30 15:24:00,308 [quartzScheduler_Worker-10] DEBUG services.ImportSAvDataUserService  - ownerNameField = USERNAME
    2023-05-30 15:24:00,308 [quartzScheduler_Worker-10] DEBUG

  • services.ImportSAvDataUserService  - Setting Zero Day Provisioning to true
    2023-05-30 15:24:00,308 [quartzScheduler_Worker-10] DEBUG services.ImportSAvDataUserService  - Setting CheckRules to true
    2023-05-30 15:24:00,309 [quartzScheduler_Worker-10] DEBUG services.ImportSAvDataUserService  - buildUserMap = false
    2023-05-30 15:24:00,309 [quartzScheduler_Worker-10] DEBUG services.ImportSAvDataUserService  - userCachedMap size = 0
    2023-05-30 15:24:00,309 [quartzScheduler_Worker-10] DEBUG services.ImportSAvDataUserService  - Setting Zero Day Limit = 100
    2023-05-30 15:24:00,309 [quartzScheduler_Worker-10] DEBUG services.ImportSAvDataUserService  - Setting User Termination Limit = null

It is DB connector and we have set the below property in the USERIMPORT.

<userNotInFileAction>In-Activate</userNotInFileAction>

In externalConfig. Properties we have these two values:

# Set the default Zero Day & Term User Limit
userImport.zeroDayLimit=100
userImport.termUserLimit=200


2 REPLIES 2

shivmano
Regular Contributor III
Regular Contributor III

@AravindK have you mapped the value corresponding to status on the authoritative source against the statuskey value on Saviynt? Also, if the requirement is to mark user as Active or Inactive based on the status of the user at the source? you can directly set the statuskey during import. 

You can add a statement similar to below in the UserImport query during import:

CASE when EMPLOYMENT_STATUS='ACTIVE' THEN 1 ELSE 0 END as status ( here employment_status is the status field at the source)

and then map this 'status' value against statuskey :
<mapfield saviyntproperty="statuskey" sourceproperty="status" type="number"></mapfield>

With this you can directly set the status to active or inactive and keep the userNotInFileAction to NOACTION

dgandhi
All-Star
All-Star

Have you checked below config at global level?

User Termination from Imports

Use this setting to enable the termination of a user account when the user becomes inactive via ARS or import. 

The options are:

  • Enabled: Allows you to terminate a user when the user becomes inactive via ARS and revoke tasks are created for all the active accounts of the user.

    Warning

    When user termination is enabled in ARS and if a user is terminated via import, deprovisioning tasks for all the terminated user accounts are created.

  • Disabled: Prevents you from terminating a user when the user becomes inactive via ARS. When this option is disabled, no revoke tasks are created for the active accounts of the user.

    Warning

    A User Update rule is triggered only when the User Termination setting is configured as disabled from ARS Global Configurations.

    For more information, see Creating User Update Rules.

Thanks,
Devang Gandhi
If this reply answered your question, please Accept As Solution and give Kudos to help others who may have a similar problem.