Tuesday, 18 April 2017

How to Get Field Properties in Apex

Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe();

for (string objSource:schemaMap.keyset())
{
 Schema.SObjectType objectschema = schemaMap.get(objSource);
 Schema.DescribeSObjectResult objectdef=objectschema.getDescribe();
string objectlabel=objectdef.getlabel();
Map<String, Schema.SObjectField> FieldsMap = objectdef.fields.getMap();
system.debug('====================================');
system.debug('***Object Name****'+objectlabel);
for(String field : FieldsMap.keyset()){
    // skip fields that are not part of the object
   
      Schema.DescribeFieldResult dr = FieldsMap.get(field).getDescribe();
     if(dr.getFilteredLookupInfo() !=null)
{
       system.debug('***Lookup Filter ='+dr.getLabel());
        Schema.FilteredLookupInfo drlook=dr.getFilteredLookupInfo();
       //system.debug('***drlook****'+drlook);
        system.debug('***Optional= '+drlook.isOptionalFilter());
  }
  }
   
}

No comments:

Post a Comment