Sign up to receive SuiteScript examples and advice directly in your email inbox.

A Search Filter Contains an Invalid Operator

Created: June 13, 2017

It's important to remember that a Lookup is simply a convenience method for a Search, so we can expect them to behave like Searches. It means that we look at the Search Columns area of the Records Browser to find field names for our Lookups. It also means that any Errors caused by our Lookups will appear as Search Errors.

For example:

Notice (SuiteScript): A Search filter contains an invalid operator, or is not in proper syntax: internalid

This is a very common error to get when trying a Lookup. It can be misleading if you encounter this error and scan the guilty script, because there may well be no mention of internalid or any Search Filters.

What's usually happening is that a Lookup is receiving an invalid (often null) record ID parameter. For instance, you may have something like:

var caseData = s.lookupFields({
    type: s.Type.SUPPORT_CASE,
    id: caseId,
    columns: [
        "casenumber",
        "createddate",
        "enddate"
    ]
});

If caseId is ever undefined or null, you will see the error mentioned above.