#Caché

30 Followers · 4.5K Posts

  

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

Documentation.

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 817
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 450
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 710
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 1245
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 378
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 551
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 542
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 711
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 526
Question Steve Pisani · Jun 6, 2017

Hi,

I'm unable to locate a set of instructions that would allow me to encrypt the traffic to/from the Cache' Management Portal (that is - run it over HTTPS)

I am referring to the Management portal as hosted by the private Apache Web server instance installed with Cache. (I know how to do this for regular web sites hosted on, for example, IIS).

I would imagine the steps would involve, (a) enable SSL on that apache instance and (b) deploy certificates into the Apache web server.

Does anyone have a step-by-step guide on how this is accomplished ?

Thanks in advance - 

Steve

6
0 2357
Question Gaolai Peng · Jun 2, 2017

We have a service that sends XML message. During unit test, I tried to resend the message with following scenario:

(1) If I leave the content blank, the original message will be resent in the ContentStream;

(2) If I post a new XML message, the new XML will be sent in the Content, the original message will be resent in the ContentStream;

(3) If I post a new XML message with very big length, it will be converted to 5@%CSP.

1
0 647
Question Stephen Wilson · Jan 18, 2017

I have a tablePane that always displays with the bottom row selected. The SQL is executed when the submit/search button is clicked.  See attached.

Does anyone know how to enable row selection but prevent the bottom row being selected after the button onClick event?

<tablePaneid="workBioTable"maxRows="1000" pageSize="6"width="1000px" showRowNumbers="false"showZebra="true"useSnapshot="true"extraColumnWidth="5%"
  initialExecute="false"sql="SELECT workbio.RequestDate, workbio.SpecId, workbio.Worksheet, %SQLUPPER(wsfbio.
5
0 476
Article Chris Stewart · Apr 25, 2017 5m read

In our last lesson, we implemented a linkage to our WidgetAccessory class, and debugged some errors we encountered along the way.  We now have our data being returned by REST, but what if we want to update or add new data to our application?  

So far we have only used HTTP GET commands with our REST Services, we now have to implement PUT (which roughly corresponds to an Update) and a POST (which roughly corresponds to a Create.  Author's note: there is a lot of writing online about why this statement isn't entirely correct, I'm not going to go into the detail here).

7
0 2606
Article Chris Stewart · Apr 24, 2017 4m read

or "Things are going to break"

We left our application over the weekend, secure in the knowledge that it was returning data from our primary persistent class, User.Widget.  However, Widgets Direct are the premier supplier of both Widgets AND Widget Accessories, so we should really start working on adding these Accessories to our application. 

We should do some housekeeping first though.  Our Page Controlller code is currently sitting in the widgetmaster.js file.

3
0 1492
Question Safeena M · Jun 5, 2017

Hi,

In SOAP Wizard, whatever WSDL I pass, I m getting the following error in the SOAP Response. Even If I create my own SOAP Web-Service and pass its WSDL, I am getting the same.

3
0 805
Question Rubens Silva · Jun 2, 2017

I'm breaking my head trying to figure how to solve this issue. 

When using SQL, If the column (property) is populated with at least one value and is a %List, then I can check if it's $listvalid and $listlength(column) > 0.
Now let's suppose there's no data inserted for that column on next row.
I can't simply use $listvalid because $listvalid("") = 1. Yeah, empty values is a $list for Caché.
So my question is, how do I discover if the regarding column is indeed a %List independently of being empty or not when retrieving it's value via SQL?

6
0 1182
Question P Patz · Jun 1, 2017

I need to guarantee that a parent AND child rows has been inserted successfully before any other process is able to read ANY of the data.

What is the proper way to prevent DIRTY reads?  Per the InterSystems's documentation I should be able to use 'START TRANSACTION ISOLATION LEVEL READ COMMITTED'.  I have attempted to use these commands in embedded and dynamic SQL calls to no avail.

I have to be able to insert the data via JDBC calls, but legacy Caché (.MAC) may be reading the data, and if the data is read to quickly, I could have processing errors, as all the child rows have not been inserted.

3
0 889
Question Eduard Lebedyuk · May 24, 2017

I'm aware of two ways to get list of files in a dir:

set dir = "C:\temp\"
set rs = ##class(%File).FileSetFunc(dir, , , 1)
do rs.%Display()

and:

set dir = "C:\temp\"
set file=$ZSEARCH(dir_"*")
while file'="" {
   write !,file
   set file=$ZSEARCH("")
}

Yet they bot return only files and directories in a current directory, but not files in subdirectories.

I suppose I call one of these recursively, but maybe there's a better solution?

25
1 4282
Question Jiri Svoboda · Jun 1, 2017

Hello,

is it possible to ZW variables in stack frames above the current one? I am calling a custom logging method, and would like to log variables from the point of call.

Thanks

Jiri

2
0 435
Question Steve Pisani · May 25, 2017

Hi,

Cache Studio's inspector window can show me a Cache class's properties,methods parameters, XDATA blocks, Triggers, Foreign Keys, Queries and more, in a table in the Inspector window. Additionally, for properties, where the property accepts parameters, these parameters are listed together with possible value choices.

7
0 549
Question Ponnumani Gurusamy · Jun 1, 2017

       What is the difference between mac and class files and these files are how to converted int file format

1
0 1033