I am really struggling to get one of my transforms to work. We have several users in our HR Source. I want to populate the users “Display Name” via a transform.
Where we concat the “First Name”, “Last Name” and then where the user has specific values existing in 1 of 2 possible attributes concat the contents of another attribute.
This is the code I am trying to use, but SailPoint throws a processing error when trying to process the identity…
{
"id": "IDNUMBER",
"name": "SYP - Calculate Display Name",
"type": "concat",
"attributes": {
"values": [
{
"attributes": {
"values": [
{
"attributes": {
"attributeName": "KNOWN_AS",
"sourceName": "SYP - HR"
},
"type": "accountAttribute"
},
{
"attributes": {
"attributeName": "FIRST_NAME",
"sourceName": "SYP - HR"
},
"type": "accountAttribute"
}
]
},
"type": "firstValid"
},
" ",
{
"attributes": {
"attributeName": "LAST_NAME",
"sourceName": "SYP - HR"
},
"type": "accountAttribute"
},
{
"type": "conditional",
"attributes": {
"expression": "$payrollUpper eq P",
"positiveCondition": "$collarPiece",
"negativeCondition": "",
"payrollUpper": {
"type": "upper",
"attributes": {
"value": {
"type": "firstValid",
"attributes": {
"values": [
{
"type": "trim",
"attributes": {
"value": {
"type": "accountAttribute",
"attributes": {
"attributeName": "PAYROLL_NAME",
"sourceName": "SYP - HR"
}
}
}
},
{ "type": "static", "attributes": { "value": "" } }
]
}
}
}
},
"collarTrim": {
"type": "firstValid",
"attributes": {
"values": [
{
"type": "trim",
"attributes": {
"value": {
"type": "accountAttribute",
"attributes": {
"attributeName": "COLLAR_NO",
"sourceName": "SYP - HR"
}
}
}
},
{ "type": "static", "attributes": { "value": "" } }
]
}
},
"empty": { "type": "static", "attributes": { "value": "" } },
"collarPiece": {
"type": "conditional",
"attributes": {
"expression": "$collarTrim eq $empty",
"positiveCondition": "",
"negativeCondition": {
"type": "concat",
"attributes": {
"values": [
" ",
{ "type": "static", "attributes": { "value": "$collarTrim" } }
]
}
}
}
}
}
}
]
},
"internal": false