Question Yang Jiao · Oct 9, 2019

Hi, we are a veterinary lab and we use both the LAB and FIN systems of Antrim. Now we are looking to expose the data in a SQL/Object compatible way so we were wondering if same / similar things had been done by other community members already? If so, could you please share your approach / experience / gotchas with us and we are all ears. I can be reached at yang.jiao@antechmail.com . Thank you! 

1
0 355
Article Peter Cooper · May 10, 2018 3m read

Index to Articles

Published 2018-05-11 Last edit -

Hi All

I this article I detail some strategic issues that a new development UI will need to address - these are the ones that I can think of now - others may come to light during this journey.

See the webinar by Eduard Lebedyuk here from the last Global Summit describing  modern web development and Caché

And, as always, if I have missed something please comment....

13
2 1642
Question Ting Wang · Oct 8, 2019

Hi All,

I am encountered <INVALID OREF> error in one of the components in the namespace as we are processing and generating huge files and sending them to downstream systems.One possible way we tried was to allocate more memory for the namespace in ensemble, but this kind of intermittent error still occurred only if processing the huge files.Also we tried to resend the failed message and the error would be gone.Another possible solution is to kill unused local variables to release memory space.

2
0 3766
Question Aaron Vail · Oct 9, 2019

I'm trying to convert a CSV inbound to an HL7 MFN^M16 outbound.  I know I'm using book information as the CSV but I don't think that matters.  Please let me know if that's incorrect. 

My service is reading the file in just fine and when I don't have a DLT transformer the raw message passes through to outbound file folder just fine.  However, when I include a basic DLT that simply copies a couple of fields over I get the "Ens.StreamContainer" error.  Everything also seems to be good in the Record Mapper.

I've been working through the documentation but I don't see anything that helps with this

4
0 4287
Question Roberto Cahanap · Oct 7, 2019

I used the Activate wizard to create a package for Excel (Activate.Excel). There is a class in there that seems to be what we need to open a file:

Activate.Excel.Workbooks.

There is a method that  has an Open() command. I tried  using it but getting an invalid pointer error.

The  parameters are as follows:

Method Open(Filename As %String, UpdateLinks As %Activate.Variant, ReadOnly As %Activate.Variant, Format As %Activate.Variant, Password As %Activate.Variant, WriteResPassword As %Activate.Variant, IgnoreReadOnlyRecmmndd As %Activate.Variant, Origin As %Activate.Variant, Delimiter As %Activate

10
0 463
Question Ting Wang · Oct 8, 2019

Hi,

I got the <INVALID OREF> error in the component and the error screenshot as follows:

​​​​​​

When I try to debug in the code, I go to the class and view other code in eclipse and find out the error method. How should I determine which line threw the error according to the error? There is the line number"+8" in zProcessRequest method. Is that the line counted from the method name or below? Looking forward to your reply. Thanks.

4
0 1419
Job Rose Blackburn · Oct 9, 2019

Hi All!! 


I am currently recruiting a very exciting position to work for a leading Healthcare software provider who are on the lookout for an experienced InterSytems Cache/Ensemble Developer for a 4 month contract! 

This will be working on a leading Childrens Health Product and developing applications for the NHS, particularly working on a migration. 

We are looking for: 

  • Proven Intersystems Cache/Ensemble development experience;
  • Proven data migration experience

Get in touch for more info on Rose.Blackburn@transition-partners.co.uk

Thank you :-) 

0
0 496
Article Ben Spead · Sep 30, 2019 2m read

Every developer has made the mistake of accidentally leaving temporary debug code in place when they meant to remove it after debugging is complete.  The great thing about writing in ObjectScript is that there is a way to make temporary code be truly temporary and automatically self-destruct!   This can also be done in such a way that the code has no change of making it into your source control stream, which can be helpful as well.

The secret to this lies in making use of the "Intermediate code" (.INT) which is generated when you compile classes (.CLS), routine code (.MAC) or CSP pages (.CSP).

1
0 494
Question Aaron Vail · Oct 8, 2019

I'm trying to read in a CSV file and map to MFN^M16.  The first problem I'm having is getting the Service to read the file without causing errors (see below).  I'm using EnsLib.File.PassthroughServicebecause (as I understand it) it allows for anything.

ERROR <Ens>ErrBPTerminated: Terminating BP CSVtoHL7M16 # due to error:

ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zOnRequest+1^EnsLib.MsgRouter.VDocRoutingEngine.1 *DocType,Ens.StreamContainer -- logged as '-' number - @'' >
ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zOnRequest+1^EnsLib.MsgRouter.VDocRoutingEngine.1

1
0 564
Job Tamsin Holland · Oct 8, 2019

At LifeLabs, we are focused on our vision of building a healthier Canada!  We are the largest community diagnostics laboratory in Canada with over 350 collection centers, 21 laboratories and service over 19 million patients each year. As the Software developer, you will be concerned with all facets of the software development process.  You will be responsible for the design of application modules, maintain and deploy software applications to meet user and business needs.

This is full time permanent positions, located at 3500 Gilmore Way, Burnaby BC reporting into the Manager, Software

0
0 499
Question Graham Hartley · Oct 8, 2019

Hi All, I'm in the process of trying to rollout the git version control system with our current code base within Atelier.  We use Ensemble to develop interfaces but are looking to move to IRIS in the near future.  Our code is structured similar to below:

 Site

           System1

Routers

Processes

Transformations

Data

Services

Operations

System2

Routers

Processes

Transformations

Services

Operations

Data

Productions

Routers

Operations

My initial thoughts are that we would have three repositories. One for DEV, TEST and PROD.

1
0 416
Article Rubens Silva · Oct 8, 2019 2m read

Hello again and welcome to the next tutorial on this series: Part 5 - Errors. Here we are going to learn how Frontier handles unexpected errors and how we can force them.

  1. Core concepts
  • Getting started
  • Creating a simple request
  • Query parameters
  • Aliasing query parameters
  • Changing output format
  • Rest query parameters
  • Inferring object instances
  • Using literal notation
  • Seamlessly mixing instances with literals
  • Returning streams
  1. Handling payloads
  • ​​How it works
  • Making it useful
  • Unmarshalling payloads into instances
  • Using the unmarshaller to EDIT an existing object
  1. Using the SQL API
  • ​​Creating
0
0 410
Question Nicki Vallentgoed · Oct 7, 2019

I know &SQL returns only one result but is 

&SQL(SELECT ID FROM Cinema.Film ORDER BY ID DESC)

and

&SQL(SELECT TOP 1 ID FROM Cinema.Film ORDER BY ID DESC)

the same in terms of processing required?

7
0 441
Article Erik Hemdal · Jul 22, 2019 3m read

One of my colleagues at InterSystems encountered an unexpected issue when running InterSystems IRIS on a Macintosh in a container using Docker for Mac.  I’d like to share what we found, so you might avoid running into similar issues.

The Problem

The task at hand was running a Java application with XEP to do a large data load into IRIS.  When running the data load, the write daemon hung soon after starting the job, with messages like these in messages.log:

05/21/19-14:57:50:625 (757) 2 Process terminated abnormally (pid 973, jobid 0x00050016) (was a global updater)

05/21/19-14:58:52:990 (743) 2

2
0 1101
Announcement Anastasia Dyubaylo · Oct 7, 2019
0
0 242
Question Scott Roth · Oct 3, 2019

When compiling in 2018.1.2 using $system.OBJ.CompileAllNamespaces() I am seeing the following errors on some of our Record Maps.

ERROR #5496: Inverse property, 'osuwmc.RQIRecordOut.Record:%ParentBatch', is not defined, 'RQIRecordOut.Record:Records'
ERROR #5496: Inverse property, 'osuwmc.RQIRecordIn.Record:%ParentBatch', is not defined, 'User.RQIRecordIn:Records'
ERROR #5496: Inverse property, 'osuwmc.RQIRecordOut.Record:%ParentBatch', is not defined, 'User.RQIRecordOut:Records'
ERROR #5496: Inverse property, 'osuwmc.EpicADTMergeCSV.RecordMap.Record:%ParentBatch', is not defined,

1
0 328
Question Rick Monk · Sep 30, 2019

I have a scenario where I'm using a EnsLib.File.InboundAdapter to collect files from an external file system.  The files require to meet a certain criteria before they are moved to another remote file system.  If they don't, I would like them to stay where they are so that they can be collected again when the criteria has changed.    I have set the adaptor property DeleteFromServer to false - which is fine - the file stays put in its original location, but the file is never collected again as I receive a  "Skipping previously processed file  " info message.

3
0 884
Announcement Evgeny Shvarov · Oct 3, 2019

Hi Developers!

This is the digest of new solutions and applications submitted to InterSystems OpenExchange in September 2019!

New applications in September 2019

web HERALD by Martin Weber

web HERALD is a Highly Extensible Rapid Application Development framework, the ultimate server-based platform for Caché Developers created by our inhouse Caché Developers.

objectscript-docker-template by Evgeny Shvarov

A simple template to start coding in InterSystems ObjectScript with preset dockerfile and settings for VSCode to start compiling and debugging.

angular-material-iris-starter by Sergey Shutov

A template project for Angular frontend with InterSystems IRIS.  The main goal of this repository is to provide an up to date example of Angular application following all recent best practices

cache-iris-app-tools by Sergey Mikhailenko

Solution for technical support and DBMS administrator. View globals arrays, execute queries (including JDBC/ODBC), sending results to email as XLS files. Viewer class instances with СRUD editing. A few simple graphs on the protocols of the system.

IRIS OData Client by Sean Connelly

A simple IRIS client for connecting and consuming RESTful OData API services.

ObjectScript-Foreach by David Crawford

The beginnings of a foreach function equivalent in ObjectScript.

Kano MDM by Liudmyla Valerko

Kano MDM is an efficient Master Data Management software product with a complete set of features for successful implementation of interoperability solution.

Output-Capture by David Crawford

Captures the output of common objectscript terminal verbs, such as zwrite.

dasha-iris-adapter by Vladislav Chernyshov

Dasha.ai is a platform for designing human-like voice interactions to automate business processes.

This repository includes the first version of Dasha.ai IRIS Interoperability Adapter and demo Interoperability Production to show how to connect IRIS and Dasha.ai platform.

0
0 203
Question David Losiewicz · Oct 3, 2019

I am using Ensemble FTP adapter to monitor file directory for files that require SFTP transfer to remote server using public/private keys for remote server authentication.

This works great in my engineering development space where file protections are loose.

I want to apply "principle of least privilege" regarding the public and private key files specified in  FTP Outbound adapter Business Operation. 

Can anyone recommend (Linux) permissions that allow Ensemble to execute the SFTP operation but minimizing access to the key files?

I've tried variouse combinations without success. 

Any

1
0 1019
Question Martin Karas · Oct 1, 2019

Hello,

lets have two  abstract %Persistent classes A,B with NoExtent keyword (storing data in separate globals for each subclass).

Class A Extends %Persistent [Abstract, NoExtent]

{

}

Class B Extends %Persistent [Abstract, NoExtent]

{

     Property Aref As A;

}

Let B class reference the A class. Since the A class has no extent the reference wont work in subclasses. It wont be even usable in SQL.  Is it possible to solve this problem? Whats the recommended way to deal with references/relationships using NoExtent?

6
0 341
Announcement Anastasia Dyubaylo · Oct 3, 2019

Hi Community!

We are pleased to invite you to the upcoming webinar in Spanish "Desarrollar y gestionar APIs con InterSystems IRIS Data Platform" / "Developing and managing APIs with InterSystems IRIS Data Platform" on October 15 at 16:00 CET!

Are you a backend developer? Or a Systems integration specialist? If so… this webinar is for you!

0
0 256
Article Gevorg Arutiunian · Apr 27, 2019 2m read

Here is an ObjectScript snippet which lets to create database, namespace and a web application for InterSystems IRIS:

	set currentNS = $namespace
	
	zn "%SYS"
	
	write "Create DB ...",!
	set dbName="testDB"
 	set dbProperties("Directory") = "/InterSystems/IRIS/mgr/testDB"
 	set status=##Class(Config.Databases).Create(dbName,.dbProperties)
	write:'status $system.Status.DisplayError(status)
	write "DB """_dbName_""" was created!",!!
	
	
	write "Create namespace ...",!
	set nsName="testNS"
	//DB for globals
	set nsProperties("Globals") = dbName
	//DB for routines
	set nsProperties("Routines") = dbName
	set status=##Class(Config.Namespaces).Create(nsName,.nsProperties)
	write:'status $system.Status.DisplayError(status)
	write "Namespace """_nsName_""" was created!",!!
	
	
	write "Create web application ...",!
	set webName = "/csp/testApplication"
	set webProperties("NameSpace") = nsName
	set webProperties("Enabled") = $$$YES
	set webProperties("IsNameSpaceDefault") = $$$YES
	set webProperties("CSPZENEnabled") = $$$YES
	set webProperties("DeepSeeEnabled") = $$$YES
	set webProperties("AutheEnabled") = $$$AutheCache
	set status = ##class(Security.Applications).Create(webName, .webProperties)
	write:'status $system.Status.DisplayError(status)
	write "Web application """webName""" was created!",!
	
	zn currentNS
3
6 1859
Question Ciaran Mooney · Sep 20, 2018

HI,

I am a newbie so excuse my basic questions.

I have installed Caché on Mac Os High Sierra 10.13.6 and have started the ObjectScript tutorial but I cannot open Terminal in Caché.

The instructions provided on the tutorial don't appear to be for Mac OS as there is no cube icon:


n order to begin practicing using ObjectScript, you need to start the Terminal. Click the Caché cube iconin the task bar and select Terminal from the menu. This brings up the terminal window, and you can see from the prompt that we are in the USER namespace.

10
0 1152