Article Alexey Maslov · Nov 23, 2017 12m read

It's well-known that namespace global mapping helps us to write code independent on database storage details (Caché instance name, directory path). But sometimes we can face problems accessing an unsubscripted global which has subscript level mapping (SLM) defined. Most of such cases are evident and associated with administrative tasks that should be done on database level, but some of them can confuse even an experienced developer. Just to start:

  • We can't export such a global using Caché Block format (a.k.a. GOF).
  • We can't kill such a global.

Maybe you can continue this list.

Each of these

8
0 1495
Article Mark Bolinsky · Oct 12, 2018 31m read

Google Cloud Platform (GCP) provides a feature rich environment for Infrastructure-as-a-Service (IaaS) as a cloud offering fully capable of supporting all of InterSystems products including the latest InterSystems IRIS Data Platform. Care must be taken, as with any platform or deployment model, to ensure all aspects of an environment are considered such as performance, availability, operations, and management procedures.  Specifics of each of those areas will be covered in this article.

0
3 4692
InterSystems Official RB Omo · Oct 12, 2018

October 12, 2018 – Advisory: VMWare vSphere and Data Integrity

Clients running vSphere 5.5 or later should review a very important article that VMware published on October 9, 2018.  The article describes the possibility of file system and database corruption, which can lead to outages and possible data loss.  We have confirmed that this has caused data integrity problems for InterSystems clients. Therefore, we encourage you to act on this as soon as possible.

The VMWare knowledge base article is titled:

Virtual Machines running on an SEsparse snaposhot may report guest data inconsistencies

0
0 419
Question Timothy Rea · Oct 12, 2018

Hello,

I'm wondering what the path is to learning healthshare & ensemble?   I've looked on the learning page and its minimally helpful.   I've found that as a long time mumps programmer that new jobs are requiring this.  I've just been using mumps to assist with epic emr.   Everything I'm seeing is either VistA or Healthshare.  Does someone know where do I go to learn these apps?  Seems like a catch 22.  You need to know these prior to getting a job but you can't get a job where you can learn them.    Frustrating.

4
0 680
InterSystems Official RB Omo · Oct 12, 2018

October 12, 2018 – Alert: Ordering of XML Sibling Elements

InterSystems has corrected a defect that can cause a reordering of sibling elements in an XML document. This issue is limited to sibling elements that are represented in the database as objects in a relationship.

This problem exists on all platforms for the following products:

  • InterSystems IRIS Data Platform 2018.1.0 and above
  • InterSystems IRIS for Health 2018.1.2
  • Caché and Ensemble 2017.2.0 and above
  • Health Connect/HSAP based on Caché/Ensemble 2017.2.0 and above

Note: HealthShare functionality has been reviewed and is not impacted by this

2
0 490
Question David Foard · Sep 7, 2018

Is there any out of the box capability in Ensmeble to remove an FHS segment from a batch file? We have a client that is creating a batch of HL7 messages and they insert an FHS but there is no trailing FTS.

We are hoping to avoid custom COS code to handle this scenario.

2
1 483
Question Udo Guengerich · Sep 26, 2018

Upgrade of custom application

Dear community,

we are a company located in central Germany working with Intersystems Caché since 2003 (Jesus, that's actually a long time in IT).

As we struggle to keep pace with outside development we still operate on Caché 2013.1 surprise

We are, of course, aware that we need to upgrade Caché and therefor plan an upgrade to 2017.2.

Now my question to you bold ObjectScript warriors:

  • Did anyone do this with a legacy application (still have macro routines, the old style)?
  • Has anyone experienced any bigger issues with a move like this?
  • Are there existing checklists apart
4
0 488
Question Lou Pizza · Oct 11, 2018

Hi,

I am trying to have the output of a field in sql have double quotes around them. The script is in Studio and I am accessing It through a task.

I have tried """"tect"""" and others...Please help

Aloha

Lou

4
0 1171
Question Ravi Nagpal · Oct 10, 2018

Hi, 

Can we create a new class in the studio using any command rather then using the Menu Item Option from Menu Bar in Studio . 

Requirement : Create/Draft a new class and able to extends the other classes using  a command in Cache Class .

In other words , I want to Dig in the Menu Item class from which Menu bar is created in studio and option are provided  Like New..., Open..., etc 

Thanks, 

Ravi 

1
0 306
Question Laura Cavanaugh · Oct 3, 2018

I'm running this code in our application, and in the terminal:

>set query="SELECT * FROM PMG_Data_Private.RemitInstance  WHERE  (VoucherNumber %INLIST ? SIZE ((10)))"

>set tRS = ##class(%ResultSet).%New("%DynamicQuery:SQL")

>set ok=tRS.Prepare(query)

>d $system.Status.DisplayError(ok)
 
ERROR #5540: SQLCODE: -76 Message: Cardinality mismatch between the SELECT-list and INTO-list
SQLTEXT: SELECT * FROM PMG_Data_Private.RemitInstance  WHERE  (VoucherNumber %INLIST ? SIZE ((10)))

It's not really a problem with the query, since there's no INTO keyword int he query, and I'm not getting it on QA or a

5
0 1797
Question Mauri Kaatrasalo · Oct 10, 2018

Hi!

We would like to retry message so that it's restored to end of operation's queue. This is in situation where order of messages is not needed to be handled by Ensemble, there is version number in message data and receiving application can ignore incoming message if necessary.

We would try to send message until it's accepted (or manually suspended), but this should not block operation's queue.

We have already this in actions:

D - Disable the Operation, log an error and restore the message to the front of the Operation's queue.

Would be nice to have one like this:

Q - Disable the Operation, log an

1
0 1006
Question sansa stark · Oct 9, 2018

Hi all,By using LDAP cache method ##Class(%SYS.LDAP).GetValuesLen(LD,CurrentEntry,Attribute) we get the list of attributes but in "ObjectSid" attribute have the SID in binary format(objectSid^U¤:c@ãºþÕLCP]). how to convert to the readable format from the binary format in cache side. Please help us to proceed further

3
0 473
Question Tom Philippi · Aug 22, 2017

I have been building Business Processes in Ensemble for a few months and in a process i'd use a combination of data from the request that started the process and context variables that where filled by earlier calls in the process as input for a data transformation. I do not know how to achieve that.

What I do currently is that in my process I first call a data transformation and then make a call to an operation.

6
0 1623
Article Gevorg Arutiunian · Oct 8, 2018 2m read

This code snippet provides a ZEN page that downloads a stream from its database directly:


/// We assume that you have stored your data within this schema:
/// MyApp.Model.Storage: Filename,FileSize,Content,ContentType
Class zen.downloadStream Extends (%ZEN.Component.page,%CSP.StreamServer)
{
/// Wrapper to get the id of the download, we assume that the id is passed to this zen page
/// as a URI parameter, i.e.: MyApp.Downloads.cls?OID=1234
ClassMethod GetId()
{
    Quit $Get(%request.Data("OID",1))
}
 
/// Set the appropriate header for the file.
ClassMethod OnPreHTTP() As %Boolean
{
    Set tId = ..GetId()
 
    If ##Class(MyApp.Model.Storage).%ExistsId(tId) {
        Set tStream = ##Class(MyApp.Model.Storage).%OpenId(tId)
        // You could "guess" the content type by its file extension
        // or you can store it (before) in the database separately (like in this example).
        // Set Extension = $Piece(tStream.Filename,".",$Length(tStream.Filename,"."))
        // Set ContentType = ..FileClassify(Extension)
 
        Set %response.ContentType = tStream.ContentType
        Do %response.SetHeader("content-disposition","attachment; filename="_tStream.Filename)
        Do %response.SetHeader("Content-Length",tStream.FileSize)
    }
    Else {
        Set %response.Status="404 File Not Found"
        Quit 0
    }
    Quit $$$OK
}
 
ClassMethod OnPage() As %Status
{
    Set Download = ##Class(MyApp.Model.Storage).%OpenId(..GetId())
    Do Download.Content.OutputToDevice()
    Quit $$$OK
}

}

Link to code on GitHub

1
2 672
Announcement Evgeny Shvarov · Oct 5, 2018

Hi, Community!

Just came back from Global Summit 2018 and want to share my impressions.

Key highlights of my choice:

1. The announcement of a new InterSystem Data Platform: InterSystems IRIS for Health!

2. Community and Express licensing for InterSystems IRIS 

3. The Launch of InterSystems Open Exchange - the gallery of InterSystems Solutions, Tools, Technology examples, Adapters, and Interfaces! E.g. test coverage tool and Ethereum Blockchain Adapter

4
0 791
Question Tuan Minh Do · Oct 4, 2018

Hello,

I am a beginner with Object Script and I hope anyone can help me solving my questions.

1. Is there a way to time a loop in Object Script? 

2. My code leads to the following error, even though it executes the method.

Is there a way to ignore this specific error, so that I can repeat my code in a time loop over and over again without stopping? 

<<THROW>%CreateProperty+85^%DocDB.Database.1 *%Exception.StatusException FEHLER #5805: Der ID-Schlüssel ist nicht eindeutig im Extent '%Dictionary.PropertyDefinition' : '^oddDEF("db.stream","a","Datum")' ist bereits vorhanden.

3
1 1068
Article Niyaz Khafizov · Oct 8, 2018 16m read

Hi all. We are going to find duplicates in a dataset using Apache Spark Machine Learning algorithms.

Note: I have done the following on Ubuntu 18.04, Python 3.6.5, Zeppelin 0.8.0, Spark 2.1.1

Introduction

In previous articles we have done the following:

In this series of articles, we explore Machine Learning and record linkage.

Imagine that we merged databases of neighboring

0
1 774
Question Jagadeesha Krishnamurthy · Oct 3, 2018

Hi 

Anyone worked on "ccontrol  list " command execution through Cache Object Scripting.

I executed through  bat file passing this ../bin ccontrol  list  . Icould not get the results through COS  but executed in command prompt 

it pops up with notepad and list down Cache instances.

Need help here to address the same stuff through cache object scripting.

3
0 887
Question Duc Anh Tran · Oct 4, 2018

Hello everyone,

i want to create an iris document database with Atelier with some properties, where i can import my JSON formatted data from an API to the database which i created. Right now i know how to import my local JSON formatted data to my created database:

ClassUser.Classtest

{

ClassMethodgetFile()as%Status

{

               setfilename="/home/student/Downloads/own_scrobble.json"

               IF$SYSTEM.DocDB.Exists("db.Streamingdatabase"){

                              SETdb=##class(%DocDB.Database).%GetDatabase("db.Streamingdatabase")

                              }

8
0 936
Announcement Stefan Cronje · Oct 7, 2018

Hi,

This is available on github and wairing for approval on the Open Exchange.

It  allows you to

  • "Serialize" any class instance that extends from the adapter to a DynamicObject.
  • "Deserialize" a DynamicObject to a class instance that extends the adapter.
  • References to other classes can be followed recursively and serialized.
  • Arrays and lists of Serial objects and DataTypes are handled for serialization en deserialization
  • Arrays and lists of Persistent objects can be serialized in full, on the deserialization it can't create referenced objects, but an array or list of ID values can be provided and it
0
1 396