Error "Singular expression refers to nonexistent object" in custom report

I’m creating a custom report with the following relevance:

<?Relevance (name of it, (name of it) of issuers of it, creation time of it as string) of bes computer groups whose((manual flag of it is True) and (now - creation time of it > 60*day)) ?>

and it works as I expected.

But when I try to add this output in a table using the following:

<?Relevance trs of (td of (name of it) & td of ((name of it) of issuers of it) & td of (creation time of it as string)) of bes computer groups whose((manual flag of it is True) and (now - creation time of it > 60*day)) ?>

I get only the first 2 lines (which have the same issuer) and the output finished with the error “Singular expression refers to nonexistent object.”

Could someone help me?
Thanks!

My thoughts, some testing needed:

(name of it, (name of it) of issuers of it, creation time of it as string)
This is a tuple, where any plural that has no value will simply be left out of the result. This one has a plural for “issuers of it”; so if a group doesn’t have an issuer, there’ll simply be no result for that group.

(td of (name of it) & td of ((name of it) of issuers of it) & td of (creation time of it as string)) has switched from a tuple (value, value) to a string concatenation (value & value). So if either of those values is missing, you’ll get an error.

If that’s the problem, you should be able to change the first query to test it:

(name of it & name of issuer of it & creation time of it as string) of bes computer groups whose((manual flag of it is True) and (now - creation time of it > 60*day))

If that gives you the same error you can employ some error handling to work around it:
((name of it | "No Name") & (name of issuer of it | "No Issuer") & (creation time of it as string | "No Creation Time")) of bes computer groups whose((manual flag of it is True) and (now - creation time of it > 60*day))
and
trs of (td of (name of it | "No Name") & td of (name of issuer of it | "No Issuer") & td of (creation time of it as string | "No Creation Time")) of bes computer groups whose((manual flag of it is True) and (now - creation time of it > 60*day))

Edit: How does this condition happen?
If my assumptions above are right, it may be that a Master Operator created a Manual Group (which will live in the Master Action Site), and then that Master Operator was removed.
Manual Groups only live in Operator Sites or the Master Action Site; if a normal operator had created the group and then that operator was removed, the group should have also been removed. If a Master Operator had created the group then it’s in the Master Action Site, and the group might live on after the Operator was deleted.

1 Like

Hi Jason,

Great! You are right, we have some groups without issuer. Now is working.

Many thanks!

Hi! Similar problem here… but my relevance gather all the info I need. The problem I have is at the bottom of the report it shows me ; Singular expression refers to nonexistent object.

Please take a look and see if you can fin what I could not :

<?Relevance ( "%0A" & name of it, values of results from (bes property whose (name of it = "WindowsSerialNumber")) of it, concatenation "|" of ((ip addresses of it) as string) of it, (( month of it as two digits & "." & day_of_month of it as two digits & "." & year of it as string ) of date (local time zone) of it & " " & time of time (local time zone) of it as string) of maximum of last became nonrelevants of results from (bes fixlets) of it) of bes computers whose (exists last became nonrelevant of results from (bes fixlets) of it ) ?>

This indicates that one of your singular expressions is lacking a value. Checking the relevance, I think the most likely thing is that a computer has not reported its name. Try replacing ‘name of it’ with

(name of it | "Not Reported")
3 Likes

I must say, you are the man! Thank You!!!