Caché

Syndicate content 122 

NewBie's Corner Session 18 Caché or Cache

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Caché and Cache

Caché and Cache are not the same. Caché is a product offered by InterSystems. Whereas Cache refers to memory storage.
In computing, a cache /ˈkæʃ/ KASH, is a hardware or software component that stores data so future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation, or the duplicate of data stored elsewhere.

0   0 1
0

comments

181

views

0

rating

The FT keys InterSystems currently make available to us in the zips from the download pages are due to expire at the end of this month (31-Aug-16). Will there be new keys soon?

Also wondering when we might expect new FT builds for 2016.2 and 2016.3. The last published ones were 24-Jun-16 and 16-Jun-16 respectively.

I haven't seen an Atelier update for a while either.

Last answer 25 August 2016 Last comment 26 August 2016
+ 1   0 0
197

views

+ 1

rating

Hi, all.
I have CSP application and it needs to get and process data from ajax request with json-content. JSON can be very big.
In this case:
TRY
{
Set RequestObj = ##class(%Object).$fromJSON(%request.Content.Read())
} CATCH(Exception) {
Set Status=Exception.AsStatus()
}
I get just part of getting JSON and validate error in $fromJSON.
If I try to read it all in cycle:
TRY
{
While (%request.Content.AtEnd = 0) {

Last answer 22 August 2016 Last comment 25 August 2016
0   0 1
622

views

0

rating

Let's imagine I have a global like this:

^Users(12, "SETTINGS", "IsAllowed") = 1

^Users(41, "SETTINGS", "IsAllowed") = 0

^Users(52, "SETTINGS", "IsAllowed") = 1

Now I would like to check for each user whether they are allowed, therefore I'd need to iterate through the Global. How to do that? It seems that I can't use $Order here like such:

S FF = ""
For {
 S FF=$O(^Users(FF,"SETTINGS","isAllowed"))
 Q:$L(FF)
 W "User ",FF," is allowed",!
}

Is there any other way of doing this? 

Last answer 25 August 2016
0   0 1
0

comments

282

views

0

rating

Hello community!

Is there any method/property/way in Caché to obtain something like unique identifier for installed Caché system? The idea is to get the identifier that will differ on any other installation/machine/etc, but will forever remain the same for the current installation, even if $zv changes (in case of update) or any data is removed from the database.

Last answer 24 August 2016 Last comment 24 August 2016
0   0 1
221

views

0

rating

Hi -

I have 3 classes: "Class A" has a property X, "Class B" has a property which is a Class A, and I have a "Class C" which has a property of a Class B.

Class A definition

Class USER.ClassA Extends %Persistent

{

Property Propx as %String;

}

Class B definition

Class USER.ClassB Extends %Persistent

{

Last answer 29 June 2016 Last comment 24 August 2016
0   0 2
200

views

0

rating

Hi,

We are trying to implement a client side data provider as a component (ZEN) that will use JQuery to do rest calls to a desired URL, in this case, a %CSP.Rest service implemented by ourselves.

This component will be used within our application that is authenticated with a correct user configured on Caché management portal and therefore using one license unit. As we are using a Ajax call from client side this connection creates a new session that will use a new license.

Last answer 18 August 2016 Last comment 23 August 2016
0   0 1
284

views

0

rating

Hi all,

For custormer support reasons we would like to know if its possible to activate some kind of flag or see/redirect wich is the code (lines) being executed when some misterious problems appear.

 

Is there any way to view the stack of execution code on a deployed code environment? Is there any other equivalent way to track the execution stack for a certain period of time?

Best regards

Last answer 2 August 2016 Last comment 23 August 2016
+ 1   0 2
250

views

+ 1

rating

NewBie's Corner Session 17 New command

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

New command

The New command limits a variable's scope or range of use. In theory the New command is simple, in reality the New command is powerful and needs to be respected and understood.  In Caché ObjectScript and MUMPS an entire chapter is devoted to it.

There are three variations of the New command:

When used without variables

Last comment 20 August 2016
0   0 5
377

views

0

rating

Given a complex method flagged with [ SqlProc ] so it is available as an SQL stored procedure, what's the best way to report a non-system error detected in that method - say, for example, an error %Status - so that the SQL query calling it fails descriptively? Is it best to create and throw an exception, or are there special % variables involved (like in a trigger)? I haven't been able to find an answer in the documentation.

Thanks in advance!

Last answer 17 August 2016
0   0 2
0

comments

175

views

0

rating

Process-private Globals  can be used as a data global in storage definition. That way, each process can have its own objects for the class with ppg storage. For example lets define a pool, which can:

  • add elements to a pool (ignoring duplicates)
  • check if an element exists in the pool

Here's the class:

Last comment 16 August 2016
+ 4   0 3
405

views

+ 4

rating