Hi developers,

We're hosting a User Group session for our Deltanji source control and Serenji debugger users on Wednesday, November 3rd at 11-12pm EDT / 3-4pm GMT.

We'll be showcasing some advanced features of Deltanji and Serenji in VS Code with time for a discussion - so feel free to bring along any problems you need help solving or share your feedback on our tools. We'd love to hear your thoughts. 

You can find out more on Eventbrite

Everyone is welcome. If you're interested in our tools this is a great chance to hear what others have to say, as well as asking your own questions.

We hope to see you on November 3rd! 

0 0 18

If I open a terminal and type the following commands, sc is an error:

set validator = "sc = ##class(%Library.Numeric).IsValid(""BLAH"")"
set @validator
write sc

At the end, when I write sc I get:


However, if I call the following class method using the arguments "%Library.Numeric" and "BLAH", sc is undefined

0 12 209

The latest release of Serenji focuses on the debug experience. Not only can you now debug on the spot, no matter where you are or what you're doing, but we've also added some smaller features that will make debugging more straightforward. 

  • Run and Debug CodeLenses - clickable links above each class method, procedure, subroutine or extrinsic function.
  • Intuitive prompting for entrypoints and arguments - when debugging a class method, produce, subroutine or extrinsic function. 
  • Shaded read-only background - to clearly differentiate between documents which are editable and those that are read-only. 
  • Program output in debug console - output is shown in the debug console. 
  • Serenji commands on Server Manager's namespace trees - allowing you to launch Serenji through Server Manager. 

Find out more in our release notes here

1 0 72

Is there an ObjectScript analog of Find with Match Element Type option? I know there is an  ObjectScript analog of Find in Files, Studio.Project.FindInFiles and Studio.Project.FindInProject, but I failed to locate so far an analog of Edit/Find. I am specifically interested in Match Element Type option so I could search across selected files for globals. Somehow Studio.Project.FindInFiles does not offer this option natively.

0 2 79

Hi everyone!

I am trying to localize text in an XData block using the $$$Text macro. A snippet of code is included below. Is there an easy way to localize the text included in an XData block? So far, using the $$$Text macro is not working; when I export the %MessageDictionary, the text to be localized isn't included in the export.


0 3 87

Does anyone know of a relatively quick and straightforward way of converting code written in the old dot scoping syntax with argumentless do (see here for reference: https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_cdo_legacy) to the modern parentheses scoping syntax? It's not too bad to do it by hand, but it's also easy to make a mistake and leave a "quit" in an if statement by accident for example.


0 2 104

I am trying to figure out the best ObjectScript analog to mimic, more or less, the %RCOPY functionality. What would be ObjectScript  method(s) if any to copy a routine from the current namespace to another one and compile it there?

0 12 164

I use the following code to start a start a job :

Class MyClass Extends (...)
    ClassMethod Foo()
       job $CLASSMETHOD("MyClass","MyMethod") //take forever depending hardware

    ClassMethod MyMethod()
       //do database related stuff

On local environment, calling Foo() is instantaneous (a few ms). On production/test servers (which have much better hardware than local) calling this function is slow and take between 200 ms to 800 ms. Obviously starting a new job with "job" command take lot of time on those environments.

0 3 111

First of all thanks for your time and help reading this question:

We would need some help:

The use case is: to add a rule inside a EnsLib.HL7.MsgRouter.RoutingEngine, where we iterate in a EnsLib.HL7.Message to find a specified value inside all OBXs segments. It should return a Boolean

Is there any recommended way, or standard function inside Ensemble, that we could use, without having to develop a new function?


We have read:

0 5 103

Hi developers, 

We've incorporated VS Code's support for multiple concurrent debug sessions and consoles into the latest release of Serenji

So if you're working with processes that relate or are dependent on each other, you can now debug them together. Just launch a second Serenji debug session (F5) whilst the first one is still active. 

This short video below shows how it works. We hope you find this feature useful! 


Serenji 3.2 multiple concurrent debug sessions

0 0 47

Our company is using Cache FDBMS for Medtrak.

I am trying to insert a record with the following data types : date, time, string and memo field (multiline).  The SQL insert/update works fine without the memo field.  

Here's my SQL statement

Insert into MR_SUB (MRSub_Date,MRSUB_Time,MRSUB_Update,MRSUB_Desc) values(:DTE, :time, :use, :remarks)

Based on FDBMS docs. MRSUB_Desc is a multiline/memo data type 

Hope somebody can help.  Thanks





0 6 149

Hello everyone, 

InterSystems Certification has redesigned their IRIS System Administration certification exam, and we again need input from our community to help validate the topics. Here's your chance to have your say in what topics are covered on the InterSystems IRIS System Administration Specialist exam! And, yes, we'd like to hear from you Caché admins too!

Here's the exam title and the definition:

InterSystems IRIS System Administration Specialist

An IT Professional who:

1 0 140

I would like to know if an encrypted caché database can run significantly slower than a normal "unencrypted" database, in a way that is noticeable to the end user (e.g. slower response time for most pages, especially the ones that rely on read/writing to globals).

I searched in Intersystems knowledge base and couldn't find anything related. I'm looking for possible before/after benchmarks.

0 3 109

The most recent release of Serenji features our innovative gj::locate technology. It was a standalone tool we originally created for a Developer Community contest earlier this year, but we've incorporated it into our debugger after some great feedback from developers. 

It works by navigating you directly to the source of your server-side errors in just a couple of clicks - enabling you to quickly fix errors without the need to count tedious lines of code... and let's be real, who has got time for that when you're under pressure to fix this bug? 

It's simple and straightforward to use:

1. Click on the gj::locate panel in the status bar

2. Enter the ObjectScript error message or line reference from a class/.mac routine..

3. gj::locate then does the work for you by taking you straight to the corresponding line in your source code.

Easy peasy... and with time to spare to make yourself a coffee before your deadline! 

The video below shows it in action - let us know if you've already given it a go. Or, if you're interested in trying it out we offer a free 30 day trial license, just drop me a message through the Developer Community or email us at info@georgejames.com.

Serenji 3.2.0 utilising gj::locate technology

0 0 59
Michel Bruyère · Sep 30
Portal's category.


I’m looking for a way to find out which category of portal a connector belongs to.
I looked at the class ‘Ens.Config.Production’ and ‘Ens.Config.Item’ but without success.

An idea about the ‘ObjectScript’ code to design?

Best Regards.

0 11 175


i want to write a application for educational purposes which will be able to write,  read and store name , surnames and birthdays of patience in a database in Caché ObjectScript

this are the codes i have already written can someone help me out. 


0 9 257