+ All Categories
Home > Documents > Salesforce_Faqs

Salesforce_Faqs

Date post: 14-Oct-2014
Category:
Upload: knageswargmailcom
View: 1,033 times
Download: 1 times
Share this document with a friend
Popular Tags:
16
Faq’s 1. What are recursive triggers? How can we avoid the recursion problem? A. Apex Flow Control – Preventing Infinite Loops October 2nd, 2009 When you build your first few triggers everything is so peaceful. The grass is green, the birds are chirping, and everything is working wonderfully. You continue to develop more triggers, classes, batch jobs, @future classes, and then one day your realize, “Great Scott!, I have created a monster”. If you connected all the classes and triggers that were related it would look like a giant spaghetti dinner. When this happens you will undoubtedly run into one very specific problem. You have a piece of code A that causes code B to execute which then causes code A to execute which then causes code B to execute. OH NO! Infinite loop, governor limits AHHHHH! Fear not! For there is a very simple solution to this problem. The extremely clear and concise diagram below shows a common scenario. Let’s say we have an update trigger that sends a group of objects to be processed by an @future asynchronous method. There is a good chance this method will need to update the records. This would normally cause the trigger to execute and the @future method to be called again, hence our unstoppable loop. So how do we stop this loop? Before we perform the update on the records we need to say, “Hey, this is a update from a @future methods, don’t do anything”. We can do this by creating a simple Boolean value in a utility class and can be accessed by anycode in context of the update operation. Below is the code of how something like this would work. First let’s look at the very simple solution. Yup, this is it. Some minor changes to our @future and trigger code and this is it. public class utility{ public static boolean isFutureUpdate; } Here is the trigger, we only want the code in this trigger to execute if the isFutureUpdate variable is not true. trigger updateSomething on Account (after insert, after update) { /*We only want this trigger to perform it's logic when the update is not from an @future method */ if(utility.isFutureUpdate == null || utility.isFutureUpdate == false){
Transcript
Page 1: Salesforce_Faqs

Faq’s

1. What are recursive triggers? How can we avoid the recursion problem?

A. Apex Flow Control – Preventing Infinite LoopsOctober 2nd, 2009

When you build your first few triggers everything is so peaceful. The grass is green, the birds are chirping, and everything is working wonderfully. You continue to develop more triggers, classes, batch jobs, @future classes, and then one day your realize, “Great Scott!, I have created a monster”. If you connected all the classes and triggers that were related it would look like a giant spaghetti dinner.

When this happens you will undoubtedly run into one very specific problem. You have a piece of code A that causes code B to execute which then causes code A to execute which then causes code B to execute. OH NO! Infinite loop, governor limits AHHHHH!

Fear not! For there is a very simple solution to this problem. The extremely clear and concise diagram below shows a common scenario.

Let’s say we have an update trigger that sends a group of objects to be processed by an @future asynchronous method. There is a good chance this method will need to update the records. This would normally cause the trigger to execute and the @future method to be called again, hence our unstoppable loop. So how do we stop this loop? Before we perform the update on the records we need to say, “Hey, this is a update from a @future methods, don’t do anything”. We can do this by creating a simple Boolean value in a utility class and can be accessed by anycode in context of the update operation.

Below is the code of how something like this would work. First let’s look at the very simple solution. Yup, this is it. Some minor changes to our @future and trigger code and this is it.

public class utility{  public static boolean isFutureUpdate; }

Here is the trigger, we only want the code in this trigger to execute if the isFutureUpdate variable is not true.

trigger updateSomething on Account (after insert, after update) {  /*We only want this trigger to perform it's logic when the update is not from an @future method */ if(utility.isFutureUpdate == null || utility.isFutureUpdate == false){  Set<Id> idsToProcess = new Se<Id>();  for(Account acct : trigger.new){ if(acct.NumberOfEmployees > 500){ idsToProcess.add(acct.Id); } }

Page 2: Salesforce_Faqs

  //Send Ids to @future method for processing futureMethods.processLargeAccounts(idsToProcess);  }}

And here is our @future method. The only thing we need to add is one line of code to set the isFutureUpdate variable to true before we perform the update.

public class futureMethods{  @future public static void processLargeAccounts(Set<Id> acctIDs){  List<Account> acctsToUpdate = new List<Account>();  /* Do awesome stuff with apex code */  /*Before we perform this update we want to set the isFutureUpdate boolean in our utility class to true */ utility.isFutureUpdate = true;  /*Now we can perform the update. The trigger will still fire but none of the code inside of it will execute and this method will not be called again*/ update acctsToUpdate; }}

Now when the trigger is fired the @future method will not be called again.

This example shows the interaction between asynchronous operations but you can use this same solution if you have triggers that update triggers and cause a loop.

2. What are Apex Governer Limits.

A. Understanding Execution Governors and Limits

Because Apex runs in a multitenant environment, the Apex runtime engine strictly enforces a number of limits to ensure that runaway Apex does not monopolize shared resources. Theselimits, or governors, track and enforce the statistics outlined in the following table. If some Apex code ever exceeds a limit, the associated governor issues a runtime exception that cannot be handled.

Governor limits apply to an entire organization, as well as to specific namespaces. For example, if you install a managed package created by a salesforce.com ISV Partner fromForce.com AppExchange, the components in the package belong to a namespace unique from other components in your organization. Consequently, any Apex code in that package can issue up to 20 DML statements while executing. In addition, any Apex code that is native to your organization can also issue up to 150 DML statements, meaning more than 150 DML statements might execute during a single request if code from the managed package and your native organization both execute. Conversely, if you install a package from AppExchange that is not created by a salesforce.com ISV Partner, the code from that package does not have its own separate governor limit count. Any resources it uses counts against the total for your organization. Cumulative resource messages and warning emails are also generated based on managed package namespaces as well. For more information on salesforce.com ISV Partner packages, see salesforce.com   Partner Programs .

Description Limit

Total number of SOQL queries issued1 100

Total number of records retrieved by SOQL queries 50,000

Total number of SOSL queries issued 20

Total number of records retrieved by a single SOSL query 200

Total number of DML statements issued2 150

Page 3: Salesforce_Faqs

Description Limit

Total number of records processed as a result of DML statements, Approval.process, or database.emptyRecycleBin

10,000

Total number of executed code statements 200,000

Total heap size3 3 MB3

Total stack depth for any Apex invocation that recursively fires triggers due to insert, update, or delete statements4

16

For loop list batch size 200

Total number of callouts (HTTP requests or Web services calls) in a request 10

Maximum timeout for all callouts (HTTP requests or Web services calls) in a request 120 seconds

Default timeout of callouts (HTTP requests or Web services calls) in a request 10 seconds

Total number of methods with the future annotation allowed per Apex invocation5 10

Maximum size of callout request or response (HTTP request or Web services call)6 3 MB

Total number of sendEmail methods allowed 10

Total number of describes allowed7 100

1 In a SOQL query with parent-child relationship sub-queries, each parent-child relationship counts as an additional query. These types of queries have a limit of three times the number for top-level queries. The row counts from these relationship queries contribute to the row counts of the overall script execution.2 Calls to the following methods count against the number of DML statements issued in a request:

Approval.process

database.emptyRecycleBin

delete and database.delete

findSimilar

insert and database.insert

Page 4: Salesforce_Faqs

merge

rollback

runAs

setSavePoint

update and database.update

upsert and database.upsert

3 Batch Apex heap size is 6 MB. Email services heap size is 18 MB.

4 Recursive Apex that does not fire any triggers with insert, update, or delete statements exists in a single invocation, with a single stack. Conversely, recursive Apex that fires a trigger spawns the trigger in a new Apex invocation, separate from the invocation of the code that caused it to fire. Because spawning a new invocation of Apex is a more expensive operation than a recursive call in a single invocation, there are tighter restrictions on the stack depth of these types of recursive calls.

5Salesforce also imposes a limit on the number of future annotations: 200 method calls per full Salesforce user license per 24 hours. This is an organization-wide limit. For example, suppose your organization has five full Salesforce user licenses and 100 Customer Portal User licenses. Your entire organization is limited to only 1,000 method calls every 24 hours (5 * 200, not 105.)

The HTTP request and response sizes are calculated as part of the total heap size. So regardless of this limit, don't exceed the 3 MB total heap size.7 Describes include the following methods and objects:

ChildRelationship objects

RecordTypeInfo objects

PicklistEntry objects

fields calls

Limits apply individually to each testMethod.

Use the Limits methods to determine the script execution limits for your code while it is running. For example, you can use the getDMLStatements method to determine the number of DML statements that have already been called by your program, or the getLimitDMLStatements method to determine the total number of DML statements available to your code in that context.For more efficient SOQL queries, particularly for queries inside of triggers, use selective (indexed) queries. Selective queries filter on primary keys, foreign keys, names, audit dates (such asLastModifiedDate), or External ID fields. In large organizations, non-selective queries could be stopped

at runtime in order to prevent very long running operation times. If you need them for your application, contact your salesforce.com representative.Note

If you use a non-selective query in a trigger against an object that contains more than 100000 records an error is generated. You should include indexed fields in the WHEREclause to avoid these exceptions.

Static variable values are reset between API   batches , but governor limits are not. Do not use static variables to track state information on API batches, because Salesforce may break up a batch into smaller chunks than the batch size you specify.

In addition to the execution governor limits, Apex has the following limits:

Maximum number of characters for a class: 1 million

Maximum number of characters for a trigger: 1 million

Maximum amount of code used by all Apex scripts in an organization: 2 MBNote

Page 5: Salesforce_Faqs

This limit does not apply to certified managed packages installed from AppExchange, (that is, an app that has been

marked AppExchange Certified). The code in those types of packages belong to a namespace unique from the code in your

organization. For more information on AppExchange Certified packages, see theForce.comAppExchange online help.

This limit also does not apply to any code included in a class defined with the @isTest   annotation .

If a SOQL query runs more than 120 seconds, the request can be canceled by Salesforce.

Each Apex request is limited to 10 minutes of execution.

A callout request to a given URL is limited to a maximum of 20 simultaneous requests.

The maximum number of records that an event report returns for a user who is not a system administrator is 20,000, for system administrators,

100,000.

Each organization is allowed 10 synchronous concurrent events, each not lasting longer than 5 seconds. If additional requests are made while

10 requests are running, it is denied.

A user can have up to five query cursors open at a time. For example, if five cursors are open and a client application still logged in as the

same user attempts to open a new one, the oldest of the five cursors is released.

Cursor limits for different Force.com features are tracked separately. For example, you can have five Apex query cursors, five batch cursors,

and five Visualforce cursors open at the same time.

In a single transaction, you can only reference 10 unique namespaces. For example, suppose you have an object that executes a class in a

managed package when the object is updated. Then that class updates a second object, which in turn executes a different class in a different

package. Even though the second package wasn't accessed directly by the first, because it occurs in the same transaction, it's included in the

number of namespaces being accessed in a single transaction.

When defining email services, note the following:

An email service only processes messages it receives at one of its addresses.

Salesforce limits the total number of messages that all email services combined, including On-Demand Email-to-Case, can process daily.

Messages that exceed this limit are bounced, discarded, or queued for processing the next day, depending on how you configure the failure

response settings for each email service. Salesforce calculates the limit by multiplying the number of user licenses by 1,000. For example, if

you have ten licenses, your organization can process up to 10,000 email messages a day.

Email service addresses that you create in your sandbox cannot be copied to your production organization.

For each email service, you can tell Salesforce to send error email messages to a specified address instead of the sender's email address.

Email services rejects email messages and notifies the sender if the email (combined body text, body HTML and attachments) exceeds

approximately 10 MB (varies depending on language and character set

Page 6: Salesforce_Faqs

3. What are the spring’10 features?

A. For those that don’t have time to weed through all 171 pages of the Spring ‘10 Release Notes, I’ve pulled out a few of my favorites for your viewing

pleasure. I didn’t hit all of the items in the release notes so make sure you pull up the the PDF and check out the goodies in detail.

Entitlement Management – Service Cloud

By far the most detailed new feature at 45 pages! You can now set up entitlement management so that your support reps can verify if your customers

are eligible for support, create and maintain service contracts, specify service levels on a per customer basis and enforcement of service levels with

time-dependent, automated processes. There is a TON of stuff around Entitlement Management including service contracts and milestones so

definitely take a closer look!

Quotes – Sales Cloud

A quote is a record showing proposed prices for products and services created from an opportunity and its products. You can create a set of quotes to

show different combinations of products, discounts, and quantities so customers can compare prices. Each opportunity can have multiple associated

quotes, and any one of them can be synced with the opportunity. You can also create and email PDF quotes.

Answers – Service Cloud

Answers is the newest feature of the Community application that lets community members ask questions, post replies, and vote whether they like or

dislike a reply. It looks somewhat similar to Ideas in such that you assign categories to communities and then enable Answers for the customer and

partner portals.

Knowledge Enhancements – Service Cloud

A ton on Knowledge enhancements including new API objects for articles, metadata components for data category groups, describe calls for data

categories, SOQL and SOSL filter, field level security for articles, custom report types and access to articles in the partner portal.

SOQL Enhancements

New GROUP BY Clause

SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource

New HAVING Clause

SELECT Name, Count(Id) FROM Account GROUP BY Name HAVING Count(Id) > 1

Aggregate Functions (Finally!!!!)

SOQL now supports AVG(), COUNT(), COUNT_DISTINCT(), MIN(), MAX(), and SUM()

Date Functions

A slew of new date functions for SOQL to make your life easier.

Semi-Join and Anti-Join Support For Reference Fields

I ran into the issue all the time when writing queries. Now your subqueries can filter by ID (primary key) or reference (foreign key).

Force.com Apex Code Enhancements

The Apex scheduler is now generally available.

Callouts Enhancements including increased size limit, output messages with multiple elements (hurrah!!), new baked-in DOM class for

parsing and generating XML content and enhanced two-way SSL authentication

Limits on the number of items a collection can hold have been removed. However, there’s still a general limit on heap size.

What!!??

sObjects are now created as Objects and you can create generic sObject collections: Set foo = new Set();

I’m don’t this this is what Taggert was talking about during his DF09 presentation, but there are a lot of new logging features to check out

on line 121. Check it out! Should make life easier until what Taggert revealed in on the roadmap for debugging is GA.

Visualforce Enhancements

enhancedList component now uses Ext 3.0

Page 7: Salesforce_Faqs

Salesforce.com Stylesheets No Longer Called for PDFs

Force.com Web Services API Enhancements

New SOSL Clause for Filtering By Data Categories

New Support for API Version in Outbound Messages

Numerous new Objects to support Entitlement Management, Answers and Quotes

There are also some new and changed API calls

Support for Sites objects (Site and SiteHistory)

Force.com IDE

The Force.com IDE Spring ‘10 release is scheduled for February 15th. Not sure of the new features but from what I have heard in the past you should

(safe harbor) be able to copy from from SOQL search results.

Complex Data Modeling with Multilevel Master-Detail Relationships

You can now include multiple levels in master-detail relationships. For example, in addition to defining a two-object master-detail relationship, such as

Account—Expense Report, you can extend the relationship to subdetail records, such as Account—Expense Report—Expense Line Item. You can

then perform operations across the master—detail—subdetail relationship. There are some caveats so check out the details.

Sandbox to Production—Change Sets Beta

Use change sets to move configuration changes via a web interface. New enhancements include clone an existing change set, cross-version upload,

delete change sets, and a six month expiration of change sets.

New UI Theme

The new UI theme that was unveiled at DF09 is an org-wide update. The new UI supports IE 7 & 8, Firefox 3.0.x and Safari 3.2.x. Sorry Chrome!

Dashboard Enhancements

With custom dashboard tables you can create tables with up to four columns, with column totals for number and currency summary fields.

With dashboard finder, you can quickly find a dashboard by typing its name in the search filter. All accessible dashboards matching that text

are dynamically displayed in the drop-down list.

New visibility option for report and dashboard folders to deny access to a folder for portal users (“This folder is accessible by all users,

except for portal users”).

Secure Communication with External Websites

Encrypt sensitive date with certificates and key pairs whenever Salesforce.com communicates with a supported external website. Salesforce.com

offers either CA-signed or self-signed certificates.

CTI 2.0 Toolkit

A new toolkit for developers and partners to build more robust CTI adapters for call center users.

Globalization Enhancements

Translation Workbench Enhancements

Translatable Visualforce Email Templates

Increased Maximum Limit for Rules

Lookup Filter Beta Enhancements

Number of Remote Access Application Authorizations Increased

Enable Sidebar Search Auto-Complete Setting

Enable Single-Search-Result Shortcut Setting

A number of Auto-Complete Enhancements

Standard Action Overrides are Packageable – Standard action overrides on buttons and links are now packageable for custom objects.

Personalized Email Alerts – You can now set the From Email Address in email alerts to the address of the default workflow user.

Page 8: Salesforce_Faqs

Limited Release, Beta and Developer PreviewsAdobe Flash Builder for Force.com – Developer Preview

Adobe® Flash® BuilderTM for Force.com is an Eclipse-based IDE for developing Force.com Stratus apps (Adobe Air apps that leverage Force.com

logic and data). Stratus applications run seamlessly online or offline while taking full advantage of the security, scalability, and reliability of Force.com.

New Report Builder – Developer Preview

A new visual report builder for tabular reports (with limited functionality).

New Opportunity Page – Pilot

An improved opportunity detail page with highlight panels, recommendations, and drag and drop side tabs. Available after Feb. 5, 2010.

My Domain – Limited Release

You can brand your login and navigation URLs for Salesforce to create something like: https://appirio.my.salesforce.com. It also is more secure as it

uses HTTPS.

Patch Updates for Packages – Limited Release

Automatically upgrade your managed packages with patches. A push upgrade is a method of automatically upgrading your customers to a newer

version of your package. A package subscriber doesn’t need to do anything to receive the push upgrade. If you are developing managed packages this

is a must read.

Rich Text Support – Beta

A new rich tech field type that is production quality but with some known limitation. The max size is 32,000 characters including HTML tags and

only .gif, .jpeg and .png images are supported.

4. How do you use an actionFunction tag?

A. Scenario: I want to pass values back to a Visualforce controller without having to resort to hidden input fields and

using the {!$Component.<<fieldid>>} notation because that's only evaluated when the page is generated and so doesn't

lend itself well to dynamic setups.

The problem: All of the solutions I was able to find involved using an apex:actionFunction with nested apex:paramtags

(e.g. see here and here), which is fine except that whenever I tried this the generated javascript function never had any

parameters, i.e. doStuff() {...}

<apex:actionFunction name="doStuff" action="{!myAction}">

<apex:param name="x" value="x" assignTo="{!m_x}"/>

</apex:actionFunction>

Solution: You must specify a rerender attribute in the apex:actionFunction tag! Without this the generated function does

take any parameters, but as soon as you put it in then it does - even if you just leave it empty, i.e. the below code will

generate doStuff(x) {...} Go figure :)

<apex:actionFunction name="doStuff" action="{!myAction}" rerender="">

<apex:param name="x" value="x" assignTo="{!m_x}"/>

Page 9: Salesforce_Faqs

</apex:actionFunction>

5. What is the difference between apex:actionFunction and apex:actionSupport tag6. What is actionPoller?

A. A timer that sends an AJAX update request to the server according to a time interval that you specify. The update request can then result in a full or partial page update. You should avoid using this component with enhanced lists.

Note that if an <apex:actionPoller> is ever re-rendered as the result of another action, it resets itself. An <apex:actionPoller> must be within the region it acts upon.

7. How do you do FileUpload using Visualforce8. What is the difference between a Profile and Role9. What is appexchange? How can I host my application on appexchange10. What are the different editions available on salesforce11. What is batch apex. 12. When will we use batch apex and what is the best practice13. What are web service callouts14. What are wrapper classes15. When do we use wrapper classes

1) How do you hide Header and Sidebar on Visualforce page?2) What is difference between standard and custom controller?3) What is Controller extension?4) How do you read parameter in Visualforce page?5) How many dependent drop down can be put on one Visualforce page?6) What is the maximum size of the PDF generated on Visualforce attribute renderAs?7) How to use actionPoller tag?8) What is difference between actionFunction and actionSupport Tag ?9) How can we check the object accessibility on visualforce page? -{!$ObjectType.MyCustomObject__c.accessible}10) How many rows return by list controller? -1000011) What is custom component?12) What is assignTo attribute and what is its use?

1. Difference between Sandbox and Development environment?

2. How to schedule export or take the backup of salesforce?

3. Do governor limits apply to sandbox instances?.

4. What is Roll up summary field in Salesforce?Ans : Roll up summary field in salesforce calculates the Count, Sum, Min or Max of particular field of any child record. Thus, we can say that Roll up summary field can only be created on Master object.

5. How many types of the relationship fields available in Salesforce>

Ans :Master DetailMany to ManyLookupHierarchical

Page 10: Salesforce_Faqs

6. How to create many to many relationships between object.

Creating many to many relationship in salesforce is little tricky. You cannot create this type of relationship directly. Follow below steps to create this type of relationship. Create both objects which should be interlinked.

Create one custom object, which should have autonumber as unique identification and create two master relationships for both objects, no need create tab for this object. Now on both object, add this field as related list.

7. If one object in Salesforce have 2 triggers which runs “before insert”. Is there any way to control the sequence of execution of these triggers?

Ans : Salesforce.com has documented that trigger sequence cannot be predefined. As a best practice create one trigger per object and use comment blocks to separate different logic blocks. By having all logic in one trigger you may also be able to optimize on your SOQL queries.

8. How to delete the User from Salesforce?

Ans : As per now, salesforce does not allow to delete any user, however you can deactivate the user.9. How to delete the users data from Salesforce?

Ans : To delete the Users Data go to Setup | Administration Setup | Data Management |  Mass Delete Record, from there select the objects like Account, Lead etc and in criteria select the users name and delete all records of that user related to particular object.

10. How to restrict the user to see any record, lets say opportunity?

Ans : set up opportunity sharing to be private.  If both users are admins or have view all records on opportunity, then that overrides private sharing.

11. What is the difference between trigger.new and trigger.old in Apex – SFDC?

Ans :

Trigger.new :

Returns a list of the new versions of the sObject records. Note that this sObject list is only available in insert and update triggers, and the records can only be modified in before triggers.

Trigger.old :

Returns a list of the old versions of the sObject records. Note that this sObject list is only available in update and delete triggers.

12. How to restrict any Trigger to fire only once ?

1. What is Apex ?Ans: It is the in-house technology of salesforce.com which is similar to Java programming with object oriented concepts and to write our own custom logic.

2. What is an S-Control ?Ans: S-Controls are the predominant salesforce.com widgets which are completely based on Javascript. These are hosted by salesforce but executed at client side. S-Controls are superseded by Visualforce now.

Page 11: Salesforce_Faqs

3. What is a Visualforce Page ?Ans: As I said in the above answer, S-controls are superseded by Visulaforce, Visualforce is the new markup language from salesforce, by using which, We can render the standard styles of salesforce. We can still use HTML here in Visualforce. Each visualforce tag always begins with “apex” namespace. All the design part can be acomplished by using Visualforce Markup Language and the business logic can be written in custom controllers associated with the Page.

4. Will Visual force still supports the mege fields usage like S-control?Ans: Yes. Just like S-Controls, Visualforce Pages support embedded merge fields, like the {!$User.FirstName} used in the example.

5. Where can I write my Visualforce code ?Ans: You can write the code basically in 3 ways. One go to, setup->App Setup->Develop->Pages and create new Visulaforce page. While creating the Page, You will find a salesforce editor. You can write your Visualforce content there. Or go to Setup -> My Personal Information -> Personal Information -> Edit check the checkbox development mode. When you run the page like this, https://ap1.salesforce.com/apex/MyTestPage. you will find the Page editor at the bottom of the page. You can write you page as well as the controller class associated with it, there it self. OR Using EclipseIDE you can create the Visulaforce page and write the code.

6. What is difference in ISNULL and ISBLANK?7. How many types of Reports I can create in salesforce. what are they?8. What is dashboard. How it is created ?9. What is Page Layout?10. What is the Related List?11. What is the difference between Page Layout and Related List?12. What is mini page lay out?13. How do I change the home page layout?14. When you can’t add Time dependent action in Workflow rule?You can’t add time-dependent actions to a rule if you choose Every time a record is created or edited.

15. are the types of email templates available in salesforce.com?

TextHTML with Letter HeadCustom HTMLVisual force

1) How do you hide Header and Sidebar on Visualforce page?2) What is difference between standard and custom controller?3) What is Controller extension?4) How do you read parameter in Visualforce page?5) How many dependent drop down can be put on one Visualforce page?6) What is the maximum size of the PDF generated on Visualforce attribute renderAs?7) How to use actionPoller tag?8. What is difference between actionFunction and actionSupport Tag ?9) How can we check the object accessibility on visualforce page?-{!$ObjectType.MyCustomObject__c.accessible}10) How many rows return by list controller?-1000011) What is custom component?12) What is assignTo attribute and what is its use?13. What are Apex Governor Limits?

Page 12: Salesforce_Faqs

Ans: Governor limits are runtime limits enforced by the Apex runtime engine. Because Apex runs in a shared, multitenant environment, the Apex runtime engine strictly enforces a number of limits to ensure that code does not monopolize shared resources. Types of limits that Apex enforces are resources like memory, database resources, number of script statements to avoid infinite loops, and number of records being processed. If code exceeds a limit, the associated governor issues a runtime exception.

14. How to create and host S Control in Salesforce ?

ISNULL:

Determines if an expression is null (blank) and returns TRUE if it is. If it contains a value, this function returns FALSE.  Text fields are never null, so using this function with a text field always returns false. For example, the formula field IF(ISNULL(new__c) 1, 0) is always zero regardless of the value in the New field. For text fields, use the ISBLANK function instead.Multi-select picklist fields are never null in s-controls, buttons, and email templates, so using this function with a multi-select picklist field in those contexts always returns false.Empty date and date/time fields always return true when referenced in ISNULL functions.Choose Treat blank fields as blanks for your formula when referencing a number, percent, or currency field in an ISNULL function. Choosing Treat blank fields as zeroes gives blank fields the value of zero so none of them will be null.Merge fields can be handled as blanks, which can affect the results of components like s-controls because they can call this function.When using a validation rule to ensure that a number field contains a specific value, use the ISNULL function to include fields that do not contain any value. For example, to validate that a custom field contains a value of ’1,’ use the following validation rule to display an error if the field is blank or any other number: OR(ISNULL(field__c), field__c<>1)ISBLANK:

Determines if an expression has a value and returns TRUE if it does not. If it contains a value, this function returns FALSE.Use ISBLANK instead of ISNULL in new formulas. ISBLANK has the same functionality as ISNULL, but also supports text fields. Salesforce.com will continue to support ISNULL, so you do not need to change any existing formulas.A field is not empty if it contains a character, blank space, or zero. For example, a field that contains a space inserted with the spacebar is not empty.Use the BLANKVALUE function to return a specified string if the field does not have a value; use the ISBLANK function if you only want to check if the field has a value.If you use this function with a numeric field, the function only returns TRUE if the field has no value and is not configured to treat blank fields as zeroes.

15. Is it possible to write the Apex code from user Interface?

You can add, edit, or delete Apex using the Salesforce.com user interface only in a Developer Edition organization, a Salesforce.com Enterprise Edition trial organization, or sandboxorganization. In a Salesforce.com production organization, you can only make changes to Apex by using the Metadata API , deploy call, the Force.com IDE, or theForce.com Migration Tool. The Force.com IDE and Force.com Migration Tool are free resources provided by salesforce.com to support its users and partners, but are not considered part of our Services for purposes of the salesforce.com Master Subscription Agreement.

1. What are recursive triggers. How can we avoid the recursion problem?2. What are Apex Governer Limits.?3. What are the Spring’10 features?4. How do you use an actionFunction tag?5. What is the difference between apex:actionFunction and apex:actionSupport tag?

Page 13: Salesforce_Faqs

6. What is actionPoller?7. How do you do FileUpload using Visualforce?8. What is the difference between a Profile and Role?9. What is appexchange? How can I host my application on appexchange?10. What are the different editions available on salesforce?11. What is batch apex. ?12. When will we use batch apex and what is the best practice?13. What are webservice callouts?14. What are wrapper classes?15. When do we use wrapper classes?

2. 1. Explain how MVC architechture fit for Salesforce2. How will you create relationships between objects?3. How many types of relationships are possible on objects?4. How many data types are supported for a Custom Object Standard Field Name?5. What are activities?6. What is the difference between Task and Event?7. List and describe the features used to set permission and data access in a custom app.8. How will you create a User?9. What are the available editions of salesforce. ?10. What is the difference between Enterprise/Professional/Unlimited/force.com/Developer editions?11. What are Sharing Settings?12. What are Person Accounts?13. How forecasting works in salesforce?14. What are the system fields. Can you name some of them?15. What are the default components available on home page?

3.4. What is the difference between Lookup Relationship and Master-Detail Relationship?5. True or False? If you were to delete a record that had a lookup to a child object, all child object records

would get deleted as well.6. Where is the view Account hierarchy link?7. What does the Account Hierarchy tell or do?8. Where can you make a field required?9. I'm setting up different page layouts for different user profiles.  As a system administrator, is there another

way to see what the user sees instead of them granting log in access to you?10. What type of Workflow Alerts are there?11. Validation Rules, What are they use for in Salesforce?12. What is Data loader?13. What is the difference between Profiles and Roles in Salesforce.com?

14.


Recommended