【发布时间】:2020-09-05 13:30:44
【问题描述】:
我正在寻求帮助,弄清楚为什么这不起作用。
我不得不更改项目的 APEX 类名称。我修复了所有错误,但只有一个。
Error: Compile Error: Method does not exist or incorrect signature: void executeBatch(OriginalOpportunityAdSourceBatch, Integer) from the type Database at line 38 column 18
我不明白这个错误,因为唯一改变的是类名。
函数出错
public PageReference runAllOpps(){
Database.executeBatch(new OriginalOpportunityAdSourceBatch(),batchSize);
PageReference pr = new PageReference('/'+opp.id);
pr.setRedirect(true);
return pr;
}
它正在调用的类
global class OriginalOpportunityAdSourceBatch {
global Integer successCount = 0;
global Integer errorCount = 0;
global String errors = '';
global Database.QueryLocator start(Database.BatchableContext bc) {
return Database.getQueryLocator(
'Select id, AdSourceOriginalBucket__c, Ad_Source__c, isClosed, isWon from Opportunity WHERE IsClosed = TRUE AND IsWon = TRUE'
);
}
global void execute(Database.BatchableContext bc, List<Opportunity> scope){
List<Database.SaveResult> srs = Database.update(OriginalOpportunityActions.ProcessAdSource(scope),false);
for(Database.SaveResult sr:srs) {
if(sr.isSuccess()) {
successCount++;
}
else {
errorCount++;
errors += 'Opportunity Failed to Update. Record ID: ' + sr.getId();
for(Database.Error er: sr.getErrors()) {
errors += er.message;
}
errors += '<br/>';
}
}
}
global void finish(Database.BatchableContext bc){
String emailBody = 'Successful Updates: ' + successCount + ' Error Count: ' + errorCount;
if(errors!='') {
emailBody += ' -- ' + errors;
}
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setToAddresses(new String[]{UserInfo.getUserEmail()});
mail.setReplyTo(UserInfo.getUserEmail());
mail.setSubject('Batch Original Opportunity Update Completed');
mail.setHTMLBody(emailBody);
system.debug('emailBody -- ' + emailBody);
if(!Test.isRunningTest()){Messaging.sendEmail(new List<Messaging.SingleEmailmessage>{mail});}
}
}
任何帮助将不胜感激。
【问题讨论】:
标签: salesforce