filterString Attribute Parsing Problem (Spaces and Special chars)

Dear SailPoint Colleagues,

I am encountering an issue with the filterString functionality for the SAP HCM connector in ISC.

Specifically, I am trying to filter accounts based on two conditions:
1. “Has Multiple Contracts” is true (boolean).
2. “System user name (SY-UNAME)” is empty string.

The current filter I am using is as follows:

[
  {
    "op": "add",
    "path": "/connectorAttributes/filterString",
    "value": "(Has Multiple Contracts == true && System user name (SY-UNAME).isEmpty())"
  }
]

When this filter is applied, it does not work and throws an error during the aggregation. The issue seems to be related to the attribute “System user name (SY-UNAME)”, as removing this condition allows the filter to work correctly for “Has Multiple Contracts.” I suspect the problem might be due to the spaces or special characters (parentheses) in the attribute name.

Could you please assist in resolving this issue?

Hi @dimitarpetrov

Do you have account attribute like this “System user name (SY-UNAME)” in your schema ?

correct, I have the attribute

I will trypne by one thos filter :

(Has Multiple Contracts == true && 'System user name (SY-UNAME)'.isEmpty())
(Has Multiple Contracts == true && System user name \(SY-UNAME\).isEmpty())
(Has Multiple Contracts == true && 'System user name \(SY-UNAME\)'.isEmpty())

None of the options worked out

There was a note in the filtering article that attributes with spaces in the name cannot use == and !=. They are suggesting a format like:

[
  {
    "op": "add",
    "path": "/connectorAttributes/filterString",
    "value": "((Has Multiple Contracts.containsIgnoreCase(\"true\") && System user name (SY-UNAME)containsIgnoreCase(\"\")))"
  }
]

You might also try this syntax filtering on one attribute at a time until you get each component correct.

Unfly, both of the options didn’t work out, btw, single condition Has Multiple Contracts == true works out. Issue is only with System user name (SY-UNAME)