Hi community!

I want to introduce you a new powerful feature from our static code analyzer objectscriptQuality

Each time a new IRIS version is released, you need to prepare a roadmap for migration in which you need to spend a lot of time on testing to find where your code is not accomplishing with the newer version. Or maybe you need your code to be compatible with multiple IRIS or Caché versions.

1 1 255


I'm experiencing a recurrent problem that I haven't found the way to solve, so I'm coming here with the hope somebody can give me a new approach.

To make it short: we are creating categories on-demand to be able to place the maximum numbers of workers in memory, avoiding the limits established by system categories. But from time to time, one of this creation fails and system is no able to start the queue. The error we are getting is:

0 1 106

Hi developers, 

We're excited to let you know about the latest release of Serenji, your on-the-spot debugger from George James Software. Version 3.2.0 focuses on the debug experience and introduces zero configuration for users. No matter where you are or what you're doing, Serenji is always ready to go in just one click, so you won't lose focus by spending time setting up a launch configuration. 

This enhanced debugger also takes advantage of the latest features of VS Code itself. With this powerful combination you'll be able to smoothly identify and quickly fix errors in your code, contributing to the production of quality, maintainable code... and isn't that what everyone wants?! 


In this latest release you will experience: 

  • Debugging in just one click with zero configuration. 
  • Navigation directly to the source of an error using our gj :: locate technology.
  • Intuitive prompting for entrypoint and arguments.
  • Configurable break on error.
  • Program output in debug console. 
  • Run and Debug CodeLenses.
  • Run multiple concurrent debug sessions and consoles. 
  • Shaded background for read-only documents. 

If you're a new user, it's now easier for you to get started. The introduction of a welcome page Walkthrough and guidance on the Explorer and Run and Debug views means you can effortlessly create your initial workspace and start debugging. 

Download Serenji directly from the VS Code marketplace and take a look at our release notes to find out more about these new features and how to use them. 

We offer a free 30 day trial so if you're not yet a user of Serenji but you're interested in how it can help you, drop me a message through the Developer Community or email us at info@georgejames.com.

Happy debugging! 

4 0 116

I can start cache without issue. There are no errors in the console log. However, when I access the management portal the page fails to display instead displaying the error page with the error "CSP application closed the connection before sending a complete response". This was working yesterday so the root cause is not clear. Reviewing all log files, the only error I have found is in the csp.log. The error is:

0 2 136

Hello everyone,


I think I put everything in the title. It's a simple question : how to restart a connector or a list connector without double-clicking?

Is there a way using another connector to do so (using code)?

Is there a way using a command line in the terminator/ds command (in the purpose to use a batch)?




0 4 86

Hello everyone
I use cache script, I would like to know from you if there is any function or class in the cache where I can get the start and end date of a given month:
Example: What is the first and last day of the month of February 2015.


1 9 234

So I am working with an inherited SQL query that queries 8 different tables. 5 of which have over a million records. 
I have 3 different servers. 

Server 1, Server 2 and Server 3. They all have the same data/tables/structure across all servers. 
Server 3 has an Iris database engine and the other 2 are Cache 2015.1.4.

I have a problem with views and performance across the servers being inconsistent. 

Thankfully Server 1 is the current live server that performs "fast enough".
Server 2 is being synced from Server 1 and acts as a report server.

0 1 81

Interesting issue we found. When making an ODBC connection from a host via RDP, the IP address shown as making the connection is the client IP address, not the host from where the connection initiated. Has anyone seen that or know how to get around it? 


My Computer(10.X.X.112) -> RDP to Host1(10.X.X.93) -> ODBC connection to Server1(10.X.X.12). Cache Portal -> System -> License Usage -> Usage by User shows My Computer's IP address as making the connection rather than Host1. 

0 2 110
Robert Cemper · Sep 11 2m read
Successful Troubleshooting

During the last weeks, I was working on various issues and problems related to SW development.
I found that quite often problem analysis was mostly chasing issues just on the surface
but not really attacking the deeper reasons of the problem and follow the consequences.
It's like the doc that stops your leg bleeding but doesn't see that it is broken.

0 2 268

I'd like to share with you some storage features that also exist in Caché but are almost 
unknown and mostly not used. They are of course available in IRIS and gain importance
with large and distributed storage architectures.

0 0 215

I am trying to get a list of databases using the DatabaseByServer method but I am only getting an empty string. I have not found any useful examples of the proper usage of this class/method.

I have tried 2 formats. First

set dbList=""

set db=##class(Config.Databases).DatabasesByServer("my-host",.dbList)

I also tried:

set db=##class(Config.Databases).DatabasesByServer("my-host",.dbList,"/cachesys/")

In each case dbList is empty string. I can not figure out what I am missing.

0 2 58

Hello community!

I'm facing a base growth issue, which is being generated by a process and an Ensemble feature.

When executing the process of cleaning up the message queues, the Ensemble “preserves” the Streams that were part of these messages, deleting only the Header and Body. In this way the database (of one of the namespaces) has grown around 60GB per day, which has been maxing out the disk capacity.

InterSystems informed that this is a characteristic and that it is explained in the documents mentioned below.

0 2 145

This function is supposed to tell me that argument 1 is a valid variable name or not.

Doesn't work with an array variable, eg W $ZNAME("WLCOM(I)",0).

Not a question, just a whinge really.....

0 3 130
Arabic Language

Good Day

I have http response comes with strange characters "ليس لديه الØ", but it's normal when i test in postman. Is there any method to read arabic.


0 9 254

Hello everyone


I am new to cache. In an interview i was asked how to optimize a sql query.

I just said I will create index on conditions which are present in where clause. But as per interviewer I should check How query plan is getting executed. This will help in optimizing Sql queries. 

I want to know what will be the answer for how to optimize SQL query in cache. 

Thanks in advance!!

0 2 100

Hello everyone, 

I am new to cache. I want to know is there any direct command to know how to find maximum number of subscripts in global A through direct command.

I mean the answer is 9 but how to check it using a direct command on terminal.


Thanks in advance!!









0 3 153

Hello Everyone

I am new to cache. I know there are 2 types of methods in cache. One is Instance method (Which can be call through object creation of particular class) and other is Class methods (which can be call through ##Class(MyPackage.Car).CarModels()). 

I want to know the difference when to create a instance method vs when to create a class methods.

Thanks in advance!!.

0 3 117

Hi everyone - In IRIS we would like to arrange the access of two users in such a way that each has access to exactly one (his) database only. Which resource does this (%DB_%DEFAULT allows each of the two users access to both databases). If you create new resources (%DB_Database1 and %DB_Database2) and then add them to individual roles (each for the user to), the access for the users, for example, via a REST client does not give the desired separation (instead once Ok, other database 401 Unauthorized both OK).

0 2 130

I'm using FOP 1.1 for ZEN reports and would like to install fonts within the Windows/Fonts directory.

I added the xml tags in fop.xconf but so far I have been unable to get the correct font.

    <renderer mime="application/pdf">

        <!-- automatically detect operating system installed fonts -->



Any advice would be appreciated.

0 5 171

I am running csession on AIX. I have been using the command "csession cache -U%SYS". In the session the namespace shows as "%SYS>" as expected. I was simply doing queries to the best of my knowledge. At some point csession starting failing to reference the namespace instead showing /cachesys/mgr which is the main dir for the cache instance. I am not aware of doing anything that would cause this but more importantly, how do I correct it? I

0 8 162

I'm trying to save a list of AccessTokens a user for a specific user. This way I could present it together with other user-data.

I have tried calling ##class(OAuth2.Server.AccessToken).OpenByCode(authCode) from %OAuth2.Server.Authenticate's AfterAuthenticate() method. This only returns things like State and AuthorizationCode, but the AccessToken is empty at this point (afterwards it becomes filled out).

Is there a way to achieve storing the AccessToken as part of the login system?

0 1 111