At least three different ways to process errors (status codes, exceptions, SQLCODE etc is given in ObjectScript. Most systems have status, but for a range of reasons exceptions are more convenient to manage. You spend some time translating between the various techniques dealing with legacy code. For reference, I use several of these excerpts. It is hoped that they will also support others.

4 2
3 2.4K

Hey Developers,

We're pleased to invite you to join the next InterSystems IRIS 2020.1 Tech Talk: Using Java and .NETon June 16 at 10:00 AM EDT!

In this installment of InterSystems IRIS 2020.1 Tech Talks, we put the spotlight on extending InterSystems IRIS with your own custom Java and .NET code. We will demo how to create a custom interoperability component with the new Productions Extensions (PEX) feature. Following that, we’ll demo how to call Java or .NET code from any ObjectScript code.

4 2
1 309
Question
· Jan 3, 2022
JSON - NULL Properties

So I've been reviewing a lot of questions posted in the InterSystems community regarding NULL properties in JSON. I've also been reviewing the JSON documentation. None of these things have been able to help me so far.

1. We don't seem to have the %JSON.Adaptor class available for us to use in our system.

2. I'm not really confident enough to create JSON Type classes or backporting code, etc.

0 2
0 713

Is it a good practice to set the MAXLEN value of %Library.String property type? Will it lead to wasted storage if its not really using it?

For example, I have to store a 5 characters long string into the below str field. Which of the statement is recommended?

Property str As %String;

vs

Property str As %String(MAXLEN="5");

0 2
0 1.8K

Hi, community!

Consider you need to exclude substring(s) from a string.

I did it with the following snippet:

/// excludes all the substrings from the string
ClassMethod ExcludeSubstring(substr,str as %String) As %String

{

 while ($L(str,substr)>1) {

 set str=$Piece(str,substr)_$Piece(str,substr,2,*)

            }

 quit str

}

So, for example:

0 2
0 456
Question
· Apr 10, 2019
Base64 Encoding Errors

I am trying to base64 encode a string with non standard characters encoded in utf-8 also tried windows 1252 and I am getting error like so

ERROR <Ens>ErrException: <ILLEGAL VALUE>zEncodeStream+18^ -- logged as '-' number - @' set encString = $TRANSLATE($SYSTEM.Encryption.Base64Encode(streamString),$C(10,13))' 

any help appreciated if anyone has faced this before

1 2
0 834

I was able to define ECP connection in Installer class that I run when I build docker image for my Docker IRIS application. Now I start to use Amazon ECS and Autoscaling. When a new instance is created and it runs the IRIS container, I want it to "register" as an Application server on the remote database server. What code can I execute to add an ip address as an Application Server?

1 2
0 477

Hi all,

In the days when I was still using studio, the indentation character of choice was tab, due to misalignment of code when using non-monospaced fonts.

In VSCode when I create new class files, this defaults to 4 spaces. Where and how do I set the default indentation for ObjectScript class files?

Also, with python it should be spaces. So what is recommended when doing python script inside objectscript classes?

Thank you.

0 2
0 1.4K

Interacting with Users in the Terminal: A Guide to Using %Library.Prompt in IRIS

Have you ever wondered how commands like ^DATABASE engage users in the terminal? Or perhaps you're writing an automation routine and want ways to specify options directly from the terminal. Thankfully, the %Library.Prompt class in IRIS offers a straightforward way to do so!

2 2
3 307

Hello, I'm curious to see how other people deal with this: we have a text file that was created on someone's Windows machine and it was copied and pasted into a text file on someone's Mac machine. After some examination we realized that the line feeds were originally CRLF (for Windows) and when copied and pasted they were changed to LF (Mac). The diff program we used didn't pick up on this and the program we wrote to read the file was getting each line of the CRLF file and treating the whole file as one line for the LF file.

0 2
0 228
Question
· Jul 13, 2016
Access namespace files

Hello, guys!

I want to get access to the folder where all files of the namespace are stored using COS. I found a way to get access to class files and found a folder where all csp, html, css etc files are stored.

However, is there any folder which contains all files(even .mac and .int)?

Or, probably, there is a method which gives all files content?

1 2
0 418

Hi everyone,

I am still learning the platform for a student project and have to do some streaming and data analysis next. Since for my case I have no "live api" I wanted to just stream json files and output the data as it comes in from the files. (basically to emulate a incoming data scenario)

So thanks to the documentation and community posts I have figured how to create a stream and read data from a JSON but since I'm also new to JSON I have some parsing problems. I don't know how to access subarrays/sub-objects via objectscript.

0 2
1 2.8K

Hey Community!

The latest webinar, recorded by InterSystems Sales Engineers @Sergey Lukyanchikov and @Eduard Lebedyuk, is already on InterSystems Developers YouTube! Please welcome:

"Machine Learning Toolkit (Python, ObjectScript, Interoperability, Analytics) for InterSystems IRIS"

https://www.youtube.com/embed/z9O0F1ovBUY
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

2 2
1 440

Announcing gj :: locate. A simple extension for VS Code that will help you get to the source of your errors.

In VS Code, using either the Serenji extension or the basic InterSystems objectscript extension, this small add-on will open the appropriate class or routine and position you at the exact line where an error occurred.

No more tedious counting of lines to find <UNDEFINED>zCredit+206^Ledger.Invoice.1. Instead, with gj :: locate you can get there with just a couple of clicks.

This 20 second video tells it all:

2 2
2 283