Business Rules can define a context object,  whose properties are exposed and used in the expressions of the rules. For example, my context object is an object with 3 properties. PropA, PropB and PropC.

When constructing my rules, I can call a custom function, and I have one I built myself called 'myFunction' which takes arguments and I pass in properties of my context object. (I can pass in the value of the context object's PropA, B or C).

0 6 75
Steve Pisani · Oct 19, 2019
Common Testing Frameworks.


I'm after feedback and comments on the sort of tools and approaches the wider InterSystems community uses for QA Testing applications written in Cache/Ensemble or IRIS.   I am aware of the %UnitTest package, and understand how that works... but:


- Do you use an alternative or framework built around this native Unit Testing tool ?

- What is your experience with %UnitTest if you use it ?

- Is there a tool you would recommend for your UI (I know this is not specifically an InterSystems' related question)

0 4 211


I need to route a message synchronously to multiple targets using a routing rule.

In IRIS I built a general routing rule set, made up of a couple of rules. For one Rule in particular, and based on a common condition, I want to send the incoming message to 2 different targets. (no transformation is used)

I can select, in the single SEND action, multiple target names, or, I can create consecutive SEND actions, one after the other, each sending to their specific target.

0 1 190


The Ensemble SQL Inbound Adapter executes a user defined query, and calls the OnProcessInput method of the Business Service with information about an individual row of the executed query.

If the query provided by the user (and executed by the adapter), returned multiple rows, then, OnProcessInput is called multiple times, once for each row.

Within the OnProcessInput method, however, is there a way to know that the row that is currently being processed is actually the last row of the query.



0 7 292


A site has a Mirror set, and an Asynchronous DR.  The disk drives for each of the instances are local disks and the databases are large (>2 TB)

The current backup strategy is started off as using Cache Backup and is still the case today, but the size and time it take t do the backup is obviously prohibitive.

0 8 338


I have a persistent class “sp.SensorReading” which has a number of Properties: Date, SensorName, SensorReading.   (sometimes multiple readings from the same sensor, on a given day)

Temp    28 Jan                    33.5
Temp    29 Jan                    31.2
Temp    30 Jan                    33.1
Temp    30 Jan                    34.1
Temp    31 Jan                    32.1
Temp    31 Jan                    33.1

0 12 247


Is it possible to use the value of a column that is populated by its own subquery,  in the WHERE clause of the outer-query ?

The following fails (it does not parse syntactically):


I guess I could wrap it up as in inner query of it's own - this way (which works) :

Select * from 
(SELECT A, B, (SELECT S1 FROM Table2) "C" FROM Table1)
where C>10

but I was wondering if there was some syntax in the original snippet that I could do instead.

Thanks - Steve

0 3 392