go to post Robert Cemper · Aug 28, 2017 $EXCTRACT() and also $LI(), $Piece()is not allowed at the left side of SET when the target is an object propertyuse an intermediate variable instead.e.g.set tmp="0000000000"set $EXTRACT(tmp,10-len(context.PatientID)) = context.PatientIDset context.NewID=tmpit might be easier that wayset context.NewID=$EXTRACT("0000000000"_context.PatientID,*-9,*)
go to post Robert Cemper · Aug 28, 2017 Thank you Heikki,I have passed this "cooling" too and missed the "heat." So my mind is back and the body stays at home
go to post Robert Cemper · Aug 26, 2017 Hi Lexi,if you prefer to work unplugged you also may use HAMSTER (it's bilingual DE/EN)http://www.elbiah.de/hamster/pg/*
go to post Robert Cemper · Aug 24, 2017 Did it work ? %GCMPCompares two globals in the same or different namespace.
go to post Robert Cemper · Aug 24, 2017 Looks like running the query but not getting a resultset.You seem to be reading past the last row you got.Hardcore fix, if noting better. Wrap it in Try { } Catch {} /// it's not my favourite
go to post Robert Cemper · Aug 24, 2017 Then that's the curse of $PIECE() with no chance to fake it.So name the separator # ' " . / \ ~ ^ ...anything but ,[ as Johnny Cash was singing: ... anything but "Sue" ]
go to post Robert Cemper · Aug 23, 2017 start hereit might not be as trivial as you thinkhttp://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...more...HTH
go to post Robert Cemper · Aug 23, 2017 to work down a collection of varying number of elements I'd use this kind of loopin this case it's a double loopFor res=1:1:callresponse.result.Count() { Continue:'$IsObject(callresponse.result.GetAt(res) For err=1:1:callresponse.result.GetAt(res).Count() { Continue:'$IsObject(callresponse.result.GetAt(res).errors.GetAt(err) Set context.ErrorMessage= callresponse.result.GetAt(res).errors.GetAt(err).message - - - - } }This is the paranoic version!If you trust ENSEMBLE you may skip the check for $IsObject()more...HTH
go to post Robert Cemper · Aug 23, 2017 this could have been what you were looking for.it's pure CSP.Light weight EXCEL downloadhttps://community.intersystems.com/post/light-weight-excel-download more... HTH
go to post Robert Cemper · Aug 23, 2017 ! ", " is seen just as another string textYou need the unicode character here to make it working columnHeaders="house number"_$C(65292)_" appartment"
go to post Robert Cemper · Aug 23, 2017 ! ", " is seen just as another string textYou need the unicode character here to make it working columnHeaders="house number"_$C(65292)_" appartment" sorry, was in the wrong context before
go to post Robert Cemper · Aug 21, 2017 Alexey,with $ZF(-1,command) you are at OS level.Nothing prevents you from extending command to a script that writes its pid in a file.using $JOB_".pid" or similar as file name should be enough to identify it.So after a moderate HANG your pid should be available.I prefer this to using pipes or other sophisticated solutions (e.g. listening on a TCP/IP or UDP port, ...)as you get an embedded trace for free HTH
go to post Robert Cemper · Aug 21, 2017 online docs don't give a direct hint.so my shot from the hip: selection expression - $select(), $case() where you get a value based on a conditiondata expression - anything that sets, modifies, composes data.this is a quite academic view since data expressions may contain selection expressionsand selection expressions may contain data expressions.both variants and any mix of it are quite common in COS more...HTH
go to post Robert Cemper · Aug 18, 2017 Are there also english Versions of those videos ?My Spanish is rather rusted and more oriented towards holidays.
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.