Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

How we can handle special character in System Username Generation

New Contributor III
New Contributor III

Hi Team,

Can anyone tell me How we can handle special character in System Username Generation. We are using advance configuration for System Username Generation and also we need to convert those characters to general form. Below is the list-

å, Å a or A
æ, Æa or A
œ, Œo or O
ç, Çc or C
ð, Ðd or D
ø, ØCtrl+/, o or O

Please let us know if anyone can help me.


With Regards, 

Siraj Molla



Check below forum post?


Devang Gandhi
If this reply answered your question, please Accept As Solution and give Kudos to help others who may have a similar problem.



System user name generation works on MySQL query, so you can use replace function multiple time to replace each special character with required character like below:


Like above you need to write replace function for each character to be replaced.

Pandharinath Mahalle(Paddy)
If this reply helps your question, please consider selecting Accept As Solution and hit Kudos 🙂


Use saviynt default function - FN_EIC_REPLACE


Use this DB function to replace the accented letters and special characters with alternatives to transform them into acceptable characters that can be parsed by EIC. This DB function works in conjunction with the REPLACE_MAPPING dataset provided by Saviynt, which contains default alternatives for replacing these letters and characters. You can extend this dataset or create new alternatives in another dataset based on your requirements and use it with the DB function. This DB function can be used with the user import preprocessor and with advanced configuration of identity rules (System Username Generation, Email Generation, and Account Name). For more information, see Normalizing the Identity Data Using the User Import Preprocessor and Configuring Identity Lifecycle Setup. For more information about creating datasets, see Creating Datasets.

  • If you want to use the DB function with the default dataset, use the following syntax: FN_EIC_REPLACE(STRING_TO_BE_REPLACED,null)

  • If you want to use the DB function with another dataset, use the following syntax: FN_EIC_REPLACE(STRING_TO_BE_REPLACED,'REPLACE_MAP_CUSTOM')

where REPLACE_MAP_CUSTOM specifies the name of the dataset. 

Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

Hi Rushikesh,

I will check your suggestion and let you know.

With Regards,

Siraj Molla

Hi Rushikesh,

Suppose if we are re using below logic as an example then how the format will look like-

WHEN LENGTH(users.lastname) = 1 THEN UPPER(CONCAT(SUBSTRING(replace(users.firstname,"'",""), 1, 1),SUBSTRING(replace(users.lastname,"'",""), 1, 1),'00',FN_EIC_SEQGEN('sam')))
WHEN LENGTH(users.lastname) = 2 THEN UPPER(CONCAT(SUBSTRING(replace(users.firstname,"'",""), 1, 1),SUBSTRING(replace(users.lastname,"'",""), 1, 2),'0',FN_EIC_SEQGEN('sam')))
ELSE UPPER(CONCAT(SUBSTRING(replace(users.firstname,"'",""), 1, 1),SUBSTRING(replace(users.lastname,"'",""), 1, 3),FN_EIC_SEQGEN('sam')))

Please let me know where I have to add that replace logic.

With Regards,

Siraj Molla