go to post Robert Cemper · Aug 14, 2017 Pls. don't forget to mark your question as "answered" on Developer Community,please click the checkmark alongside the answer you (as author of the question) accept
go to post Robert Cemper · Aug 14, 2017 Pls. don't forget to mark your question as "answered" on Developer Community,please click the checkmark alongside the answer you (as author of the question) accept
go to post Robert Cemper · Aug 14, 2017 Pls. don't forget to mark your question as "answered" on Developer Community,please click the checkmark alongside the answer you (as author of the question) accept
go to post Robert Cemper · Aug 14, 2017 Pls. don't forget to mark your question as "answered" on Developer Community,please click the checkmark alongside the answer you (as author of the question) accept
go to post Robert Cemper · Aug 14, 2017 Pls. don't forget to mark your question as "answered" on Developer Community,please click the checkmark alongside the answer you (as author of the question) accept
go to post Robert Cemper · Aug 14, 2017 not a problem of version A subquery using ORDER requires a TOP clause Change the query to SELECT * FROM (SELECT TOP ALL sslog.userRowid, sslog.CreateDate, sslog.CreateTime, Sslog.SSUSR, sslog.Terminal, ssuser.Initials, ssuser.USName FROM SUser_Log sslog LEFT JOIN DHC_SSuser ssuser ON (Sslog.SSUSR = ssuser.userRowid OR sslog.ssusr = ssuser.Initials OR sslog.ssusr = ssuser.USName) WHERE ssuser.USName ['admin' ORDER BY sslog.CreateDate DESC) WHERE %VID> 5
go to post Robert Cemper · Aug 12, 2017 You have 2 Options for LOCK1) LOCK lockargument either you succeed or you hang until you get success or forever2) LOCK lockargument:timeout timeout releases your attempt after the defined timeand signal by system variable $TEST if you were successful or notso your code may have this structureLOCK +(^a,^b,^c):0If $TEST { write "successful Locked",! } ELSE { write "attempt to Lock failed",! }more on LOCK: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...if failing you may want to identify your competitor using ^$LOCKhttp://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...
go to post Robert Cemper · Aug 11, 2017 given the property you want to sort is unique and suitable as key for your array you may get the expected result.set key=obj.sortpropertyset tSC=myArray.SetAt(obj, key)
go to post Robert Cemper · Aug 10, 2017 Mike,You are formally correct but data type %List just has no method LogicalToDisplay !but:- LogicalToOdbc- LogicalToXSDand reverseit seems the implementer expected us to use $ListToString(...) and $ListFromString()so far for consistency in object model support
go to post Robert Cemper · Aug 9, 2017 I'd try to have just 1 query with 3 parameters and switch them on/off as you needSELECT ID FROM Table WHERE (Field1 %STARTSWITH :par1 AND ((0=:sw2) OR (Field2 = :par2)) AND ((0=:sw3) OR (Field3 = :par3))Now using only par1 means (par1=whatever, sw2=0,sw3=0, par2="",par3="") so the 2nd + 3rd condition is switched off and par2,par3 ignored2nd case: (par1=whatever, par2=something, sw2=1,sw3=1, par3="") so only 3rd condition is switched off par 3 ignored3rd case: (par1=whatever, par2=something, par3=other, sw2=1,sw3=1) all conditions activeyou see this could be extended easily
go to post Robert Cemper · Aug 9, 2017 %Library.Char uses MAXLEN as size:it's applied in LogicalToOdbc and LogicalToDisplay appending Blank until MAXLEN is reachedanyting else is inherited from %String
go to post Robert Cemper · Aug 9, 2017 before launching your request in your check your %Net.HttpRequest objectproperty Https is obviously set.property SSLConfiguration has to beThe name of the activated TLS/SSL configuration to use for https requests.if the request fails in executionproperty SSLError tells you what went wrongIf request uses an SSL connection and a SSL handshake error has occurred, then SSLError contains text describing the SSL error.more on %Net.HttpRequest herehttp://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?P...
go to post Robert Cemper · Aug 8, 2017 Check win version against version supported by Caché first.http://docs.intersystems.com/cache20141/csp/docbook/DocBook.UI.Page.cls?...
go to post Robert Cemper · Aug 8, 2017 So we are back to Documentation vs. Reality.And another excellent example for the importance of this community.
go to post Robert Cemper · Aug 8, 2017 definitely a good idea to run routine ^%GSIZE to find the big consumers and packingdirectory: c:\intersystems\cache\mgr\user\Page: 1 GLOBAL SIZE 08 Aug 2017 10:28 AM Global Blocks Bytes Used Packing Contig. -------- -------- --------------- ------- ------- CacheStd 1 140 2 % 0 CacheStdS 1 92 1 % 0 CacheStream 109 764.376 86 % 70 ERRORS 1 12 0 % 0 G1 1 72 1 % 0
go to post Robert Cemper · Aug 7, 2017 My personal preference is %Status: 1 = OK,0 = something went wrong + standard or handmade Error Code+ ability of $system.Status.Append(Status) to get a chain of error messageswhich gives you the chance to drill down to the source. Which is especially important whenyou get it from some embedded action.The opposite to me is<ZSOAP> that leave you alone with no hint what went wrongor the famous <ZSG> homed in %Save() Methodto pass return value I prefer objects or variables passed byRef od Output The other opposite is SQLCODE (would be better named SQLerror) 0 is OK. Anything else needs actionBut that's tradition in SQL world since more than half a century
go to post Robert Cemper · Aug 7, 2017 all Studio settings are stored in Windows registry.Search with regedit for InterSystem
go to post Robert Cemper · Aug 6, 2017 If this user should also be programmer you can create a new role copying from %Developerand then remove the DB's that you want him to lock out like this just for NS = USER .
go to post Robert Cemper · Aug 3, 2017 For an engineer this sounds like a quite challenging exercise to rewrite a PGP lib in COS. But it seems more promising to wrap the existing (and hopefully well tested) code and consume it from Caché using one of the existing Gateways:- Callout Gateway http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...- ActiveX Gateway http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...- or just connectover TCP/IP http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...or UDP http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...or a Pipe http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...I bet the community has even more ideas to reuse the existing code
go to post Robert Cemper · Aug 3, 2017 indeed this is surprising.but is this really: do content.ReadLine(,,isEOL)it should be a pass by reference to receive something back do content.ReadLine(,,.isEOL) with the <dot> in front of the variable