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 ..BRecord.ARecord

}

}

Wha

5
0 419
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 738
Question Raghu Kodumuri · Aug 17, 2016

Hello,

I am working on a Rest Service that should accept a particular content type. How and where can I set the value?

I have tried setting the value %response.ContentType by overriding Page method OnPreHttp()  but from what I see this method never got executed. 

Thanks

Raghu

13
0 2177
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.

We are using ZAUTHENTICATE routine to manage the session authentication for new REST connections but we couldn't  get the "cal

2
0 649
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 506
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.

There are three variations of the New command:

When used without variables

When used with variable(s)

When used with variables in parenthesis

New command used without variables

Set X=1                                 ; X is set
7
0 622
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 ..Value = Value
    Quit $$$OK
}

ClassMethod Add
2
0 1021
Question Evgeny Shvarov · Jul 27, 2016

Hi, Community!

We want to introduce tag Tips & tricks.

It's  not a snippet sometimes, but some small piece of best practice and useful experience. 

Please vote if you think it makes sense and we need this tag and we'll introduce it as the first level tag in taxonomy.

1
0 201
Question Paul Riker · Aug 9, 2016

We want to isolate the storage of our CCDAs from our HL7 V2 data, but keep them under the same namespace. From my understanding, I should create a new database then store those classes related to CCDAs in that database. Is this the correct approach?

1
0 468
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:

...

<button id="btnSave" caption="Save " onclick="zenPage.doSave();" controlClass="bButton"/>

...

Method doSave() [ ZenMethod ]
{

          If (..ID = "AddNew"){
                    //do save code here                   
                    &js<zenPage.doAddNew();>      //this works just fine, but there's no parameter
          }Else{
                    //do update code here

                    //call javascript method from ZenMet

9
0 1749
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. All routines in the Call Stack may modify any variable created

0
0 319
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 ..OutputToStr($Classname(), "Unrelated
3
1 1363
Article Sean McKenna · Aug 5, 2016 8m read

Creating and working with the new SDA extensions for storage of custom data elements

In HSCore 15.01, there is a new way to store custom data elements.  HealthShare now had the ability to use custom extensions on many SDA elements.

This article will:

  1. Show how to set up your system to use SDA extensions
  2. Create a new SDA extension property
  3. Use the new SDA extension property in HL7 transactions
  4. Interact with the new data
  5. Show new SDA extension used in a customization of Patient Summary Report
 
   
2
1 2964
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 695