Hi All,I’m working on a transform that checks the expiry dates from multiple sources and compares them with the current date minus 90 days, to identify which accounts are nearing expiry. I’ve built a transform for this, but I’m facing an issue: if an identity doesn’t have an account in one of the sources, the transform fails and stops execution. I tried using FirstValid, but it hasn’t resolved the issue. Could someone please help me troubleshoot this?
{
“id”: “xxxx”,
“name”: “testexstat”,
“type”: “firstValid”,
“attributes”: {
“requiresPeriodicRefresh”: “true”,
“values”: [
{
“type”: “static”,
“attributes”: {
“account1”: {
“type”: “dateCompare”,
“attributes”: {
“firstDate”: {
“type”: “dateFormat”,
“attributes”: {
“inputFormat”: “EPOCH_TIME_WIN32”,
“outputFormat”: “ISO8601”,
“input”: {
“type”: “firstValid”,
“attributes”: {
“values”: [
{
“type”: “accountAttribute”,
“attributes”: {
“accountPropertyFilter”:“!(accountFlags.contains(\“Disabled\”))”,
“attributeName”: “msDS-XX”,
“sourceName”: “XXXX1”
}
},
{
“attributes”: {
“value”: “None”
},
“type”: “static”
}
]
}
}
}
},
“secondDate”: {
“type”: “dateMath”,
“attributes”: {
“expression”: “now-90d”,
“roundUp”: false
}
},
“operator”: “lt”,
“positiveCondition”: “true”,
“negativeCondition”: “false”
}
},
“account2”: {
“type”: “dateCompare”,
“attributes”: {
“firstDate”: {
“type”: “dateFormat”,
“attributes”: {
“inputFormat”: “EPOCH_TIME_WIN32”,
“outputFormat”: “ISO8601”,
“input”: {
“type”: “firstValid”,
“attributes”: {
“values”: [
{
“type”: “accountAttribute”,
“attributes”: {
“accountPropertyFilter”:“!(accountFlags.contains(\“Disabled\”))”,
“attributeName”: “msDS-xyz”,
“sourceName”: “XXXX2”
}
},
{
“attributes”: {
“value”: “None”
},
“type”: “static”
}
]
}
}
}
},
“secondDate”: {
“type”: “dateMath”,
“attributes”: {
“expression”: “now-90d”,
“roundUp”: false
}
},
“operator”: “lt”,
“positiveCondition”: “true”,
“negativeCondition”: “false”
}
},
“value”: “#if($account1 == ‘true’)account1#elseif($account2 == ‘true’)account2#{else}noexpireaccount#end”
}
}
],
“ignoreErrors”: false
},
“internal”: false
}