Generating UniqueIdentifier for Target System

Which IIQ version are you inquiring about?

Version 8.X

Share all details related to your problem, including any error messages you may have received.

Hi All,

Good Day!

I’m working on a unique requirement where I need to generate a unique Identifier for the target system. The customer mentioned that the unique Identifier is a counter which starts with XXXXXX.
This unique identifier is neither the Identity Attribute for the application nor displayAttribute.
Customer wants that this unique identifier should be generated via Sailpoint. For example -
For the first user, If we try to provision this value is XXXXXX, for the next user it should increment by 1 and so on…

I have written the rule but unfortunately, It’s not working due to limitation in the method -

boolean isUidNumberUnique(int uidNumberCounter)
{
	boolean isUnique=false;
	Correlator correlator=new Correlator(context);
	String attributeName="description";
	Application app=context.getObjectByName(Application.class,"Active Directory");
	Link link=correlator.findLinkByAttribute(app,null,attributeName,String.valueOf(uidNumberCounter));
	if(link==null)
	{
		isUnique=true;
	}
	return isUnique;
}

Getting error - Attribute " + attrName + " is not configured in the application schema[" + schemaType + "] as a correlation key.

Any pointers

Did you add the attribute ‘description’ to the schema of the application? (all lowercase)

What I would to is add a new searchable attribute to the account mapping.
Then use the following statement to get the Link object (or not):

Link l = (Link) context.getUniqueObject(Link.class, Filter.and(Filter.eq("application.name", "Active Directory"),Filter.eq("description", String.valueOf(uidNumberCounter))));

– Remold

2 Likes

you can create a db sequence and you can use that value for while create operation ,

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.