Import account JOB for coupa is getting Stucked for more than 30hrs

Shwet01
New Contributor III
New Contributor III

Hi Everyone,

We are trying to import accounts from Coupa via import job in dev environment. As Coupa team informed they have 2lakh user present in the application. Till now we have imported 75k accounts from Coupa but now after running the import job. Job is getting stucked for more than 30+ hrs and count is still 75k. We had also tried to increase the threshold value in import json but still we see the same issue. Can anyone help us what we are doing wrong.

Everytime we have to ask to saviynt to kill the job and lastrun date is sometimes not getting updated.

Shwet01_0-1691653205166.png

Shwet01_1-1691653794491.png

 

IMPORT ACCOUNT JSON-

{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"statusColumn": "customproperty21",
"activeStatus": [
"1",
"true"
],
"deleteLinks": false,
"accountThresholdValue": 80000,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": true,
"lockedStatusColumn": "customproperty21",
"lockedStatusMapping": {
"Locked": [
"false"
],
"Unlocked": [
"true"
]
}
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://XXXXXXXXXXX/api/users/",
"httpContentType": "application/json",
"httpMethod": "GET",
"httpHeaders": {
"accessToken": "${access_token}",
"Accept": "application/json"
}
},
"listField": "",
"keyField": "accountID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"accountID": "id~#~char",
"customproperty1": "email~#~char",
"name": "login~#~char",
"name": "id~#~char",
"status": "active~#~char",
"displayname": "fullname~#~char",
"lockedState": "#CONST#${String isActive = response.active; isActive = (isActive.equals('false') ) ? 1:2; return isActive}~#~char",
"customproperty2": "firstname~#~char",
"customproperty3": "lastname~#~char",
"customproperty4": "fullname~#~char",
"customproperty5": "call1.message.mention-name~#~char",
"customproperty6": "company~#~char",
"customproperty8": "purchasing-user~#~char",
"customproperty9": "expense-user~#~char",
"customproperty10": "sourcing-user~#~char",
"customproperty11": "inventory-user~#~char",
"customproperty12": "contracts-user~#~char",
"customproperty13": "analytics-user~#~char",
"customproperty14": "created-by.id~#~char",
"customproperty15": "sso-identifier~#~char",
"customproperty16": "employee-number~#~char",
"customproperty20": "manager.login~#~char",
"customproperty21": "active~#~char",
"creator": "created-by.login~#~char",
"customproperty22": "login~#~char",
"customproperty30": "#CONST#${new Date(Calendar.getInstance().getTimeInMillis()).format('yyyy-MM-dd HH:MM:SS')}~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"pagination": {
"offset": {
"offsetParam": "offset",
"batchParam": "limit",
"batchSize": 50,
"totalCountPath": 75000
}
}
}
},
"acctEntMappings": {
"User Group": {
"importAsEntitlement": false,
"listPath": "user-groups",
"idPath": "id",
"keyField": "entitlementID"
}
}
},
"entitlementParams": {
"processingType": "SequentialAndIterative",
"entTypes": {
"User Group": {
"entTypeOrder": 0,
"entTypeLabels": {
"customproperty1": "Meta Created"
},
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"accessToken": "${access_token}",
"Accept": "application/json"
},
"url": "https://XXXXXX/api/user_groups",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "name~#~char",
"description": "description~#~char"
},
"pagination": {
"offset": {
"offsetParam": "offset",
"batchParam": "limit",
"batchSize": 50,
"totalCountPath": 75000
}
}
}
}
}
}
},
"acctEntParams": {
"connection": "acctAuth",
"entTypes": {
"User Group": {
"call": {
"usergroupcall": {
"callOrder": 1,
"stageNumber": 1,
"processingType": "httpEntToAcct",
"http": {
"url": "https://XXXXX/api/user_group/${id}",
"httpMethod": "GET",
"httpHeaders": {
"accessToken": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json"
},
"listField": "",
"entIdPath": "id",
"acctIdPath": "users.id",
"entKeyField": "entitlementID",
"acctKeyField": "accountID"
},
"pagination": {
"offset": {
"offsetParam": "offset",
"batchParam": "limit",
"batchSize": 50,
"totalCountPath": 75000
}
}
}
}
}
}
}

Status threshold-

{
"statusAndThresholdConfig": {
"accountThresholdValue": 80000,
"inactivateAccountsNotInFile": true,
"statusColumn": "customproperty21",
"activeStatus": [
"active"
],
"correlateInactiveAccounts": true,
"deleteLinks": false
}
}

 

Thanks

shweta

[This message has been edited by moderator to mask names from image]

1 REPLY 1

pmahalle
Valued Contributor II
Valued Contributor II

Hi @Shwet01 ,

Can you try adding ConfigJSON in your connection like below, make sure to increase the timeout as no of records are more in your case. This json also help you to get logs in log file.

{
"showLogs": true,
"connectionTimeoutConfig": {
"timeout": 300,
"retryWait": 500
}
}

If you killed the job from backend sometime last run date not reflected in job history, even I observed the same.

 


Regards,

Pandharinath Mahalle(Paddy)
If this reply answered your question, please Accept it As Solution to help others who may have a similar problem.