Why can't I change the IndividualEnrolmentStatus nested attribute value back to active from cancel?

Question

Using the following setting

  1. enableNestedAttribute=true,
  2. partialOveride in POST
  3. matchFieldURI defined
  4. aggregation survivorship defined for attribute

 

              "label": "Individual Enrollments",              
"name": "IndividualEnrollments",
              "description": "Individual Enrollments",    
       
"type": "Nested",
              "hidden": false,  
         
"important": false,
             "system": false,    
       
"faceted": true,
             "searchable": true,
              "uri": "configuration/entityTypes/Individual/attributes/IndividualEnrollments",
             "dataLabelPattern": "{EnrollmentID}, {Type}, {Status}",
              "matchFieldURIs": [
                  "configuration/entityTypes/Individual/attributes/IndividualEnrollments/attributes/EnrollmentID"
             ],
              "matchFieldURIsExactOrNull": [
                  "configuration/entityTypes/Individual/attributes/IndividualEnrollments/attributes/Type"
             ],
  • Create the entity 

API call used:

POST https://<environment>.reltio.com/reltio/api/<tenantId>/entities?options=partialOverride,updateAttributeUpdateDates,ovOnly

 
Request body
 

[{
     "type": "configuration/entityTypes/Individual",
     "crosswalks": [
         {
             "value": "169081454756029752",
             "updateDate": "2023-07-31T14:42:27.560306z",
             "sourceTable": "Siebel_Individual",
             "type": "configuration/sources/Siebel",
             "dataProvider": true,
             "contributorProvider": false
         }
     ],
     "attributes": {
         "FirstName": [
             {
                 "value": "Maliktest2"
             }
         ],
         "DQE_FirstName": [
             {
                 "value": "N"
             }
         ],
         "DQE_LastName": [
             {
                 "value": "Y"
             }
         ],
         "LastName": [
             {
                 "value": "Albeiktest12311"
             }
         ],
         "IndividualEnrollments": [
             {
                 "value": {
                     "Type": [
                         {
                             "value": "Spa_Club"
                         }
                     ],
                     "Status": [
                         {
                             "value": "Active"
                         }
                     ],
                     "StatusChangeDate": [
                         {
                             "value": "05/10/2023"
                         }
                     ],
                     "StartDate": [
                         {
                             "value": "05/10/2023"
                         }
                     ],
                     "IndividualEnrollmentsCustomFields": [
                         {
                             "value": {
                                 "Type": [
                                     {
                                         "value": "pros_id"
                                     }
                                 ],
                                 "Value": [
                                     {
                                         "value": "19283409318203"
                                     }
                                 ]
                             }
                         }
                     ]
                 }
             }
         ]
     }
}
]

 
Result:


"Status": [ 


"type": "configuration/entityTypes/Individual/attributes/IndividualEnrollments/attributes/Status", 
"ov": true, 
"value": "Active", 
"lookupCode": "ACTIVE", 
"lookupValue": "Active", 
"uri": "entities/00005bd/attributes/IndividualEnrollments/1msuH3/Status/1mt2nZ" 

],



       {
         "uri": "entities/00005bd/crosswalks/1mtSN7",
         "type": "configuration/sources/Siebel",
         "sourceTable": "Siebel_Individual",
         "value": "169081454756029752",
         "reltioLoadDate": "2023-08-01T01:12:43.186Z",
         "createDate": "2023-08-01T01:12:43.186Z",
         "updateDate": "2023-07-31T14:42:27.560Z",
         "attributes": [
       "entities/00005bd/attributes/IndividualEnrollments/1msuH3/StatusChangeDate/1mt73p",
             "entities/00005bd/attributes/IndividualEnrollments/1msuH3/IndividualEnrollmentsCustomFields/1mtFaL/Type/1mtJqb",
             "entities/00005bd/attributes/DQE_LastName/1mslkX",
             "entities/00005bd/attributes/IndividualEnrollments/1msuH3/Status/1mt2nZ",
             "entities/00005bd/attributes/DQE_FirstName/1mshUH",
             "entities/00005bd/attributes/IndividualEnrollments/1msuH3"
         ],
         "singleAttributeUpdateDates": {}

 Update to Cancelled

 
API call used:

POST https://gus-training.reltio.com/reltio/api/ib0oLwKoe6wqj0P/entities?options=partialOverride,updateAttributeUpdateDates,ovOnly

 
 
Request body
 

[{ "type": "configuration/entityTypes/Individual",
     "crosswalks": [
         {
             "value": "169081454756029752",
             "updateDate": "2023-08-01T20:50:22.258074z",
             "sourceTable": "Siebel_Individual",
             "type": "configuration/sources/Siebel",
             "dataProvider": true
         }
     ],
     "attributes": {
         "IndividualEnrollments": [
             {
                 "value": {
                     "EnrollmentID": [
                         {
                             "value": 6851414
                         }
                     ],
                     "Type": [
                         {
                             "value": "Spa_Club"
                         }
                     ],
                     "Status": [
                         {
                             "value": "Cancelled"
                         }
                     ],
                     "IndividualEnrollmentsCustomFields": [
                         {
                             "value": {
                                 "Type": [
                                     {
                                         "value": "wcs_id"
                                     }
                                 ],
                                 "Value": [
                                     {
                                         "value": "1239801283"
                                     }
                                 ]
                             }
                         }
                     ]
                 }
             }
         ]
     }
}]

 
Result:
 

  "Status": [ 

"type": "configuration/entityTypes/Individual/attributes/IndividualEnrollments/attributes/Status", 
"ov": true, 
"value": "Cancelled", 
"lookupCode": "CANCELLED", 
"lookupValue": "Cancelled", 
"uri": "entities/00005bd/attributes/IndividualEnrollments/1msuH3/Status/4PSbJXy" 
}, 

"type": "configuration/entityTypes/Individual/attributes/IndividualEnrollments/attributes/Status", 
"ov": false, 
"value": "Active", 
"lookupCode": "ACTIVE", 
"lookupValue": "Active", 
"uri": "entities/00005bd/attributes/IndividualEnrollments/1msuH3/Status/1mt2nZ" 

]





"uri": "entities/00005bd/crosswalks/1mtSN7", 
"type": "configuration/sources/Siebel", 
"sourceTable": "Siebel_Individual", 
"value": "169081454756029752", 
"reltioLoadDate": "2023-08-01T01:37:10.133Z", 
"createDate": "2023-08-01T01:12:43.186Z", 
"updateDate": "2023-07-31T14:42:27.560Z", 
"attributes": [ 
"entities/00005bd/attributes/IndividualEnrollments/1msuH3/IndividualEnrollmentsCustomFields/1mtFaL/Value/1mtO6r", 
"entities/00005bd/attributes/IndividualEnrollments/1msuH3/Type/1msyXJ", 
"entities/00005bd/attributes/IndividualEnrollments/1msuH3/Status/4PSbJXy",

"entities/00005bd/attributes/IndividualEnrollments/1msuH3/IndividualEnrollmentsCustomFields/4PSaHc6/Type/4PSaLsM" 
], 
"singleAttributeUpdateDates": { 
"entities/00005bd/attributes/IndividualEnrollments/1msuH3/Status/4PSbJXy": "2023-08-01T20:50:22.258Z", 
"entities/00005bd/attributes/IndividualEnrollments/1msuH3/IndividualEnrollmentsCustomFields/4PSaHc6/Value/4PSaQ8c": "2023-08-01T20:50:22.258Z", 
"entities/00005bd/attributes/IndividualEnrollments/1msuH3/IndividualEnrollmentsCustomFields/4PSaHc6": "2023-08-02T00:50:22.000Z", 
"entities/00005bd/attributes/IndividualEnrollments/1msuH3": "2023-08-02T00:50:22.000Z", 
"entities/00005bd/attributes/IndividualEnrollments/1msuH3/IndividualEnrollmentsCustomFields/4PSaHc6/Type/4PSaLsM": "2023-08-01T20:50:22.258Z" 
}

 Update to back to Active

 
API call used:

POST https://gus-training.reltio.com/reltio/api/ib0oLwKoe6wqj0P/entities?options=partialOverride,updateAttributeUpdateDates,ovOnly

  
Request body
 

[{ "type": "configuration/entityTypes/Individual",
     "crosswalks": [
         {
             "value": "169081454756029752",
             "updateDate": "2023-08-02T20:50:22.258074z",
             "sourceTable": "Siebel_Individual",
             "type": "configuration/sources/Siebel",
             "dataProvider": true
         }
     ],
     "attributes": {
         "IndividualEnrollments": [
             {
                 "value": {
                     "EnrollmentID": [
                         {
                             "value": 6851414
                         }
                     ],
                     "Type": [
                         {
                             "value": "Spa_Club"
                         }
                     ],
                     "Status": [
                         {
                             "value": "Active"
                         }
                     ],
                     "IndividualEnrollmentsCustomFields": [
                         {
                             "value": {
                                 "Type": [
                                     {
                                         "value": "wcs_id"
                                     }
                                 ],
                                 "Value": [
                                     {
                                         "value": "1239801283"
                                     }
                                 ]
                             }
                         }
                     ]
                 }
             }
         ]
     }
}]

 
Result


"Status": [
                     {
                         "type": "configuration/entityTypes/Individual/attributes/IndividualEnrollments/attributes/Status",
                         "ov": true,
                         "value": "Cancelled",
                         "lookupCode": "CANCELLED",
                         "lookupValue": "Cancelled",
                         "uri": "entities/00005bd/attributes/IndividualEnrollments/1msuH3/Status/4PSbJXy"
                     },
                     {
                         "type": "configuration/entityTypes/Individual/attributes/IndividualEnrollments/attributes/Status",
                         "ov": false,
                         "value": "Active",
                         "lookupCode": "ACTIVE",
                         "lookupValue": "Active",
                         "uri": "entities/00005bd/attributes/IndividualEnrollments/1msuH3/Status/1mt2nZ"
                     }
                 ],

 Answer:

This is expected behavior. If you look at the process, you see that Active is already a value present in the entity when you are trying to change from Cancelled to Active.

According to documentation https://docs.reltio.com/en/model/construct-your-data-model/define-or-refine-your-data-model/define-crosswalks-for-data-sources/update-entity-attributes.

If no entity attributes are changed in the request body. – The updateDate value in the response and singleAttributeUpdateDates values of the attributes do not change.

 

Possible alternatives

  • Use cumulative  update rather POST /entities&partialoverride.   
  • Use keyAttributeURIs and matchFieldsURIs in the L3 for IndividualEnrollment.  Then the value will be replaced.  However, this will impacted nested within nested attributes as well (deep nested)
 {
                 "label": "Individual Enrollments",
                 "name": "IndividualEnrollments",
                 "description": "Individual Enrollments",
                 "type": "Nested",
                 "hidden": false,
                 "important": false,
                 "system": false,
                 "faceted": true,
                 "searchable": true,
                 "uri": "configuration/entityTypes/Individual/attributes/IndividualEnrollments",
                 "dataLabelPattern": "{EnrollmentID}, {Type}, {Status}",
                 "keyAttributeURIs": [
                     "configuration/entityTypes/Individual/attributes/IndividualEnrollments/attributes/Type"
                 ],
                 "matchFieldURIs": [
                     "configuration/entityTypes/Individual/attributes/IndividualEnrollments/attributes/EnrollmentID"
                 ],
                 "matchFieldURIsExactOrNull": [
                     "confi

 

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.