#Caché

30 Followers · 4.5K Posts

  

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

Documentation.

Question Nikita Savchenko · Aug 24, 2016

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.

2
0 523
Question Chip Gore · Jun 28, 2016

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

{

Property Record as USER.ClassA;

}

Class C defintion (which is where I'm having my problem)

Class USER.ClassC Extends %Persistent

{

Property BRecord As USER.ClassB;

Property ARecord As USER.ClassA [ Calculated, SqlComputeCode = { ????? }, SqlComputed ];

Method ARecordGet() as USER.ClassA

{

 quit .

5
0 420
Question Derek Day · Aug 16, 2016

Has anyone configured Zen Reports/FOP to support png images? If you have, could you please share the library that you used, the configuration required, and whether it was worth it (vs converting images to one of the natively supported formats)?

3
0 740
Question Jose Antonio Cañizares · Aug 18, 2016

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.

2
0 651
Question Jose Antonio Cañizares · Aug 1, 2016

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

5
0 511
Article Mike Kadow · Aug 13, 2016 3m read

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.

7
0 628
Article Eduard Lebedyuk · Aug 9, 2016 2m read

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:

/// Stores unique identifiers
Class Utils.Pool Extends %Persistent
{

Property Value As %String;

Index IDKEY On Value [ IdKey, PrimaryKey, Unique ];

Method %OnNew(Value As %String = "") As %Status [ Private, ServerOnly = 1 ]
{
    Set .
2
0 1023
Question Laura Cavanaugh · Aug 11, 2016

I'm running into difficulty calling a javascript method from a Zenmethod.  I pass in a parameter, but in the javascript method the parameter is undefined.  Here is the code:

...

...

Method doSave() [ ZenMethod ]
{

          If (..ID = "AddNew"){
                    //do save code here                   
                    &js<zen

9
0 1756
Article Mike Kadow · Aug 12, 2016 2m read

NewBie's Corner Session 16 Introduction to New Concepts

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

A number of new concepts are introduced in this session that will be developed more fully in subsequent sessions. It is necessary to at least introduce these concepts here because they are all interrelated.

Older style of MUMPS Programming

A routine has access to all the variables it creates. When Routine-A calls Routine-B and Routine-B calls Routine-C, and so forth, this is known as a Call Stack.

0
0 325
Question Eduard Lebedyuk · May 23, 2016

Problem: I have a REST broker, and if I hit a code block, which does IO redirection, the REST reply becomes broken in one of the following ways:

  • Binary output
  • No output
  • First 4096 characters of the reply are missing

Consider the following REST broker:

Class A.REST Extends %CSP.REST
{

XData UrlMap
{
<Routes>
<Route Url="/Test/:redirect" Method="GET" Call="Test"/>
 </Routes>
}

ClassMethod Test(Redirect As %Boolean = {$$$YES}) As %Status
{
    Set str = $TR($J("",4098)," ","1") // Get a string with the length of 4098 symbols
    
    Do:Redirect .
3
1 1367
Question Ponnumani Gurusamy · Aug 12, 2016

How to get a user input in cache . Below this program run in browser but displayed the error of "

Caché Server Pages Version 2016.1.1.108.0

Error Condition      The processing of the request was interrupted

CSP application closed the connection before sending a complete response"

 

 

<html>
<head>
<title>User input </title>
</head>
<body>
<script language="Cache" runat="server">
"enter 1ST num",x
"Enter 2ND num",y
= x+y
z
</script>
</body>
</html>
 

1
0 696
Question GUILHERME CRUZ DA CUNHA · Aug 10, 2016

I'm with a problem in a property, where she has two parameters that conflict, DISPLAYLIST and VALUELIST.

In screen when I'll go to set value in the field, the CACHE transform internally the property of LOGICAL to DISPLAY with propertynameLogicalToDisplay(propertyname), far so good.

My problem is in the property, why, by default she send the value as DISPLAYLIST, in hour of transformation as the value is DISPLAY MODE the error occurs.

How I do to that default value be VALUELIST and not DISPLAYLIST?

7
0 899