#Caché

30 Followers · 4.5K Posts

  

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

Documentation.

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.

Here's a method signature (it can't be modified):

ClassMethod main() As %String
23
0 1244
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.  Initially,

0
0 377
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 550
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>.0” an write the variable, it will be set as a

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.

Please report any issues on the

5
0 706
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.Gateway) of the Cache 2013 to Cache 2016 and integration come back it to works, but I don't see significant changes to justify.


Someone

2
0 522
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 2355
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.CharacterStream, and following kind of error will be thrown:

ERROR #6901: XSLT XML Transformer Error: SAXParseException: invalid document structure (Occurred in an unknown entity,

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.ProfileDescription) As ProfileDescription, 
5
0 474
Question Javier Gonzalez · Jun 6, 2017

Hello everyone,

I'm doing a REST service for integration between 2 systems. The system that invokes me expects a response object where only one of its attributes changes. It could be something like this:

Class ResponseCustomer  {
    Property Code As %String;
    Property Info As Customer;
}
Class ResponseAppointment {
    Property Code As %String;
    Property Info As Appointment;
}
Class ResponseCancellation  {
​    Property Code As %String;
    Property Info As %String;
}

To avoid creating almost identical objects for each of the methods of my REST service, I had thought to implement

3
0 665
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).  However, before we start,

7
0 2599
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 1489
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 803
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?
I tried checking for the row metadata to discover any %List

6
0 1175
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 887
Question PILAR GUERRERO · Jun 1, 2017

Hi!

I have a question:

I create a Operation REST API , when I call to my client trough this REST API, my cliente returns list of object in JSON, like that:

[
    {
    "Center" : "aaaaaaaaaa",
    "Nif" : "00000000T",
    "NumberCenter" : "00000000",
    "Name" : "ppppp",
    },
    {
    "Center" : "aaaaaaaaaa",
    "Nif" : "00000000T",
    "NumberCenter" : "00000000",
    "Name" : "ppppp",
    },
    {
    "Center" : "aaaaaaaaaa",
    "Nif" : "00000000T",
    "NumberCenter" : "00000000",
    "Name" : "ppppp",
    }
]

On the other hand, I have in my Ensemble, Two class:

Class A

9
0 1125
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 4274
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 548
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
Question Ankita JAin · May 31, 2017

Is there any methods/ways through which will get to know whether any of the Unit Test cases is/are failing in the Terminal with status as either 0 or False in case of Failure & 1 or Ture in case of Test Passes (we are getting an url of the csp page with the report which has the passed failed status) as we need to send this failure status to Jenkins for the Build to Fail (where in we have acheived this part in making the build failure/success based on  harcoded boolean)

2
0 776
Question Greg Arnold · May 30, 2017

I need to execute a single csession command which calls a multi-parameter routine, such as ^SECURITY. This will be to do things such as create databases, resources, etc. (see below). When I run the command all at once, I get a PARAMETER error.

[user@host ~]$ csession INSTANCENAME -U %SYS "^SECURITY(4,1,\"testresource\")"
<PARAMETER>SECURITY^SECURITY
%SYS 2d0>do ^SECURITY

1) User setup
2) Role setup
3) Service setup
4) Resource setup
5) Application setup
6) Auditing setup
7) Domain setup
8) SSL configuration setup
9) Mobile phone service provider setup
10) OpenAM Identity Services setup
11) Encryption key
2
0 865
Question Shanmuga rajan · Sep 23, 2016

i got an unspecified character in my try-cache i do sample class definition using stream collection what is my defect plz reply me as soon as possible

2
0 362