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

ImportAccessFull:persistObjects : Data truncation: Data too long for column 'ENTITLEMENTID'

Anu
Regular Contributor
Regular Contributor

Hi ,

We are trying to import entitlements from target from an array list, However during reconciliation the entitlements are showing up as an single list instead of separate entitlements . importaccountJson and error as given below. Could you please suggest what additional mapping to be done ?

"entitlementParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"ClientAttributes": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxxxx/api/v1/customfield/search",
"httpHeaders":
{
"Accept": "application/json",
"key":"xxxxxxxx",
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"httpMethod": "POST",
"httpParams": "{\"assetClassList\": [\"USER\"],\"enabled\": true,\"page\": {\"page\": 0,\"size\": 1}}"
},
"listField": "customFields.optionsWithLabels",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "label~#~char",
"entitlement_value": "value~#~char"
}

Error:

2023-08-21/17:36:58.758 [{}] [quartzScheduler_Worker-1] DEBUG rest.RestProvisioningService - INFO ErEx: importAccessFull:persistObjects : Data truncation: Data too long for column 'ENTITLEMENTID' at row 1
2023-08-21/17:36:58.758 [{}] [quartzScheduler_Worker-1] DEBUG rest.RestProvisioningService - updateCounts length: 1
2023-08-21/17:36:58.758 [{}] [quartzScheduler_Worker-1] DEBUG rest.RestProvisioningService - updateCounts: [-3]
2023-08-21/17:36:58.758 [{}] [quartzScheduler_Worker-1] DEBUG rest.RestProvisioningService - batchExecution method : importAccessFull:persistObjects
2023-08-21/17:36:58.758 [{}] [quartzScheduler_Worker-1] DEBUG rest.RestProvisioningService - Entered checkIfRolledBack
2023-08-21/17:36:58.758 [{}] [quartzScheduler_Worker-1] DEBUG rest.RestProvisioningService - All updateCounts is negative. Adding all in failedBatchDetailsMap
2023-08-21/17:36:58.758 [{}] [quartzScheduler_Worker-1] DEBUG rest.RestProvisioningService - failedBatchDetailsMap size: 1
2023-08-21/17:36:58.758 [{}] [quartzScheduler_Worker-1] DEBUG rest.RestProvisioningService - failedBatchDetailsMap size: 1
2023-08-21/17:36:58.758 [{}] [quartzScheduler_Worker-1] DEBUG rest.RestProvisioningService - failedBatchDetailsMap : [1:Insert into entitlement_values set ENTITLEMENTTYPEKEY = 2913, ORPHAN=0, SOX_CRITICAL=0, SYS_CRITICAL=0, STATUS = 1, JOB_ID = 2069679, entitlementID = 'ent1, ent2, ent3, ent4, ,,,,,,etc

Below given is the postman response:

{
"totalFound": 9,
"customFields": [
{
"id": "xxxx",
"clientId": xxxx,
"globalAsset": false,
"assetClassList": [
"USER"
],
"fieldType": "PICKLIST_MULTISELECT",
"name": "Client Role - sample",
"options": [
"ent1",
"ent2",
"ent3",,,,],"optionsWithLabels": [
{
"label": "ent1",
"value": "ent1"
},
{
"label": "ent2",
"value": "ent2"
},
{
"label": "ent3",
"value": "ent3"
}],}

 

 

 

 

7 REPLIES 7

SB
Saviynt Employee
Saviynt Employee

It appears the EntitlementId value being stored is more than 255 characters. The EntitlementId  filed can only store upto 255 characters. You can update your mapping and change the data to be stored in CUSTOMPROPERTY1 to 5 for label.


Regards,
Sahil

Anu
Regular Contributor
Regular Contributor

Hi @SB ,

We want the data to be reconciled as individual entitlement. Currently from label the data is being returned as entitlementvalue = ent1,ent2,ent3,,,,,, but we want the data to return as entitlementvalue=ent1,entitlementvalue=ent3,entitlementvalue=ent3,etc

Could you please assist what changes to be done in json to split

 

SB
Saviynt Employee
Saviynt Employee

The above should have worked but can you try with the below and see if it helps

"listField": "customFields",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "optionsWithLabels.label~#~char",


Regards,
Sahil

Anu
Regular Contributor
Regular Contributor

@SB We have tried this option as well . The issue still persists. It still tries to insert the data as single entitlement

DEBUG rest.RestProvisioningService - failedBatchDetailsMap : [1:Insert into entitlement_values set ENTITLEMENTTYPEKEY = 2913, ORPHAN=0, SOX_CRITICAL=0, SYS_CRITICAL=0, STATUS = 1, JOB_ID = 2069679, entitlementID = 'ent1, ent2, ent3, ent4, ,,,,,,etc

 

SB
Saviynt Employee
Saviynt Employee

Can you check if it works when you define the value as "entitlementID": "optionsWithLabels[0].label~#~char",. Though I believe it might just pick the first one but lets try this and check the behavior. 


Regards,
Sahil

Anu
Regular Contributor
Regular Contributor

@rushikeshvartak Could you please provide your inputs on this usecase. Thanks in advance.

SB
Saviynt Employee
Saviynt Employee

I am checking on this and will update.


Regards,
Sahil