Article Stephen Canzano · Jun 28, 2025 3m read

Maybe this is well known but wanted to help share.

Consider that you have the following persistent class defintions

An Invoice Class with a property reference to Provider

Class Sample.Invoice Extends (%Persistent, %Populate)
{
Parameter DSTIME = "AUTO";Property InvoiceNumber As%Integer(MINVAL = 100000) [ Required ];Property ServiceDate As%Date(MINVAL = "+$h-730") [ Required ];
Index InvoiceNumber On InvoiceNumber;Property Provider As Sample.Provider [ Required ];
Index Provider On Provider [ Type = bitmap ];/// Build some invoices, this will firstly create 100 Providers///
0
0 219
Discussion Stephen Canzano · Jul 19, 2021

When I'm asked questions about SQL, I like Intersystems staff at the WRC, generally ask about the Query Plan. My feeling is that even before you run a query you should examine the results of Show Plan to confirm that the code is going to give me the results in the manner I would expect. If I expect it to leverage an index and I see that it is not then I go back and look at what I might have done incorrectly and try to re-write the query to get the index behavior I'm looking for.

0
0 203
Question Stephen Canzano · Jul 14, 2016

I  have a DeepSee KPI defined based on %DeepSee.KPI following the documentation http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY….  I've then enabled the KPI on a dashboard by adding a Widget where the data source is the KPI.  Currently the ability to show a Detail Listing is implemented by the call back %OnGetListingSQL.  This method documents the parameter

pListingName is the name of the listing to display. This is reserved for future use.

According to this and from what I can tell there is no way to provide support for a secondary

2
0 431
Question Stephen Canzano · Apr 13, 2016

I interested on how others feel on this subject.  In general terms when you have a class that extends from %XML.Adaptor and you call XMLExport no validation is automatically done as part of the XMLExport process.  As an example if you do the following

SAMPLES>S tPatient=##Class(Sample.Person).%New()
 
SAMPLES>Set tPatient.Name="asdfghjklqwrrrrokkfkljbvkfbjflkbjflkbjblkjblkjdblkjblkcn l nn klkjdfkbjdlkbjlkbj"
SAMPLES>w tPatient.XMLExport(,",indent")
<Person>
  <Name>asdfghjklqwrrrrokkfkljbvkfbjflkbjflkbjblkjblkjdblkjblkcn l nn klkjdfkbjdlkbjlkbj</Name>
</Person>

where tPatient.Name has a value which

3
0 833