I am trying to find whether a given field resides in a particular Sobject. I am using the code
When I try to run this code, I am getting null pointer exception in line no. 3. I guess schemaMap function is having bug. The scenarios I have tested are
1) Namespace :: Tools__ &
Object name :: Order
Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe();
Schema.SObjectType leadSchema = schemaMap.get('Tools__Order'); // Object name : Order, namespace prefix : Tools__
Map<String, Schema.SObjectField> M= leadSchema.getDescribe().fields.getMap();
Schema.SObjectField field1 = M.get('Status');
System.debug('###field1'+field1);
Result : Null pointer exception
2)without namespace &
Object name :: Order
Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe();
Schema.SObjectType leadSchema = schemaMap.get('Order'); // Object name : Order, namespace prefix : Tools__
Map<String, Schema.SObjectField> M= leadSchema.getDescribe().fields.getMap();
Schema.SObjectField field1 = M.get('Status');
System.debug('###field1'+field1);
Result: ###field1 Status
3)Namespace :: Tools__ &
Object name :: CarSet__c
Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe();
Schema.SObjectType leadSchema = schemaMap.get('Tools__CarSet__c'); // Object name : Order, namespace prefix : Tools__
Map<String, Schema.SObjectField> M= leadSchema.getDescribe().fields.getMap();
Schema.SObjectField field1 = M.get('Status');
System.debug('###field1'+field1);
Result: null pointer exception
4) without namespace &
Object name :: CarSet__c
Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe();
Schema.SObjectType leadSchema = schemaMap.get('CarSet__c'); // Object name : Order, namespace prefix : Tools__
Map<String, Schema.SObjectField> M= leadSchema.getDescribe().fields.getMap();
Schema.SObjectField field1 = M.get('Status');
System.debug('###field1'+field1);
Result: ###field1 null
Do anyone know why its coming like that?.