This series of articles would cover Python Gateway for InterSystems Data Platforms. Leverage modern AI/ML tools and 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

Index

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

Last comment 2 hours 11 min ago
+ 3   2 2
73

views

+ 3

rating

Hello,

1)

I am trying to have a ZEN datacombo to display list of Namespaces column using a Class Query.

<dataCombo id="NamespaceId" queryClass="%SYS.NamespacequeryName="List" showQuery="true" />
This Classquery works fine in <tablepane> and also from terminal.

But the datacombo is not displaying the "Namespace" column but only the last two columns. I have tried property displaycolumn="1". But this is not working

Last answer 1 days ago
0   0 1
0

comments

12

views

0

rating

Class ICT.Experiments.A Extends %Persistent
{
Property Name As %String;
Property Collection As list Of ICT.Experiments.B;
Property Collection2 As array Of ICT.Experiments.C;
}

Class ICT.Experiments.B Extends %Persistent
{
Property Name As %String;
}

Class ICT.Experiments.C Extends %Persistent
{
Property Name As %String;
}

I have the classes above and I can select columns from the array collection by using two joins as follows:

SELECT 
mainTable.ID, mainTable.Name, c.Name
FROM ICT_Experiments.A mainTable
LEFT JOIN ICT_Experiments.A_Collection2 arrayTable ON arrayTable.A = mainTable.%ID
LEFT JOIN ICT_Experiments.C c ON c.%ID = arrayTable.Collection

Last answer 1 days ago
0   1 3
0

comments

21

views

0

rating

Hi,

I have a global that holds users name and date of birth.

I would like to loop through them and check if the date of birth is more than 2 years based on todays date

so I have ^checker("under2", "Eric David", "02-05-2018")

I want to check the birthdate based on todays date to see if it is greater than 2. How do I access the birthdate in the global

Please can you advice

I tried :

set values = $order(^checker("under2"))
set td = $zdate($horolog, 3)
set ol = $p(^checker("under2"), ",", 3) // this does not work
while (values ' = "")
{
set difdays = $system.SQL.DateDiff("d", ol, td)
if difdays > 730
{    
set ^value("greater than 2")
}
}
Last answer 6 December 2018 Last comment 1 days ago
0   0 6
382

views

0

rating

I am still new to cache objectscript and am trying to figure out how I would go about removing the escape characters from my JSON below. When I call the $toJSON method it's adding the "\" character in the file path.

 

{"FileStatus":"P","Path":"\/somepath\/test\/test123\/filename.txt","InterchangeOID":"100458"}

My Code

Last answer 1 days ago Last comment 2 days ago
0   0 3
38

views

0

rating

InterSystems supports use of the InterSystems IRIS Docker images it provides on Linux only. Rather than executing containers as native processes, as on Linux platforms, Docker for Windows creates a Linux VM running under Hyper-V, the Windows virtualizer, to host containers. These additional layers add complexity that prevents InterSystems from supporting Docker for Windows at this time

Last comment 1 days ago
+ 8   0 9
827

views

+ 8

rating

Hi guys,

I'm curious about the development processes of those of you using Angular. 

The starting point is that, somewhere, there lives an Angular project full of (mostly) typescript files.  Eventually, those files need to be built, and the resulting built files served up to a browser.

Given that, let's say I want to go change one of the typescript files.  What are some clean ways to, during development, see that change reflected on the active webpage in the development environment.  For something like a .cls or .csp file, after you save and compile a changed file in Studio/Atelier, the IDE handles that entire build process for you, and from the developer's perspective it's just: compile, reload the webpage, and your changes are there

Last answer 10 days ago Last comment 2 days ago
+ 3   1 5
111

views

+ 3

rating

We at George James Software are pleased to announce that our acclaimed code debugger and editor Serenji is now available as a Visual Studio Code extension.

As well as supporting the latest InterSystems IRIS platform Serenji also works with earlier platforms, including versions lacking the server-side Atelier API support required by other VS Code extensions.

Serenji connects you directly to the code in your namespaces, resulting in an experience more familiar to existing Studio users. No need to export and import classes and routines.

We believe Serenji is the first extension to bring VS Code's powerful debugging features to ObjectScript developers.

Last comment 2 days ago
+ 3   2 5
205

views

+ 3

rating

What is the process in importing a role from one server to another server?

Let's say Server A is our main server that we maintain all of our resources / roles / users. We would like to get these over to Server B, Server C, Server D, etc.

It looks like when we import, there are tables and resources left in the destination servers that are not in the source server. It looks like whatever was in the destination server that was not part of the source server was not deleted from the import.

What is the proper way of exporting/importing a role so that this does not happen?

Last answer 2 days ago Last comment 2 days ago
0   0 1
25

views

0

rating

I'm using callin to get global values.

Here's a simple function to get string value from global and return it:

int GetGlobalStr(char *global, CACHE_EXSTRP result)
{
    int push = CACHEPUSHGLOBAL(strlen(global), global);

    // narg Number of subscript expressions pushed onto the argument stack.
    int narg = 0;

    // flag - Indicates behavior when global reference is undefined:
    // 0 — returns CACHE_ERUNDEF
    // 1 — returns CACHE_SUCCESS but the return value is an empty string.
    int flag = 1;

    int get = CACHEGLOBALGET(narg, flag);

    int pop = CACHEPOPEXSTR(result);

    return ZF_SUCCESS;
}

I get global value in result successfully. However I need to iterate over $lb. How can I do that?

Last answer 2 days ago Last comment 5 days ago
0   0 3
66

views

0

rating

 

Estimated reading time: 6 minutes
 

Hello everyone,

I was first introduced to TDD almost 9 year ago, and I immediately fell in love with it. 
Nowadays it's become very popular but, unfortunately, I see that many companies don't use it. Moreover, many developers don't even know what it is exactly or how to use it, mainly beginners.

 

 

Overview

My goal with this article is to show how to use TDD with %UnitTest. I will show my workflow and explain how to use cosFaker, one of my first projects, which I created using Caché and recently uploaded to OpenExchange.

So buckle up and let's go.

Last comment 2 days ago
+ 17   5 1
189

views

+ 17

rating

Hello,

I am trying to run a simple SELECT STATEMENT in USER NAMESPACE.

SELECT * FROM projectname.table

What is the syntax if i need to get data for a table in another namespace eg. SAMPLES., SYS

SELECT * FROM SAMPLES.projectname.table  is not working.

Thanks in advance.

Jimmy Christian.

Last answer 2 days ago Last comment 2 days ago
0   0 3
34

views

0

rating

I have problem with Cache installed on a colleague's Windows 10 laptop.  On the laptop, Cache was automatically configured to use IIS and this has worked fine with csp applications configured in the Management Portal.

Now this seems to have stopped working, and I can't work out why.  In IIS, the web application seems to be in the correct place.

I have manually mapped the various file extensions to CSPms, as per the documentation, but any attempt to navigate to a csp page produces an 500 error, which tells me precisely nothing about why this is happening.

For example,

http://localhost/csp/myapp/login.csp -> 500 error

 

 

 

I have re-installed Cache, with the repair option in the hope that this would reset any mappings or config settings to do with IIS, but it, too, has achieved nothing.

I am not a webserver guru, and this is the first time I have mucked around with IIS in literally years

0   0 1
0

answers

0

comments

11

views

0

rating

Hi Team,

I am using Angular 7 with angular material for my client application that connects and obtains Access token from IRIS Authorization Server (OAUTH 2.0).  The problem that I am facing right now is regarding this access token being exposed to browser and stores in the local storage of the browser.

0   0 1
0

answers

0

comments

21

views

0

rating

Hi guys!

Portrait of  Madame X, Gustave Caillebotte.

One of the features I like in InterSystems ObjectScript is how you can process array transformations in a specific method or a function.

Usually when we say "process an array" we assume a very straightforward algorithm which loops through an array and does something with its entries upon a certain rule.

The trick is how you transfer an array to work with into a function. 

One of the nice approaches on how to pass the information about an array is using $Name and Indirection operator. 

Below you can find a very simple example which illustrates the thing.

Last comment 2 days ago
+ 2   1 2
90

views

+ 2

rating

Hi,
We recover a large amount of data from an external database (SQLServer, about 1 million rows in JDBC).
However, we have treatment time issue.
This process takes more than 30 minutes whereas on a "classic" SQL Server Management Studio type request takes less than a minute.

While searching on the internet, I came across this article: http://makejavafaster.blogspot.com/2015/06/jdbc-fetch-size-performance.html
It explains how in Java, we can tweak the FetchSize parameter of the JDBC driver to optimize this kind of process.

Is there a way to access this JDBC parameter through the EnsLib.SQL.OutboundAdapter adapter?

If not, how do you deal with this kind of situation of large volumetry

Last answer 20 September 2018 Last comment 2 days ago
0   1 5
160

views

0

rating

I have an above error when purging record map batches and was wondering if anyone  out there has ever experienced this and if they have please any advice

Failed to purge body for header 9747192, BodyClassname='******.Batch':ERROR #5823: Cannot delete object, referenced by '*****.Record.%ParentBatch'
Last comment 3 days ago
0   0 1
0

answers

20

views

0

rating

I have an xml that has non standard characters and I would like to transform it with xslt  so that those characters render in the format  &#nnn here is what I have so far any help appreciated 

xslt

 

 

<!--?xml version="1.0"?-->
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="Windows-1252" indent="yes" omit-xml-declaration="yes" method="xml">
>  <xsl:template match="/Recordset">
    <recordset><xsl:apply-templates></xsl:apply-templates></recordset>
  </xsl:template>
  <xsl:template match="*|@*">
    <xsl:copy>
      <xsl:apply-templates select="@*">
      <xsl:apply-templates>
    </xsl:apply-templates></xsl:apply-templates></xsl:copy>
  </xsl:template>
</xsl:output></xsl:transform>
 

XML

Last comment 3 days ago
0   0 4
0

answers

53

views

0

rating

Hi Community!

Good news! One more upcoming event is nearby.

We're please to invite you to join the "J on the Beach" – an international rendezvous for developers and DevOps around Big Data technologies. A fun conference to learn and share the latest experiences, tips and tricks related to Big Data technologies and, the most important part, it’s On The Beach!

We're more than happy to invite you and your colleagues to our InterSystems booth for a personal conversation. InterSystems is also a silver sponsor of the JOTB.

In addition, this year we have a special Global Masters Meeting Point at the conference. You're very welcome to come to our booth to ask questions, share your ideas and, of course, pick up some samples of rewards and GM badges. Looking forward to seeing you soon! wink

So, remember!

Date: May 15-17, 2019
Place: Palacio de Congresos y Exposiciones Adolfo Suarez, Marbella, Spain

+ 2   0 1
0

comments

36

views

+ 2

rating

Hi Community!

Please welcome a new video on Developer Community YouTube Channel:

Implementing vSAN for InterSystems IRIS

 

0   0 1
0

comments

15

views

0

rating

Referencing this post:

https://community.intersystems.com/post/producing-json-sql

I'm not sure how to actually interact with the result set I get from doing something like this.  I want to return something like:

[{"field1":1, "field2":2}, {"field1":2, "field2":10}]

I'm finding it very difficult to get it in this format, since %Print appends a newline onto the end of the {} object it prints.

Here's the closest I've gotten:

set query = "select JSON_OBJECT('field1': field1, 'field2":field2) from MyTable where x=? and y=?"

    set tStatement = ##class(%SQL.Statement).%New()
    set qStatus = tStatement.%Prepare(query)
    if qStatus'=1 {WRITE "%Prepare failed:" DO $System.Status.DisplayError(qStatus) QUIT

Last answer 8 days ago Last comment 4 days ago
0   1 1
84

views

0

rating

We use a lot of external MS SQL calls to look up numerous things when it comes to HL7. I am running into an issue where the outbound calls are queued but the message is sent onto the next process before it gets a response. How do I get it to wait till the response gets back from the MS SQL call before sending it onto the next process?

 

Below is a screen shot of what I am trying to explain...Select Research Study executes at 8:33 the message is sent to the next process at 8:34, but the response of the MSSQL call doesn't come till 9:31.

 

Last answer 7 days ago Last comment 4 days ago
+ 1   0 4
80

views

+ 1

rating

Hello everyone smiley

I have a server configuration in a CSP Gateway installed on a PC (let's call it S2) different from the main one (let's call it S1). This configuration allows me to access a web application that is installed on S1, from a client C asking S2 for this webapp. But for now it works only in HTTP between C and S2, and we would like to use HTTPS (as it already works between S2 and S1).

First here are the tutos found in the doc:

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY...

Last answer 5 April 2019 Last comment 5 days ago
0   0 3
108

views

0

rating

Hello gentlemen,

 

I have to create a objectscript program that will simulate a mainframe (because it's going to be removed). For my program, I receive data from another program that is written in Delphy by TCP on a preset socket.  Here is my problem, how can I handle this? 
Which class shoud my program  extend?
Which Adapter should I use?
My program must be able to read what the delphy one is sending and i don't really know what structure it is in what it is in. So is there a class that can allow me to read it? Thanks for your future anwers.
Here is a sample of what I have thought but doesn't work.

Last comment 5 days ago
0   0 3
0

answers

139

views

0

rating

Continuing on from my last post, I am posting my succesful output for the Day 2 Part 1 below.

A full explanation of Day 2 part 1 can be found at: https://adventofcode.com/2018/day/2 and the input can be found

at: https://adventofcode.com/2018/day/2/input

A brief description of this exercise is that you receive a sequence of strings.

You have to count the if any duplicate or triplicate chars exist in the string.  Multiples will exist, but if you find multiple ldupicates / triplicates you will count them once.

At the end of sequence of strings you have to SUM the no. of duplicate / triplicate chars and multiply them together to get a simple check sum value.

I created 2 methods, one to import the data and the second to analyse the strings and populate the duplicate count and triple count properties

Last comment 5 days ago
0   0 2
67

views

0

rating