#Caché

30 Followers · 4.5K Posts

  

InterSystems Caché is a multi-model DBMS and application server. See more details here.

Documentation.

Question MohanaPriya Vijayan · Jun 9, 2020

I want to receive an EDI file through Applicability Statement 2(AS2) transport and send back the acknowledgement to AS2 using Cache ObjectScript.

Previously I used to transfers the EDI files using FTP.

Can anyone please help on this.

Thanks in advance.

3
0 504
Question Viroj (Pat) Padyandorn · Jun 9, 2020

I have a table with 4 column: MRN (primary key), Name, DOB, and Gender. I want to bring in the values on all of the columns into a DTL. Currently, I declare variables for each of the columns and using 3 select statements.

  &sql(SELECT Name INTO :Name FROM osuwmc_RQGPatient.DataTable WHERE MRN=:MRN)

  &sql(SELECT DOB INTO :DOB FROM osuwmc_RQGPatient.DataTable WHERE MRN=:MRN)

  &sql(SELECT Gender INTO :Gender FROM osuwmc_RQGPatient.DataTable WHERE MRN=:MRN)

Is there a way to do this in a single select statement?

4
0 333
Article Bernd Mueller · Jan 30, 2018 13m read

Some time ago I got a WRC case transferred where a customer asks for the availability of a raw DEFLATE compression/decompression function built-in Caché.

When we talk about DEFLATE we need to talk about Zlib as well, since Zlib is the de-facto standard free compression/decompression library developed in the mid-90s.

Zlib works on particular DEFLATE compression/decompression algorithm and the idea of encapsulation within a wrapper (gzip, zlib, etc.).
https://en.wikipedia.org/wiki/Zlib


In Caché Object Script (COS) we already have GZIP support available in using /GZIP=1 on file- or tcp-devices

6
2 2829
Article Yuri Marx · Jun 8, 2020 3m read

About regulations

Personal data privacy regulations have become an indispensable requirement for projects dealing with personal data. The compliance with these laws is based on 4 principles:

  1. Compliance with the rights of the holder of personal data;
  2. Governance of personal data assets;
  3. Privacy by Design and by Default;
  4. Data protection.

In case of violation in the treatment of personal data, controllers and operators of these data may suffer:

  1. Fines of up to 4% of revenue or up to €20 million;
  2. Shutdown of the digital service until the problem is corrected;
  3. Publicity of the inci
0
2 469
Article Peter Cooper · Mar 18, 2018 1m read

Hi All
This is the index to a series of articles I hope to create over the coming months.

ZEN and ZEN Mojo are no longer being actively developed by Intesystems - this is a great shame as it is a fine product that works so well for business applications.
However ZEN is a 15 year old product and I need a path forward to replace the ZEN UI with a supported development framework.

This article is an index of the other articles I have, or plan to write. - the articles will be subject to change as I develop my thoughts and climb the learning curve.

5
1 1353
Question Daniel Sanches · Jun 28, 2019

I'm trying to sign an xml but this is showing an Id attribute in the Signature tag and the xmlns attribute is not appearing.

This is the xml generated:

<Signature Id="Id-80170FF0-0678-47D5-8C8B-771AA4E334E6">
            <SignedInfo>
                <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
                <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
                <Reference URI="#ID2102103519037442275900010755000000003309115569507501">
                    <Transforms>
                        <Transform Algorith
7
1 715
Question Arto Alatalo · Apr 29, 2020

Hi Community! I need your advice.

The method below is 6 times slower on production server than on developing machine:

ClassMethod runme4()
{
    s cnt=615210
    s st=$zh
    for i=1:1:cnt {
        s p=##class(digi.packet).%OpenId("packet||5237")
        w:p="" "not found",!
        k p
    }
    w $zh-st,!
}

BUT the server is 6 times faster if OpenId replaced with simple read of a large global (s p=^someLargeGlobal). Any ideas what makes OpenId so slow only on the server?

And another question: I wanted to profile the code with %Monitor.System.LineByLine but it gives me stati

27
0 1234
Question Đặng Phú Lộc · May 28, 2020

Hi everyone,

I have an existing application on HealthShare 2015 and decide to move it to HealthShare 2018 to make use of Atelier support. I am using Eclipse Photon with Atelier Plugin 1.3.

Most of things are working better on Atelier comparing with Built-in studio of HealthShare. However, when I tried debugging CSP file with Atelier I encounter 2 problems:

1. 

From a CSP file, I can open the generated *.INT file without any problem. But when I open the generated *.cls file it shows me the error:

2. In the built-in HealthShare studio, I can debug a CSP file by viewing other code, put t

1
0 423
Article Sergey Mikhailenko · Jun 2, 2020 8m read

When you first start working with InterSystems IRIS, it’s a common practice to install a system with only a minimum level of security. You have to enter passwords fewer times and this makes it easier to work with development services and web applications when you're first getting acquainted. And, sometimes, minimal security is more convenient for deploying a developed project or solution. And yet there comes a moment when you need to move your project out of development, into an Internet environment that’s very likely hostile, and it needs to be tested with the maximum security settings (that is, completely locked down) before being deployed to production. And that’s what we’ll discuss in this article. For more complete coverage of DBMS security issues in InterSystems Caché, Ensemble, and IRIS, you may want to read my other article, Recommendations on installing the InterSystems Caché DBMS for a production environment. The security system in InterSystems IRIS is based on the concept of applying different security settings for different categories: users, roles, services, resources, privileges, and applications. Users can be assigned roles. Users and roles can have privileges on resources — databases, services, and applications — with varying read, write, and use rights. Users and roles can also have SQL privileges on the SQL tables located in databases.

2
3 1178
Question Kurro Lopez · Jun 12, 2018

Hi all,

I'm wonder what could be the best way convert the sentence "Switch" C# into Cache code.

int caseSwitch = 1;

switch (caseSwitch)
{
    case 1:
    Console.WriteLine("Case 1");
    break;

    case 2:
    Console.WriteLine("Case 2");
    break;

    default:
    Console.WriteLine("Default case");
    break;

}

My first attempt was:

set caseSwith = 1

if (caseSwith = 1)
{
   w "Case 1"
}
else
{ 
  if (caseSwith = 2) 
  { 
    w "Case 2"
  }
  else
  {
      w "Default case"
  }
}  

Maybe, for complex conditions, it should be the best optio

16
1 3179
Question Dan Pahnke · Jun 2, 2020

Hi,

My attempt to run a node.js command fails at the open command with a "Error loading Cache Library: C:/InterSystems/Cache2018/bin/cache.dll; Error Code 126 (The specified module could not be found.)" result. I can't argue with the error message as the cache.dll file doesn't exist. Apparently I missed an installation step. Could somebody point out what it might be please.

Version: Node.js Adaptor for Cache: Version: 1.1.136a (ABI=48)


Cache for Windows (x86-64) 2018.1.4 (Build 504) Thu May 14 2020 14:31:34 EDT

I'm using cache610.node from InterSystems along with Nodejs.org release v6.10.3

2
0 384
Article Eduard Lebedyuk · Mar 4, 2016 7m read

It was InterSystems hackathon time and our team, consisting of Artem Viznyuk and me had Arduino board (one) and various parts of it (in overabundance). And so like that our course of action was set - like all other Arduino beginners, we decided to build a weather station. But with data persistent storage in Caché and visualization in DeepSee!

8
0 1855
Question Yone Moreno · Jun 1, 2020

Hello,

We are wondering how could we iterate over a segments list,

The use case is that we are sending from Process X to process Y a message, only if at the OBR4 CE1 there is a certain code.  We were getting this field as follows:

set context.studyReason = request.GetValueAt("ORCgrp(1).OBRuniongrp.OBRunion.OBR:UniversalServiceIdentifier.Identifier")

 

How could we iterate over the following message and get both OBR4 CE1 (1 and 2):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ORM_O01>
         

2
0 824
Question Sadagopan Srinivasan · May 31, 2020

Hi Guys,

I am trying to pull data from CacheDB and push into elasticsearch using logstash. In the configuration file i am giving the following. But it is throwing error No Suitable Driver Found for jdbc:Cache://ipaddress:port/namespace. Could anyone please help to resolve this ? I tried both JDK17 and JDK18 but no luck.

My Config file is as follows

input {
    jdbc {
    clean_run => true
    jdbc_driver_library => "C:\InterSystems\Cache\dev\java\lib\JDK17\cache-jdbc-2.0.0.jar"
    jdbc_driver_class => "com.intersys.jdbc.CacheDriver"
    jdbc_connection_string => "jdbc:Cache://Ipaddress:1972/

6
1 996
Question Mahmudul Hasan · May 31, 2020

I am new on Mac. I have tried to install Caché on Mac. The installation completed successfully but it failed to start up. 

It shows following failure message on the terminal:

Starting up Cache...
Once this completes, users may access Cache
Starting SANCHOY
Using 'cache.cpf' configuration file

Starting Control Process
Automatically configuring buffers
Allocated 430MB shared memory: 256MB global buffers, 35MB routine buffers
Creating a WIJ file to hold 99 megabytes of data
chdir failure. errno=13, program /Users/hello/Documents/SanchoyCache/bin//./cache
Call InterSystems Technical S
5
1 714
Article Sean Connelly · Sep 10, 2019 18m read

In this article, we will explore the development of an IRIS client for consuming RESTful API services that have been developed to the OData API standard.

We will be exploring a number of built-in IRIS libraries for making HTTP requests, reading and writing to JSON payloads, and seeing how we can use them in combination to build a generic client adaptor for OData. We will also explore the new JSON adapter for deserializing JSON into persistent objects.

Working with RESTful APIs
REST is a set of engineering principles that were forged from the work on standardizing the world wide web. These princip

3
3 1261
Article alex kosinets · Feb 24, 2020 2m read

In MX any global can be displayed on a sheet in the form of a table.

We will look at the simplest example (work only with  CACHE-2014+ or IRIS)

Upgrade or install  MX.

Start mx.xlsb  and connect to your namespase with vmx-routines.

After opening first sheet, click button  []   ##class(SYS.Stats.Dashboard).Sample()

Then press button [design-mode]   (top of screen ).

You will see something like this in the top four lines:

M-Formulas works in cells in the process of opening this sheet,  step by step :

  • - go to the namespace %SYS    ( zn “%SYS” )
  • - set dashboard=##class(SYS.Stats.Da

5
0 651
Question Colin Parker · May 26, 2020

I am using the Java Binding to connect a Java Middleware Application to Cache.  Originally I was using a CacheListOfDataTypes (JAVATYPE = "java.lang.List") object to bring data back.  I was tasked with encrypting the data using AES and I was using the AESCBCEncrypt function on the List elements (up to 20k characters for each element) to bring it back before concatenating it on the middleware.  This almost worked.  Like 95% of the characters were being decrypted correctly but some text was coming back garbled.  I couldn't understand how this was happening. I tried to adjust things like the stri

3
1 594
Question Vikash Aravindh · May 29, 2020

Hello!  I have basic web services application that c# clients connect to the cache web services.  Using the browser, the user enters in the following url.

http://localhost:57772/csp/user/%25SOAP.WebServiceInvoke.cls?CLS=Sample…

which runs a soap method called Add.   I am not sure how to add https  security to the web service calls.  I have reviewed documentation pertaining configuring SST/TTL configuration and other information.   Can somebody please help me out on what I need to do?   If I change the url  from http to https, the web service class will not work.  The web service c

1
0 1902
Question István Nagy · May 27, 2020

   Hi,

 I've started to use Task Schedule function in Caché. But I have two questions about it:

  1. I want to run the task as an indepedent, technical user. What is the minimum resources for this user to successfully run the defined task.
  2. I disabled the built in user _SYSTEM, as the Tightening Security for an Instance article suggest. But I see that built in task run in the name of _SYSTEM user. For example Switch Journal. How can this work, if the user disabled? Should I use another user for this tasks?

Thanks!

4
0 342
Question Daniel McGowan · Mar 13, 2020

Hi All, 

So after finally getting cache to install (by enabling root user and disabling the gatekeeper) it tells me that it has started with one alert... that is "Private web server has not started after 5 seconds." - urgh!

Obviously i need access to the management portal to continue setup, I've done lots of googling but i cant find anything on this, does anyone have any ideas?

Many thanks, 

Dan

10
0 678
Question Daniel Lee · May 26, 2020

I have a class method that accepts a global parameter but when I attempt to order this global, the global name is listed as undefined. I can execute $DATA(pGlobalName) successfully.

ClassMethod ExamineGlobal(pGlobalName As %Global)
 {
   set gStatus=$DATA(pGlobalName) ; returns 1 
    write "This is the global name: "_pGlobalName
   set gmin=$ORDER(pGlobalName("")) ; here pGlobalName is undefined
 }

In debug mode, data returns 1 for a valid global with no descendants. This is expected.

However, when I call $ORDER, it shows <UNDEFINED> for pGlobalName. My guess is that ORDER is opera

3
0 389