Hi Jose,

I can provide a SEF file for D01B to you. But please note,  I haven't used it myself and it is not an official InterSystems product. Use is at your own risk. My customer typically use D96A.

I have attached it to this answer.

Hope this helps


You need to wrap it into a classmethod which is exposed as a stored procedure as in the example below:

Class DC.Utils [ Abstract ]

ClassMethod AESBCEncrypt(
pPlainText As %String,
pKey As %String) As %String [ SqlProc ]

return $system.Encryption.AESCBCEncrypt(pPlainText, pKey)


 Once you have done this, you can use something like:

update sample.person (Name) values (DC.Utils_AESBCEncrypt(name,'key'))

Hi Marcel,

I have one. I'll send it to you in a separate mail.

Haven't tried it. My customer usually use 96A.



Hi Evgeny,

you can add a context parameter to the MDX exression. It an be filters, rows or columns. So if I change my code to:

[Measures].[Amount Sold]/
%MDX("select [Measures].[Amount Sold] on 1 from holefoods","%CONTEXT","columns")

it gives me the follwoing result:

Does this help?


All you need to do is, to specify the property name/sql field name  in the select-list of your query.

You have a couple of choices.

Either use the built in function $zhex or %SYSTEM.Utils.HexToDecimal or %SYSTEM.Utils.DecimalToHex.

See the documentation for details

Hope this helps.

Something like this should do it:

set x=""

set x = $o(@x)

while x'="" {

 write !,x," ",@x

 set x = $o(@x)