Posted on May 24, 2026 Leave a Comment
UNABLE_TO_LOCK_ROW issue is very common if you have multiple users updating the record at the same time .Or say a batch job is running and is updating a record and same record another trigger or code snippet (usually a future method) is updating. A way to solve this is to retry multiple times to see […]
Posted on May 17, 2026 Leave a Comment
Apex Caching is great for saving some basic Id’s of a user like his Account, Contact Id’s after he logs in so you don’t have to query for them. Reduces the amount of queries and improves speed. Caching is good for saving large blobs that don’t change frequently. Generic Cache Service to put, retrieve and […]
Posted on May 15, 2026 Leave a Comment
Most systems need to do CRUD on some objects and also query some information. Why not have one endpoint to do it all?I have created a endpoint that can do all that using mapping between systems field and Salesforce fields. System field does not contain any underscores or Salesforce specific syntax like (__c). With that […]
Posted on March 14, 2026 Leave a Comment
If you are trying to do a callout after a DML operation you would have seen this error message: You have uncommitted work pending. Please commit or rollback before calling out A way around doing callouts after a DML is to do the DML as its own internal callout. This is possible by creating a […]
Posted on February 14, 2026 Leave a Comment
Get Enum from String Test Class
Posted on February 13, 2026 Leave a Comment
Sub Queries Pagination with Ordering Aggregate Query
Posted on February 9, 2026 1 Comment
Trying to mock a actual database query can be hard. Using the fflib_Mocks jar you can generator Selector Mocks: More info here: https://github.com/financialforcedev/fflib-apex-mocks 1. Create interface class that extends fflib_ISObjectSelector to mock the Selector 2. Create interfacemocks.properties file in root of your project 3. Run java -jar apex-mocks-generator-4.0.0.jar “{path}/src/classes” “{path}/interfacemocks.properties” “fflib_Mocks” “{path}/src/classes” “30.0” to generate mocking […]
Posted on February 8, 2026 2 Comments
There are different ways you can use salesforce to attach a file to an SObject using Chatter. Apex Code Chatter REST Api Some limitations using this is using Blob for version.VersionData = attachment.Body; will run into Apex String length exceeds maximum: 6000000. Chatter Rest API POST https://cs43.salesforce.com/services/data/v35.0/connect/communities/0DB63000000003jGAA/chatter/feed-elements/batch HEADER Authorization Bearer {sessionToken} Content-Type […]
Posted on July 28, 2026 1 Comment
1. Setup SalesforceLoginConfig 2. Setup SalesforceCamelEndpointConfig 3. Setup SalesforceCamelComponent 4. Setup SalesforceCamelRouteConfig 5. Run SalesforceCamelIntegrationTest 1. Setup SalesforceLoginConfig 2. Setup SalesforceCamelEndpointConfig 3. Setup SalesforceCamelComponent 4. Setup SalesforceCamelRouteConfig 5. Run SalesforceCamelIntegrationTest OUTPUT: >>>>>>> Salesforce Basics Info: {“objectDescribe”:{“name”:”Account”,”label”:”Account”,”updateable”:true,”keyPrefix”:”001″,”custom”:false,”urls”:{“sobject”:”/services/data/v33.0/sobjects/Account”,”describe”:”/services/data/v33.0/sobjects/Account/describe”,”rowTemplate”:”/services/data/v33.0/sobjects/Account/{ID}”,”approvalLayouts”:”/services/data/v33.0/sobjects/Account/describe/approvalLayouts”,”quickActions”:”/services/data/v33.0/sobjects/Account/quickActions”,”listviews”:”/services/data/v33.0/sobjects/Account/listviews”,”layouts”:”/services/data/v33.0/sobjects/Account/describe/layouts”,”compactLayouts”:”/services/data/v33.0/sobjects/Account/describe/compactLayouts”},”searchable”:true,”labelPlural”:”Accounts”,”layoutable”:true,”activateable”:false,”createable”:true,”deprecatedAndHidden”:false,”deletable”:true,”customSetting”:false,”feedEnabled”:true,”mergeable”:true,”queryable”:true,”replicateable”:true,”retrieveable”:true,”undeletable”:true,”triggerable”:true},”recentItems”:[{“attributes”:{“type”:”Account”,”url”:”/services/data/v33.0/sobjects/Account/001W000000JhUzlIAF”},”Name”:”Pope John XXIII Regional High School”,”Id”:”001W000000JhUzlIAF”},{“attributes”:{“type”:”Account”,”url”:”/services/data/v33.0/sobjects/Account/001W000000JhZFQIA3″},”Name”:”A PLAZA DRIVING SCHOOL”,”Id”:”001W000000JhZFQIA3″},{“attributes”:{“type”:”Account”,”url”:”/services/data/v33.0/sobjects/Account/001W000000JgxxXIAR”},”Name”:”Advanced Reproductive Care, Inc. (ARC)”,”Id”:”001W000000JgxxXIAR”},{“attributes”:{“type”:”Account”,”url”:”/services/data/v33.0/sobjects/Account/001W000000JrwqvIAB”},”Name”:”name”,”Id”:”001W000000JrwqvIAB”},{“attributes”:{“type”:”Account”,”url”:”/services/data/v33.0/sobjects/Account/001W000000JhXSnIAN”},”Name”:”Stella Niagara Education Park”,”Id”:”001W000000JhXSnIAN”},{“attributes”:{“type”:”Account”,”url”:”/services/data/v33.0/sobjects/Account/001W000000Jr1WOIAZ”},”Name”:”A J DIANA SONS INC”,”Id”:”001W000000Jr1WOIAZ”},{“attributes”:{“type”:”Account”,”url”:”/services/data/v33.0/sobjects/Account/001W000000Jr1TIIAZ”},”Name”:”A […]
Posted on May 2, 2026 Leave a Comment
This trigger is used to track and score sales rep activities as they complete Account fields. Account Trigger Handler to Track specific field updates by sales rep and give points for based on which field was completed. Account Trigger Handler calls the SalesRepActivityScoring class to loop through all the accounts see which fields have been […]