+ Start a Discussion
arsars 

18 digit vs 15 digit ID

new here

 

i am only seeing the first 15 digits id of a record in the url when i choose 1 record. is there a way for me to see the whole 18 digits?

 

 

Navatar_DbSupNavatar_DbSup

Hi,

 

As we know that each record Id represents a unique record within an organisation. There are two versions of every record Id in salesforce :

  • 15 digit case-sensitive version which is referenced in the UI
  • 18 digit case-insensitive version which is referenced through the API

The last 3 digits of the 18 digit ID are a checksum of the capitalizations of the first 15 characters, this ID length was created as a workaround to legacy systems which were not compatible with case-sensitive IDs.
The API will accept the 15 digit ID as input but will always return the 18 digit ID.

 

You can create a custom formula field that returns type text, place the code below  in the formula field , you will got an 18 digit ID that you can easily add to any report.

 

Id
& MID("ABCDEFGHIJKLMNOPQRSTUVWXYZ012345",(
   IF(FIND(MID(Id,1,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,1,0)
   +IF(FIND(MID(Id,2,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,2,0)
   +IF(FIND(MID(Id,3,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,4,0)
   +IF(FIND(MID(Id,4,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,8,0)
   +IF(FIND(MID(Id,5,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,16,0)
   )+1,1)
& MID("ABCDEFGHIJKLMNOPQRSTUVWXYZ012345",(
   IF(FIND(MID(Id,6,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,1,0)
   +IF(FIND(MID(Id,7,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,2,0)
   +IF(FIND(MID(Id,8,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,4,0)
   +IF(FIND(MID(Id,9,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,8,0)
   +IF(FIND(MID(Id,10,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,16,0)
   )+1,1)
& MID("ABCDEFGHIJKLMNOPQRSTUVWXYZ012345",(
   IF(FIND(MID(Id,11,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,1,0)
   +IF(FIND(MID(Id,12,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,2,0)
   +IF(FIND(MID(Id,13,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,4,0)
   +IF(FIND(MID(Id,14,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,8,0)
   +IF(FIND(MID(Id,15,1), "ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0,16,0)
   )+1,1)

 

 

for more infromation refer the below link

 

http://forceguru.blogspot.com/2010/12/how-salesforce-18-digit-id-is.html

 

Did this answer your question? If not, let me know what didn't work, or if so, please mark it solved. 

IndrasenIndrasen

Hi........ Its superb....... thankz

imShwetaMimShwetaM

CASESAFEID(Id) function in a formula field can be used to capture the 18 digit id of a record.

It can be clubbed with other functions like UPPER so that integration with other systems like SAP can be facilitated.

 

https://help.salesforce.com/htviewhelpdoc?id=customize_functions_a_h.htm&siteLang=en_US#CASESAFEID

 

debi prasad baraldebi prasad baral
That works
String outputId = (String) Id.valueOf(inputId);
ShailendraTiwariShailendraTiwari
Hi, 

I've used this youtube link. It's working according to your requirement So please use the below link

https://www.youtube.com/watch?v=eAcj9G_kFwU

Thanks,
Shailendra
NILESH RAJ 20NILESH RAJ 20
18 digit IDs are used by APIs in the backend. You can see 18 digit IDs while performing operations using the workbench. To convert a 15 digit ID to 18 digit ID you can use the Salesforce 15 to 18 digit ID converter (https://sfdcwisdom.com/salesforce-15-to-18-digit)
Adam Cadman 4Adam Cadman 4
Hi,

If you want to do ad-hoc conversions of Id's, rather than programatically, then this Chrome extension makes it easy:
https://chrome.google.com/webstore/detail/sf-15-to-18/cogllpmaoflgaekieefhmglbpgdgmoeg

FYI - I'm the developer. Please use the feedback form on the app if you'd like to suggest any improvements or additional functionality.

Thanks!

Adam