function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
atlantisatlantis 

How to get 18 digital record ID in formula field

Any one knows that?

 

Regards,

Atlantis

Best Answer chosen by Admin (Salesforce Developers) 
SporterSporter

I use a workflow rule and a field update to a text field but this should do in a formula also.

 

 

Id& 
CASE( 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,1),1)),1,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,2),1)),2,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,3),1)),4,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,4),1)),8,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,5),1)),16,0), 
0,"A",1,"B",2,"C",3,"D",4,"E",5,"F",6,"G",7,"H",8,"I", 
9,"J",10,"K",11,"L",12,"M",13,"N",14,"O",15,"P",16,"Q",17,"R", 
18,"S",19,"T",20,"U",21,"V",22,"W",23,"X",24,"Y",25,"Z",26,"0", 
27,"1",28,"2",29,"3",30,"4",31,"5","0")& 

CASE( 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,6),1)),1,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,7),1)),2,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,8),1)),4,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,9),1)),8,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,10),1)),16,0), 
0,"A",1,"B",2,"C",3,"D",4,"E",5,"F",6,"G",7,"H",8,"I", 
9,"J",10,"K",11,"L",12,"M",13,"N",14,"O",15,"P",16,"Q",17,"R", 
18,"S",19,"T",20,"U",21,"V",22,"W",23,"X",24,"Y",25,"Z",26,"0", 
27,"1",28,"2",29,"3",30,"4",31,"5","0")& 

CASE( 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,11),1)),1,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,12),1)),2,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,13),1)),4,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,14),1)),8,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,15),1)),16,0), 
0,"A",1,"B",2,"C",3,"D",4,"E",5,"F",6,"G",7,"H",8,"I", 
9,"J",10,"K",11,"L",12,"M",13,"N",14,"O",15,"P",16,"Q",17,"R", 
18,"S",19,"T",20,"U",21,"V",22,"W",23,"X",24,"Y",25,"Z",26,"0", 
27,"1",28,"2",29,"3",30,"4",31,"5","0")

 

 

All Answers

SporterSporter

I use a workflow rule and a field update to a text field but this should do in a formula also.

 

 

Id& 
CASE( 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,1),1)),1,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,2),1)),2,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,3),1)),4,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,4),1)),8,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,5),1)),16,0), 
0,"A",1,"B",2,"C",3,"D",4,"E",5,"F",6,"G",7,"H",8,"I", 
9,"J",10,"K",11,"L",12,"M",13,"N",14,"O",15,"P",16,"Q",17,"R", 
18,"S",19,"T",20,"U",21,"V",22,"W",23,"X",24,"Y",25,"Z",26,"0", 
27,"1",28,"2",29,"3",30,"4",31,"5","0")& 

CASE( 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,6),1)),1,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,7),1)),2,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,8),1)),4,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,9),1)),8,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,10),1)),16,0), 
0,"A",1,"B",2,"C",3,"D",4,"E",5,"F",6,"G",7,"H",8,"I", 
9,"J",10,"K",11,"L",12,"M",13,"N",14,"O",15,"P",16,"Q",17,"R", 
18,"S",19,"T",20,"U",21,"V",22,"W",23,"X",24,"Y",25,"Z",26,"0", 
27,"1",28,"2",29,"3",30,"4",31,"5","0")& 

CASE( 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,11),1)),1,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,12),1)),2,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,13),1)),4,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,14),1)),8,0)+ 
IF(CONTAINS("ABCDEFGHIJKLMNOPQRSTUVWXYZ",RIGHT(LEFT(Id,15),1)),16,0), 
0,"A",1,"B",2,"C",3,"D",4,"E",5,"F",6,"G",7,"H",8,"I", 
9,"J",10,"K",11,"L",12,"M",13,"N",14,"O",15,"P",16,"Q",17,"R", 
18,"S",19,"T",20,"U",21,"V",22,"W",23,"X",24,"Y",25,"Z",26,"0", 
27,"1",28,"2",29,"3",30,"4",31,"5","0")

 

 

This was selected as the best answer
atlantisatlantis

Thanks Sporter, that should be what i need.

 

Sees there's no simple official function to make it happen.

 

 

Regards,

Atlantis

SporterSporter

It's due to the level of access you are at, within the application you only need the 15 character ID as it's browser based and recognises the case, where as the API needs the 18 digit ID to be sure that it's the correct record and correct case in areas.

Adrian AlcazarAdrian Alcazar
Works perfectly with the WF field update , however for the formula field it  exceeds the 5,000 character limit
Demen SelcanDemen Selcan
As part of Spring ’12 release, you can do so by using Salesforce's standard formula "CASESAFEID(Id)" which will then add a suffix of 3 characters to the 15 characters record ID