go to post Robert Cemper · Sep 20, 2018 $system.SQL.DAYOFWEEK(dateexp) is probably easier to usedateexp An expression that is a logical %Library.Date value, %Library.TimeStamp, %Library.PosixTime, or an $Horolog value.The returned values represent these days: 1 - Sunday, 2 - Monday, 3 - Tuesday, 4 - Wednesday, 5 - Thursday, 6 - Friday, 7 - SaturdayThe Caché default is that Sunday is the first day of the week.
go to post Robert Cemper · Sep 20, 2018 Journal is definitely a valuable source.BUT: It documents Global changes. It doesn't know about objects nor rows in tables.
go to post Robert Cemper · Sep 20, 2018 KevinYou 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 routinezping ; k empty s pipe="|CPIPE|" close pipe s ping="ping 10.10.12."_p open pipe:(ping):10 w $t," ",p,! for { use pipe read line use 0 set empty=$s($l(line):0,1:$i(empty)) q:empty>3 write:empty<2 line,! }
go to post Robert Cemper · Sep 20, 2018 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)
go to post Robert Cemper · Sep 20, 2018 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 likeSo it's nothing ready and YOU have to write some code and manage it. DeepSee does nothing for you.
go to post Robert Cemper · Sep 20, 2018 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
go to post Robert Cemper · Sep 19, 2018 In your class method XMLSchema inherited by %XML.Adaptorin combination with class %XML.Schema may be your friend.
go to post Robert Cemper · Sep 19, 2018 This is a design feature.Ensemble was designed to work on a worldwide base independent of time zones, daylight saving nonsense and other local time deviations with a consistent monotone growing sequence of time.So the use of UTC is spread everywhere across the code and there is just no single place to switch it on or off.So if you want to see logs and other info in local time your only chance is to rewrite the pages or to modify the original code in ENSLIB without any guaranty for eventual unexpected side effects.My personal opinion: It's not worth the effort.
go to post Robert Cemper · Sep 17, 2018 eXecute command is sensible to variable scopingin addition control of allowed operates is required.this small method gives you an easy to maintain code. ClassMethod Operate(var1 = "", op As %String = "",var2 = "") As %Boolean { goto $case(op ,"<":lt ,">":gt ,"=":eq ,"<>":ne ,:fail )fail quit 0lt quit var1 < var2gt quit var1 > var2eq quit var1 = var2ne quit (var1 '= var2)}.and you are free to use any naming of your operator you allow ( & , $ , @, GOOFY, DAISY, DUFFY, DONALD, .. )
go to post Robert Cemper · Sep 17, 2018 Assuming you create your Output by WRITE variablethe most simple solution would be to change it to WRITE """"_variable_""""if your variable can contain quotes that need to be escaped WRITE """"_$REPLACE(variable,"""","""""")_""""may fit your needs.More sophisticated you may hide the quoting in some macro definition.
go to post Robert Cemper · Aug 29, 2018 That's it, Alex is rightUSER>set list=$lb(7,8 ,9)USER>zzdump list 0000: 03 04 07 03 04 08 03 04 09 .........USER>set $li(list,2,2)=$lb()USER>zzdump list 0000: 03 04 07 01 03 04 09 .......USER>zw listlist=$lb(7,,9)
go to post Robert Cemper · Aug 29, 2018 I recently had a problem with a provider not allowing PASV anymore. without noticeJust a guess
go to post Robert Cemper · Aug 28, 2018 set list = $lb("stri,ng", $c(0), 2) ,p=0for set p=$LISTFIND(list,$C(0),p) quit:'p set $LIST(list,p)=""
go to post Robert Cemper · Aug 28, 2018 The path in JSINCLUDES and CSSINCLUDES looks somewhat suspicious to me.you use a path relative to the location of your page.verify (eg. with Chrome) that your libraries really get loaded
go to post Robert Cemper · Aug 28, 2018 you mix up 2 variants of indirection W @B S @("C="_B) These both are ARGUMENT indirections, where the arguments of WRITE or SET are replaced. But S C=@B is a NAME indirection where the name of a variable or global is expected.$P(A,S,2) is definitely no a variable or global name. Docs on Indirection is quite verbose and shows the limits. Most important: this is a runtime feature and not a compile-time feature!
go to post Robert Cemper · Aug 27, 2018 You can achieve this using TRANSACTIONS in combination with ISOLATION LEVELSBUT: as with the LOCK in COS you depend on the other players to take notice of your isolation. If they don't care you are lost since this is no absolute locking.COS has the option to lock your record ahead - but you depend on the other participants.An other option is to use ROWVERSION to protect your record. (optimistic locking)If someone has changed your record under cover you get alerted on the fact.
go to post Robert Cemper · Aug 27, 2018 instead of eXecute you may use Indirectionset @("mylist="_result).It's a matter of taste :take care for ProcedureBlock = 0 ; as for eXecute ; just in case
go to post Robert Cemper · Aug 27, 2018 Only out of curiosity:What do you get back if you just do "return list" without toString() ?Whatever structure CacheListBuilder may have