Hi Tanu,
You can obtain the object type from an Id directly using the Id.getSObjectType method.
And this code gives you the object name:
public class KeyPrefix
{
private static Map<String,Schema.SObjectType> gd;
private static Map<String, String> keyPrefixMap;
private static Set<String> keyPrefixSet;
private static void init() {
gd = Schema.getGlobalDescribe();
keyPrefixMap = new Map<String, String>{};
keyPrefixSet = gd.keySet();
for(String sObj : keyPrefixSet)
{
Schema.DescribeSObjectResult r = gd.get(sObj).getDescribe();
String tempName = r.getName();
String tempPrefix = r.getKeyPrefix();
keyPrefixMap.put(tempPrefix, tempName);
}
}
public static String GetKeyPrefix(String ObjId)
{
init() ;
String tPrefix = ObjId;
tPrefix = tPrefix.subString(0,3);
String objectType = keyPrefixMap.get(tPrefix);
return objectType;
}
}
Now pass your id in Execute anonymous window like this to get the object name
System.debug(‘@@@ ‘+ KeyPrefix.GetKeyPrefix(‘0012800000sa1Vs’) );
Hope this helps you.
Thanks