Quite a complex scenario we are trying to solve but should be able to understand.

We're developing a task executer that runs on a server with a certain timezone.

The tasks run every day at a defined time, but in different timezones.

We're saving in database at what time we want to execute the task, and in what timezone (don't go to the save in UTC pitfall, as with DST it will be at different times)

What I want to do if when opening a task from the database, convert 02:00 Europe/Madrid, either to UTC or to local (server) time.

0 11
0 261

When overwriting the Read method (that has a %CacheString return type) on a new class that inherits %Stream.FileCharacter class, returns an error about incorrect return type, must be Binary, even if it matched the real signature.

Looking at the compile global information we can see:


After further investigation we realise that there is a generator method looking at the OdbcType class definition.

Setting LONGVARCHAR results in:


0 0
0 98

Does anybody know if there is an easy way to know if the execution of the command $System.SQL.PurgeForTable went well/wrong?

The documentation describes that a string is returned, but in fact there is a nice Quit "" in the code.

Maybe inside PurgeForTable^%apiSQL there is any process variable set when it goes well/wrong?


Thank you very much!

0 5
0 146

I know that 1-1 relationships are not officialy supported by intersystems cache/iris so I want to know the best way to store data with this kind of data model.

Currently I have two classes that where implemented some time ago:

Table A with a relationship type one on table B

Table B with a relationship type one on table A

To compile I have a double compile with qualifyer U.

What is the best way to implement a data model with 1-1 relationships?

Thank you


0 6
0 331

I would like to know if there is a way of having a callback or something similar, on persistent classes that is always called after the execution of the operation (failed or successfull).

%OnOpen is executed prior to the action, and there is no post callback

%OnAfterDelete and %OnAfterSave are executed after a successfull operation


0 8
0 187

I was searching for the most simple way to connect from visual studio code to my local instance via terminal without having to change any window.

I know this can also be achieved via telnet but seems a bit overhead if you're in your local machine.

For me the simplest sollution is to open a terminal window in VS Code, navigate to the /bin folder of your instance installation and run .\csession.exe INSTANCENAME

For simplicity you can just include your /bin folder in your path so you don't even need to navigate there

1 1
1 769

I've recently encountered a HS Caché that won't start informing that Collation 30 is not available, but I have not found an easy way of knowing what collation is 30.

I've found that the following command returns the ones from the current locale, but not from all locales:

Set Rset = ##class(%ResultSet).%New("%Library.Collate:CollationList")

d Rset.Execute()

While (Rset.Next()) {zw Rset.Number_": "_Rset.Name}

Thank you

0 2
1 148