How to find object type from Salesforce record id?

Sample Code to execute in Developer Console:


  1. Id myId = '0035A00003MuvnuQAB';  
  2. String sObjName = myId.getSObjectType().getDescribe().getName();  
  3. system.debug('Object Name is ' + sObjName);  

Output:


( Or )

Sample Code:

Visualforce page:

  1. <apex:page Controller="sample" sidebar="false" >  
  2.   
  3. <apex:form >  
  4.   
  5.     <apex:pageblock id="pg" >  
  6.   
  7.         <apex:pageblockSection >  
  8.   
  9.             <apex:pageBlockSectionItem >Record Id</apex:pageBlockSectionItem>  
  10.             <apex:pageblockSectionItem ><apex:inputtext value="{!recId}" /></apex:pageblockSectionItem>  
  11.   
  12.         </apex:pageblockSection>  
  13.   
  14.         <apex:pageBlockButtons >  
  15.   
  16.             <apex:commandButton value="Find" action="{!find}" reRender="pg"/>  
  17.   
  18.         </apex:pageBlockButtons>  
  19.   
  20.         <apex:outputText >The object type is : {!objType}</apex:outputText>  
  21.   
  22.     </apex:pageblock>  
  23.   
  24. </apex:form>     
  25.   
  26. </apex:page>  

Apex: Controller:

  1. public with sharing class sample {  
  2.   
  3.     public Id recId {get;set;}  
  4.     public String output {get;set;}  
  5.     public Schema.SObjectType objType {get;set;}  
  6.       
  7.     public void find() {  
  8.   
  9.         objType = recId.getSobjectType();  
  10.         System.debug('Object Type is ' + objType);  
  11.   
  12.     }  
  13.   
  14. }  

Output:



Cheers!!!

3 comments: