Hi,
I have created a transform that calculates the Lifecycle State of an identity.
{
"name": "LCS Transform",
"type": "static",
"attributes": {
"user_Status": {
"attributes": {
"sourceName": "Cricket NewZealand",
"attributeName": "status"
},
"type": "accountAttribute"
},
"lastHireDate_Compare": {
"attributes": {
"firstDate": {
"attributes": {
"inputFormat": "yyyy-MM-dd'T'HH:mm:ss'Z'",
"outputFormat": "ISO8601",
"input": {
"attributes": {
"inputFormat": "MM/dd/yyyy",
"outputFormat": "yyyy-MM-dd'T'HH:mm:ss'Z'",
"input": {
"attributes": {
"sourceName": "Cricket NewZealand",
"attributeName": "lastHireDate"
},
"type": "accountAttribute"
}
},
"type": "dateFormat"
}
},
"type": "dateFormat"
},
"secondDate": {
"attributes": {
"inputFormat": "yyyy-MM-dd'T'HH:mm'Z'",
"outputFormat": "ISO8601",
"input": {
"attributes": {
"expression": "now/d"
},
"type": "dateMath"
}
},
"type": "dateFormat"
},
"operator": "gt",
"positiveCondition": "greater",
"negativeCondition": "lesser"
},
"type": "dateCompare"
},
"terminationDate_compare": {
"attributes": {
"firstDate": {
"attributes": {
"input": {
"attributes": {
"values": [
{
"attributes": {
"sourceName": "Cricket NewZealand",
"attributeName": "terminationDate"
},
"type": "accountAttribute"
},
"12/30/5000"
]
},
"type": "firstValid"
},
"inputFormat": "MM/dd/yyyy",
"outputFormat": "ISO8601"
},
"type": "dateFormat"
},
"secondDate": {
"attributes": {
"inputFormat": "yyyy-MM-dd'T'HH:mm'Z'",
"outputFormat": "ISO8601",
"input": {
"attributes": {
"expression": "now/d"
},
"type": "dateMath"
}
},
"type": "dateFormat"
},
"operator": "gte",
"positiveCondition": "greater",
"negativeCondition": "lesser"
},
"type": "dateCompare"
},
"value": "#if($user_Status=='active'&&$lastHireDate_Compare=='greater')prehire#elseif($lastHireDate_Compare=='lesser'&&$terminationDate_compare=='greater')active#elseif($terminationDate_compare=='lesser')terminated#{else}inactive#end"
}
}
I have a flat file containing identity data. After aggregating the data, the LCS calculation is correctly displayed in Identity details on IDN. Now, I have made some identities with manually set Lifecycle States. Upon re-aggregation of the same flat file, the transform should recalculate the LCS and update it automatically. However, this reversion process is not occurring.
For instance, I have an identity with “emp_id - 100, status - active, lastHireDate - 02/02/2024, terminationDate - NULL”. Initially, the transform displays the LCS as “active (automatic)”. If I manually change the LCS to “inactive (Manual)”, upon subsequent aggregations with no data changes, the LCS remains “inactive (Manual)” instead of reverting to “active (automatic)” as expected.
I have attempted various approaches:
- Optimized Aggregation
- Unoptimized Aggregation
- Changing the values of direct identity attributes and then aggregating them.
Now, my question is: are there any other methods to achieve this?
Thanks in advance,
Gokul