Spurious problems are raised in the Problems console when making calls to some internal IRIS routines/subroutines, particularly those utilities that only exist in the namespace in INT or OBJ form.
For example:
set x = $$QuoteCSP^%cspQuote(...)
Raises:
Routine '%cspQuote' does not exist in namespace 'XYZ'.
Other examples:
$$GetIO^%NLS()
$$find^%qarmac(...)
Checking the existence of these via ^%RD shows they only exist in compiled/object form, e.g.:
-- .OBJ --
%qarmac
(These utilities might not be widely supported, but in some cases they have not been replaced by officially supported alternatives.)
The Diagnostics: Routines option can be disabled, but I'd much prefer to leave it enabled and be alerted of legitimate issues with missing routines.
Perhaps in the case of calling internal IRIS routines (with "%" prefix), additional logic could be added to check for INT/OBJ forms.
Thanks for reporting this @a-boertien. I think I have a fix and I'd like to give you a vsix to test it with before I submit it. What OS and chip do you use?
Spurious problems are raised in the Problems console when making calls to some internal IRIS routines/subroutines, particularly those utilities that only exist in the namespace in INT or OBJ form.
For example:
set x = $$QuoteCSP^%cspQuote(...)
Raises:Other examples: $$GetIO^%NLS() $$find^%qarmac(...)
Checking the existence of these via ^%RD shows they only exist in compiled/object form, e.g.:
(These utilities might not be widely supported, but in some cases they have not been replaced by officially supported alternatives.)
The
Diagnostics: Routines
option can be disabled, but I'd much prefer to leave it enabled and be alerted of legitimate issues with missing routines.Perhaps in the case of calling internal IRIS routines (with "%" prefix), additional logic could be added to check for INT/OBJ forms.