Singular expression refers to nonexistent object

(imported topic written by SystemAdmin)

The follow Session Relevance produced the error “Singular expression refers to nonexistent object” in an installation of 8.2.1175.0 and I can not figure out why.

Here I retrieve information about security related fixlets.

(display name of it, source id of it, category of it, source of it, source severity of it, source release date of it as string) of fixlets of results from ( bes fixlets whose ( fixlet flag of it and category of it as lowercase contains 
"security" ) ) whose (relevant flag of it) of (bes computer whose (id of it = 232323))

I have double checked that the bes fixlets clause does not produce this error if no results are returned.

(imported comment written by Lee Wei)

Many Fixlets do not have the properties that you have in the statement.

So we need to protect against that.

As an example below, if I am sure that “display name” will always return some value, then we can skip the if/then/else statement.

(   display name of it, (

if (exists source id of it) then (source id of it) 

else (
"n/a")), (

if (exists category of it) then (category of it) 

else (
"n/a")), (

if (exists source of it) then (source of it) 

else (
"n/a")), (

if (exists source severity of it) then (source severity of it) 

else (
"n/a")), (

if (exists source release date  of it) then (source release date  of it as string) 

else (
"n/a")) ) of fixlets of results from ( bes fixlets whose ( fixlet flag of it and category of it as lowercase contains 
"security" ) ) whose (relevant flag of it) of (bes computer whose (id of it = 232323))

If you are using Endpoint Manager 8.2 or above, the syntax can be:

(     display name of it | 
"No Display Name", source id of it | 
"No Source ID", category of it | 
"No Category", source of it | 
"No Source", source severity of it | 
"No Source Severity", source release date of it as string | 
"No Source Release Date" ) of fixlets of results from ( bes fixlets whose ( fixlet flag of it and category of it as lowercase contains 
"security" ) ) whose (relevant flag of it) of (bes computer whose (id of it = 232323))

Lee Wei

(imported comment written by SystemAdmin)

Thank you Lee for the useful response.

Unfortunately that is not the problem. I was able to isolate it to cases where the BES computer specified does not exist.

(display name of it) of fixlets of results from ( bes fixlets ) whose (relevant flag of it) of (bes computer whose (id of it = 232323))

(imported comment written by SystemAdmin)

I believe I found the problem, actually. “bes computer” should be “bes computers”

(imported comment written by SystemAdmin)

What puzzles me is that I got the id from querying bes computers for ids.