Discussion Raj Singh · Jan 6, 2020

Happy new year! I’m Raj Singh, InterSystems’ product manager for Developer Experience and  I’d love your feedback on how you use IDEs today and your thoughts for the future.

We understand you depend on a solid, intuitive and flexible IDE from InterSystems - whether you are an ObjectScript expert or new to it; whether ObjectScript is at the core of your applications, or you develop more in Java, Python, C# or Node.js.

21
0 768
Question Noh Saankyuu · Jan 13, 2020

I am trying to install Cache version 2018.1.0.184.0 on a Windows 10 System and i keep running into Permission errors during installation. I am getting

"Error 1406 Could not write value to key \SOFTWARE\Intersystems\\Classes\CLSID\{D11481CD-3B24-42E1-A20A-D179CDB6BEC5}\InstallCount"

I am signed in as an Administrator, i am running the installer as an administrator and i have edited permissions in the Registry to the referenced keys and i still can't get this to install. Has anyone run into this before and have some advice? I am pulling my hair out over here. 

Any help is appreciated.

1
0 307
Discussion Neerav Verma · Jan 16, 2020

Hi All,

We have few queries which are simple selects . For simplicity let's say there is a query that joins two tables and gets few columns and both tables have no indexes.

Select Tab1.Field1, Tab2.Field2
From Table1 Tab1
Join Table2 Tab2
On Tab2.FK = Tab1.PK
When we do query plan for this it shows approx 6 million,  however if we make a simple adjustment to the query

Select Tab1.Field1, Tab2.Field2
From Table1 Tab1
Join Table2 Tab2
On Tab2.FK = Tab1.PK
WHERE Tab1.Id > 0 (Which will always be the case)

The query plan comes down to few thousands. So approx 99% improvement.
Is this approximation correct or

5
0 380
Question Matthew Martinez · Dec 2, 2019

Hello,

I have a record map and batch class being passed to an EnsLib.RecordMap.Operation.BatchFileOperation.

They are designated as INFORMATION.FPL.Record and INFORMATION.FPL.Header

After reaching the operation it errors out with this message : ERROR <Ens>ErrGeneral: Quitting with error on Message body 5@INFORMATION.FPL.Record / 54 because Status 'ERROR <EnsRecordMap>ErrNoBatchParent: Record with class 'INFORMATION.FPL.Record' and Id '54' doesn't belong to a batch' matched ReplyCodeAction 1 : 'E=F' resulting in Action code F

Some screen grabs are attached of my configuration.

Any help is

1
0 645
Question Lou Pizza · Jan 15, 2020

I currently have a batch job that performs many functions. Two of them are below. I was wondering how this can be done in a custom class 

      mv $TEMPDIR/$FILE   $TEMPDIR/$FILEa"_$DATESTAMP.txt" 
     mv $TEMPDIR/$FILE1  $TEMPDIR/$FILE1a"_$DATESTAMP.txt" 
     mv $TEMPDIR/$FILE2  $TEMPDIR/$FILE2a"_$DATESTAMP.txt" 
     mv $TEMPDIR/$FILE3  $TEMPDIR/$FILE3a"_$DATESTAMP.txt"
     mv $TEMPDIR/$FILE4  $TEMPDIR/$FILE4a"_$DATESTAMP.txt" 
    #Gzip files 
    find $TEMPDIR -type f ! -iname '*gz' -exec gzip '{}' \; 

Thank you

2
0 266
Discussion Alex Kogan · Jan 16, 2020

This is a lesson learned, which I would like to share with community.  


Recently I ran into an issue, where I was using %ConstructClone and it kept cloning extra records, which were not needed.  The record for which I was trying to run a clone had many-to-one relationships.  

The solution to this issue was using param -1.  If you run %ConstructClone(-1) it will not clone relationships, but rather just clone single oref as desired in this case.


I hope this information helps someone who is working with similar records.

0
0 562
Article Eduard Lebedyuk · Jan 16, 2020 2m read

This series of articles would cover Python Gateway for InterSystems Data Platforms. Execute Python code and more from InterSystems IRIS. This project brings you the power of Python right into your InterSystems IRIS environment:

  • Execute arbitrary Python code
  • Seamlessly transfer data from InterSystems IRIS into Python
  • Build intelligent Interoperability business processes with Python Interoperability Adapter
  • Save, examine, modify and restore Python context from InterSystems IRIS

Other articles

The plan for the series so far (subject to change).

Intro

The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.

This extension allows you to browse and edit InterSystems IRIS BPL processes as jupyter notebooks.

0
0 735
Question Ilmija Asani · Jan 16, 2020

Hello community,

I'm new to Objectscript and Intersystems development. I've read documentation and some examples and succeded to import my Java class  file into HealthShare using the Java Gateway Service. To import my class i tryed both methods (Wizard, or scripting) with success.

Everything works great, i see my imported class inside the namespace, and i can call the methods.

The problem begin when i try to update my .JAR file with new methods.I've insert new methods inside my Java Class (Public methods), and build a new Jar file to import into HealthShare.

6
0 632
Question Orlando Lagman · Jan 15, 2020

Working on a project to call a web service and the soap header has custom header elements that need to be signed. i reviewed the %soap.inc and didn't see any appropriate macro  

EBS and IDP elements need to be signed

here's a provided header sample

this a sample output that I created.

my first pass was $$$SOAPWSIncludeDefault+$$$SOAPWSIncludeAddressing

1
0 413
Question Eduard Lebedyuk · Jan 15, 2020

How do I rename class programmatically?

This discussion touches on data move which, is not a concern in my case (BPL renames).

I also don't care about external references.

The best I got is:

  1. Get class text as string
  2. Replace class name in this string
  3. Save new string as new class
  4. Open new class as object
  5. Delete storage
  6. Compile class

Are there any better alternatives?

Also found this discussion.

5
1 638
Announcement Anastasia Dyubaylo · Jan 16, 2020

Hi Community,

2019 was a great year full of video content for InterSystems Developers. Already 200 Videos on our InterSystems Developers YouTube Channel, and the number of subscribers has doubled since the previous year!

Almost 57K Views and 5,1K hours of Watch Time in 2019! Thank you, our dear subscribers, so we understand that our video channel is valuable to you!

Now let's take a closer look at the most popular videos on InterSystems Data Platforms over the past year.

0
1 262
Question Dmitry Maslennikov · Jan 16, 2020

When I tried to migrate one of ZEN applications to IRIS from 2018.1 I'm faced with the issue with Login Page, in this case used some ZEN page, completely customized. But when a user tries to get access, he gets the error like below.

The requested URL /csp/user/User.Login.cls was not found on this server.

I tried to test it with a fresh just created login page class

Class User.Login Extends %CSP.Page
{ 

ClassMethod OnPage() As %Status
{
  &html<<h1>Hello</1>>
  Quit $$$OK
} 

}

Set it to /csp/user application as Login page, and

$ curl http://localhost:32784/csp/user/menu.csp
<HTML><HEAD>
4
1 1060
Question Kevin Furze · Jan 15, 2020

cache 2017.2.1 (Build 801_3)

when I look into the "sql statements" ( sql page of the management portal ) I have lots of old statements with a lot of them frozen. many of them are %sqlcq routines (I believe these are the SLQ's I run when testing/running random SQL queries in the sql page. )

I can clearly see where I can click on an individual query and untick an individual query to unfreeze it. or delete it. but thats a painful slow process. I can't see anywhere to delete/change multiple queries

I want to programmatically remove all the %sqlcq queries from the list and then start looking at all

2
0 294
Article Evgeny Shvarov · Jan 15, 2020 3m read

Hi Developers!

Often when we install a code package we want to make some post-install settings, e.g. call to a method, set up a configuration file.

This article describes how to do this with the ObjectScript Package Manager.

To make any post-install calls you need to add <Invoke> elements into <Invokes> tag to the module.xml. Each <Invoke> element can have nested <Arg> elements if you want to pass params to the method:

<Invokes>

<Invoke Class="Class.Name1" Method="MethodName1">

<Arg>Sting Value</Arg>

<Arg>123</Arg>
</Invoke>

</Invkoes>

Here is an example module.xml which has the calls

0
1 634
Announcement Evgeny Shvarov · Dec 3, 2019

Hi Developers!

I'm pleased to announce that ObjectScript package publishing is now generally available on Open Exchange with this November 2019 release!

If you want your ObjectScript application to be published in ObjectScript Package Manager just enable "Publish in Package Manager" option:

And send the app on approving.

Once the application is approved it will be published automatically in ObjectScript Package Manager Registry and will be available for installation via ZPM client.

See the details below.

5
2 585
Question David Underhill · Jan 14, 2020

I would like a REST client to be able to send a custom header with the http request, for example "APPLICATION-ID".

This can be seen in the CSP gateway trace but I have tried using %request.GetCgiEnv("HTTP_APPLICATION-ID") in various formats and parts of the classes but cannot work out where I can get this.  Documentation says this should work but is for normal CSP pages.

Any ideas?

6
0 454
Question Eduard Lebedyuk · Jan 14, 2020

Is there a way to get dynamic object from iterator?

set arr=[1,2,3]
set iter=arr.%GetIterator()

I pass iterator several frames down and I'd rather avoid passing both the array and iterator, but for debugging I need to access original object in a situation where only iterator is available.

Is there a way to do it?

5
0 563
Announcement Sergey Lukyanchikov · Jan 15, 2020

This repository is a go-public that builds on the already existing InterSystems-internal Convergent Analytics community and InterSystems-private MLToolkit repo (remains active and contains the most recent information for external ML Toolkit users - request memebership by writing us at MLToolkit@intersystems.com). This repo embraces more than ML Toolkit, we would like to host any discussions, publications, projects that add up in what we call convergent analytics approach. Welcome!

0
0 416
Question Jens Salecker · Jan 13, 2020

I have to write a DTL with the Data Transformation Builder to convert messages from HL7 ORU R01 v2.1 to HL7 ORU R01 v2.5. The incoming messages contain a text in OBX-5. This text contains LF characters (only LF - Segment separator is CR). Therefore it is not possible to parse the incoming message. While testing the transformation the OBX Segment ends at the first occurence of LF. Is there a way to replace the LF character before parsing?

example:

source:

OBX||FT|ltest1|| first line 

 second line

 …

 last line

||||||F|

target:

now:            OBX||FT|ltest1|| first line

expected:  OBX||FT|ltest1|| first

3
0 1032
Article Peter Steiwer · Jan 14, 2020 2m read

In the previous part of this series, we saw how to include data in a portlet from within DeepSee. This used the built in data controller. In this part, we are going to be pulling in data from outside of DeepSee. This will include both information from within InterSystems IRIS and from the OS.

Why use this?

This is useful if you would like to create a dashboard that only contains information about your system. It is also useful if you want to display data about your system along side data that you have stored in DeepSee.

What will we learn?

In this part we will learn different ways of calling out

0
0 387
Announcement Jamie Kantor · Jan 14, 2020
Hi, there, everyone. 
 
We here in the certification team have been getting some questions about Caché developers taking the InterSystems IRIS Core Solutions Developer exam. I thought now would be a good time to clear up some doubts the community may have.
 
Even if you haven’t been working yet in InterSystems IRIS, the exam may well suit you already if you currently have experience in Caché.By looking at the Exam Details, you’ll see that there is only one IRIS-specific topic.
0
0 434
Question Roger Merchberger · Jan 10, 2020

TL;DR: If I set an Ensemble  Production Service based on EnsLib.File.PassthroughService to a Binary charset encoding, it breaks the file handling. Any ideas?

Full long post:

All,

I set up an Ensemble production to transfer files via SFTP, which works fine sending the files to my Linux server. Then I was informed that we needed to save a hash of the file, for comparison with the destination to verify the file arrived unmodified. I looked at the base64 encoded hash on my linux server:

G7QWAP6FcLInFWP8ECRL/EI2NfKdaf6TtrpwYuvSOEc=

and I created a class to extend the StreamContainer to add a hash value:

8
0 492
Article Eduard Lebedyuk · Jan 13, 2020 1m read

While and for are pretty similar, but sometimes you need to do a not recommended thing - change cycle boundaries.

In this situation while and for are different. For calculates boundaries once per run and while calculates boundaries on every iteration.

Consider this code sample:

set x = 5
for i=1:1:x {
     write "i: ", i,", x: ", x,!
     set x = x+1
}

You'll get this output:

i: 1, x: 5
i: 2, x: 6
i: 3, x: 7
i: 4, x: 8
i: 5, x: 9

Compare to while cycle:

set i = 1
set x = 5
while (i<=x) {
    write "i: ", i,", x: ", x,!
    set x = x+1
    set i = i+1
}

The output is infinite:

i: 1, x:
7
0 518
Question SomeBoDey CPS · Jan 9, 2020

Please suggest me.

I use delphi to develop and import VISM.OCX to component in delphi.

I run My Qurey Code in terminal get data many line but in VisM1.PLIST get data One line.

This is my code.
  VisM1.MServer := 'IP and Port My Server';
  VisM1.NameSpace := 'My Namespace';
  VisM1.Execute('My Qurey Code');

  VisM1.PLIST;

4
0 514