You need to sign in to do that
Don't have an account?
suji srinivasan
hi, how to resolve illegal asiignment error from string to list in batch?
global class opptask implements Database.Batchable <sobject>{
List <Account> acc = new List<Account>();
global Database.QueryLocator start(Database.BatchableContext bc) {
List <Task> taskList = new List<Task>();
string query = 'SELECT accountid FROM Task WHERE What.Type = Account AND CreatedDate = LAST_N_MONTHS:48';
return Database.getQueryLocator(query);
}
global void execute(Database.BatchableContext bc, List<Account> acclist) {
acclist ='SELECT Id, Name FROM account WHERE Rating = Prospect AND Id NOT IN (SELECT accountid FROM Opportunity WHERE CreatedDate = LAST_N_MONTHS:48) AND Id NOT IN (taskList)';
for (Account a : acclist) {
a.Rating = dormant;
}
Update acc;
}
global void finish(Database.BatchableContext bc) {
}
}
List <Account> acc = new List<Account>();
global Database.QueryLocator start(Database.BatchableContext bc) {
List <Task> taskList = new List<Task>();
string query = 'SELECT accountid FROM Task WHERE What.Type = Account AND CreatedDate = LAST_N_MONTHS:48';
return Database.getQueryLocator(query);
}
global void execute(Database.BatchableContext bc, List<Account> acclist) {
acclist ='SELECT Id, Name FROM account WHERE Rating = Prospect AND Id NOT IN (SELECT accountid FROM Opportunity WHERE CreatedDate = LAST_N_MONTHS:48) AND Id NOT IN (taskList)';
for (Account a : acclist) {
a.Rating = dormant;
}
Update acc;
}
global void finish(Database.BatchableContext bc) {
}
}
Try Below Code Please Mark It As Best Answer If It Helps
Thank You!
In the execute method, you need to pass task object instead of Account. If this helps, please mark it as best answer.
Thanks!!