Question Paul Riker · Jun 6, 2019

I have a custom process that is parsing HL7 and inserting it into a table. Periodically the inserts fail with # due to error: ERROR #5803: Failed to acquire exclusive lock on instance of.... 

Traditional databases would wait until the lock is removed then do the insert, but cache fails. I'm sure it's my coding approach.

How can I work around this? A Try/Catch loop?

Thanks in advance.

7
0 1099
Question reinhard lebensorger · Jun 3, 2019

hi, i am new to Studio and also new to objectscript, but i am not new to programming and

want to implement some synonymfunctions e.g.  LOCATE should be used as InStr (.. like in much languages ;o)

more generally spoken, i want to implement a library for my string routines BUT of course i want an need autocomplete.

defining a macro $$$InStr does no autocomplete  when i type $$$In<CTRL-SPACE>

example: my lib is called STRINGS and the functions are: InString, Split, ...

when i type STRINGS.       it should autocomplete

i also don't want to write  ##class(xxxxx.yyyyy).InString()   every time.

8
0 523
Question Lucas Fernandes · Jun 6, 2019

I have a FullBackup.cbk file generated by Caché Backup Online.This file has many databases.
Is there a Caché feature to restore only one database?
I've tried EXTSELCT^DBREST(), but this routine runs through all databases
(skipping the unselected).This process becomes slow, lasting 1 day to finalize the process.

1
0 669
Announcement Evgeny Shvarov · Jun 6, 2019

Hi Community!

This is the update on what are the new applications submitted on OpenExchange in May 2019

New Applications

Background Jobs over ECP published by @Robert Cemper

An internal variant of a PIPE

Simple Remote Server Control published by @Robert Cemper

Simple monitoring of several servers at a lightweight level

iris-nodejs-101  published by @David Reche 

This application demo a REST API build in node.js able to receive HTTP GET, POST and DELETE of custom JSON 

Sea Battle  published by @Evgeny Shvarov

Simple terminal game an approach to "Sea Battle". Example of simple ObjectScript method calls and terminal interaction The code is an ObjectScript remake of Python example in CodeAcademy

PHP-module for Caché published by @Sergey Kamenev 

This is PHP-module for InterSystems Caché. In current moment module works only locally, on same server where running Caché. Module has excelence speed because uses c-callin interface for access to DB.

PHP-module for IRIS published by  @Sergey Kamenev 

This is PHP-module for InterSystems IRIS. In current moment module works only locally, on same server where running IRIS or Caché. Module has excelence speed because uses c-callin interface for access to DB.

TSQL Checkers v.1.0.0 published by @Anton Umnikov 

Demonstration of TSQL support in InterSystems IRIS. Checkers game

isclib v.2.1.0 published by @Kyle Michel 

Go library for interacting with InterSystems Corporation products like Cache and Ensemble<--break->

0
0 324
Question Alex Kogan · Jun 4, 2019

Hello,

I assume there is a simple explanation for this, but I do get <OBJECT DISPATCH> error, when I am trying to set a global to a value.

My example is huge, but I reproduced it using Samples namespace:  

First I delete the Title from ##class(Cinema.Film)  - 3 

Secondly:

SAMPLES>s ref=##class(Cinema.Film).%OpenId(3)
SAMPLES>w ref.Title

SAMPLES>set ^AK(1)=$G(ref.Title)

SET ^AK(1)=$G(ref.Title)
^
<OBJECT DISPATCH> *Property 'Title' in class 'Cinema.Film' must be MultiDimensional

$D also does not work, same error, however this works fine: if ref.Title S ^AK(1)=ref.Title

4
0 1081
InterSystems Official RB Omo · Jun 6, 2019

InterSystems has corrected a defect that can result in application data integrity issues following an abnormal shutdown.

This problem exists for:

  • Caché and Ensemble 2018.1.2
  • HealthShare Health Connect (HSAP) 15.032 on Core version 2018.1.2
  • InterSystems IRIS Data Platform 2019.1
  • InterSystems IRIS for Health 2019.1
  • HealthShare Health Connect 2019.1

The defect breaks the journal sync guarantee that all updates in the journal buffer have been written to the journal file. The failure is silent: it does not generate an error message and there is no entry about it in any log file.

0
0 576
Article Robert Cemper · Jun 5, 2019 1m read

Earlier, I've written about command pipes.
This is the internal variant of a PIPE.

To make this more tangible and visible for you, I prepared a small example
  The scenario is to run a monitoring process that receives
input from an unknown number of sensors.  (Could be Lab equipment or similar.) 

The monitor should not poll its sensors nor run
in a hang loop to scan a common global and work independently of any disk access.   
To try it log into a terminal 
.    DO ##class(IJC.Demo).%Start()  
The Highlander principle applies for this example: There can only be one  

0
0 515
Announcement Anastasia Dyubaylo · Jun 5, 2019

Hey Community!

As you know, InterSystems Developer Community is always evolving. We have a number of different pages in popular social networks. And now we're more than happy to launch the InterSystems Developer Community on LinkedIn! Please welcome:

1.Developer Community Page on LinkedIn: to stay in the know about articles, answers, announcements, hot discussions, best practices based on InterSystems technology - so good if you are an active user of LinkedIn!

2. InterSystems Developers Group on LinkedIn: to network with other developers.
Imagine that you want to invite a high-pro DC member to your event, or you have a question or need advice... How to contact him/her? Now it's easy! Go to DC LinkedIn Group and send a direct message!

1
1 352
Question Sebastian Thiele · May 17, 2019

Hi everybody,

after importing an XML schema from xsd into Ensemble I´d like to add it to my Studio-Project but can´t find the imported schema in the namespace view. For example when working with custom hl7 schema, I could easyly add it to my project under namespace view schemaname.hl7. Is this also possible with xml schema? If so where can I find it on an component level?

kind regards,

sebastian

4
1 865
Question Nijeesh Balan · Apr 24, 2019

Hi,

I would like to use EnsLib.HL7.Operation.HTTPOperation for sending HL7 messages via HTTP. It sends the Content-Type as "text/html"

I would like to change it to something else, say "text/plain". I cannot see a way to do it.

I have now written a custom Operation (based on EnsLib.HTTP.OutboundAdapter) and modifying the Content-Type while POSTing using SendFormDataArray(). It's bit frustrating to parse the response etc.,

I would rather prefer to use HTTPOperation of HL7. Can somebody help?

Thanks.

1
0 1131
Question Murillo Braga · May 31, 2019

Hi guys

I have always struggled with this, tended to use workarounds but now decided to hear from more experienced people if this is something I am misunderstanding.

I need to basically add a "send" within the ruleset number 2, but without a need to associate a "when" node to it. Is this possible? What I basically need is to forward messages with status 160 to "ManageEDM" and also regardless of the status, it should get sent to "ManageRIS"

7
0 923
Question Jimmy Christian · May 31, 2019

Hello all,

I have a Recordset object  which contains data from a table "XYZ". 

Currently i use this object to extract data using  %Get(COL1,COL2...) in a loop and than pass it to a function which inserts the data into another dynamically created  Table "ABC"  for each record. This takes a lot of time when 100's of records.

Is there a way i can directly copy a RecordSet to a dynamic table without looping through..?

Something like copy Recordset (COL1,COL2..)--> "ABC"

Thanks,

Jimmy

6
0 1004
Question Thembelani Mlalazi · Jun 3, 2019

Say I have a property in  a persistent class that stores list of colours and I would like to query that field and return  a list and be able to loop that list to get individual colours how will l go about achieving this I have tried something like this but its not working as expected

 &sql(SELECT colour INTO :colourList FROM favouritecolours)
 While (SQLCODE = 0) 
{
 for i=1:1:$LENGTH($P(colourList,","))
 {
 set fvalue=$P(colourList,",",i) 
write "the first"_fvalue,i, 
} 
}

 

the query returns colours but its just a string no delimiter eg;

green red blue

 

I have tried with

1
0 590
Announcement Anastasia Dyubaylo · Jun 1, 2019
Hi Community! Here is a digest of the Developer Community postings in May 2019. 
Most viewed




















0
0 241
Question Muhammad Awan · Apr 5, 2019

Greetings,

Is there any default exception handling feature available in Zen report? I am working on a report that comprises of several different composites report (%ZEN.Report.Display.composite). I am incorporating several composites into the main Zen report, If any composite fails or encounters an issue such as issue with the sql statement or class method which i am using to fetch the data, the report (pdf) fails and shows a Zen error. It is very hard to find an exact composite or code that causes the error as Zen report displaying a generic Zen Error without any details.

3
0 707
Question Krishnamuthu Venkatachalam · May 30, 2019

Hi All,

I have a REST dispatcher class in which I enabled the Parameter HandleCorsRequest = 1;

I can able to access the API using Postman, but not with my web application. It throws the below error.

Access to XMLHttpRequest at 'https://ec2-10-200-XXX-X.com/REST/MRM/get/Message?MessageCode=ERR0006&L…' from origin 'https://ec2-80-106-XX-XXX..com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

2
0 1867
Announcement Benjamin De Boe · May 30, 2019

Hi,

While we're working on a new data product supporting the analytics development process, we'd like to test some of the UX (User eXperience) design elements on a real audience. If you've got some battle scars from earlier analytics work and are interested in participating, please complete this survey and we'll get in touch when we have something to show!

Feel free to share this survey with your data-savvy friends and colleagues if you think they match the profile.

Thanks in advance for your participation!

0
0 289
Article Robert Cemper · May 30, 2019 2m read

Running a Background Job using the JOB command is a well-known feature.
Using ECP to distribute databases to several servers is also well-known.
But using the combination of both to run a process on a different server
seems to be a rare case.

Sure there are enough other ways to start a remote job, but the special
combination with ECP where the application server starts a process on a
data server without additional networking is worth to be remembered.

0
1 761
Question Eduard Lebedyuk · May 29, 2019

How do I send request on production start?

Here's what I got so far in my production class:

ClassMethod OnStart(pTimeStarted As %String) As %Status
{
    job ..InitialTraining()
    quit 1
}

lassMethod InitialTraining() As %Status
{
    hang 5
    set sc = ##class(EnsLib.Testing.Service).SendTestRequest(...)
    quit sc
}

Is there a better way without hang, etc?

1
0 420
Question Robert Foster · May 27, 2019

Hi all, 

I am trying to create multiple tasks all in a single task. 

For instance MyApp has three tasks.

One to send a email if a limit is exceeded = MyApp-check-credits

One to purge files = MyApp-purge

One to auto delete files = MyApp-Del 

I would love to get all tasks MyApp-check-credits, MyApp-purge, MyApp-Del into a single parent task called MyApp-AllTasks.

Is there anyone that could give me guidance of how to complete this it would be much appreciated. 

3
0 437