#ObjectScript

14 Followers · 1.6K Posts

InterSystems ObjectScript is a scripting language to operate with data using any data model of InterSystems Data Platform (Objects, Relational, Key-Value, Document, Globals) and to develop business logic for serverside applications on InterSystems Data Platform.

Documentation.

New
Question Andrew Sklyarov · Apr 18

I need a %SYS.Python object that will be accessible from different processes. The goal is to avoid reinitializing the Python object whenever it is called. Ways that I checked and decided that it is NOT what I want:

  • %-variables (process variables). Reusing only in the same process
  • Save-and-restore via globals. Restoring means heavy initialization, which I want to avoid

Next, my ideas (none of them look like a silver bullet):

  • Using Interoperability Production.
4
0 57
Contestant
Article Dmitry Maslennikov · Apr 18 4m read

Most IRIS developers use $LISTBUILD every day — often without even noticing it.

It is not just a convenient function for building lists. It is also the default internal format used to store row data, global values, and many intermediate structures inside the database engine.

Despite this, the actual binary representation of $LISTBUILD values is rarely discussed. Most developers rely on its behavior, but never look at how the data is really stored.

This article focuses strictly on the binary layout of $LISTBUILD values, based on direct inspection via zzdump.


2
5 56
Contestant
Article Roy Leonov · Apr 14 7m read

We didn't start with a big AI strategy.

We had a legacy InterSystems Caché 2018 application, a lot of old business logic, and a practical need: build a new UI and improve code that had been running for years. At first, I thought an AI coding agent would help only with a small part of the work. Maybe some boilerplate, some REST work around the system, and a bit of help reading old ObjectScript.

In practice, it became much more than that.

0
2 59
New
Question Scott Roth · Apr 13

This past weekend we ran into something odd. When we failed over our mirror from 2022.1.3 to 2025.1.3 the one of the Business Rules that was on what became the Primary (2025.1.3), had a rule within it that was removed back in January. When the Failover occurred, we had to scramble to backup, disable, and remove the Rule that shouldn't have been there. 

Both the Data and Code live within the same IRIS.dat that is the main MIRROR database for that Namespace. 

If this happened to one Class file, could it happen to others we do not know about?

4
0 86
New
Question Jainam Shah · Apr 12

Hello,

I am working on integrating a CELL-DYN Ruby hematology analyzer (Abbott) with InterSystems Ensemble using the ASTM E1394 protocol over TCP/IP via a Digi One SP serial-to-TCP converter. I am facing a persistent issue where the Link Test keeps failing on the CDRuby side and the Transmit button remains greyed out. I have overridden EOTOptional=1 in the service class file as Ensemble was not able to send ACK after ENQ. Now I am getting below logs like Machine sends ENQ, Ensemble sends back ACK and Machine sends EOT instead of STX.

1
0 24
New
Article Iryna Mykhailova · Apr 9 3m read

Since I started using Claude Code, my motivation to create things has skyrocketed.

Previously, even if I wanted to build something, actually doing the coding felt like a hassle, so unless there was a very strong need, I rarely went as far as programming. But now, if I just jot down the specifications, Claude Code handles the rest automatically, resulting in a dramatic improvement in productivity.

I come from a generation native to ObjectScript, so I used to feel some hesitation when it came to switching to Python.

0
0 44
New
Question Scott Roth · Apr 6

I am trying to built a Task that kicks off a Workflow to pull data into HSPD, and when I try to test the Task

ClassMethod TestTask()
{set tTask = ##class(OSU.Workday.TerminationsTask).%New()set tTask.DaysBack = 1 $$$ThrowOnError(tTask.OnTask())}

I keep getting TestTask+3^OSU.Workday.TerminationsTask.1 *%Exception.StatusException ERROR <Ens>ErrConfigDisabled: Configuration item 'OSU.DataSource.Workday.TermService' is disabled

But within the Namespace the OSU.DataSource.Workday.TermService shows enabled.

Here is my Task that I am using...

Class OSU.Workday.TerminationsTask Extends %SYS.
7
0 69
Question Scott Roth · Mar 23

I have created the following Task to kick off a Ens.BusinessService to execute a SQL query and process the results

Class OSU.Workday.TerminationsTask Extends %SYS.Task.Definition
{

Parameter TaskName As STRING = "OSU - Workday Termination Update";

Method OnTask() As %Status
{
    #Dim sc as %Status
    #Dim ex as %Exception.AbstractException
    
    set sc = $$$OK

    try{
        // create the service
        #Dim tService As OSU.DataSource.Workday.TermService
        Set tServiceConfigName = "OSU.DataSource.Workday.
1
0 43