Discussion Otto Medin · Sep 24, 2025

Hi all,
I needed to pick up the username from a set of credentials configured for a business operation in an interop production, and it turned out to take a few steps, so I'm sharing my method here, in the dual hope that someone has an easier way to do it, or failing that, that it is useful to someone.
Best,
Otto

/// Fetch the user name from the credentials configured for a production item.
/// Parameters:
///  productionName - The name of the production where the config iterm lives.
///  configItemName - The name of the config item that holds the credential setting.
///  settingName - Defaults to
4
0 134
Discussion Otto Medin · Oct 19, 2024

In the past, I've created custom SQL operations, but now I had something trivial to do, so I decided to take EnsLib.SQL.Operation.GenericOperation out for a spin. There's no example in the docs, so it was a little tricky. Here's what I ended up doing:

In my external database, I have 'mytable' with two fields 'id1' and 'id2'. Here are the pertinent Business Operation settings:

SQL: select id2 from mytable where id1 = ?
Input Parameters: [1] *id1
RequestClass: Ens.StringRequest
ResponseClass: MyResponseClass

To look up 'id2' for the row where 'id1' is "abc", I set 'StringValue' of my request to a

2
0 217
Question Otto Medin · Jul 6, 2024

Hi all,

When passing on the content of a file in a REST API call, I need to put the original file name in an HTTP header. As it happens, some file names have non-8-bit characters in them ("å", "ö", and the like), and these arrive garbled on the other side. Does anybody know the correct way to encode them (assuming they should be encoded at all)?
$zconvert(filename, "O", "UTF8") does not appear to be it. I'm leaning towards $zconvert(filename, "O", "URL"), but leaning isn't good enough.
Thanks,
Otto

2
0 224
Article Otto Medin · Apr 21, 2024 1m read

Hi all,

When making a Business Process reusable, I needed to make the target of a <call> configurable as a business host setting. This can be done through indirection. Here's how:

Property TargetConfigName As Ens.DataType.ConfigName;
Parameter SETTINGS = "TargetConfigName:Basic";
/// BPL Definition
XData BPL [ XMLNamespace = "http://www.intersystems.com/bpl]
{
<process language='objectscript' request='Ens.Request' response='Ens.Response' height='2000' width='2000' >
<sequence xend='200' yend='450' >
<call name='Call configurable target' target='@process.TargetConfigName' async='1' xpos='200' ypos='2
5
0 380
Question Otto Medin · May 27, 2021

Hi all,

I'm looking for a user-friendly way to make a method library available in DTL, and by user-friendly I mean via '..MyMethod()' or '$$$MyMacro()' rather than  '##class(MyPackage.MyClassName).MyMethod()'.

Does anybody know of a way to add a second superclass or a set of macros to a DTL ... or some other trick?

Cheers,

Otto

2
0 265
Article Otto Medin · Nov 1, 2016 1m read

A group of students at the Chalmers University of Technology (Gothenburg, Sweden) tried different approaches to automatically rating the quality of emergency calls, including iKnow.

Excerpt: "The most impressive results produced by iKnow is its ability to correctly classify 100% of the calls using the Average algorithm. This is quite surprising since iKnow only compares low-level concepts, how words relates to each other."

Full story: http://publications.lib.chalmers.se/records/fulltext/244534/244534.pdf

1
0 509