go to post Robert Cemper · Oct 18, 2018 eventually, EMS might do it.I've just never seen it in action.
go to post Robert Cemper · Oct 18, 2018 Just adding CACHESYS to mirror could be a deadly exerciseWho then is primary? Me or my Mirror?But to achieve your goal you may have an additional DB. Let's name it SYSMIRRORAnd now you use global / subscript level mapping to place the common information there.e.g. ^SYS("Security") or parts of it ("RolesD","UsersD", ..) whatever you think you need.I never tried it but it could not see a contradiction.For better synchronization and uniqueness, I'd personally prefer to have this SYSMIRROR accessed over ECP while holding a local copy of SYSMIRROR for backup / failover
go to post Robert Cemper · Oct 17, 2018 YES it is possible.- see your sub_query first working - just custom_view seems to miss the typical dot in table and view names Views are just a kind of shortcut to a query formula. in namespace SAMPLES you could do thisselect Home_City, DOB, name,(select Name from sample.personview sub where sub.DOB=main.DOB ) SubName from Sample.Person mainThe example doesn't make much sense but it shows that this worksAnyhow, why don't you just use a JOIN like this?select Home_City,main.DOB, main.name, sub.namefrom Sample.Person mainleft outer join sample.personview sub onsub.DOB=main.DOBor in your case select MsgId, FileName, ReportNamefrom main_table LEFT OUTER JOIN custom_viewON MsgId = ReportIdAgain: both table name and view name look odd to me
go to post Robert Cemper · Oct 17, 2018 Hi Sean,somewhat likely, using indirection instead of eXecute set %ref="obj."_prop,key="" for set key=$order(@%ref@(key),1,val) quit:key="" write key,?5,val,!
go to post Robert Cemper · Oct 17, 2018 USER>s x="Керимбай Нурия"USER> w ##class(%CSP.Page).UnescapeHTML(x)Керимбай Нурия
go to post Robert Cemper · Oct 15, 2018 Did you try thishttps://stackoverflow.com/questions/38951794/javascript-string-encoding-windows-1250-to-utf8or this https://www.npmjs.com/package/angular-utf8-base64
go to post Robert Cemper · Oct 12, 2018 It would be useful to have a wider context of your problem. invalid OREF may have many reasons and it's not obvious how this relates to your initial problem
go to post Robert Cemper · Oct 11, 2018 if you do it in object Script you just missed the concatenation operators (Underscore) _ """"_tect_""""
go to post Robert Cemper · Oct 11, 2018 In SQL you do SELECT '"'||field||'"' ....String delimiter in SQL are single quotes ' String concatenator is || Double pipe
go to post Robert Cemper · Oct 11, 2018 Brendan,I share your concerns. The initial request didn't mention Fileman at all.This is just a hint how a construct like this could be opened to SQL access. I've seen so many old MUMPS code that would have never taken its way to objects without.It#s clear that this requires wise use and careful handling.
go to post Robert Cemper · Oct 10, 2018 for pure object access, you have a getter and a setter method. no magicif also want to use it for SQL- you need SqlComputed code. This will also replace your (object)Getter.- to set your local variable also by INSERT or UPDATE you need to add UPDATE and INSERT Trigger code.example; Class DC.Setter Extends %Persistent [ Not ProcedureBlock ]{Property DUZ As %String [ Calculated, SqlComputed, SqlColumnNumber = 2, SqlComputeCode = {set {*} = DUZ(2)} ];// for settig object propertyMethod DUZSet(Arg As %String) As %Status [ ServerOnly = 1 ]{ set DUZ(2)=Arg Quit $$$OK }Trigger UpdTrigger [ Event = UPDATE ]{ set DUZ(2)= %d(2) ,%ok=1 }Trigger InsTrigger [ Event = INSERT ]{ set DUZ(2)= %d(2) ,%ok=1 }--To anticipate critics:Some people may say it's dirty coding. YES !! But it works.
go to post Robert Cemper · Oct 10, 2018 Classes and its parts are objects of package %DictionaryI guess you are looking for this$system.OBJ.* holds all utilities for compilation, import, export, ...
go to post Robert Cemper · Oct 9, 2018 Last parameter .args came only with 2017.1for earlier versions you need to compose it into first argument.
go to post Robert Cemper · Oct 8, 2018 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 IDkeybe aware of ProcedureBlock to have always access to your DUZ(2) or name it %DUZ(2) as hack
go to post Robert Cemper · Oct 8, 2018 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.
go to post Robert Cemper · Oct 5, 2018 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
go to post Robert Cemper · Oct 5, 2018 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.
go to post Robert Cemper · Oct 4, 2018 You hit the point %Boolean s an excellent example it can be TRUE, FALSe or NULLin 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)
go to post Robert Cemper · Oct 4, 2018 there is a major difference between 1) and 2)1) is also true if you have SET ^CODE("TNO","BIO",291,"AKI"))=""