Last parameter .args came only with 2017.1
for earlier versions you need to compose it into first argument.
- Log in to post comments
Last parameter .args came only with 2017.1
for earlier versions you need to compose it into first argument.
as a first suggestion, I would create a setter and getter method for this property that handles DUZ(2) in both directions.
If you add any property by the wizard it shows you the exact naming of the methods.
this property then goes in the first position of the IDkey
be aware of ProcedureBlock to have always access to your DUZ(2) or name it %DUZ(2) as hack
Yes you can! but not directly!
All you need is a an Abstract Class with
Classmethods to read, set, kill Globals as you need either static with fixed names or Global references passed by params. As you like.
And if you add SqlProc to the method you can even use it over ODBC/JDBC.
as you write it " + id+ " is a constant string.
so what would you expect to change?
eventually, you rephrase the question and add also the programming language you try to use.
this seems to be an invalid syntax anyhow
Searching for Caché is not so effective but looking for Intersystems or ObjectScript may get better hit rates.
Amazon has some related books. Watch also for Mike Kadow.
You hit the point %Boolean s an excellent example it can be TRUE, FALSe or NULL
in Caché terms: 1, 0, ""
Your example ^CODE("TNO","BIO",291,"AKI")) is partially misleading in that sense that a global subscript can NEVER be ""
while the content of $LB() can be $LB(1,2,"",4) or $lb(1,2,,4) here you find your "undefined" again,
similar to NULL in SQL (which is a different story)
there is a major difference between 1) and 2)
1) is also true if you have SET ^CODE("TNO","BIO",291,"AKI"))=""
You could also use a Command Pipe (docs) and read directly from your OS using "../bin ccontrol list" or similar
You just do the usual OPEN + USE and READ whatever comes back.
Check performance log and activity on your ESX or whatever your VM is running on.
It looks like a performance problem of the virtual disk.
this information is stored in ^|"%SYS"|SYS("Security","ApplicationsD")
you could extract it by MERGE ^mySAVE=^|"%SYS"|SYS("Security","ApplicationsD")
and then do any export of the global
Thanks!
One headache less in the discussion about the "right" way to write code.
+a tiny piece for "creative freedom".
![]()
Procedureblock =1
means ALL local variables except call parameters and %variables move to stack
and return when you return from your method (=procedure)
see Summary on Local Variable Scoping for more
this memory operation is not free but nothing to get a headache upon
Of course, if your utility classes are all ABSTRACT it is pure code. As any .MAC, just easier to read.
OREF is just a special data type (object pointer) and not better or worse than any other variable.
I 'd guess variable scoping and procedure block has much more (microscopic) influence on performance.
My personal preference is to have only code tightly related to stored date in "object"-classes.
Anything else outside that is not only related to this class.
Use PuTTY instead
As IClassID seems to be numeric, did you try to force a pure numeric comparison ?
eg. if +lClassID '= +rs.GetData(5) {
or if (lClassID - rs.GetData(5)) {
setting your terminal width to 132 will show the rest
I use * X for linuX aiX uniX solaris and similar real OS.
on Win* you just have to click on start caché in the cube
BTW you can see the Content of Journal also from System Mgmt Portal
In namespace %SYS there is the utility JRNDUMP that you may take as template
from terminal run DO ^JRNDUMP and see the content
It is 800 lines hardcore COS.
I wouldn't recommend it as you might not get what you are looking for if you aren't a very experienced COS system developer.
Sorry Kevin,
I concentrated on CPIPE.
my code was Written for a FOR p=1:1:254 loop to find unused IP addresses in a specific subnet.
in your case, ping might be something like set ping= "ipconfig"
if it's grey your local instance on Windows is not started.
There is no cube on *X as far as I know
if installed without security it is sys or SYS depending on version
$system.SQL.DAYOFWEEK(dateexp) is probably easier to use
dateexp
An expression that is a logical %Library.Date value, %Library.TimeStamp, %Library.PosixTime, or an $Horolog value.
Journal is definitely a valuable source.
BUT: It documents Global changes. It doesn't know about objects nor rows in tables.
Kevin
You can also use a Command Pipe (docs) and read directly from your OS using IPconfig (on Windows) or ifconfig (in Linux/ Unix)
You just do the usual OPEN + USE and READ whatever comes back.
As an example a handcrafted ping routine
you see the local installation.
You have to set your preferred instance to your mac installation.
(have no mac and no idea how your virtual box talks outside)
with ^OBJ.DSTIME you get the registered changes.
It is up to you to process it and to generate whatever format or style you prefer when and how often you like
So it's nothing ready and YOU have to write some code and manage it.
DeepSee does nothing for you.
right.
According to your explanation - the feature you are looking for is available in Caché
For the use with DeepSee there was a class parameter introduced to allow synchronization of tables.
DSTIME = 1 creates a log in ^OBJ.DSTIME to trace INSERT, UPDATE and DELETE of rows / objects.
see the general description and details on ^OBJ.DSTIME
In your class method XMLSchema inherited by %XML.Adaptor
in combination with class %XML.Schema may be your friend.