John Murray · Aug 3, 2017 go to post

I don't know of a way to alter the trace output of ZBREAK. But have you considered using Serenji to help with this debugging task? Its ability to break when an expression's value changes may be helpful.

John Murray · Aug 3, 2017 go to post

So I've used my moderator superpowers to correct the first line of the post.

John Murray · Jul 31, 2017 go to post

Please show us the code that is writing the output. Also, tell us what your $zversion variable reports, and what platform you are running Cache on.

John Murray · Jul 20, 2017 go to post

CHARWIN might be useful. But if you're extending an existing terminal-based application you may want to work the way the existing code does. And if you're starting a new application, is a terminal-based UI still the right way to be going?

John Murray · Jul 18, 2017 go to post

Rubens, your rule #2 says " Argument index starts from 0" but in your example the index starts at 1.

John Murray · Jul 17, 2017 go to post

Take care that you don't unintentionally kill globals that may be visible in this namespace because of global mappings.

John Murray · Jul 3, 2017 go to post

Mike, I have re-tagged your post so it appears on the main DC feed. The Developer Community tag and the Developer Community FAQ group are primarily intended for discussion of this DC forum itself.

John Murray · Jul 3, 2017 go to post

If you are working directly with globals (as your example seems to imply) you will have to iterate appropriately through your global, test the relevant value, and kill any node that matches.

Be sure that you also understand that a KILL will delete any subtree of the node you kill.

To efficiently maintain the sort of uniqueness you seem to be describing (i.e. for any Y there must be no more than one X for which $list(^myglobal(X))=Y) you will probably need to maintain a cross-reference (a.k.a. index) such as ^myglobalX("index1",Y)=X and check for the existence of a record here before saving a new record.

John Murray · Jul 3, 2017 go to post

Here's a way of discovering if your license includes the iKnow feature:

USER>w $system.License.GetFeature(11)
1
USER>

A return value of 1 indicates that you are licensed for iKnow. If the result is 0 then your license does not include iKnow.

See here for documentation about this method, which tells you that 11 is the feature number for iKnow.

Regarding namespaces, these are created in Portal, not in Studio. See this documentation.

John Murray · Jun 27, 2017 go to post

Gigi, you tagged your question "Developer Community", but I think that's primarily intended for posts about DC itself. Using one or more of the Ensemble-related subtags, e.g "HL7", might help your post.

John Murray · Jun 21, 2017 go to post

In Cache ObjectScript p_Branch isn't a valid identifier, because the underscore character is used as the concatenation operator.

Does your attempt work if you change p_Branch to pBranch ?

If not, please show us your SQL in its complete context.

John Murray · Jun 19, 2017 go to post

Coty, judging by the update you made here (where you originally raised this question as a comment one another post), for you the term "whole project" means "everything in a namespace". You have discovered that SET sc= $SYSTEM.OBJ.ExportAllClasses(filename) does what you want.

For many of us the word "project" refers to a Studio feature that allows us to group a subset of a namespace's code.

Studio projects can be manipulated programmatically using the %Studio.Project class.

John Murray · Jun 16, 2017 go to post

Then it definitely sounds like you need to rebuild indices. After doing that, please test again without %IGNOREINDICES and let us know if the results are correct. Then test again after your application has updated records for a while. If the difference appears again, either there's a bug that InterSystems needs to know about, or perhaps your app is updating globals directly using COS commands (i.e. not via Objects or SQL).

What is your $ZVERSION value? Perhaps you are running a version with a known problem in the area of index maintenance.

John Murray · Jun 16, 2017 go to post

That's good to hear Ranjith. So now please set the checkmark against Vitaliy's original answer. Only you are able to do this. It will mark the question as "answered".

John Murray · Jun 15, 2017 go to post

Caché telnet service exists only on Windows. On other platforms would you rely on OS-level telnet service? Nowadays on UNIX/Linux it's uncommon to find telnet, and ssh is typical instead.

If there's a concern about passwords travelling in plaintext, remember Caché telnet service can be configured to accept telnet over SSL/TLS.

John Murray · Jun 15, 2017 go to post

Vitaliy's answer pointed you to a classmethod that does the job. Sounds like maybe you're not sure how to invoke classmethods in Caché ObjectScript, so here's a transcript from a quick test run I did in Terminal:

USER>set bSame=##class(%Library.File).Compare("c:\s\junk.txt","c:\s\junk2.txt")
 
USER>write bSame
0
USER>set bSame=##class(%Library.File).Compare("c:\s\junk.txt","c:\s\junk.txt")
 
USER>write bSame
1
USER>w $zv
Cache for Windows (x86-64) 2017.1.1 (Build 111U) Wed May 17 2017 15:34:56 EDT
USER>

If Vitaliy's answer meets your needs please set the checkmark alonngside its title line.

John Murray · Jun 14, 2017 go to post

Gevorg, you can give Vitaliy credit for the answer by clicking the checkmark alongside the answer header:

This will also mark your question as "answered".

John Murray · Jun 14, 2017 go to post

If you can access WRC Direct at https://wrc.intersystems.com then it looks like there's a link to a page that might do what you want:

The footer on the page this leads to implies that any changes you make here will affect Developer Community:

Yes, it refers to Developer Connection not Developer Community, but I think that was a sort of predecessor.

John Murray · Jun 13, 2017 go to post

If you have Serenji you can combine the Serenji Shell with the CSP Shell and avoid having to remember how to use BREAK and ZBREAK commands:

Serenji can also debug pages initiated from the web browser.

John Murray · May 31, 2017 go to post

Do you mean Apache JMeter ?

I have no personal experience with it, but when reading the homepage info (see link above) I didn't see anything that made me think it couldn't be pointed at Ensemble and do something.

What part(s) of Ensemble are you hoping to test?

John Murray · May 30, 2017 go to post

Passing parameters to a routine requires the line label in the routine to have a formal parameter list. The SECURITY routine in the %SYS namespace doesn't accept parameters in this way.

John Murray · May 19, 2017 go to post

My guess is that the OP is working on a Caché system that supports the U2 language mode. Seeing the $ZVERSION string should tell us.

John Murray · May 18, 2017 go to post

Ponnumani, have you yet discovered the Search facility in Developer Community?

Granted, DC's search powers aren't brilliant yet. But I reckon that if you had searched for 'angular' (no quotes) before you posted you'd have found the first of @Chris Stewart's series of articles as entry #3 in the search results.