If you work with ObjectScript, you can use the bracketed notation to access directly to a global in another namespace.

Something like:

zwrite ^["myOtherNamespace"]person(13)

Another example in the docs:

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...

Sorry, I didn't find the main page where this is explained.

Edit: I found it: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...

Hi, for these concerns I always refresh my memory going to this vid:

InterSystems Webinar: Configuring a Web Server for IIS for Better Performance and Security

https://www.youtube.com/watch?v=luplow26i7c 

Some key URL's you may find helpful too (find the newer version according to your IRIS version):

CSP Gateway Configuration Guide:
 
Web Servers for Microsoft Windows
 
How to Set Up SSL on IIS 7

Ok so, to summarize the thread:

Requirements:
1.- Work with variable table names.
2.- Being able to 'see'/'use' them (i.e. the evenTotal count)
3.- Not having the variables loaded in memory after method execution.

In 'ObjectScript+.int' you can have all 3. In '.cls' you can only have 1 and 2, waiving point 3. 


Options in '.cls' from better to worse in my opinion are:

a. The cleanest option I've seen is @Jose-Tomas Salvador version. This option still doesn't have the point 3 but you can kill the variables before leaving the method.

b. Before 'Jose Tomas version' my choice was adding the variables to public list, and trying to kill them before leaving the method. Although it breaks the not knowing the names thing.

c. Using percent variables (obscure, and also my colleages don't know well percent vars, so risky too)

d. Set ProcedureBlock=0 (worst choice in my opinion as it makes visible all variables)

Thank you very much for your help as I was a bit anxious with this thing thinking there was a better option and I was too clumsy to find it.

Thanks for the reply. I've tried that too, but if I set the ProcedureBlock to 0, all the variables stay loaded in memory after the method execution, which is worse than having only the ones used inside the indirection.

Is it a dead end? There is no chance to have it working?

I read about $XECUTE accepting parameters. I tried some aproaches without good results. Could it work using that, @Robert Cemper ?

Also, thanks a lot for the link, it's a very interesting post. 

Hi,

In the Library.ClassDefinition you have an Indices property you can iterate and get info about. I don't know if it fits to your needs.

You can code something like:

set myClassDef = ##class(%Library.ClassDefinition).%OpenId("MyClass") 
for anIndex = 1 : 1 : myClassDef.Indices.Count() { 
     set indexes = myClassDef.Indices.GetAt(anIndex).Properties 
     // and operate with the indexes variable 
}

PS: Sorry, I don't get the highlight code feature to work properly.

Hello,

Do you mean the 'Studio > Debug > Attach to process' option?

If yes, the process must end or you need to detach from it before attaching to another.

In my particular setup this usually means hitting the stop button while I'm over a break or interrupt point because otherwise caché kills the job and I have problems.

I'm not an expert in these concerns. I may be wrong in some point.

I don't know the answer but you could try to query the max_cover_partdays or other numeric without decimal part to check if it causes issues. Or try to add it to your query, something like <109.99

It looks to me like there's some casting or parseing type ocurring somehow and greater than X just checks if the value is not null?

I never had any issue like this, besides dealing with decimal separator between systems or dealing with null and empty value conversions/replacements to avoid runtime exceptions.