Click HERE to see how Saviynt Intelligence is transforming the industry. |
08/21/2023 11:28 AM
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"
}],}
08/23/2023 03:06 PM
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.
08/23/2023 09:17 PM - edited 08/23/2023 09:18 PM
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
08/30/2023 09:39 AM
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",
08/30/2023 10:47 AM
@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
09/07/2023 08:26 AM
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.
08/30/2023 05:41 AM
@rushikeshvartak Could you please provide your inputs on this usecase. Thanks in advance.
09/01/2023 09:11 AM
I am checking on this and will update.