Error encountered with usage of != or operating for SOQL query in batch class
I get the following error in Developer Console (logs) while executing this batch class with the following code snippet.
20:07:09:029 FATAL_ERROR System.QueryException: expecting a colon, found '('
global Database.QueryLocator start(Database.BatchableContext BC) {
final String query = 'SELECT Id,Name,MedConnect__Submission_Status__c FROM MedConnect__FDA_3500A_MedWatch_Report__c WHERE MedConnect__Submission_Status__c IN ('Submitted', 'Transmitted', 'Ack1', 'Ack2') AND MedConnect__Report_Status__c NOT IN ('Complete')';
return Database.getQueryLocator(query);
}
The above example use !=
. Same error is received when using <>
parameter.
However, the error goes away when I use NOT IN
parameter. Can someone please explain what is going on here?
The code which errors out during anonymous execution is:
final String query = 'SELECT Id,Name,MedConnect__Submission_Status__c FROM MedConnect__FDA_3500A_MedWatch_Report__c WHERE MedConnect__Submission_Status__c IN ('Submitted', 'Transmitted', 'Ack1', 'Ack2') AND MedConnect__Report_Status__c != ('Complete')';
return Database.getQueryLocator(query);
apex soql batch dynamic-soql
add a comment |
I get the following error in Developer Console (logs) while executing this batch class with the following code snippet.
20:07:09:029 FATAL_ERROR System.QueryException: expecting a colon, found '('
global Database.QueryLocator start(Database.BatchableContext BC) {
final String query = 'SELECT Id,Name,MedConnect__Submission_Status__c FROM MedConnect__FDA_3500A_MedWatch_Report__c WHERE MedConnect__Submission_Status__c IN ('Submitted', 'Transmitted', 'Ack1', 'Ack2') AND MedConnect__Report_Status__c NOT IN ('Complete')';
return Database.getQueryLocator(query);
}
The above example use !=
. Same error is received when using <>
parameter.
However, the error goes away when I use NOT IN
parameter. Can someone please explain what is going on here?
The code which errors out during anonymous execution is:
final String query = 'SELECT Id,Name,MedConnect__Submission_Status__c FROM MedConnect__FDA_3500A_MedWatch_Report__c WHERE MedConnect__Submission_Status__c IN ('Submitted', 'Transmitted', 'Ack1', 'Ack2') AND MedConnect__Report_Status__c != ('Complete')';
return Database.getQueryLocator(query);
apex soql batch dynamic-soql
add a comment |
I get the following error in Developer Console (logs) while executing this batch class with the following code snippet.
20:07:09:029 FATAL_ERROR System.QueryException: expecting a colon, found '('
global Database.QueryLocator start(Database.BatchableContext BC) {
final String query = 'SELECT Id,Name,MedConnect__Submission_Status__c FROM MedConnect__FDA_3500A_MedWatch_Report__c WHERE MedConnect__Submission_Status__c IN ('Submitted', 'Transmitted', 'Ack1', 'Ack2') AND MedConnect__Report_Status__c NOT IN ('Complete')';
return Database.getQueryLocator(query);
}
The above example use !=
. Same error is received when using <>
parameter.
However, the error goes away when I use NOT IN
parameter. Can someone please explain what is going on here?
The code which errors out during anonymous execution is:
final String query = 'SELECT Id,Name,MedConnect__Submission_Status__c FROM MedConnect__FDA_3500A_MedWatch_Report__c WHERE MedConnect__Submission_Status__c IN ('Submitted', 'Transmitted', 'Ack1', 'Ack2') AND MedConnect__Report_Status__c != ('Complete')';
return Database.getQueryLocator(query);
apex soql batch dynamic-soql
I get the following error in Developer Console (logs) while executing this batch class with the following code snippet.
20:07:09:029 FATAL_ERROR System.QueryException: expecting a colon, found '('
global Database.QueryLocator start(Database.BatchableContext BC) {
final String query = 'SELECT Id,Name,MedConnect__Submission_Status__c FROM MedConnect__FDA_3500A_MedWatch_Report__c WHERE MedConnect__Submission_Status__c IN ('Submitted', 'Transmitted', 'Ack1', 'Ack2') AND MedConnect__Report_Status__c NOT IN ('Complete')';
return Database.getQueryLocator(query);
}
The above example use !=
. Same error is received when using <>
parameter.
However, the error goes away when I use NOT IN
parameter. Can someone please explain what is going on here?
The code which errors out during anonymous execution is:
final String query = 'SELECT Id,Name,MedConnect__Submission_Status__c FROM MedConnect__FDA_3500A_MedWatch_Report__c WHERE MedConnect__Submission_Status__c IN ('Submitted', 'Transmitted', 'Ack1', 'Ack2') AND MedConnect__Report_Status__c != ('Complete')';
return Database.getQueryLocator(query);
apex soql batch dynamic-soql
apex soql batch dynamic-soql
edited Jan 22 at 15:23
Adrian Larson♦
108k19115243
108k19115243
asked Jan 22 at 15:07
Saibal RoySaibal Roy
204
204
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
If you want to use a not equals operator on a text field, you must use a single, quote wrapped value. Parentheses indicate a collection and will only work with IN
or NOT IN
operators.
A single value would look as follows:
String soql = 'SELECT ... FROM ... WHERE Field__c != 'Single Value''
add a comment |
The following code worked.
global Database.QueryLocator start(Database.BatchableContext BC)
{
final String query = 'SELECT Id,Name,MedConnect__Submission_Status__c FROM MedConnect__FDA_3500A_MedWatch_Report__c WHERE MedConnect__Submission_Status__c IN ('Submitted', 'Transmitted', 'Ack1', 'Ack2') AND MedConnect__Report_Status__c != 'Complete'';
return Database.getQueryLocator(query);
}re
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "459"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f247545%2ferror-encountered-with-usage-of-or-operating-for-soql-query-in-batch-class%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
If you want to use a not equals operator on a text field, you must use a single, quote wrapped value. Parentheses indicate a collection and will only work with IN
or NOT IN
operators.
A single value would look as follows:
String soql = 'SELECT ... FROM ... WHERE Field__c != 'Single Value''
add a comment |
If you want to use a not equals operator on a text field, you must use a single, quote wrapped value. Parentheses indicate a collection and will only work with IN
or NOT IN
operators.
A single value would look as follows:
String soql = 'SELECT ... FROM ... WHERE Field__c != 'Single Value''
add a comment |
If you want to use a not equals operator on a text field, you must use a single, quote wrapped value. Parentheses indicate a collection and will only work with IN
or NOT IN
operators.
A single value would look as follows:
String soql = 'SELECT ... FROM ... WHERE Field__c != 'Single Value''
If you want to use a not equals operator on a text field, you must use a single, quote wrapped value. Parentheses indicate a collection and will only work with IN
or NOT IN
operators.
A single value would look as follows:
String soql = 'SELECT ... FROM ... WHERE Field__c != 'Single Value''
answered Jan 22 at 15:17
Adrian Larson♦Adrian Larson
108k19115243
108k19115243
add a comment |
add a comment |
The following code worked.
global Database.QueryLocator start(Database.BatchableContext BC)
{
final String query = 'SELECT Id,Name,MedConnect__Submission_Status__c FROM MedConnect__FDA_3500A_MedWatch_Report__c WHERE MedConnect__Submission_Status__c IN ('Submitted', 'Transmitted', 'Ack1', 'Ack2') AND MedConnect__Report_Status__c != 'Complete'';
return Database.getQueryLocator(query);
}re
add a comment |
The following code worked.
global Database.QueryLocator start(Database.BatchableContext BC)
{
final String query = 'SELECT Id,Name,MedConnect__Submission_Status__c FROM MedConnect__FDA_3500A_MedWatch_Report__c WHERE MedConnect__Submission_Status__c IN ('Submitted', 'Transmitted', 'Ack1', 'Ack2') AND MedConnect__Report_Status__c != 'Complete'';
return Database.getQueryLocator(query);
}re
add a comment |
The following code worked.
global Database.QueryLocator start(Database.BatchableContext BC)
{
final String query = 'SELECT Id,Name,MedConnect__Submission_Status__c FROM MedConnect__FDA_3500A_MedWatch_Report__c WHERE MedConnect__Submission_Status__c IN ('Submitted', 'Transmitted', 'Ack1', 'Ack2') AND MedConnect__Report_Status__c != 'Complete'';
return Database.getQueryLocator(query);
}re
The following code worked.
global Database.QueryLocator start(Database.BatchableContext BC)
{
final String query = 'SELECT Id,Name,MedConnect__Submission_Status__c FROM MedConnect__FDA_3500A_MedWatch_Report__c WHERE MedConnect__Submission_Status__c IN ('Submitted', 'Transmitted', 'Ack1', 'Ack2') AND MedConnect__Report_Status__c != 'Complete'';
return Database.getQueryLocator(query);
}re
answered Jan 22 at 15:19
Saibal RoySaibal Roy
204
204
add a comment |
add a comment |
Thanks for contributing an answer to Salesforce Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f247545%2ferror-encountered-with-usage-of-or-operating-for-soql-query-in-batch-class%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown