Thursday, July 20, 2017

Sales force interview questions: Configuration

We should not modify the live application directly so we work in different environment for the changes of the existing application.
Salesforce Production related interview questions | Salesforce Sandbox related interview questions | Salesforce CRM related to Cloud Computing | Salesforce Sandbox Types

  • Pictorial representation of internet is Cloud.
  • Cloud Computing is nothing but internet computing.
  • With this approach everything can be done in internet (Using Application, Developing Application and distributing the hardware), no need of any minimum hardware requirementsand no need to install any software in local system.
  • Cloud Computing is an approach to provide the following services -
    1. SAAS (Software AA Service)
    2. PAAS (Platform AA Service)
    3. IAAS (Infrastructure AA Service)
  1. Salesforce is a company which provides a web based tool called Salesforce
  2. Salesforce by following the Cloud Computing approach, providing SAASand PAAS
  3. SAAS: Providing SalesMarketing and Call Center applications as a service
  4. PAAS: Providing Force.com platform in which we can develop Apex (Programming language similar to Core Java) and Visualforce (Mark up language similar to HTML) logic.
              We should not make coding changes in production since end-users are using the           application from production environment.
           login.salesforce.com
To make any changes for the exiting application we should copy all contents of the production into sandbox and make all changes after that test thoroughly and move those changes into production. 
To create the sandbox, in production we can find one link called sandboxes. by clicking on that link we can create the sandbox by choosing type of the sandbox.
   test.salesforce.com
  1. Developer Sandbox
  2. Developer pro sandbox
  3. Partial data sandbox
  4. Full copy sandbox
  • It copy only configuration changes from the production
  • It won’t copy real time data
  • We can test the configuration changes with sample data
  • Sample data limit is 200mb
  • Refresh time interval is one day
  • If we refresh all the sandbox contents will be replaced with production contents
  • Copy configuration changes
  • No real time data
  • Sample data limit is 1GB
  • Refresh time interval one day
  • Copy configuration changes
  • Copy certain amount of real time data
  • Real time data limit is 5GB
  • For each table it can copy maximum of 10k records
  • Refresh interval 5 days
  • It is exact replica of the production
  • Copy both configuration and entire real time data from the production
  • Refresh time interval 29 days
Using point and click approach, we can configure the functionalities.
Salesforce Configuration Interview Questions | Salesforce Admin Interview Questions | Salesforce Administration Interview Questions | Salesforce point and click Interview Questions
  • While creating the object, we can enable 'Track Field History'.
  • If, we enable 'Track Field History' user can see 'Set History Tracking' button under 'Custom Fields & Relationships' section which is available on the object detail page.
  • By clicking on 'Set History Tracking' button, we can enable tracking for the fields which ever we want.
  • To see the object history, go to object's record layout and add Object Name History related list to the layout.
  • Whenever, user changes field value from one value to another value, it will show the history of the field in 'Object History' related list.
To create the Activities, while creating the object, we should check for 'Allow Activities' check box then user can add open Activities and Activity History related lists on the Object layout.
There are two types of activities -
  1. Task: Task is nothing but work assigned to a particular person, it doesn't have certain time limit.
  2. Event: It has certain time limit in that time only all persons should assemble after the time limit over, event will get complete.
- Once event or task status changed to 'Completed' then we can see those records under Activity History Related List.
Tab name will be decided based on the Plural Label of the custom object, to rename go to corresponding object detail page and rename the plural label.
Click on the tab(Which should be realted to any of the custom/standard object) > Expand Force.com Quick Access Menu > Edit Columns > Move the needed fields from Available Fields to Selected Fields. > Click on Save > User should be able to see multiple columns. 
(OR)
Click on Setup > Create > Objects > Select the corresponding object link > Under Search Layouts section > Click Edit which should be left to Object Tab > Move the needed fields from Available Fields to Selected Fields. > Click on Save > User should be able to see multiple columns.
  • ISNULL() works only for number data type fieds, if we don't populate with value for number fields it will return true.
  • ISNULL() won't support TEXT data type fields because text fields never become null.
  • ISBLANK() supports both number as well as text data types.
In some scenario's, we should be able to control one of the field(Dependent field) from another field(Controlling field), example If we select Country(Controlling field) as US then City(Dependent Field) should display only US cities.
  • We can use checkbox data type fields also while creating dependent picklist (Note: Checkbox should be always controlling field)
  • We can use multi-select data type fields also while creating dependent picklist (Note: multi-select data type field should be always dependent field)
  • MVC Architecutre - Model, View , Controller
  • View - It is the user interface (Apps, Tabs, Page Layouts, Fields and Record Types)
  • Controller - Business Logic (Save, Edit, New, Cancel and Delete - upon click on these button salesforce execute some logic from controller)
  • Model - It is the Database, which stores Schema (Meta-Data(Data about Data) --> Apps, Tabs, sObjects, fields, Apex Classes, Visualforce pages, etc...) and Instance (Records)
  • In Salesforce, whenever user create any component (Object, field, tab etc...) or record then salesforce will generate an unique id with which user can identify the record or component.
  • After creating the record, in the URL user can see the id of the record which is of 15 digits length.
  • Through user interface user always see 15 digit id which is Cases-Sensitive
  • .
  • If the user query the existing records from the database through API (Either from Query Tool or from a program), it will always return 18 digit id which is Case-Insensitive.
  • Last 3 digits of the 18 digit represents checksum of the capitalization of 15 digit id.
  • Based on the first 3 digits user can identify the object of the record.
  • All the records belongs to same object will contain same firt 3 digits.
  • For an object based on the Record Type, we can show different fields and different picklist values by assigning different page layouts for the record types and profiles.
  • After creating the record type, on the record type detail page user can see all the picklist data type fields, user can edit the picklist and decide which values should display for this particular record type.
  • Whenever user try to create a new record or edit an existing record user can input the values for the fields, this page is nothing but edit page.
  • After creating a new record or editing an existing record, user can see the information of the record, this page is nothing but detail page.
Within the sfdc standered functionality (no need to code).
  • Custom tabs (create for objects)
  • Web tabs (create to display a website)
  • Visual force tabs (create to display the visual force page)
While creating or modifying the record based on the certain conditions we can display error messages on top of the page or below to the filed.
Create a unique text field and update the field from workflow rule (use formula to update by combining two field values), after the update again all the system validations will be performed so error will be displayed.
Since we are working in multitenant environment Salesforce is enforcing the limits for all the functionalities.
  • Max. number of Master Detail relationships per an object: 2
  • Max. number of Relationship Fields per an object: 40 (Increased from 25 to 40 in Summer'14)
  • Max number of Roll-up Summary fields per an object: 25 (Click here for the Reference)
  • How many external ids we can enable for an object: 7 (increased from 3 to 7 in Winter'15)
            text, number, auto number, email.
After clicking on the tab on the top of the page we can see views, by default we can see the value called ‘all’. If we click on ‘Go’ beside that all we can see all the records of that object. If we want we can create new views. While creating the view we can give the filter conditions so that based on the filter condition only we can see the records.
On the detail page without clicking on edit button we can edit particular field if it is not read-only.
To enable or disable Inline editing follow the below navigation - Setup--> Customise--> User Interface--> Enable Inline Editing
In list views we can modify multiple records at a time using Enhanced list views Note: To modify multiple records, all the records should belong to same record type in the list view otherwise we cannot modify.
Whenever we click on a tab or we click on a lookup icon or search for a record we see only one standard field by default, to enable remaining fields -
  • To show multiple fields for the records which display under a tab, on object detail page > under Search layouts edit tab and add required fields.
  • To show multiple fields for the records which display when we click on lookup of a field, on object detail page > under Search layouts edit Lookup Dialogs and add required fields.
  • To show multiple fields for the records which display when we search for the records, on object detail page > under Search layouts edit Search Results and add required fields.
For lookup fields on record detail page we see a link, whenever we put cursor on that link we see a popup window which displays few fields. To control the fields visibility, on that look up field parent object page layout we see a mini page layout in that we can control.
To control the picklist values of the status field on the lead object we should create lead process.
  • Without selecting the lead process we can't create the record type for lead object
To control the picklist values of the stage field on the opportunity object we should create sales process.
  • Without selecting the sales process we can't create the record type for opportunity object
To control the picklist values of the status field on the case object we should create support process.
  • Without selecting the support process we can't create the record type for case object
On lead object we can generate the HTML code by selecting lead fields and by mentioning return URL from web-to-lead option. The generated HTML code can be hosted in any of the website. Upon entering the information in those fields and clicking on submit button that information will be saved into lead object of the Salesforce.
In queue we can add group of users and we can assign the objects to the Queue. After creating the queue one of the list view automatically created on the objects which are selected for the queue. We can assign this queue as the owner of the records (objects which are selected for this queue). Later users who are part of that queue can claim the ownership by navigating to list view corresponding to the queue. In that list view users who are part of the queue can select the record and click on accept button so that record ownership will be transferred from queue to accepted person.
We can add set of random users in the public group. We can't assign public group as an owner of the record. In manual sharing, sharing rules and in list views we can use public group.
On lead and case objects we can create the Assignment rules. Whenever any record is submitted for lead/case if specified condition in the Assignment rule satisfied based on that we can decide the owner of the case/lead. Note:While submitting case/lead we should check for 'Assign using active assignment rule' checkbox which will display under Optional section.
On lead and case objects we can create the Auto-Response Rules. Whenever any record is submitted for lead/case if specified condition in the Auto-Response Rules satisfied based on that we can decide the email format which should send as auto response.
On case object we can create Escalation rule. Based on the priority we can send escalation mails.
Salesforce Architecture is MVC. MVC stands for -
  • M - Model (Database - Physical Existance of the Data)
  • V - View (Userineterface which can be seen by the user)
  • C - Controller (Business Logic)

  • M - Model --> Setup Box
  • V - View --> TV
  • C - Controller --> Remote

To avoid Data Redundancy and To achieve Integrity we should go for Relationships.
Salesforce Interview Questions related to Relationships topic 
| Salesforce Interview Questions related to Lookup Relationship 
| Salesforce Interview Questions related to Master-Detail Relationship 
| Salesforce Interview Questions related to External Lookup Relationship 
| Salesforce Interview Questions related to Self Relationship
| Salesforce Interview Questions related to Manay-to-Many Relationship
| Salesforce Interview Quesitons related to Internal Lookup
| Salesforce Interview Questions related to Internal-lookup relationship
No, we cannot create directly. To create first we should create Look up relationship then populate the field value for all the records and then convert the look up relationship to master detail relationship.
If the parent object doesn’t have Roll up Summary fields for the child object then we can convert.
  • If the parent objects don’t have Roll up Summary fields for the child object then we can delete.
  • To delete a child object it should not be referred in Apex Classes and Apex Triggers.
  • Later if we undelete the object, Master detail fields on the junction objects will be converted to look up Fields.
  • Note:
  • If we delete only Master – Detail Relationship field from the child object and undelete it from the Recycle Bin then it will be converted to look up relationship.
  • Parent Object we cannot delete because it will be referred in the child object.
Master – Detail Relationship data types will be converted to look up relationship data types.
If we delete parent object record all the child object records relationship's field value will be get deleted. (Entire record won’t be get deleted)

Example:
Child Object: Employee (Employee object have Department field which is related to Department Object)
Parent Object: Department
  • Suppose N number of employee records related to IT department, if we delete IT department all the child(Employee) records Department field value related to IT department will be get deleted.
  • Note:
  • Salesforce store deleted records only for 15 day in Recycle bin later it will remove the records permanently.
  • If we undelete the IT department record from the Recycle bin then all the related child records department field value will be restored.
If we delete the parent object record all the child object records will be get deleted.

Example:
Child Object: Employee (Employee object have Department field which is related to Department Object)
Master Object: Department
  • Suppose N number of employee records related to IT department, if we delete IT department all the child records will get deleted.
  • Note:
  • Salesforce store deleted records only for 15 day in Recycle bin later it will remove the records permanently.
  • If we undelete the IT department record from the Recycle bin then along with IT department record all the related child (Employee) records will be restored. (We cannot see the child object records in the Recycle bin)
A child object which is having master detail relationships with two different parent object is called junction object.

Example:
Object1: Department
Object2: Project
Child Object: Employee
  • Field1: Department (Master Detail with Department )
  • Field2: Project(Master Detail with Project)
Note: From the above example we can say Employee Object as Junction Object.
Child records will be get deleted which are related to Department as well as Project.

Note: If we undelete the IT department record from the Recycle bin then along with IT department record all the related child (Employee) records will be restored those will be reflected for Project as well. (We cannot see the child object records in the Recycle bin)

Profiles and Permission Sets provides security for meta-data (Structure) components.
Salesforce interview questions related to security in Salesforce 
| permission sets 
| Sharing Settings 
| Sharing Rules 
| Manual Sharing 
| Apex managed sharing 
| Grant Access using hierarchies 
| OWD | Organization Wide Defaults 
| Criteria based Sharing Rules 
| Roles | Roles and Subordinates 
| Queues 
| Public Groups
No, once we create an user in salesforce we cannot delete the user record. We can only deactivate the user record.
If we enable 'Grant Account Login Access' for a user then we can see 'Log in' button on the detail page of that user. By clicking on that 'Log in' button without giving that user's username and password we can log in.
To enable the 'Grant Account Login Access' follow the below steps -
  1. Log in as a user to whom you want to enable Log in access.
  2. At top right corner click on name (Which should be left to Setup) > My Settings
  3. User should be able to see user's personal set up page.
  4. Left side, click on Personal Information > Grant Account Login Access
  5. User should be able to see Grant Account Login Access page
  6. In Access Duration column select '1 Year' for all the records and click on 'Save' button.
  7. Log out and Log in as any other user in the organization then click on Manage Users > Users.
  8. User should be able to see list of records and verify the user to whom we enabled the Grant Account Login Access
  9. User should be able to see the Login link beside Edit link.
  10. Click on Login then user should be able to login as that user mode
  11. Observe at top right corner, user should be able to see Logged in as 'Name of the user' which should be highlighte in black color.
  12. Click on Logout
  13. User should be come back to original user's mode, Observe at top right corner, user should not be able to see Logged in as 'Name of the user'
Using Profiles and Permission Sets.
  • Profile deals with CRED (Create, Read, Edit and Delete) permissions over Apps, Tabs, sObjects, Fields, Record Types, etc...
  • We can map only one profile for one user and without mapping the profile we cannot create the user.
  • To improve the permissions for the users over profiles we should go for Permission Sets.
  • Example- To give additional permissions to few users who belongs to different profiles over Apps, Tabs, sObjects and fields.

Permission sets.
1000 (It will depends upon the number of licenses taken by the client, it will be like upto 4000 like that based on the client)
  1. Roles
  2. OWD(Organigation Wide Defaults)
  3. Sharing Rules.
  4. Manual Sharing
  5. Apex Managed sharing
  6. View all.
  7. Modify all.
  8. View all data.
  9. Modify all data.
Role deals with authorization to access data.
OWD is the default access level on records for any object in sales force.
For custom objects we can see below access levels -
  1. Private
  2. Public Read only
  3. Public Read/Write
  4. Public Read/Write transfer -Lead and Case
  5. Public full access -Campaign
  6. controlled by parent:M-D
By default after creating custom object OWD access level is Public Read/Write.

Private: only owner and above hierarchy users can have Read/Write access and below hierarchy users don't have any access.
Public Read only: only owner and above hierarchy users can have Read/Write access and below hierarchy users can have only Read Only.
Public Read/Write: Irrespective of role hierarchy every one can have Read/Write permissions on the records.
Say there are three roles
  • Role A
    • Role B
      • Role C
Role A is higher in hierarchy, Role B is in middle and Role C is lower in hierarchy
If the Role A user through Manual Sharing or Sharing Rules, shares the record to Role C user who is in lower hierarchy, then the Role B user who is above in hierarchy to Role C user can see the records, if we enable Grant Access Using Hierarchies at sharing settings else Role B user cannot see the record.
Through 'Manual Sharing' a specific record can be shared.

  • Import wizard is a web based tool to process bulk records.
  • With import wizard we can process maximum of 50,000 records.
  • In import wizard we can't see few objects (ex: if there is masterdetail relationship between two objects then child object we can't see).
  • Account,contact,lead,solution and custom objects
  • Can't allow the Duplicates
  • Can't export and delete 
Data Loader is a stand-alone tool to process bulk records. With Dataloader we can process maximum of 5 million records. Most of the time we use only Dataloader. Default batch size of the Dataloader is 200.
  1. Insert (Inserting brand new records, no need of ID)
  2. Update (Updating the existing records based on the record ID)
  3. Upsert (To Upsert we should have one external ID field on the object, based on the external id field if the value already exists it will update, if doesn't exist then it will insert)
  4. Delete (Delete the records based on the id provided, to delete we need only id, deleted records can be found in recycle bin)
  5. Hard delete (Delete the records based on the id provided, to delete we need only id, deleted records can't be found in recycle bin, Note: If we enable bulk API in data loader settings then only we can perform Hard delete.)
  6. Export (From any object we can export records based on the SOQL query, Note: We can't export deleted records which are there in the recycle bin)
  7. Export all (From any object we can export records based on the SOQL query, Note: Using Export all we can export deleted records which are there in the recycle bin also.
        IsDeleted = true.
.CSV (Comma Separated Values)
.SDL
In dataloader settings we should enable 'insert null values' checkbox otherwise we can't insert null values.
Suppose we have account table in Salesforce and account table outside of the Salesforce (ex: .csv file, sql database). In Salesforce all the records can be identified with record id and outside of the Salesforce we can't recognize records with Salesforce id that is the reason to compare outside table and salesforce table in Salesforce for one of the field we have to enable external ID (we can enable external id for text, number, auto number and email). If we enable external id we can compare that particular column with the column which is available in external table. While comparing if the both column values are same then it will update otherwise it will insert.
10,000 records and minimum 1 record.
2,000 records.

  1. Created
  2. Created and everytime edited to meet the criteria
  3. Created and edited to subsequently meet the criteria
If we select 'Created and everytime edited to meet the criteria' whenever we create a record or edit a record if the criteria of the workflow rule meets then it will trigger every time. If we select 'Created and edited to subsequently meet the criteria' -
  1. While creating the record criteria meets so that workflow will fire and while editing the record again criteria meets workflow won't fire (meeting the criteria to meeting the criteria)
  2. While creating the record criteria doesn't meet so workflow won't fire and while editing the record workflow criteria meets then workflow will fire (not meeting the criteria to meeting the criteria)
Conclusion: Previous state of record should be not meeting criteria and current state of record should be meeting the criteria then only in current state workflow will fire.
  1. Criteria meet (field - operator - value, if there are multiple criteria’s then in filter criteria we can give conditions like ( 1 or 2) and 3, field to field comparison is not possible, we can't fetch the previous state information of the field )
  2. Formula evaluated (we can write formulas with this we can do field to field comparison and we can fetch previous state value of the record)
The action which will be performed immediately after the record criteria meets.
The action which will be performed in future based on the any of the date field. To create time dependent workflow action we should create one time trigger. in time trigger we can give either days or hours with the maximum of 999 value and we can select either before or after.
Created and everytime edited to meet the criteria.
  1. New field update (we can update a field of the same object or the fields of the parent objects which are at master side in master-detail relationship, only for master-detail parent objects we can update the field and for lookup we can't update)
  2. New email alert (we can send emails if the criteria meets)
  3. New task (we can create new task)
  4. New outbound Message (we can make a callout)
  1. Text
  2. HTML (with letter head)
  3. Custom HTML (without letter head)
  4. Visual Force
It won't trigger in the schedule date because if we modify the record to not meeting criteria that queued field update will be removed from the 'time based flow' queue.
Yes, It will trigger in scheduled date.
It won't fire. To fire wf2 we should enable 'Re-evaluate Workflow Rules' checkbox of the field update which is there in wf1.
Whenever we enable Re-evaluate Workflow Rules after Field Changecheckbox in the Field Update of a workflow rule, due to this field update other workflow rules on the same object will be fired if the entery criteria of those workflow rules satisfied.
Incase, in other workflow rules also if we enable Re-evaluate Workflow Rules after Field Change checkbox in the Field Update recursive workflow rules will come in some scenarios.
We can take two steps to avoid recursive workflow rules -
  1. For the workflow Evaluation Criteria if you choose created, and any time it’s edited to subsequently meet criteria option, we can avoid recursive workflow rules.
  2. If you don't enable Re-evaluate Workflow Rules after Field Changecheckbox in the Field Update of a workflow rule we can avoid.
If the criteria of the record meets then by clicking on submit for Approval button user can submit the record for approval (Note: Approval history related list should be displayed on the record detail page)
Before creating the Approval Process we should select the object after that we should follow below steps -
  1. Give the Approval Process name
  2. Give the criteria of the Approval Process
  3. Select the email template (If we don't select any email template salesforce by default send an email notification to the target approver else with our selected email template target approver will be notified)
  4. Select the users who can submit for the approval (If we do not select any user by default all the users who can access to that record can submit)
  5. Select the user to whom record should be submitted
  6. Initial submission actions ( after submitting the record for approval immediately whatever the actions included in the initial submission actions section will be triggered)
  7. Approval Steps (we can add multiple steps)
  8. For each and every step we can see 'Approval actions' and 'rejection actions' sections where we can add actions to be performed
  9. If the Approver approves the record then actions which are under 'approval actions' section will be triggered
  10. Final approval actions section (If all the steps approved then actions which are under 'final approval actions' section will be triggered)
  11. Final rejection actions section (If any one of the step rejected then actions which are under 'final rejection actions' section will be triggered)
  12. Recall approval actions ( After submitting record for approval if you want to revoke we click on recall approval action on the detail page, after clicking on that button actions which are under recall approval actions section will be triggered )
It’s not possible, to add one more step deactivate the approval process and clone the deactivated approval process and add the new steps.
To summarize the information.
To summarize the information of an object we use reports.
  1. Tabular (Displays records just like a table)
  2. Summary (we can summarize the information based on certain fields)
  3. Matrix (we can summarize the information in two dimensional manner, both rows and columns)
  4. Join (we can summarize information in different blocks on the same object and the related objects)
5 blocks.
3 groupings
Bucket field in Reports is used to group values to the name we specify.
See in detail here
We can display up to 2000 records on a page. If more records are there to display we cannot see those through user interface. If you export the records to a excel sheet then you can export up to to 50000 records. (Click here for the Reference Link)

No comments:

Post a Comment