Syndicate content 0  

Hello,

For many routines we write, we utilize a global we name ^HITLIST($JOB,"routineName") as temporary storage as needed. For various reasons this gets junked up and we are at a point where we need to do some routine garbage collection.

The idea is to write a utility that looks at all the ^HITLIST($JOB) nodes, check if the job is currently running and if it isn't then we can issues the KILL command on ^HITLIST($JOB).

0 7
1 1.1K

I'm trying to execute a nodejs process to perform some work on a string from Cache/Mumps over to nodejs, then return the result from nodejs as a string back to the code in Cache and I was looking at the `$ZF` logic - it will let me output the results to a file (i.e. temp.txt) but I dont see a way to just get the output set back to an M variable like (and I know this is not the correct syntax, but just for example)

S myOutput=$ZF(-100, "echo something") ;; wrong syntax but just for example

W myOutput ;; want to write out "something" but of course this doenst work

0 4
0 1.1K

Greetings,

I am working on the first of many triggers which will have identical code upon row insertion or update of a single column. According to the document I should be able to define a multiple-event trigger using Cache SQL/DDL.

Here is a link to the current CREATE TRIGGER documentation. Within the description section is the following paragraph:

0 1
0 1.1K
Article
· Mar 3, 2024 5m read
How to send messages to Microsoft Teams

Hi community,

The aim of this article is to explain how to create messaging between IRIS and Microsoft Teams.

In my company, we wanted to monitor error messages, and we used the Ens.Alert class to redirect those error messages through a Business Operation that sent an email.
The problem was that we sent those error messages to a support account where there were many emails. We wanted something specific for a specific team.

So we investigated how to make these messages reach the development team directly and they could have, in real time, a notification of an error in our production.
In our company we use Microsoft Teams as a corporate tool, so we asked ourselves: How could we make these messages reach the IRIS development team?

33 15
7 792

NOTE: This content was originally presented at the InterSystems Global Summit in 2014, however related topics often come up on the Developer Community so I have decided to turn this into an article for easier reference and discussion. However, much of the content was pulled directly from the presentation slides so the article format resembles that of a PPT deck more than paragraphs.

8 1
4 1.1K

Hi guys,

My client has a requirement to add a column of random numbers to the query result.

I wrote a function as below:

Class Utils.SqlUtility Extends %RegisteredObject
{

ClassMethod GetSomeNumber(intInput As %Integer) As %Integer [ SqlName = GetNumber, SqlProc ]
{
Return $R(intInput)
}

}

But in the returned sql result, every row share the same value, as below,

SELECT Utils.GetNumber('456'),
ID, Citizenship, DOB, FirstName, Gender, IDNumber, LastName, PatientNumber, PhoneNumber
FROM CDR.Patient

0 6
0 1.1K
Article
· Oct 1, 2018 4m read
Profiling code using Caché Monitor

Not everyone knows that InterSystems Caché has a built-in tool for code profiling called Caché Monitor.

Its main purpose (obviously) is the collection of statistics for programs running in Caché. It can provide statistics by program, as well as detailed Line-by-Line statistics for each program.

Using Caché Monitor

Let’s take a look at a potential use case for Caché Monitor and its key features. So, in order to start the profiler, you need to go to the terminal and switch to the namespace that you want to monitor, then launch the %SYS.MONLBL system routine:

3 1
7 1.1K

A request came from a customer to estimate how long it would take to encrypt a database with cvencrypt utility.

This question is a little bit like how long is a piece of string — it depends. But its an interesting question. The answer primarily depends on the performance of CPU and storage on the target platform the customer is using, so the answer is more about coming up with a simple methodology that can be used to benchmark the CPU and storage while running cvencrypt.

6 0
1 1.1K

I"m doing a SQL insert in my BPL, one of the fields in my SQL table is an MSSQL TimeStamp. How do I get the date/time from my HL7 message and format it so that I can then insert it into my TimeStamp column in my SQL table? I've tried lots of different combinations.

I used CONVERT(DATETIME, substring(:request.GetValueAt("EVN:RecordedDateTime"),1,8)) to get just the date portion and it works, but I'd like the whole DateTime inserted into my TimeStamp field. This is an a BPL.

Thanks

0 2
0 1.1K
Question
· Feb 26, 2018
Monitoring with Zabbix

Hi community,

I need to monitor Caché Intersystems with some custom indicators.


I started customizing the SNMP Mib. But I've been in a Zabbix event, all speakers use ODBC to monitor their database, Oracle, MySQL, PostgreSQL ...

What is the best way? Use ODBC or SNMP Custom Mib?
What are you guys using?

0 2
0 1.1K

Now available on Open Exchange is a library of third party charts available to use within DeepSee/InterSystems IRIS BI dashboards. To start, simply download and install, select the new portlet as the widget type, then select the chart type that you desire. If you don't find the type of chart you are looking for, you can easily extend the portlet to implement your desired chart type. These new chart types can be used within existing dashboards or you can create new dashboards using them.

4 0
0 1.1K
Question
· Feb 28, 2016
Mocking tools for Unit Testing

Hello everyone!

Does anyone know of a library that can be used to create Mock objects for Objectscript classes?

Right now, my team has been building mock objects by hand to help circumvent dependencies when writing and executing unit tests, but I always wondered if someone had ever created a Mock library like Mockito to help quicken the process.

Thanks!

3 4
0 1.1K

A feature I recently used in working on ISC internal applications is the ability to send emails on behalf of someone. This is useful when generating system notifications from an application when you want some of them to show up as being from a specific person, perhaps posting comments on a work ticket.

In my case I was updating our facilities work order system for tracking requests. Normally all notification emails are sent from the same noreply email address. I wanted to change that so comments added from the original requester would show up as being from them and stand out.

7 2
0 1K

I have defined a class with a dynamic object property:

My class

The issue I encounter is that if a length of a serialized json property is more than 3641144 symbols, the object fails to save with the following error (either MAXSTRING or STRINGSTACK):

Length: 100 Result: OK
Length: 3641143 Result: OK
Length: 3641144 Result: OK
Length: 3641145 Result: ERROR #5002: ObjectScript error: <MAXSTRING>%GetSerial+1^%Library.DynamicAbstractObject.1
Length: 7282288 Result: ERROR #5002: ObjectScript error: <STRINGSTACK>%GetSerial+1^%Library.DynamicAbstractObject.1

Is there a workaround? I need to store moderately large jsons (10-15 Mb) and dynamic object properties allow for a very convenient access.

$ZSTORAGE is set to -1.

2 6
0 1.1K

Hi Developers!

A question to those who use VSCode to code InterSystems ObjectScript.

Suppose you have the ObjectScript code on IRIS server and you want to export it into the desired folder.

And you have VSCode connected to the server.

What is the way to tell VSCode that I want to export classes into some particular folder in /package/class.cls way?

E.g. into:

/project_folder/src/cls/Package/class.cls

and project_folder is opened in VSCode as the folder of the project.

1 8
0 1.1K
Article
· Jun 10, 2019 1m read
more usefull Object Dump

During testing your code you are often confronted with the need to examine
the actual content of an object. Either using ZWRITE or $system.OBJ.Dump()
you get a picture of simple properties as "--- attribute values ---"
while "--- swizzled references ---" are more confusing than informative
and with "--- calculated references ---" you are just left in the lurch.

This small helper class allows you to dump an object to terminal or
e.g in background to some stream for later review.
By default, you see just properties with content,

16 0
1 1.1K

At the George James Software booth at Global Summit last year we took the wraps off the work we've been doing to make our popular editing and debugging tool Serenji available on the Visual Studio Code platform.

Rather than requiring you to pull code from your namespaces into local files, then push the changes back to the namespace to run it, you work directly in the namespace. In other words, the editing experience is like Studio rather than like Atelier.

As well as editing code you can also debug it directly from VSCode.

3 12
1 847

Hey Community,

We’re excited to introduce a whole new way for you to showcase your creativity and skills! This time, we’re inviting you to participate in our first-ever video challenge:

📹 InterSystems Tech Video Challenge 📹

Submit a video on any topic related to InterSystems IRIS products or services from October 21 - November 10, 2024.

🎁 Gifts for everyone + main prizes!

5 15
0 786

Hi,

somehow my installation on win10 canceled during finish. "Installation of Caché finished" showed up for 20 minutes and canceled with an error I didn't saved.

Every file and service was installed but never registered as successfull installation. Now I try to reinstall it but the installer shows me everytime "Another installation is already in progress. Please finish the second installation first".

The unfinished installation is broken. I can't startup Caché from launcher. So I deleted everything in c:/intersystems

Things I already tried:

0 9
0 1.1K