#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Question Evgeny Shvarov · Jun 20, 2017

Hi, Community!

How do you store the source files of your Caché project? What is the directories structure? What are the benefits?

I prefer the following structure:

/cls/package/subpackage/class.cls

/mac/package/routine.mac

/int/package/routine.int

/inc/macro.inc

/dfi/folder/sample.pivot.dfi

Example

Benefits: 

  • folders are packages.
  • easy to understand what type of sources are in the project.

What is your approach?

4
1 1451
Question CM Wang · Jun 19, 2017

Hi,

I want to attach one local namespace on instance A to the database on instance B.

How could I use ECP to achieve my goal?

Should I config instance B as ECP data server? If so, how could I explicitly specify which database on instance B could be exposed ?

Thanks for your help.

4
0 666
Question Nic Lorenzen · Jun 17, 2017

Hi all,

I have a non objectscript application connecting to a cache instance via ODBC and one column is a list of serial objects. The output from the query contains a lot of special characters and I'm hoping there's a better way to get this data back so I won't have to perform extensive parsing on the application side.

I've tried using the $ListToString() function, but that didn't help much, probably because the list contains complex objects rather than primitives. 

Any help will be greatly appreciated!

4
0 886
Question Adam Skurek · Apr 13, 2017

In Cache Studio there is export class dialog with options "Export current project" and "Include dependent classes".

Is there any way to export class programmatically, but with same effect as if "Include dependent classes" was checked? So that not only the class itself is exported, but also all dependent classes? I know of Export method in %SYSTEM.Obj class, but it only exports the class itself.

4
0 1129
Question Aditi Goswami · Jun 14, 2017

Hello,

I have a question related to running an SQL query for range of data.

I am running a query like:

Select A,B from table_name where A>=12345 AND A<=12390

 - Where A and B are my two of the properties under the mentioned table/class definition

- A is an integer property

 Question: The result of the above query does not return me all the values between the mentioned range of integer though I do have all the values in that range. I see that some of the values are missing in result.

Any reason why this query won't work?

Any ideas?

Thanks,
Aditi

9
0 596
Article Eduard Lebedyuk · Jan 9, 2017 3m read

In addition to its general security, Caché offers SQL security with a granularity of a single row. This is called row-level security. With row-level security, each row holds a list of authorized viewers, which can be either users or roles. By default access is determined at object modification Some time ago I became interested in determining row-level security at runtime. Here's how to implement it.

9
1 954
Question Jeff Semmens · Jun 15, 2017

I am trying to design a RESTful service that takes a string (with control characters). Does something with that in the logic on the server, then returns a string, which may also have control characters.

Basically the string is a pharmacy claim in a delimited format that uses control characters for those delimiters. The logic on the server will pull the entire claim apart and process it.

I was thinking that a GET method could be uses but I'm used to sending content in JSON format and wondered what other normal RESTful ways there were to do this.

4
0 928
Question Glenn van Bavel · Jun 15, 2017

Whenever I try to run a simple query on a production database table, I get a timeout 504 error. I'm using the SQL interface in Ensemble. One of the queries is a simple SELECT TOP 10. Even SELECT COUNT(*) gives a timeout. 

I have tried to run the SQL Runtime Statistics, but this gives me a timeout as well. 

Does anyone have an idea where I might look to find what is causing this? 

Thanks in advance, 

Best regards

Glenn van Bavel, 

3
0 1945
Question Lucas Scarduelli · Jun 14, 2017

Hi,

I only use Caché and CSP, I am making a simple request in CSP page with #call method, and I have to define a callback of this #call method, can I do this?

This is my simple request in CSP page (javascript):

            PainelBordoResource.prototype.obterIndicador = function(requisicaoParametros) {
                let retorno = #call(painelbordo.PainelBordoResource.obterIndicador(angular.toJson(requisicaoParametros)))#;
                return retorno;
            };
 

1
0 536
Question Rubens Silva · Jun 12, 2017

Here's my issue. I've been using Sample.* globals and packages mapped to another development namespace to realize unit tests. So when I ran it, I notice that I forgot to start a transaction in order to be able rollback it to it's original data.
I assumed that I should use transactions since I was manipulating it's data but I didn't want it to be persisted.

Now I've lost all their default data. That's ok, or so I though. since I supposedly should run %Populate on the Sample.

1
0 446
Question Steve Shaw · May 25, 2017

Unless I'm mistaken, 2017.1 doesn't appear to support RFC 7523 (JSON Web Token Profile for OAuth 2.0 Client Authentication and Authorization Grants).  Is that coming in 2017.2?

In order to support it in 2017.1, I'd have to override the OAuth 2.0 token endpoint to cater for the additional grant types - what's the best way to do this?

Thanks.

3
0 772
Question Token Ibragimov · Jun 9, 2017

hello!

how I can add to my request header? if i'm using web service.

s ws =##class

i need send request like bellow

<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope
    xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
    xmlns:s='http://www.w3.org/2001/XMLSchema'>

<header>
.....
</header>
​
    <SOAP-ENV:Body>
        <Get_acc_blocks
            xmlns="http://microsoft.com/webservices/">
            <IIN xsi:type="s:string">123456789</IIN>
        </Get_acc_blocks>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
2
0 612
Question Evgeny Shvarov · Jun 9, 2017

Hi, Community!

Suppose I have class A with properties P1 and P2.

I want to introduce class B, which would have same records as Class A, but only  one property - P2.

What is the easiest  way to manage it assuming that I would like to use Class A to add records and be available for any operations to Users with Role A.

And I would like to introduce class B for Users with role B for read-only access.  Preferably they shouldn't even be aware of Class A and P1 existence .

What is the easiest way to introduce it and manage it?

Use some proxy-classes?  Property-level security?

10
0 845
Question Arockia Raj B · Jun 8, 2017

How to simply going to get the value of the system language from ^%z?  Because  I got a problem, U2 context isn't setup while connecting the SQL Connect.

4
0 470
Question Kishan Ravindran · Jun 10, 2017

Hi!

In the below code for cls with csp i have passed the output to a global but after i give the content in the text box it is getting stored, but when i check the global it is empty.

Class User.zkqr Extends %CSP.Page
{
ClassMethod OnPage() As %Status
{
&html<<html>
<head>
</head>
<script type="text/javascript">
function EmpTable(){
var EmployeeName=document.getElementById("ename").value;
var EmployeeNumber=document.getElementById("enumber").value;
var EmployeeDOB=document.getElementById("edob").value;
var EmployeeDOJ=document.getElementById("edoj").

4
0 735
Question Eduard Lebedyuk · Jun 6, 2017

Hi, Community!

Last weekend we held the Final of InterSystems Contest on InterSystems Caché and DeepSee as a part of IT Planet Student Championship in Sochi. BTW, this year we had about 2 000 participants in InterSystems Contest.

One of the tasks for the finals was to solve the following  with Caché ObjectScript and use the minimum code. 

Problem description

Write a method that would return the string 9876543210, however cls code should not contain numbers 0-9.

The goal is to write the shortest method.

23
0 1281
Article Lexi Hayden · Jun 8, 2017 3m read

I needed to use the OnGetNodeInfo callback of a Zen <dynaTree>, because this seems to be the only way to control the style separately for different levels of the tree. This post describes two discoveries I made.

How a dynaTree builds a tree via the OnGetNodeInfo callback

When you use a dynaTree with the OnGetNodeInfo callback, the dynaTree creates a series of nodes and displays them top to bottom in the order they were created

The OnGetNodeInfo callback is an iterator.  To create the nodes, the dynaTree calls the OnGetNodeInfo callback, each time passing the variable pHandle to it.

0
0 395
Question Arockia Raj B · Jun 8, 2017

What is COS Expression? Is the related to SQL Expression?

Can you give a basic code or query related samples? If anyone give a sample, it's understanding easily.

2
0 565
Question Jorge Torres · Jun 7, 2017

Hello experts,

I’m working on an "Sort After" (]]) bug that I traced back to some weird behavior in ObjectScript.  Perhaps someone can enlighten me…

The problem is as follows:

Let’s say we have:

Set A = “1.0”
Set B = “2.2”

If you execute the command ‘Sort After’ (]]), you get the following:

W A]]B
​1

…Which is wrong, A does NOT sort after B.  The output should be 0.

If you set A and B to numeric values, it correctly outputs false (0):

set A = 1.0
set B = 2.2
​W A]]B

0

I dug for a bit, and came up with this:   If you set  a numeric string to “<number>.

9
0 560
Article Sean Connelly · Jun 7, 2017 1m read

The Cogs.JsonClass library is now available in the Cogs project on GitHub.

https://github.com/SeanConnelly/Cogs

Please see the README and the /docs folder on how to use the class.

Overview

The Cogs.JsonClass class provides a one step serialisation and deserialisation to and from Caché registered and persistent classes. It is not dependent on any other code and should be compatible with older versions of Caché.

The unit tests have been included in the update, but until I release the dependent Touchstone unit test solution it won't be possible to run these tests.

5
0 736
Question Lucas Scarduelli · May 30, 2017

Hi people,


I am migration my web application of Cache 2013 to Cache 2016, in Cache 2013 I have a integration with a Java aplication using Java Gateway mapping proxy classes and consuming a method that param is a object, and it works perfectly.

But in Cache 2016 this integration don't work, I send the param as object but Cache send as String with the ref of object...


I maked a test, importing two classes used by the Java Gateway (%Net.Remote.Proxy and %Net.Remote.

2
0 543