Salesforce Blogs

Abhinav Gupta Abhinav Gupta Abhinav Gupta Abhinav Gupta

Apex API String.format(); Exploring Good & Bad Parts!

I recently came across this useful and under-documented Apex String API, i.e. String formattedString = String.format(String template, List<String> arguments)

String.format(..) is again based on the Java MessageFormat class; its documentation says: Treat the current string as a pattern that should be used for substitution in the same manner as apex:outputText.

Read More
Abhinav Gupta Abhinav Gupta Abhinav Gupta Abhinav Gupta

Salesforce WSC added support for Session Timeout handling!

Retrying web service call failures/exceptions is important because not every exception means it’s the “end of the world." There is always some hope for some exceptions, like Session timeouts or Invalid session IDs. One can always renew the session (if credentials are available) and make those failing web service calls work again.

Read More
Engineering Abhinav Gupta Engineering Abhinav Gupta

Working with Aggregate SOQL queries/results in Batch Apex!

What if you want to create a Batch Apex Job that uses SOQL having aggregate functions like SUM, MAX, and COUNT on top of results grouped by the “GROUP BY” clause? You can’t easily create a Batch job via QueryLocator, as shown below. When working with Batch Apex in Salesforce, you might encounter a scenario where you need to run SOQL queries with aggregate functions like SUM, MAX, or COUNT while grouping results using the GROUP BY clause.

Read More