Auto-numbering

Anish Reghu
Kilo Sage
Kilo Sage

 

If I add a new prefix - BLM on the sys_number table.

find_real_file.png

 

Now help me write a Business rule that this prefix will only auto-number user_name field on the User table if Department is BLM.

How to achieve this?

1 ACCEPTED SOLUTION

Maybe a small alternative, which would prevent issues when you are deleting users or removing the department of users: using an actual last number record.

- Just create a record in the sys_number_counter table (don't select a table, just create a record with only a number matching or higher then your last current number)

- Business Rule condition stays on department = your department OR department changes to your department, on insert + on update
Maybe add, user_name does not contain your prefix? But that's up to you.

- Script like (only update the sys_id with the sys_id of your new number record):

(function executeRule(current, previous /*null when async*/) {

	var prefixStr = 'BLM';
	var numberInt = 1000000;
	
	var grCounter = new GlideRecord('sys_number_counter');
	grCounter.get('be237ed32fb3d890b0c2d5ea2799b62a');
	
	var lastInt = grCounter.getValue('number');
	
	current.user_name = prefixStr + (parseInt(numberInt) + parseInt(lastInt) + 1);

	grCounter.addValue('number', 1);
	grCounter.update();
	
})(current, previous);

If my answer helped you in any way, please then mark it as helpful.

Kind regards,
Mark
2020 ServiceNow Community MVP
2020 ServiceNow Developer MVP

---

LinkedIn
Community article list

 

Kind regards,

 

Mark Roethof

Independent ServiceNow Consultant

10x ServiceNow MVP

---

 

~444 Articles, Blogs, Videos, Podcasts, Share projects - Experiences from the field

LinkedIn

View solution in original post

48 REPLIES 48

For example:

grCounter.setValue('number', parseInt(lastInt) + 1);

If my answer helped you in any way, please then mark it as helpful.

Kind regards,
Mark
2020 ServiceNow Community MVP
2020 ServiceNow Developer MVP

---

LinkedIn
Community article list

 

Kind regards,

 

Mark Roethof

Independent ServiceNow Consultant

10x ServiceNow MVP

---

 

~444 Articles, Blogs, Videos, Podcasts, Share projects - Experiences from the field

LinkedIn

Anish Reghu
Kilo Sage
Kilo Sage

Finally after all these discussion, here is the code I wanted:

 

find_real_file.png

 

@Mark Roethof Salutes to your patience on me. Really, hats off to your patience to bear with all my stupid comments in between. THANK YOU!

Mark, I just removed the numberInt, we initiated in the script, just to keep it simple. But, really hats off more to your patience than to the solution. I bow down to such a patience!

Nice that it works now!

Can you close this topic?

Kind regards,
Mark
2020 ServiceNow Community MVP
2020 ServiceNow Developer MVP

---

LinkedIn
Community article list

 

Kind regards,

 

Mark Roethof

Independent ServiceNow Consultant

10x ServiceNow MVP

---

 

~444 Articles, Blogs, Videos, Podcasts, Share projects - Experiences from the field

LinkedIn