You need to sign in to do that
Don't have an account?
Shubham Gawande 5
expecting a colon, found 'Datetime.now' (I facing error while comparing datetime )
public class ScheduleMessageBatch implements Database.Batchable<SObject>{
public Database.queryLocator start(Database.BatchableContext BC)
{
return Database.getQueryLocator('Select Id, DeliveryStatus__c, Source__c, ScheduledAt__c, MessageText__c, ToNumber__c, FromNumber__c From MessageHistory__c where DeliveryStatus__c = \'Scheduled\' AND Source__c = \'Drip Campaign\' AND ScheduledAt__c <= Datetime.now()');
}
public void execute(Database.BatchableContext BC, List<MessageHistory__c> messagehistoryList ) {
for(MessageHistory__c mh : messagehistoryList) {
MessageDesk mD = new MessageDesk();
MessageInfo mi = new MessageInfo(mh);
mD.sendSMS(mi);
}
}
public void finish(Database.BatchableContext BC)
{
}
}
public Database.queryLocator start(Database.BatchableContext BC)
{
return Database.getQueryLocator('Select Id, DeliveryStatus__c, Source__c, ScheduledAt__c, MessageText__c, ToNumber__c, FromNumber__c From MessageHistory__c where DeliveryStatus__c = \'Scheduled\' AND Source__c = \'Drip Campaign\' AND ScheduledAt__c <= Datetime.now()');
}
public void execute(Database.BatchableContext BC, List<MessageHistory__c> messagehistoryList ) {
for(MessageHistory__c mh : messagehistoryList) {
MessageDesk mD = new MessageDesk();
MessageInfo mi = new MessageInfo(mh);
mD.sendSMS(mi);
}
}
public void finish(Database.BatchableContext BC)
{
}
}
I tried saving the same Apex Class. Can you retry by logging out and logging in again.
Thanks,
You can fix the error by using the colon syntax to reference the Datetime.now() value in the SOQL query. Here's the updated code:
Thanks for your suggestion @sai Praveen and @shri Raj
I have done it by creating one variable and storing in it datetime.now