What is Custom setting?
Custom settings are similar to custom objects. We have to create our own custom setting similarly to creating custom object.).Custom settings are similar to custom objects and enable application developers to create custom sets of data, as well as create and associate custom data for an organization, profile, or specific user. The custom setting data can then be used by formula fields, validation rules, flows, Apex, and the SOAP API.
Why do we need custom settings?
Apex runs in a multitenant environment, the Apex runtime engine strictly enforces limits to ensure that runaway Apex code or processes don’t monopolize shared resources. If some Apex code exceeds the limit then exception cannot be handled. When we need data we query from object and display, if we query multiple time there is chance of hitting governing limit. So to avoid governing limit we use custom setting. It allows us to store set of data and access it without querying it from apex.
Custom setting is two types
- List custom setting
- Hierarchycustom setting
List Custom Settings
A type of custom setting that provides a reusable set of static data that can be accessed across your organization. If you use a using a set of data frequently within your application, then we need to write SOQL to fetch that record from object which might increase the chance to hit governing limit .So put that data in a list custom setting and without writing SOQL we can access it. Data in list settings does not vary with profile or user, but is available organization-wide. Examples of list data include city, state, Zip code for country.
Hierarchy Custom Settings
Hierarchy custom setting allows us to “personalize” settings for specific profiles or users. It can control user or profile in organization. The hierarchy logic checks the organization, profile, and user settings for the current .In the hierarchy, settings for an organization are overridden by profile settings, which, in turn, are overridden by user settings.
Limits in Custom Settings:
- 300 fields per custom setting.
- Custom setting object record cannot be shared.
- When a custom setting is created, owner is not So the owner can’t be changed.
- Custom settings are a type of custom object. Custom setting also counts against the total number of custom objects available for the organization.
Navigation for Custom setting
Setup =>Build=>Develop=>Custom setting=>NewHere without querying from the record we can fetch the data from server and display in viusalforce page using custom setting.
How to get the Value from custom setting
public class DemoCustomSetting { public List<Country__c>getData {get;set;} public DemoCustomSetting () { Map<String,Country__c>alldata= Country__c.getAll(); getData = alldata.values(); } } Visualforce page <apex:page controller="DemoCustomSetting" sidebar="false" > <apex:form > <apex:pageblock title="Person Details"> <apex:pageblockTable value="{!getData }" var="A"> <apex:column value="{!A.Name}"/> <apex:column value="{!A.State__c}"/> <apex:column value="{!A.City__c}"/> <apex:column value="{!A.Zip_code__c}"/> </apex:pageblockTable> </apex:pageblock> </apex:form> </apex:page>
0 Comments