And when I opened the identity from debug I found this:
the ‘name’ = employee number and the ‘userName’ has the SY-UNAME value which is correct.
Does anyone has idea?
Understanding IdentityIQ: “name” vs “Username” Mapping
The Two Layers of Identity Attributes
Backend (Technical Layer): name
The name attribute is the unique, immutable identifier used at the technical level. It’s referenced in all technical configurations, rules, workflows, database queries, and API calls. This is the actual attribute name you’ll work with when writing code or configuring integrations.
Frontend (UI Layer): “Username”
The same name attribute is displayed as “Username” in the user interface. This provides a user-friendly label for administrators and end users navigating the Identity Warehouse. Despite the different label, it represents the exact same data as the backend name attribute.
Identity Attribute Mapping
Understanding the Mapping
When configuring applications in IdentityIQ, you must map source attributes from your authoritative systems to IdentityIQ identity attributes. The name attribute mapping is critical because it serves as the primary identifier for each identity. For example, in an SAP HR application, you might map the PERNR (Personnel Number) field to the IdentityIQ name attribute.
Checking SAP HR Configuration
Navigate to Setup → Applications → Select SAP HR → Schema tab to view identity attribute mappings. Verify which source attribute (like PERNR, employee ID, or username) is configured to populate the identity name attribute. This mapping determines how identities are uniquely identified and correlated across systems.
Your “Identity attribute” which you configured/gave in your SAP HR application configurations. By default IIQ will take that name attribute , I see identity attribute configure as employeeNumber by default it will map the name attribute
I’m confused why in the UI for some identities their username in the identity cube is different with the identity xml in the debug?
and some other cases the username in the identity cube is like the one in the backend?
Generally you dont need to map “name” (display name : User Name" ) in identity mapping, this comes from the “identity attribute” in your authoratative application schema. What you mapped in identity attribute mapping as “userName” is just custom attribute.
Please check “identityViewAttributes” in your UI config from debug and you can see that “name” is what first attribute in this list which is mapped to employeeid and not the custom “userName” . If you want userName to be also added to UI then add it in “identityViewAttributes”
The identity’s name/username is based on the authoritative source schema display attribute that created the identity. If the display attribute does not exist on the account when aggregated for the first time, it will fall back to the identity attribute from the schema. The identity name is “immutable”, once it’s set from that initial creation, it doesn’t change (it technically can be changed, but you shouldn’t change it). So my guess is the identities that have Employee Number as their name did not have a value for System user name (SY-UNAME) on initial aggregation.
Please check whether the users possess a System user name (SY-UNAME) or not. If they do not have one, then the name specified in the display name attribute of the authoritative application will be created and assigned to them accordingly. It is expected behavior in such cases.