go to post Robert Cemper · Aug 17, 2017 Similar using Class %System.License. ... you may reduce the number of allowed connections by USERThis might be interesting in SaaS situation.classmethod SetUserLimit(MaxLU As %Integer) as %Integer$SYSTEM.License.SetUserLimit establishes the maximum number of license units that this Cache instance will consume. This permits a system manager to prevent a Cache instance from consuming all the license units in a MultiServer key shared among multiple Cache instances. The Method returns the former maximum value. In the absence of a call to $SYSTEM.License.SetUserLimit(max) a Cache instance may consume all available license units. Requires access to the %Admin Manage resource.
go to post Robert Cemper · Aug 17, 2017 Using Class %System.License. ... you may reduce the number of allowed connections by instance• classmethod SetConnectionLimit(MaxCon As %Integer) as %Integer$SYSTEM.License.SetConnectionLimit establishes the maximum number of connections permitted per user on this instance. This enables a system administrator to prevent a user from making so many connections to a Cache instance that they consume all available license units. Calling $SYSTEM.License.SetConnectionLimit($SYSTEM.License.MaxConnections()) permits a user to make the maximum connections permitted but prevent transitioning to the license unit per connection state, insuring the user will consume no more than one license unit. A zero argument removes the limit. The failure to obtain a license will be indicated in the normal way. For example, a call to $system.License.Login() will return zero (0) while a failure to log in to a new terminal connection will receive a error. However, these license failures will not be reported in the console log. The method returns the former maximum value. The limit applies only to the local instance. If a Cache MultiServer license is shared among several instances it is still possible to exceed $SYSTEM.License.MaxConnections() over all instances. This can be avoided by setting the limit low enough on each instance that the combined connections to all instances will be unlikely to exceed $SYSTEM.License.MaxConnections(). $SYSTEM.License.SetConnectionLimit reqires access to the %Admin Manage resource. It is suggested that customers call this API from SYSTEM^%ZSTART.
go to post Robert Cemper · Aug 15, 2017 ClassReference of %Library.Persistent shows it as sub classeshttp://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?P...
go to post Robert Cemper · Aug 15, 2017 Tom.In a similar situation I changed only one of the Serial classes to %RegisteredObject.Compilation was fine:Next I changed it back to %SerialObject.Complation was fine again. And remained fine.
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 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.