Hello Guilherme,

I'm not sure about what your goal is, but alternatively, you can use Stored Procedure attached to each group

<report xmlns="http://www.intersystems.com/zen/report/definition" name="MyName" runonce="true">
    <attribute name='attribute1' expression='..GetXXXXX(..P1)'/>
    <attribute name='attribute2' expression='..GetXXXXX(..P2)'/>
    <group name="GroupQuery1" queryClass='Custom.Reports.ZEN.StoredProc.StoredProc1' queryName='Query1'>
      <parameter field="attribute1"/>
      <parameter expression="..GetYYYY()"/>
      <group name="GroupResponse1">
    <group name="GroupQuery2" queryClass='Custom.Reports.ZEN.StoredProc.StoredProc2' queryName='Query2'>
      <parameter field="attribute2"/>
      <parameter expression="..GetZZZZZZ()"/>
      <group name="GroupResponse2">

Hope this help



I apologize for the misunderstanding, my goal wasn't comparaing two languages, but rather using external languages Interface in ObjectScript ;)

Hello Everyone,

Thank you for all your really interesting comments. It helped a lot, especially on using ObjectScript classes I wasn't aware of.
But there could be a misunderstanding on the subject of this article.

The goal was not comparing several languages, but rather : "I did it with ObjectScript and the performances the way I did was not matching my expectations, so I would like to use an other language I know that match my expectations".
And to do so, before this language is embedded in ObjectScript I will use the external language Interface.

However, if I have known to use  %Stream.FileCharacter, I still would have done it in Python so that I can use $system.external Interface :)

Thank you very much, I never knew it was possible to read a file that way.
I tried too with MUMPS doing "open for {use read}" but had the same result. Thank you very much.

Thank you very much Robert.
And for the $zh I did not know.

It's always a pleasure to learn from you and all the expert of Developer Community.


It depends on the SQL Table you are considering.

Some SQL Table have a column Y/N indicating that the record is active or not. In addition to a DateFrom and DateTo.

if the component has a checkbox "active" the SQL can be

Select * from SQLUser.SQL_Table where ActiveColumn = 'Y' and (DateFrom <= CURRENT_DATE or DateFrom is null) and (DateTo >=CURRENT_DATE or DateTo is null)

But it depends on the Table you are considering.

Please can you detail your needs?