Click HERE to see how Saviynt Intelligence is transforming the industry. |
08/04/2023 07:35 AM
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 |
¿ | ? |
¡ | ! |
ß | s |
Please let us know if anyone can help me.
With Regards,
Siraj Molla
08/04/2023 09:46 AM
Check below forum post?
Thanks,
Devang Gandhi
If this reply answered your question, please Accept As Solution and give Kudos to help others who may have a similar problem.
08/04/2023 10:59 AM
Hi @SIRAJMOLLA ,
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:
replace(replace(replace(users.lastname,'å','a'),'Å','A'),'æ','a')
Like above you need to write replace function for each character to be replaced.
08/06/2023 04:41 PM
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.
08/07/2023 04:38 AM
Hi Rushikesh,
I will check your suggestion and let you know.
With Regards,
Siraj Molla
08/10/2023 09:31 PM - edited 08/10/2023 09:32 PM
Hi Rushikesh,
Suppose if we are re using below logic as an example then how the format will look like-
CASE
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')))
END
Please let me know where I have to add that replace logic.
With Regards,
Siraj Molla