#Caché

30 Followers · 4.5K Posts

  

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

Documentation.

Question David Sterngast · Jun 20, 2018

When I down load a file using a csp page, the application  shows  the percentage as  37 %, 74 %, and 100 %.    I am trying to make changes to the application that it shows one percentage after each read.  The first time it reads, it would display 37%.   The next run would replace

37 %  with 74 % and so on until it completes its download.   I have tried adding javascript code to the application  however it doesn't work.   For example when I enter &js('alert');, the application displays it value on the screen.  Also, I tryed putting it between two scripts tags and it doesn't work.

I can use html

4
0 1410
Question Nicky Zhu · Jun 22, 2018

Hi folks,

One of my clients want to project a null property of a cache object to an empty XML element. Say, if we have a class:


Class Diabetes.BS.Message.LabReportMessage Extends Ens.Request
{

Property Report As %String;

Property IsRisky As %Boolean;

Property RiskValue As %String ;

}


If the instance of this class has a null RiskValue, after projection, they want the XML as following:

<LabReportMessage>
                <Report>Somestring</Report>
                <IsRisky>1</IsRisky>
                <RiskValue/>
 </LabReportMessage>

Is there any way we can do it? Thanks.

1
0 979
Question Larry Faraci · Jun 18, 2018

I have a CACHE.DAT file that is working under CACHE version 2015.1.0.429.0

I have a second machine with CACHE version 2017.2.0.741.0

When I attempt to add/use the CACHE.DAT in the new version of CACHE, it will not mount.

How do I upgrade/convert the DAT file to make it work under the new CACHE version?

Thx. Larry...

7
0 964
Question Ben Spead · Jun 19, 2018

1) I have an oref pointing to an object on disk

2) I save the object which causes an UPDATE / AFTER Trigger to fire, and updates a value in an embedded object property

3)  I would like to see that new embedded property value in my in-memory object (for unit testing)

Is there a way to do this via a method call?  Or do I need to close the object and re-open it to see the updated value?

Thanks!

Ben

1
0 345
Question Eduard Lebedyuk · Jun 13, 2018

I have an iKnow domain and a blacklist called Ads.

I want to get all sources that do not contain entities from Ads list.

Currently I'm doing it like this:

ClassMethod NoAds()
{
    #dim domainid As %Integer = 1
    
    set filterNot = ##class(%iKnow.Filters.GroupFilter).%New(domainid,, $$$YES)
    #dim blackListId As %Integer = ##class(%iKnow.Utils.MaintenanceAPI).GetBlackListId(domainid, "Ads")
    set sc = ##class(%iKnow.Utils.MaintenanceAPI).GetBlackListElements(.blackList,..#DomainId, blackListId)
    set filterAds = ##class(%iKnow.Filters.ContainsEntityFilter).%New(domainid,
2
0 519
Question Eduard Lebedyuk · Jun 18, 2018

Let's say I have a user-generated document template with placeholders and I want to replace them with actual values.

Values could be:

  • scalars
  • tables
  • ...?

So far I wrote a simple find/replace tool that works with RTF format (because it's not a binary format), here's how it works:

set template = "D:\Cache\RTF\template.rtf"
set var("%title") = "Hello"
set var("%table") = $lb("Utils.RTF", "TestFunc")
set result = "D:\Cache\RTF\out.rtf"
set sc = ##class(Utils.RTF).replace(template, .var, result)

There should be two placeholders in RTF template: %title and %table and the are replaced with "Hello" and

2
0 443
Question Ben Spead · Jun 12, 2018

I have a serial object:

Class EmbedObj Extends %SerialObject

which is stored as a  property of another object

Class ContainerObj Extends %Persistent

Property InnerObj As EmbedObj;

Property Foobar As %String;

Question:

From within the context of an instance of EmbedObj, how can I navigate to the containing instance of "ContainterObj" and find that value of its Foobar property?

Harder Question:  Is there a way I can do this as part of SQLComputeCode? (my EmbedObj has a Calculated property which now needs to depend on the value of property Foobar of the containing object).

Thanks in advance for any help

8
0 760
Question Jason Parker · Jun 17, 2018

Hello,

If this question is in the wrong section, I apologise.

Has anyone ever used Cache Object Script to connect to any hardware such as a sensor?

What I mean is this :-

Lets assume that code has been written in Cache Object Script where it can detect breaks in electrical connections.

There is some sort of wire/cable that is plugged into the PC and then this wire/cable runs to say a house window or door and is connected to some sort of sensor, when the window/door is closed then the circuit is complete, when the window/door is open the circuit is broken and somehow Cache Object Script knows this

2
0 328
Question Lewis Greitzer · Jun 14, 2018

I've set up a Ens.Alert routing rule and would like to route alerts to different email groups based on business partner or alert group instead of relying on source config using Document.SourceConfigName. Is there a way to reference the business partner or alert group property in a routing rule?

5
0 665
Question Roberto Cahanap · Jun 14, 2018

We are updating from 2015.1.1 to  2017.2. I am testing the Hot JVM functionality to see if our current functionality is working in the new version of 2017.

I am having a problem trying to make it "fail".

Generally if I put in an invalid renderport then I usually get an error. Now if I put in an invalid renderport it generates the PDF anyway (FOP).

Was there a change where if it fails using the renderserver then it will create a new instance of Java to produce the PDF?

3
0 369
Question Alex Kogan · Jun 14, 2018

Hello All,

I hope it's not a silly question. 

Here is my issue:
I have 3 simple classes:

Parent class, let's say:

Class ParentClass Extends %RegisteredObject
{
 Property a As %String;
}
 
and two children classes
Class A.Child Extends ParentClass
{
Property b As %String;
}

Class B.Child Extends ParentClass
{
Property c As %String;
}

So no issues - all compiles and seem to work.

But, when I add %XML.Adaptor to my parent class, so:

Class ParentClass Extends (%RegisteredObject, %XML.Adaptor)
{
 Property a As %String;

I can no longer compile any of the three classes involved and I get this error:
-----------------------

3
0 1297
Question Ruslan K · Jun 14, 2018

Is there a way to add event listener for a zen control?

I have a custom text control and I want to add 'change' event listener for it.

Is it possible to do not using 'onchange' property? 

3
0 496
Article Mark Bolinsky · Mar 18, 2016 9m read

++ Update: August 1, 2018

The use of the InterSystems Virtual IP (VIP) address built-in to Caché database mirroring has certain limitations. In particular, it can only be used when mirror members reside the same network subnet. When multiple data centers are used, network subnets are not often “stretched” beyond the physical data center due to added network complexity (more detailed discussion here). For similar reasons, Virtual IP is often not usable when the database is hosted in the cloud.

Network traffic management appliances such as load balancers (physical or virtual) can be used to achieve the same level of transparency, presenting a single address to the client applications or devices. The network traffic manager automatically redirects clients to the current mirror primary’s real IP address. The automation is intended to meet the needs of both HA failover and DR promotion following a disaster. 

12
6 6958
Question Thiago Zenaro · Jun 12, 2018

Hi community!
Is there any way to create new method keywords?
For example:

ClassMethod TestOne() [ MyKeyword = MyValue ]
{
    // Implementation
}

Another doubt (maybe another topic)
How can I generate new methods at compilation time for the same class?
I tried method generators, but It only gets compiled when I compile for the second time.
I also read this comment but I could not find out how to generate the methods and get them compiled in the first compilation.

For example:

Class util.Test
{

ClassMethod TestOne()
{
    Write 1
}

ClassMethod TestTwo()
{
    Write 1
}

}

Expected:

Cl
13
0 658
Question Arto Alatalo · Jun 12, 2018

Time after time on CSP Session page of our Cache 2017.2.1 installation I see that all licenses are consumed by CSP sessions of /csp/sys, /csp/sys/op/and /csp/sys/mgr applications which I assume are sessions of Management Portal. The problem is that there are only few of us accessing the Portal and as we test by browsing Portal, we can't reproduce the problem. 

Is there any way to see client IP of CSP session? Any other way to approach the problem?

The problem looks very similar to the Forefox-related one but we don't use Forefox.

7
0 534
Question Marco Blom · Nov 16, 2017

Help, after a day of coding, I wanted to backup my files. I found out that alle of my 3 instances of caché refuse to start.

the error says: cstart-exe-fout   (112 Service for Caché instance did not start).

Is there a way to solve this? (off course the management portal does not work either.)

I think there has been a power interruption as the battery from my laptop does not work, and the power went off before

shutdown.

Thanks  in advance!

9
0 6182
Article Mike Kadow · Mar 10, 2016 2m read

New Book, Caché and MUMPS – Part II

By Paul Mike Kadow

Edited by Deborah Graham and John J. Mitchell

Go to http://cosmumps.org for a download of just the examples of the book and the table of contents.

From the Forward

     InterSystems, from a humble beginning, has grown into a worldwide company with its flagship product, Caché, leading the way.

     First, this book chronicles and explores some of the many areas InterSystems has grown into and has influenced over the years.

     Next, turning to the Caché and MUMPS developer, this book has multiple chapters on Globals, Classes, SQL/Query, etc.

8
0 2379
Question Antonio Garcia Martinez · Jun 8, 2018

Hi,

I was wondering if there is any way to count elements from an array. I guess not as an array could be multi-dimensional and that would be a problem to return the number of elements inside the array.

As an example:

S a(1) = "blue"
S a(2) = "red"
S a(3) = "yellow"
w a.count() ==> 3

Information about arrays: https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KE…

Thanks

4
0 2170
Question Yuval Golan · Jan 17, 2018

I have a cache client with a list of several servers.

One of the server is working with an IIS server that is not the Cache DB server.

The connection to the IIS server is only through https (SSL)

I tried to define the Web Server IP Address to https://some.server.name but it didn't let me to specify the https

So I tried to define Web Server Port to 443 but when I chose the SMP it's trying to open http://some.server.name:443/csp/sys/UtilHome.csp

and the same for documentation it tries to open http://some.server.name:443/csp/docbook/DocBook.UI.Page.cls

What should I do in order for the SMP to open the

10
0 1887
Question Alexey Maslov · Jun 7, 2018

I'm working on a task where I need to apply journal file records to another database. I can't use Journal.Restore class methods as I need to perform some data transformation, therefore I'm reading journal file record by record using %SYS.Journal.Record API.  

It seems that there are only few journal records that I need to process, namely:

Type TypeName
6    SET
7    KILL
8    KILLdes
9    ZKILL
10   RemoteSET
11   RemoteKILL
12   RemoteZKILL
14   BitSET

No problem, while I'm just curious: which COS command could provide KILLdes record? I've met it only once in the context like this:

KILLde
4
0 538
Question Oliver James · Jun 5, 2018

Hi - has anyone successfully used the python binding on a mac. I carried out the install instructions per InterSystems documentation and it fails completely. 204 warnings and 9 errors. Obviously this was never tested by InterSystems. Is it even worth pursuing?

Thanks

5
0 556