If using non-mandatory fields in the matching rule, this solution may be required. Those fields could potentially be empty and would produce multiple empty records and an exception in the script "AAD_PersonAuto_Mapping_AADUser".
1. In "Search criteria for employee assignment" customers define matching rules, based on which, an automatic employee assignment to an account of the target system takes place in the script "AAD_PersonAuto_Mapping_AADUser".
2. If those matching rules use columns which are not mandatory, i.e. can have empty values or be null, then it is necessary to redefine matching rules (if they already exist) by doing the following:
- Define a new DialogObject (object definitions) in Designer | User interface | Object definitions
- This object should filter main table, so that it contains all objects that meet the requirement of a matching rule, that it does not contain records with empty value in the column used in the matching rule. In this case, the column "OnPremSid" of table "AADUser" should not be empty.
- This object should have "WhereClause" and "SelectScript" defined. In this case:
"Table": AADUser
"WhereClause": OnPremSid is NOT null
"SelectScript": $OnPremSid$ <>""
- The form for defining matching rules ("AAD_PersonToAccountMapping (FormPersonToAccountMapping)") allows selecting an object which applies the matching rule ("Apply to"). This form additionally shows all user-defined objects for the given target system.
- Using this new object guarantees that the matching rule will use non-empty columns.