#Caché

30 Followers · 4.5K Posts

  

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

Documentation.

Question Jenna Makin · Sep 30, 2017

hi-

Can someone give me an example of how to JOB a class method that requires an array of values to be passed to it by reference.  

This is what I tried, but am getting compile errors because of the .params

job ##class(%SYSTEM.OBJ.FM2Class).All(.params)::5

Any thoughts on how to accomplish this, the simplest way.  I would like to avoid writing all of this to some global and having to write some wrapper to pick it up and then call the class method, which I certainly could do.  but is this the only way to do it?

9
1 1702
Question Jochen Roese · Aug 27, 2019

Hi,

somehow my installation on win10 canceled during finish. "Installation of Caché finished" showed up for 20 minutes and canceled with an error I didn't saved.

Every file and service was installed but never registered as successfull installation. Now I try to reinstall it but the installer shows me everytime "Another installation is already in progress. Please finish the second installation first".

The unfinished installation is broken. I can't startup Caché from launcher.

9
0 1199
Question Eriks Tauckels · Jul 3, 2020

Running cache 5.0.21 64 bit on Windows server 2016 in virtual environment. Trying to understand why every single process disk read speed (simple sql data walks) caps  around ~20MB/s, however 2 paralell such tasks on different data areas can reach 19MB/s each, four - 17MB/s each, that is 70MB/s total, etc. Also simple copy file to nul on that system reach ~400MB/s.

What can keep single query on idle system from reaching for example 200MB/s? Virtualization? Windows? Cache? Processors are below 1-3%

4
0 517
Question Rubens Silva · Jul 7, 2020

Hello.
We're trying to create a script that compiles everything on a certain namespace, for that we are depending on CompileAll. However it seems that this method doesn't check for a dependency tree even when using flags like: curb.


Due to its apparent alphabetical nature, classes that come first but depend upon classes that come later fail to compile because their object still doesn't exists. Example:
Suppose we have to compile a class in which its name starts with A and it has a Parameter which contains an expression that calls for B.

6
0 381
Discussion Javier Llobet · Jul 8, 2020

I was trying the %JSON.Adapter backport to cache and try it also in IRIS and i found a kind of an issue regarding to export and object to json that is an inheritance of %ListOfObjects
If we have a list of elementtype of and object and then we try to export this to a json we get this json instead of a correct json.

exported json:

{
  "ElementType":"test.element",
  "Size":"1"
}

Json that we want:

[
  {
    "field1":"testField1",
    "field2":"testField2"
  }
]

Test classes:

Class test.elementList Extends (%ListOfObjects, %ZJSON.Adaptor)
{ 
 /// The type (class name) of the elements stored in the collection.
3
0 810
Question Gary Holt · Jul 6, 2020

Hi, we are in the process of looking to refresh our ensemble/cache environments. Currently we are using windows iis web servers with aix database servers, has any one compared cache running under windows,linux or aix ?

5
0 527
Question Peter Geerts · Jul 4, 2020

Forgive my possible intrusion.  

I am not currently involved (yet) in any Intersystems deployment and/or development.
However I was triggered by an piece of (Intersystems) documentation residing under the Intersystems website discussing options  regarding 
Using MTOM for Attachments.  (https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?…
)
I this article there is the following sentence: 

By default, a Caché web service behaves as follows:

  • If it receives a request in an MTOM package, the web service sends the response as an MTOM package.
2
0 394
Question Yone Moreno · Jul 7, 2020

Hello,

We wonder how could we get the following attribute:

Which is found in the response Header being sent from a Operation to a Process, when there is an exeptionWwe would need to access the Response ErrorStatus text in the Process

We have already tried:

$$$LOGINFO("..%Process.%PrimaryRequestHeader.ErrorStatus: "_..%Process.%PrimaryRequestHeader.ErrorStatus) //It shows "1"

$$$LOGINFO("$System.Status.GetErrorText(..%Process.%PrimaryRequestHeader.ErrorStatus): "_$System.Status.GetErrorText(..%Process.%PrimaryRequestHeader.ErrorStatus))  //It shows an empty string
1
0 244
Question Mathew Lambert · Jun 23, 2020

I know that 1-1 relationships are not officialy supported by intersystems cache/iris so I want to know the best way to store data with this kind of data model.

Currently I have two classes that where implemented some time ago:

Table A with a relationship type one on table B

Table B with a relationship type one on table A

To compile I have a double compile with qualifyer U.

What is the best way to implement a data model with 1-1 relationships?

Thank you

6
0 745
Question Anthony Harrison · Jul 5, 2020

Hi, how do I add the POST body content to my Net.HttpRequest (It's not a key value pair, I am posting my own JSON to the remote server because it needs JSON in the body):

                set httpRequest=##class(%Net.HttpRequest).%New()

                set httpRequest.Https=1
                set httpRequest.Server="redacted.azurewebsites.net"
                set AbsolutePath="/api/redacted"
                set QueryString="?operation=redacted&id=redacted"
                 set status=httpRequest.Post(AbsolutePath_QueryString)
But how to add the Body to the request?
7
0 3425
Question Paul Coviello · Jun 22, 2020

Hi  I'm trying to setup STUNNEL between my pc and the cache database on the server,  I'm trying to define port 1972 on my pc with out any luck.

has anyone done this?

thanks 

Paul

11
0 568
Question Mark O'Reilly · Jun 26, 2020

We have code with the line 

Set archiveFilePath=##class(Ens.Director).GetItemSettingValue("ReadPDFFileService","Adapter","ArchivePath",.status)

When we have this archivePath set as a System Default setting rather than Production definition setting i.e. shows in blue rather than black in the restore default screen it doesn't get the setting value. We want to get this value nomatter what way it is set. 

Running 2016 Healthshare

5
0 513
Article Peter Steiwer · Jun 26, 2020 1m read

Now available on Open Exchange is a library of third party charts available to use within DeepSee/InterSystems IRIS BI dashboards. To start, simply download and install, select the new portlet as the widget type, then select the chart type that you desire. If you don't find the type of chart you are looking for, you can easily extend the portlet to implement your desired chart type. These new chart types can be used within existing dashboards or you can create new dashboards using them.

0
0 1201
Question Raymond Shadow · Jun 24, 2020

How do I compile a file through the command line?

I am generating a very basic csp page in a bash shell, it is generating fine and displays what I want to see as long as I go into studio and compile it .  This defeats my purpose of having the page and I am having no luck figuring out what I am doing wrong.  I think the issue has to do with the file not being included when I compile from command line.

Ver is 2017 running  RHEL 7

From command line I see

TST 3f2>DO $SYSTEM.OBJ.Compile("csp.vvmaccessnewrds","h")

Compilation started on 06/24/2020 09:47:26 with qualifiers 'h'
Compiling class csp.

3
0 777
Question Daniel McGowan · Jun 24, 2020

just wondered if there was a way to pass functions for execution to another function so that events can occur before and after?

like :

d ..MethodA(
   ..Method1("var"),
   ..Method2(0),
   ...
)

edit: 

I managed to get it working with execute but is there a cleaner (easier way)?

ClassMethod WriteSegment(Functions. As %String) As %Status
{
     w "Start",!
     f Fn=1:1:Functions {
          x Functions(Fn)
     }
     w "End",!
     Q $$$OK
}

ClassMethod WriteSomething(Arg As %String) As %Status
{
     w Arg,!
16
0 746
Question Arnold Cota · May 26, 2020

I am trying to set a varaible/property within JavaScript and use the value in my method.  The alert method below returns "0".  Do I have the syntax wrong?

/// Storage for current table row

Property currentTableRow As %ZEN.Datatype.string [ InitialExpression = 0 ];

set ..currentTableRow = "1"

&js<

    alert(zenPage.currentTableRow);
>

8
0 483
Question Mark O'Reilly · Jun 23, 2020

Hi:

We added a column to a table as follows 

Property SentTime As Ens.DataType.UTC;

And the code to populate this

if pStatus = "SENT" //set SentTime which is used in the Tableau Report
{
Set doc.SentTime = $$$timeUTC
}

For Historical records of type "Rejected" the Sent time is appearing though as 1840-12-31 00:00:00, we don't know why. Current docs work fine with this column just historical seems to display the default instead of blank/null. 

6
0 296
Question Flávio Lúcio Naves Júnior · Oct 28, 2019

Hello,

I am having a problem with SQL Select, the command in portal is OK, show all items, but when I use a CacheDataAdapter in VB .NET show the message 'Incorrect list format 0>=0'.  What could be this message? Because is the same SQL command.

Best Regards.

8
0 841
Question Michael Fimbres · Jun 18, 2020

Running Cache 2017.2.2.

I'm trying to make a REST API call in JSON format. When using the example in the class reference documentation the getJSON method in the %Net.Http class throws the error  <METHOD DOES NOT EXIST> on a %Clone() method in the %LIbrary.DynamicObject class. I even changed the parameter to a JSON string to no avail. The  code will then fail on the %Compose method (examples below). My workaround is to use the %Net.HttpRequest functionality. Is there another workaround to this?

Example As Is:

USER>set continents = ##class(%Net.Http).

2
0 345
Question Thomas Schroyen · Jun 17, 2020

Hello everyone,

In the purpose of my work, I have to implement a code that will communicate with a restful server coded in JAVA.

To fulfill my task, they gave me the link to the restful server + a certificate to use + the class that's going to be sent back +  the names of 2 functions:

Acces: https://XXX:8443/

First fonction: https://XXX:8443/patient/IdOfPatient

Second fonction: https://XXX:8443/patient/search/nameOfFunction?ndoss=Number

Object that returned:

{

"id" = ...

1
0 398