go to post Robert Cemper · Sep 4, 2017 double dot ..property is the shortcut for $this.property in instance methods.http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...
go to post Robert Cemper · Aug 31, 2017 It's possible but counter productivesince: if you switch off journal this get's logged in Audit and generates at least 1 entry in journaland swicthing it back on for the rest of your application you get another entry.I just don't recommend things with negative impact on performance. Anyhow IF you insist it's your fate:http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...
go to post Robert Cemper · Aug 31, 2017 You may do it as well with SQLselect count(*) cnt , ID from ( select 'PERS' Typ, ID from %Dictionary.ClassDefinition where Super [ 'Persistent' union all select 'XML' Typ, ID from %Dictionary.ClassDefinition where Super [ 'XML.Adaptor')group by IDorder by cnt descResult : 2 both classes contained in classcntID2%BI.Blog2%BI.BlogPost2%BI.DashBoard2%BI.DetailList2%BI.DocMag2%BI.ImageList2%BI.KPI2%BI.ListField2%BI.Measure2%BI.PerfMet2%BI.PerfMetNode2%BI.PivotData2%BI.PivotTable
go to post Robert Cemper · Aug 31, 2017 For Regex you have $LOCATEhttp://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...$MATCHhttp://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...and %Regex.Matcherhttp://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?A...
go to post Robert Cemper · Aug 30, 2017 YES, map it to a namespace where Journal is disabledswitching on/of journalling at every write is overhead and fills the audit log that is journalled itself
go to post Robert Cemper · Aug 30, 2017 Dashboards are always fresh calculated.Compare the performance in .NET to IE. It should be rather close to each other being based on similar technology.If there is a significant difference then you dig at .NET end (buffers, ...)If Chrome is significant faster then IE it's most likely the faster JS engine in Chrome.Next you could look into global buffers of Caché and concurrent use of the Caché instance.And (rarely) the complexity of your dashboard
go to post Robert Cemper · Aug 29, 2017 Method PrintPerson() { set tcp="|TCP|4200" open tcp:("127.0.0.1":4200:"PSTE"):1 else quit use tcp Write "Name: ", ..Name,! close tcp Quit }
go to post Robert Cemper · Aug 29, 2017 you insert the object to itself ????do context.MainObj.IssuesList.Insert(context.MainObj)really ? does this make sense ??I woldd expected something like:do context.MainObj.IssuesList.Insert( tmpObj )ordo context.MainObj.IssuesList.Insert(context.tempZenObj )
go to post Robert Cemper · Aug 29, 2017 The parameters are defined all over here: Searching for 'SERVICEINPUTCLASS' in 'Ens*.cls' (whole words,case sensitive) Ens.Enterprise.MsgBank.BankTCPAdapter.cls(SERVICEINPUTCLASS): Parameter SERVICEINPUTCLASS Ens.InboundAdapter.cls(SERVICEINPUTCLASS): Parameter SERVICEINPUTCLASS EnsLib.DICOM.Adapter.TCP.cls(SERVICEINPUTCLASS): Parameter SERVICEINPUTCLASS EnsLib.EMail.InboundAdapter.cls(SERVICEINPUTCLASS): Parameter SERVICEINPUTCLASS EnsLib.File.InboundAdapter.cls(SERVICEINPUTCLASS): Parameter SERVICEINPUTCLASS EnsLib.HTTP.InboundAdapter.cls(SERVICEINPUTCLASS): Parameter SERVICEINPUTCLASS EnsLib.Pipe.InboundAdapter.cls(SERVICEINPUTCLASS): Parameter SERVICEINPUTCLASS EnsLib.SQL.InboundAdapter.cls(SERVICEINPUTCLASS): Parameter SERVICEINPUTCLASS EnsLib.TCP.CountedInboundAdapter.cls(SERVICEINPUTCLASS): Parameter SERVICEINPUTCLASS EnsLib.TCP.DuplexAdapter.cls(SERVICEINPUTCLASS): Parameter SERVICEINPUTCLASS EnsLib.TCP.FramedInboundAdapter.cls(SERVICEINPUTCLASS): Parameter SERVICEINPUTCLASS EnsLib.TCP.TextLineInboundAdapter.cls(SERVICEINPUTCLASS): Parameter SERVICEINPUTCLASS EnsLib.UDP.InboundAdapter.cls(SERVICEINPUTCLASS): Parameter SERVICEINPUTCLASS Found 13 occurrence/s in 13 file/s. Searching for 'SERVICEOUTPUTCLASS' in 'Ens*.cls' (whole words,case sensitive) Ens.Enterprise.MsgBank.BankTCPAdapter.cls(SERVICEOUTPUTCLASS): Parameter SERVICEOUTPUTCLASS Ens.InboundAdapter.cls(SERVICEOUTPUTCLASS): Parameter SERVICEOUTPUTCLASS EnsLib.DICOM.Adapter.TCP.cls(SERVICEOUTPUTCLASS): Parameter SERVICEOUTPUTCLASS EnsLib.HTTP.InboundAdapter.cls(SERVICEOUTPUTCLASS): Parameter SERVICEOUTPUTCLASS EnsLib.TCP.CountedInboundAdapter.cls(SERVICEOUTPUTCLASS): Parameter SERVICEOUTPUTCLASS EnsLib.TCP.FramedInboundAdapter.cls(SERVICEOUTPUTCLASS): Parameter SERVICEOUTPUTCLASS EnsLib.TCP.TextLineInboundAdapter.cls(SERVICEOUTPUTCLASS): Parameter SERVICEOUTPUTCLASS Found 7 occurrence/s in 7 file/s. But there is no case where it is used. Looks like "reserved for future use "
go to post Robert Cemper · Aug 29, 2017 The diagramm shows to me 2 object REFERENCES (oref)oref consists of a (local) integer@Classname and points to an object.in your case both are of type %Collection.ListOfObj by the reference you can't tell that this is the same.any ##class(%Collection.ListOfObj).%New() will create a new orefin your case I see a count of 1 and then a count of 2 you should look what happens in or after (19) and in or after (29)looks to me like a fresh return value
go to post Robert Cemper · Aug 28, 2017 set CountRow=pObject.IssuesList.GetAt(i).Count() you assume pObject.IssuesList.GetAt(i) gives back a %Collection Object (Iist, Array, ..)Before applying method .Count() you should check if this assumption is true.your previous description with ASSIGN / APPEND wasn't that convincing that you always have the object you expect. ref: "out of the scope of ENSEMBLE to an external class" you should save anything that you want to keep over that call in one/multiple property of %context Object.
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 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 17, 2017 I did a short test fiddling arouned ^Samples.PersonISAMPLES>Do $SYSTEM.OBJ.ValidateIndices("Sample.Person","",1,2) Checking index integrity for class 'Sample.Person'Begin time: 08/17/2017 21:41:25 Verifying data from data map 'IDKEY' is indexed correctly...Index 'NameIDX', entry ^Sample.PersonI("NameIDX"," CHANG,QUIGLEY H.",39), has differences between master map data and index map data. CorrectedIndex 'NameIDX', entry ^Sample.PersonI("NameIDX"," CHANG,DAN L.",40) missing. CorrectedIndex 'NameIDX', entry ^Sample.PersonI("NameIDX"," CHADWICK,OLGA E.",43) missing. CorrectedIndex 'NameIDX', entry ^Sample.PersonI("NameIDX"," CANNON,BARBARA W.",81) missing. CorrectedData Map evaluation complete, 200 rows checked, 4 errors found, elapsed time: .004733 seconds Verifying data from index map "$Person" is correct...Index map "$Person" evaluation complete, 0 errors, elapsed time: .000691 seconds Verifying data from index map NameIDX is correct...Index 'NameIDX', entry ^Sample.PersonI("NameIDX"," CEMPER,DAN L.",40), data differs for field 'Name' between data and index map. CorrectedIndex map NameIDX evaluation complete, 1 errors, elapsed time: .001331 seconds Verifying data from index map SSNKey is correct...Index map SSNKey evaluation complete, 0 errors, elapsed time: .001195 seconds Verifying data from index map ZipCode is correct...Index map ZipCode evaluation complete, 0 errors, elapsed time: .001255 seconds %ValidateIndices is complete, total elapsed time: .012282 seconds SAMPLES>This looks good so far.