I’ve been attempting to work through a transform to develop a staged roll off for termination lifecycle events. The goal is to have accounts go into an inactive state for the first thirty days post termination before being set to terminated status.
I’ve been working with the following transform based on others that I have seen in discussions but keep running up against some variation of {attributes=com.sailpoint.seaspray.transform.DateCompare@66d362e4} for each of the dateCompare statements.
I’ve tried to format and unformat all the time segments with either a complete failure to evaluate error or just some variation of the one above.
Any insights would be very welcome!
{
"id": "xxxxxxxxxxxxxxxxxxxx", "name": "test lifecycle 3", "type": "static", "attributes": { "terminated": { "attributes": { "firstDate": { "attributes": { "input": { "attributes": { "sourceName": "SuccessFactors", "attributeName": "Termination Date" }, "type": "accountAttribute" }, "inputFormat": "yyyy-MM-dd'T'HH:mm", "outputFormat": "ISO8601" }, "type": "dateFormat" }, "secondDate": { "type": "dateFormat", "attributes": { "input": { "type": "dateMath", "attributes": { "expression": "now" } }, "inputFormat": "yyyy-MM-dd'T'HH:mm", "outputFormat": "ISO8601" } }, "operator": "gt", "positiveCondition": "active", "negativeCondition": "terminated", "type": "dateCompare" } }, "inactive": { "attributes": { "firstDate": { "attributes": { "input": { "attributes": { "sourceName": "SuccessFactors", "attributeName": "Termination Date" }, "type": "accountAttribute" }, "inputFormat": "yyyy-MM-dd'T'HH:mm", "outputFormat": "ISO8601" }, "type": "dateFormat" }, "secondDate": { "type": "dateFormat", "attributes": { "input": { "type": "dateMath", "attributes": { "expression": "now-30d" } }, "inputFormat": "yyyy-MM-dd'T'HH:mm", "outputFormat": "ISO8601" } }, "operator": "gt", "positiveCondition": "yes", "negativeCondition": "no", "type": "dateCompare" } }, "value": "#if($terminated=='active')active#elseif($terminated=='terminated'&&$inactive=='yes')inactive#{else}ERROR#end" }, "internal": false}