Sunday , February 25 2018

Custom settings

Custom Settings

They are similar to a custom object, it enables a user to create custom data, make an association between them similar to the custom object. The difference is that the custom settings are exposed in the application cache, this data can then be efficiently accessed without querying the database and reduce the overall overhead at the server and improves the efficiency of the App. The custom setting can be used with validation rule, apex class or formula fields etc.


There are two types of custom settings:

  1. List Custom setting
  2. Hierarchy Custom Setting


List Custom setting provides a reusable set of static data, we can put frequently access data in the custom setting and this can be accessed without SOQL query to the database. Data in list custom setting does not change with profile or user and is available throughout the organization.


Hierarchy custom setting is based on organization’s hierarchy profile logic and is not available throughout the organization. It checks the context of the user for its profile, organization and then returns the lowest value.


The custom setting can be created from UI of Salesforce and can be managed after creating the setting.


Custom Setting methods

These methods are all instance specific methods, they are called and operate by a particular instance of the custom setting. Custom methods are divided based on the type custom setting we are accessing.


List Custom Setting Methods

The following are instance methods are used to fetch values from list custom settings.

  1. getAll(): Map of the dataset is returned in this method
  2. getInstance(dataSetName): it returns the data of the specific dataset mentioned in the method.
  3. getValues(dataSetName): it returns the data specific to the dataset name mentioned in the method.


Hierarchy Custom setting methods

The following are instance methods are used to fetch values from Hierarchy custom settings.

  1. getInstance(): the return result is specific for a particular user.
  2. getInstance(userId):returns the result specific for a  specific user.
  3. getInstance(profileId):returns the result specific for a  specific profile.
  4. getOrgDefault(): Returns the result for the Org
  5. getValues(userId): Returns the result for the specific user.
  6. getValues(profileId): Returns the result for the specific user.

About Sumit Datta

Sumit Datta
I am a 3x Certified Salesforce developer with overall 5 years of IT experience and 3 years of Implementation experience in Salesforce. I am here to share my knowledge and help Beginners in Salesforce to understand the concepts of Apex, Visualforce, Salesforce Lightning and Salesforce Configuration.

Check Also

Salesforce Lightning Interview Questions

Top 50 Salesforce Lightning Interview Questions 2018

Salesforce Lightning Interview Questions Below is the comprehensive list of questions asked in Salesforce Lightning …

Trailhead Leaderboard (Unofficial)

Trailhead Leaderboard(Unofficial)

Trailhead Leaderboard (Unofficial) Hello everyone, Today I am presenting to you Salesforce Trailhead LeaderBoard(Unofficial), a …

Salesforce Trailhead Widget for your Website

Salesforce Trailhead widget for your Website Hi Friends Recently, I have been working on a small …

Salesforce Lightning tutorials

Salesforce Lightning Tutorial: Lightning Component basics

Salesforce Lightning Tutorial: Lightning Component basics Chapter 1: Prerequisite for Lightning Component Development My Domain …


  1. Really helpful blog.. please add more needful data..

Leave a Reply

Your email address will not be published. Required fields are marked *