Revision: 31366
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at September 3, 2010 12:55 by Xhitman
Initial Code
global static String to18(String the15charID){
//a0BA0000000L2ZC => a0BA0000000L2ZCMA0
//the15charID = 'a0BA0000000L2ZC'
final String BASE ='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456';
the15charID = StringUtils.trim(the15charID);
if(StringUtils.length(the15charID) != 15){
return the15charID;
}
String result = '';
List<String> chars = null;
for(integer i = 0; i < 3; i++){
chars = StringUtils.toCharArray(StringUtils.reverse(the15charID.substring(i*5,i*5+5)));
String binary = '';
for(String ch : chars){
binary += Character.isUpperCase(ch) ? '1' : '0';
}
result += StringUtils.charAt(BASE,NumberUtils.parseInt(binary,2));
}
return the15charID + result;
}
Initial URL
http://apex-lang.googlecode.com/svn/trunk/eclipse-project/src/classes/SystemUtils.cls
Initial Description
Credits to apex-lang package
Initial Title
Salesforce Convert 15-char to 18-char IDs in Apex
Initial Tags
Initial Language
Other