Skip to Content

TheBlogReaders.com

Salesforce.com, PHP, MySQL, Javascript, Ajax, Htacces

Batch Apex Syntax and Example

Be First!
by February 8, 2013 APEX, SALESFORCE

Batch Apex Syntax and Example:

Syntax:

global class SynERPAccount_With_Account implements Database.Batchable<sObject>{

//Set up the base query

global Database.querylocator start(Database.BatchableContext BC)     {

return Database.getQueryLocator([select Id, Name from Account where status=’Active’]);

//Thestartmethod is called at the beginning of a batch Apex job. Use thestartmethod to collect the records or objects to be passed to the interface methodexecute

}

global void execute(Database.BatchableContext BC, List<sObjet> scope){

// Theexecutemethod is called for each batch of records passed to the method

}

global void finish(Database.BatchableContext BC){

// here send confirmation emails or execute post-processing operations

}

}

Example:

global class AccountUpdate implements Database.Batchable<sObject>{

//Set up the base query
global Database.querylocator start(Database.BatchableContext BC) {
return Database.getQueryLocator([select Id,Name from Account where status=’Active’]);
}

global void execute(Database.BatchableContext BC, list<Sony_Account_Team__c> scope) {
List<Account> updateAccount = new List<Account>();

for(sObject s : scope){Account a = (Account)s;
if(a.OwnerId==fromUserId){
a.OwnerId=toUserId;
updateAccount.add(a);
}
}
update updateAccount;
}

global void finish(Database.BatchableContext BC) {
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setToAddresses(new String[] {email});
mail.setReplyTo(‘batch@acme.com’);
mail.setSenderDisplayName(‘Batch Processing’);
mail.setSubject(‘Batch Process Completed’);
mail.setPlainTextBody(‘Batch Process has completed’);
Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
}
}

For more information on batch jobs, continue to Using Batch Apex.

(1563)

Previous
Next

Leave a Reply