#Caché

30 Followers · 4.5K Posts

  

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

Documentation.

InterSystems Official Jeff Fried · May 18, 2020

Caché  2018.1.4 and Ensemble 2018.1.4 maintenance releases are now available.   

Full product installation kits can be downloaded from the WRC Software Distribution site.

 

This is a maintenance release with many updates across a wide variety of areas.

For information about the corrections in this release, refer to the Release Changes list and the  Release Notes and Upgrade Checklist.  The documentation for Caché and Ensemble includes these as well as the Supported Platforms document, the Class Reference, and a full set of guides, references, tutorials, and articles.

 

The build number for this

2
0 722
Question Virat Sharma · Oct 18, 2020

Hi,

I am stuck with simple logic. I have a below string 

set a="<Name>ABC</Name><RollNo>45</RollNo><Name>XYZ</Name><RollNo>66</RollNo><Name>xyz</Name><RollNo>89</RollNo>"

I need logic to replace the values of roll no with "***". Is there any single command which can help in this scanerio.

I need to store this value in database after replace.

Thanks

6
0 608
Question Mikhail Khomenko · Oct 30, 2016

Good day! Is there an opportunity to debug the ISCAgent behaviour (in Linux)? ISCAgent uses /etc/iscagent/iscagent.conf as configuration file, but in docs I've found a description only for two parameters (port number and interface - http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GHA_mirror#GHA_mirror_set_agent). Other parameters I can see by running /usr/local/etc/cachesys/ISCAgentCtrl status:

application_server.interface_address=*
application_server.port=2188
daemonized=yes
mirroring=on
pid=41850
running=yes
version=2015.2.0.664.3

And in /var/log there is a file

8
0 3096
Question Mohamed Haneeq · Sep 10, 2020

Hello there community, 

I am pleased to say that i have started building a product and I have chosen InterSystems technology to be used in it. 

But I have a confusion with regard to it. 

I actually have to come to a conclusion to whether to use CACHE or IRIS. 

I will be using a lot of data and also integrating it along with Python for DEEP and Machine Learning. 

Also I do not have an idea of how to get the licensed version of either of that. 

I would like to get hold of this and also would like to try out the free version of either Data Bases before moving on to large scale production. 

So please

3
1 331
Question Pavithra Rajamohan · Oct 2, 2020

Hi all,

I need some advice about JSON conversions and the outputs. I am being sent a JSON response from an API call and I am struggling to produce an output that I can use from it.

I have used the %FromJSON() method call to take the JSON stream source (pData) and convert it to a Dynamic object (object) but I am a little unsure as to how I can read the dynamic object and use it to extract the values from this and set the values as a property in another class.

The current coding I have for the conversion:

set object = ##class(%DynamicAbstractObject).%FromJSON(pData)

$$$TRACE("object:"_object)

set j

21
1 1195
Question Fanny Van · May 16, 2018

Hey everyone, 

Here's my issue, I would like to develop a web application which use and send datas to TrakCare app, but I really don't know how to communicate with TrakCare's datas. 

With a little research, I think I could use "RESTForms" or "EnsembleWorkFlow" but I don't really get how...
Can somebody help me and tell me the way forward ?

3
0 683
Article Michael Smart · Oct 7, 2016 4m read

One useful feature of our REST framework is the ability for a dispatch class to identify request prefixes and forward them to another dispatch class. This approach of modularizing your URL map will improve code readability, enable you to easily maintain separate versions of an interface, and provide a means to protect API calls that only certain users will be allowed to access.

Overview

To set up a REST Service on your Caché instance, you need to define a dedicated CSP application and create the associated dispatch class that handles incoming requests.

1
0 3987
Question Pavithra Rajamohan · Oct 13, 2020

Hello,

I am trying to create a HL7 message (REF_I12 message) using variables extracted from a Dynamic Object and need some advice about segment creation issues that I am having. Some background info: I receive a JSON response from an API call and used %FromJSON to convert the response to an Dynamic Object. Some of the items in the response are repeated such as NOKName, NOKrelationship.

Using the methods suggested in this post (https://community.intersystems.com/post/advice-about-json-conversions-and-reading-outputs-dynamic-objects), I have been able to extract the values from the response and

3
0 896
Article Jin Kim · Oct 15, 2020 5m read

Hello Developers!

Previously, I shared with you all a handy operational analytics dashboard you can build to visualize key message processing metrics, such as number of inbound/outbound messages, average processing times, etc.

This time around, I’d like to walk you through an enhanced log monitor using a workflow many of you are already familiar with – working with alerts as messages inside a production, creating routing rules to filter and route alerts, and using pre-built components like the email adapter to send notifications at a granular level.

As you already know, monitoring and

0
1 714
Question Davidson Espindola · Mar 3, 2017

Hi, all

I have the following problem in generating a PDF report in ZEN, which has many items, a general total of approximately 30,000 items, but gives an error, I can generate a report with a maximum of 8,000 items, which may be wrong.

4
0 1679
Question Nora Hutchison · Oct 14, 2020

–  I want to “copy” a file to another, appending if the file already exists. The below code works, except it overwrites the new file, rather than append.  The documentation says CopyFile will append

//Both files exists, so we can combine them
                               
                 set tsc=##class(%File).CopyFile("D:\Files\Out\Vigilanz\AD_Lawson10132020.txt","D:\Files\Out\Vigilanz\employee10132020.txt"
                                if $$$ISOK(tsc)
                                {
                                !, "SQL file copied"
                                }
                    

2
0 710
Question Scott Roth · Oct 9, 2020

I noticed when creating Record Map's within Ensemble that it is creating a Persistent cache table as it translates the file and puts it into the Record Map data structure.

I was wondering if there was a way to add a column to the cache table that is Hidden from the record map, but is a calculated date value on when that record was inserted? 

From time to time I have gotten questions about what was valued in the incoming data stream, and I thought it would be helpful to add a date so I can sort on by which date that record came in on.

Thanks

Scott

Cache for UNIX (IBM AIX for System Power

4
0 330
Question Rodrigo Souza · Oct 8, 2020

Hi everyone, i'm using a render server to make pdf output with zen report and everything was fine till recently i've been getting this error message and i have no idea what it means, i'd be very thankfull if someone could help or got into the same situation.

Error message:

ERROR #5001: net.sf.saxon.trans.XPathException: org.apache.fop.fo.ValidationException: "fo:table-body" is missing child elements. 
Required content model: marker* (table-row+|table-cell+) (See position 817:-1)

This error seems to be "random" if i try to render the same report without changing a single thing it works.

4
0 688
Question Salma Sarwar · Oct 6, 2020

Hi

I would like to create a new message of a particular type and append various segments programmatically.  I have started with the following snippet.  What I am currently finding difficult is to define a segment of a particular segment structure.  I would like to append a pid segment of 2.3.1 to my message.  I know I could you the importfromstring but I wanted to know whether there was a better way of achieving this.

Set tOutputMessage = ##class(EnsLib.HL7.Message).%New()
Set target.DocType="2.3.1:DFT_P03"

#Dim tPID As EnsLib.HL7.Segment

tPID.SegTypeName ="PID"

Any help would be much

2
0 869
Article Henrique Dias · Oct 6, 2020 2m read

What is npm-iris? 

N.P.M stands for "No Project Mess."

N.P.M. is a Project & Task Management app that uses InterSystems IRIS and Bootstrap 4.

No Project Mess is created to help developers and small business companies to reduce complexity in their daily problems, with a simple and intuitive projects and tasks management software. 

It offers different views for your tasks, from a spreadsheet, kanban, calendar, or even Gantt!

0
0 456
Question Norman W. Freeman · Oct 1, 2020

If a global node contains special characters, (eg : a line returns), it will be displayed like this in Portal ("System > Globals > View Global Data" panel) :

^A(1) = "this is"_$c(13,10)_"a test"

I would like to export global data to a txt file using a similar format.

I already wrote the main code (that loops on all nodes and dump them to file), the problem is how to handle special characters.
For the moment I replace them manually one by one. It works, but it's far from perfect :

set text = ...
5
0 2021
Question Yone Moreno · Oct 2, 2020

Hello,

We would need your help:

We are processing a HL7 message.

Its OBX segment has 4318 characters

1) We get the OBX with the following line of code:

set textoCompleto = request.GetValueAt("5:3.2")

 

When we output its length with:

$$$LOGINFO("textoCompleto: "_textoCompleto)

 

It shows:

     $LENGTH(textoCompleto): 3497

 

 - So as we see it is being shortened

2) We get the OBX with the following line of code:

set textoCompleto = $PIECE(request.OutputToString(), "OBX", 2)

 

When we output its length with:

$$$LOGINFO("textoCompleto: "_textoCompleto)

 

It shows:

     $LENGTH(textoCompleto):  4318

 

It displays

1
0 418
Question Lionel Woods · Sep 30, 2020

Trying to extract "x, y", and only the "x" is being extracted because the "," is the separator  

The ":"  is set to extract everything after this 

"Working Example": xyz,

"Not  Working Example": "x,  y",

$EXTRACT($P($P(pData,",",78),":",2),2,$L($P($P(pData,",",78),":",2))-1)

Any ideas on how to extract the whole field on the example with the "," in the field

7
0 664
Question MohanaPriya Vijayan · Oct 1, 2020

Hi Community,

I have a property in a class, properties Initial Expression set to 1 Property Test As %Status [ InitialExpression = "1" ];, while updating the property we have set to 0 through code. If I look the field in Logic Mode its shows 0 but in Display and ODBC mode why it shows, ERROR #00: (no error description). Does this Error cause any problem? What are the reasons for this error #00? Kindly help.

Thanks in advance.

2
1 536
Question Ruslan K · Oct 1, 2020

Hello!

I have installed windows 10 and cache 2018.1.0.184.0

I run terminal not from cache cube but through localDemon.exe (for report outputting from my programs to excel).

All worked fine but after some time error occured "Cannot load supporting modules"  (in attached file) and localDemon.exe is not launching.

But terminal from cache cube is still launching without problems (but from it reports are not working, localDemon.exe is required)

I thought it is windows defender or antivirus put some  localDemon.exe module to quarantine but quarantine is empty.

I thought it is windows firewall and I added

2
0 328
Article Chris Stewart · Apr 17, 2017 4m read

So, one day you're working away at WidgetsDirect, the leading supplier of widget and widget accessories, when your boss asks you to develop the new customer facing portal to allow the client base to access the next generation of Widgets..... and he wants you to use Angular 1.x to read into the department's Caché server.   

There's only one problem:  You've never used Angular, and don't know how to make it talk to Caché.

This guide is going to walk through the process of setting up a full Angular stack which communicates with a Caché backend using JSON over REST.  

Part 1 - Setup

To start fresh,

23
3 5156
Question Gunwant Kapade · Oct 1, 2020

Hi All,

I hope all are good.

I would like to know that whether InterSystems will support LDAPS or not. I have idea about LDAP but not about LDAPS. Please suggest me If anyone has any documents or links.

Thanks and Regards, Gunwant

1
0 337
Question Guilherme Emmerick · Sep 23, 2020

I need to get a file in a directory and when clicking on the download button, this file will be downloaded on the client side.

</head>
<csp:class super="%CSP.Page,Relatorio.GeraCSV">
<body><input type="button" value="Gera Relatório" onClick="#server(..serve())#"></body>

ClassMethod serve() As %Status
{
set name = "C:\Users\gpemm\Desktop\myfile.csv"
    #dim sc As %Status = $$$OK
    #dim %response As %CSP.Response
    kill %request.Data
    set %request.Data("STREAMOID",1)= ##class(%CSP.StreamServer).Encrypt(##class(%CSP.StreamServer).GetOidForFile(name))
    if ##class(%CSP.StreamServer).OnPreHTTP()

2
0 659
Discussion Evgeny Shvarov · Sep 28, 2020

Hi developers!

Want to discuss with you the case of %Status.

If you familiar with ObjectScript you know what is it. I'd love to hear the history of the case why it had appeared in ObjectScript but it turned out that almost every system/library classmethods return %Status and there is a whole set of tools to deal with it.

What is does it gives you the responsibility to check the value or %Status of every system method you call.

E.g. if you save the data of the persistent class,  you should never call like this:

do obj.%Save()

you need to call:

set sc=obj.%Save()

if $$$ISERR(sc) do // something or quit.
19
0 1282
Question Ruslan K · Sep 15, 2020

Hello!

I do some http get request. And this is its response

+----------------- general information ---------------
|      oref value: 5
|      class name: %Net.HttpResponse
| reference count: 3
+----------------- attribute values ------------------
|    ContentBoundary = ""
|        ContentInfo = ""
|      ContentLength = 1220
|        ContentType = "text/json"
|               Data = "6@%Stream.GlobalBinary"
|Headers("ACCEPT-RANGES") = "bytes"
|Headers("CONTENT-ENCODING") = "deflate"
|Headers("CONTENT-LENGTH") = 1220
|Headers("CONTENT-TYPE") = "text/json"
|    Headers("ETAG") = """4BF7C3AB"""
|Headers("LAST-M

5
0 1542
Question Ben Anderson · Sep 23, 2020

I've run into an issue where job IDs are being retained through multiple calls. My team is doing a rewrite of our system that allows VB6 apps and web apps to directly interact with our Cache databases.

The new process has those applications calling into a WebAPI which then calls into the routines.

In one example of the issue we're having, the VB6 app calls into our api which then does the routine call.The Cache routine I'm working with has a load linetag that loads data into a temporary global called ^SORT($J).Upon completion, the process returns back through the api and the VB6 app.

2
0 290