Article Evgeny Shvarov · Sep 14, 2019 1m read

Hi Developers!

Often I find questions on how to install IRIS, connect to IRIS from IDE, setup the environment, compile, debug, maintain the repository.

Here below possibly the shortest way to set up all the environment and start development with ObjectScript on InterSystems IRIS.

Prerequisites

Make sure you have Git, Docker, and VSCode installed

Install Docker and ObjectScript extensions into VSCode

Sign in or Create an account on Github

Here we go!

9
6 1585
Question Ignacio Valdes · Nov 16, 2019

I am getting this with %RCHANGE:

RPMS 28d1>D ^%RCHANGE

This routine changes all occurrences of a string in
routines/include files.

1. Change every: Cache to: IRIS
2. Change every:

Routine(s): %*
Routine(s):  

Then I get these types of messages: 

This routine is mapped to another database, are you sure you want to change it??
 No => yes%DIRFULL.INT

%BENCHLANG.INT

This routine is mapped to another database, are you sure you want to change

5
0 374
Question Ignacio Valdes · Nov 15, 2019

Hi, I have Atelier working. When I try to search the entire RPMS code base for Cache to replace with IRIS I get this on Altelier search:

An internal error occurred during: "Atelier Search".
Failed to read /api/atelier/v2/RPMS/action/search?query=.%2ACache.%2A&documents=%2A.cls%2C%2A.java%2C%2A.png%2C%2A.confluence%2C%2A.html%2C%2A.mediawiki%2C%2A.tracwiki%2C%2A.mdtext%2C%2A.shtml%2C%2A.doc%2C%2A.workingsets%2C%2A.chromium%2C%2A.patch%2C%2A.adoc%2C%2A.js%2C%2A.emof%2C%2A.macrodef%2C%2A.markdown%2C%2A.bmp%2C%2A.htpl%2C%2A.diff%2C%2A.xml%2C%2A.bas%2C%2A.xmi%2C%2A.ico%2C%2A.shtm%2C%2A.

4
0 297
Question Ignacio Valdes · Nov 14, 2019

I want to edit this routine to replace "Cache" with "IRIS" how do I do that in Intersystems Google Cloud environment?  The portal  System > Routines  doesn't seem to show much. 

RPMS>ZL %RCR ZP

DIRCR    ;SFISC/GFT-DELETE THIS LINE AND SAVE AS '%RCR'*** ;12:18 PM  20 Apr 1993 [ 04/02/2003   8:23 AM ]

         ;;22.0;VA FileMan;**1001**;APR 1, 2003

         ;;22.0;VA FileMan;;Mar 30, 1999

         ;THIS ROUTINE CONTAINS AN IHS MODIFICATION BY IHS/MFD

         ;Per VHA Directive 10-93-142, this routine should not be modified.

19
0 490
Question Matías Peña · Nov 15, 2019

Hello everyone, It is my first post in the community. Very recently I started working using IRIS, creating services with Cache. Today they gave me a new task and I'm really lost.

How can I use an oracle database to create services using iris?

Throughout the day I was looking for a guide to use a remote Oracle database. but unfortunately I only managed the connection in SQL Gateway

5
0 1228
Question Steve Pisani · Jun 6, 2018

Hi,

The Ensemble SQL Inbound Adapter executes a user defined query, and calls the OnProcessInput method of the Business Service with information about an individual row of the executed query.

If the query provided by the user (and executed by the adapter), returned multiple rows, then, OnProcessInput is called multiple times, once for each row.

Within the OnProcessInput method, however, is there a way to know that the row that is currently being processed is actually the last row of the query.

Thanks

Steve

7
0 641
Question Eduard Lebedyuk · Nov 14, 2019

I have several Business Services which I need to run once on each trigger.

Trigger can be either:

  • Specific time (so once a day, every day)
  • Specific day (so once a month, every month)

For the time, it would be stable (i.e. 0100), but the second case varies - one month it could be 10th, another month - 12th.

After each run I want the service to turn off, so that all the time the service is not running it would be colored grey in Production Management Page.

I plan to use Task Scheduler,but open to suggestions.

Thoughts? Ideas? Code?

2
0 485
Question Yana Rchks · Oct 30, 2019

I am trying to make architecture for my project. And for it, it needs to make list property in which there is list of objects of another table, the data must be unique, therefore I make sql-query to check objects of another table if it is used or not, but I can't make sql-query to check elements in list in property with elements of another table. Can you help me? In property ID of object is used.

12
0 3367
Question Michael Davidovich · Nov 14, 2019

I'm playing with Cache web apps (CSP pages) and local dev . . .

My understanding is that when you run Cache, it spins up a very lightweight Apache web server with the web root C:\InterSystems\Cache\CSP (or where your CSP folder happens to be).  I can successfully place a index.html file with a simple header element in any one of the sub directories in \CSP (e.g. samples, sys, user) and it will successfully be served on, for example, http://localhost:57772/CSP/samples/index.html.

However, if I put the index.html at C:\InterSystems\Cache\CSP\index.

5
0 873
Question Tom Philippi · Jan 8, 2018

I have a database which needs to be synced to another system and considering to use the SQL Inbound adapter to 'watch' the database. The other system, however, has a bulk API so I'd prefer to send multiple SQL rows in a single message to that system. The SQL Inbound adapter seems to trigger a single call (to a process or business operation) per SQL-row. However, the documentation here: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY… in example 5 seems to suggest that if I exclude a KeyFieldName I get multiple rows in my EnsLib.

3
0 858
Question Cedric Daniels · Nov 13, 2019

does Health Connect have an out of box setting to send some type of "Keep Alive" packet?  This is for a TCP connection.  I have a vendor that will disconnect from the engine if there is a 2 hour idle time.  would like to send something across every hour (if its idle) to prevent the disconnection.   I'm assuming this may be something custom that needs to be created, but thought I asked the community first.

1
0 660
Question Hieu Dien Nguyen · Nov 29, 2018

Hello everyone,

I try excuting a SQL Query like this SELECT ID, CompanyName FROM Company WHERE CompanyName LIKE 'condition' 

But if I want to search CompanyName have special char %, ex: '100% Co' , 'Group of Mr.%', 'The %TaxProp'...

How can I take % to query, with  

SELECT ID, CompanyName FROM Table1 WHERE CompanyName LIKE '%%%' 

it'll get all record in table.

Someone give me an idea. Thanks so much!

5
0 1048
Article Fabio Goncalves · Apr 19, 2017 5m read

In the previous article, I have demonstrated a simple way to record data changes. At this time I have changed the "Audit Abstract Class" which is responsible for recording audit data and the data structure where the audit log will be recorded.

I have changed the data structure to a parent and child structure where there will be two tables to record the "transaction" and the "fields its values" changed on that transaction.

Take a look at the new data model:

Take a look at the code changed from "Audit Class":

Class Sample.
4
1 1188
Question Ignacio Valdes · Nov 5, 2019

Hello, 

Astronaut, LLC needs Meaningful Use QRDA c1 requirement passed. We do not have a spare engineering team to write it all from scratch.  Indian Health Service RPMS https://code.osehra.org/journal/journal/view/1576 has it in the public domain as a sub application called eCQM. We would like to backport eCQM to its close cousin our Veterans Affairs(VA) VistA variant Astronaut VistA.  We would first like to simply get eCQM working in its native environment before attempting to back port to Astronaut VistA.  RPMS currently uses Cache and Ensemble. I've been directed to use IRIS.

23
0 449
Article Stephen De Gabrielle · Nov 8, 2019 2m read

Hi, 

It turns out that on windows if you run a command with a windows command file you need to escape the % character as %%

In my case I could test freeze and thaw calls at the command line successfully as

..\bin\cache -s. -U%SYS ##Class(Backup.General).ExternalFreeze()

...but when my freeze script ran it would fail.

it turns out that a single '%' is striped when run in a windows command file, and it must be escaped as '%%' windows gets:

..\bin\cache -s. -USYS ##Class(Backup.General).ExternalFreeze()

So make sure your freeze and thaw scripts and include a double %%; 

..\bin\cach

3
0 1003
Question Laura Blázquez García · Nov 2, 2018

Hello.

I want to grant access only to the Message Viewer page to an specific user, in all Namespaces. I have created a rol with this privileges:

%Ens_MessageContent
%Ens_MessageHeader
%Ens_MessageTrace
%Ens_Portal

But if I want to see the list of messages, I have to grant SELECT access to the Ens.MessageHeader and Ens.MessageBody tables of each Namespace.

Is there anyway to grant access to this tables in all Namespaces at a time, even if new ones are created?

Thank you in advance.

2
0 483
Question Paul Hula · Sep 3, 2019

Hi,

  I believe the healthshare Debug module did this (if you added it) but I no longer have access to Healthshare to look so am asking here.

Suppose I have;

Set fruit="apple"

set person="john"

d ..Something(fruit, person)

quit

ClassMethod Something(objs...) {

  ; Names of variables passed in

}

In side "Something" how can I see the original name of the variable passed in (i.e.

3
0 369
Question Daniel Lee · Nov 8, 2019

I have a task that has been working successfully for some time now but when I attempt to recompiled I get this error:

---------------------------
Studio
---------------------------
ERROR #5475: Error compiling routine: ACLIB.Utils.PurgeOrphanedMessages:PurgeOrphaned.  Errors:  
ERROR:  source lines(38) : MPP5610 : Referenced macro not defined: 'vaExtentGbl'
 TEXT:  .
7
0 1092
Announcement Olga Zavrazhnova · Nov 8, 2019

Hi Developers,

New challenge on Global Masters: Review InterSystems IRIS on G2 and get 3000 points!
The page for InterSystems IRIS is new on G2,  and we need so much your voices and experience to be shared with the worldwide audience!
Write a review on G2 using this link, complete the challenge on Global Masters and get 3000 points after your review is published!

 

0
0 229
Article Joel Solon · Oct 30, 2019 4m read

A few years ago, I was teaching the basics of our %UnitTest framework during Caché Foundations class (now called Developing Using InterSystems Objects and SQL). A student asked if it was possible to collect performance statistics while running unit tests. A few weeks later, I added some additional code to the %UnitTest examples to answer this question. I’m finally sharing it on the Community.

2
2 743