This code snippet provides a ZEN page that downloads a stream from its database directly:


/// We assume that you have stored your data within this schema:
/// MyApp.Model.Storage: Filename,FileSize,Content,ContentType
Class zen.downloadStream Extends (%ZEN.Component.page,%CSP.StreamServer)
{
 
    /// Wrapper to get the id of the download, we assume that the id is passed to this zen page
    /// as a URI parameter, i.e.: MyApp.Downloads.cls?OID=1234
    ClassMethod GetId()
    {
        Quit $Get(%request.Data("OID",1))
    }
     
    /// Set the appropriate header for the file.
    ClassMethod OnPreHTTP() As %Boolean
    {
        Set tId = ..GetId()
     
        If ##Class(MyApp.Model.Storage).%ExistsId(tId) {
            Set tStream = ##Class(MyApp.Model.Storage).%OpenId(tId)
            // You could "guess" the content type by its file extension
            // or you can store it (before) in the database separately (like in this example).
            // Set Extension = $Piece(tStream.Filename,".",$Length(tStream.Filename,"."))
            // Set ContentType = ..FileClassify(Extension)
     
            Set %response.ContentType = tStream.ContentType
            Do %response.SetHeader("content-disposition","attachment; filename="_tStream.Filename)
            Do %response.SetHeader("Content-Length",tStream.FileSize)
        }
        Else {
            Set %response.Status="404 File Not Found"
            Quit 0
        }
        Quit $$$OK
    }
     
    ClassMethod OnPage() As %Status
    {
        Set Download = ##Class(MyApp.Model.Storage).%OpenId(..GetId())
        Do Download.Content.OutputToDevice()
        Quit $$$OK
    }
 
}

Link to code on GitHub

2 1
2 670

Hi,

We maintain a few Zen reports that output in Excel format.

Recently we started to observe that some reports fail and return the following error.

CSP error occurred
Error: Error rendering: OS code =1Use $log=1 to check
ErrorNo: 5001

I have extracted the exception details from the log file

0 1
0 582

Hi everyone

I have a datacombo that displayes value from a db table.

I would like to set one of this value as default value. How can I do that? Is there a way to say selected value given the text or the Id from the DB table?

Thanks a lot and kind regards

Milena

0 1
0 324

Hi,

we are moving an existing ZEN-Application to a new version of Caché (2017.2.2). It is a rather old application and we need to do some modifications due to the thightend security of ZEN in this and prior release (we came from 2013.1). One of the changes required is to alter a table Name of a ZEN-Table on the server-side. Anyway this gives us a problem, since we receive an error

ERROR #5001: Client modification of protected property ( tableName) disallowed for security reasons.
SOURCELEMENT: %ZEN.Component.tablePane (tpSimilarity)

0 2
0 501
Question
· Jul 31, 2018
Use Fallback CSS mode

Hi everybody,

we have some legacy ZEN applications build upon CSS2 style definitions. We moved the application due to an upgrade to a newer version of cache (2017.2.1). Anyway I have in mind that in one of the prior relases css3 style interpretation was enforced by ZEN and you could explecitly tell the framework to use CSS2 by setting a global. Anyway I can´t found any hints in the docs on that. Does anyone of the %ZEN gurus have this in mind?

best regards,

sebastian

0 1
0 269
Question
· Jun 28, 2018
Filter in table

Hi,


is there way when select a value in filter column and the second column filter use only value referred to the first selection??

we use to active filter to column in table, but not know how relationship the filter between columns of table.

only in the table context in zen page.

0 1
0 356

I have this local, containing a list of books of arbitrary length:

set books=2
set books(1, "author") = "Alice"
set books(1, "title") = "Hello"
set books(1, "pages") = "123"
set books(2, "author") = "Bob"
set books(2, "title") = "World"
set books(2, "pages") = "456"

And I want to generate this PDF (there could be more than two tables), each book is a separate table:

The header is always the same (Author, Title, Page) but the number of tables would be different.

0 3
0 971
Question
· Jun 14, 2018
AddEventListener for a control

Is there a way to add event listener for a zen control?

I have a custom text control and I want to add 'change' event listener for it.

Is it possible to do not using 'onchange' property?

0 3
0 493
Question
· May 24, 2018
image tab

Good afternoon, I have a tabGroup where I populate tabs with images using the scr property. If a user scrolls to the bottom of the image on a tab, when they go to the next tab, they are also at the bottom. When moving between tabs, I would like the user to always be presented with the top of the tab content. I have not been unsuccessful in doing this. Would someone have input on how to make this happen? Thank you in advance for any and all feedback.

0 2
0 334
Question
· Mar 14, 2018
ZEN REPORTS and EXCEL

I have a ZEN report set up to generate a file for loading to into excel (see attached). Even though I have DEFAULTMODE set to "excel" the resulting output file that I get on one CACHE instance is .xml while on another it is .xls. This is even though I run the report from the two instances on the same PC. Can anyone suggest what I am doing wrong? The Cache version is "Cache for UNIX (IBM AIX for System Power System-64) 2013.1.6 (Build 950_1) Fri Jun 6 2014 17:43:51 EDT"

0 4
0 558

Hi Guys,

I would like to develop a login page in Zen mojo application with Desktop and mobile application. It should be adopt with desktop, android and iOS application.

If any lead would be appreciated.

Thanks,

Arun Kumar D.

0 4
0 462

I have a dataListBox in ZEN which has an OnDrawItem method associated with it. The DrawItem method never seems to be called and I cannot see why. I am using IE11. Can anyone suggest a reason? The attached code runs in a namespace called CODE and can be run using view webpage on the TheLabsApp.BioAnal class. Please note that the data is in a global called ^%ANAL that resides in %SYS.

1 3
0 314

Hi Guys,

I would to know, I have a drop down list items in my applications. While, am clicking on the drop down bx, there are few numbers of listed items, while am doing mouse over action, I should display the entire text of selected item from that drop down list box, even am not selecting that item. I would like to know about the what is exact text it contains in Zen framework.

If any lead would be appreciated.

Thank you in advance.

0 13
0 1.3K

Hi,

I would like to set the report headerHeight dynamically based on a group records count.

Example:

If GroupA has 5 records then the headerHeight should be 50mm

If GroupA has 3 records then the headerHeight should be 30mm

Could you please advice the best approach to achieve this?

Thank you,

Rui

0 1
0 289

Looking at the documentation expalining the use of client side menus, including the drop down menu.

I was messing around trying to get the "Open", once clicked, to use javascript to open windows file explorer to open/pick a file.

I've got it to partially work... Using keystrokes Ctrl-O will open the file explorer yet clicking on the drop down's File/Open does nothing.

Not sure what I'm doing wrong here.

NOTE: I had commented out the two &html lines in the Testing Method... and doing a Ctrl-O still work.

Why?

0 2
0 442

Hi

Is it possible to include the ≥ or ≤ in a ZEN select component? i.e.

<select id="condition" label="Condition" valueList="&lt;,&gt;,=,≤,≥" displayList="&lt;,&gt;,=,≤,≥"/>

I have tried &ge; and &le; but these also do not work. If I inspect the options in the browser and edit with these characters they display correctly but just not when loaded in the zen page.

Cheers

Iain

0 10
0 396

Hello, I am trying to get the Zen Print Server to work so that i can use the pdfprint mode in Zen Reports. Zen Reports will create pdfs just fine, so that part is working. And the printer works fine from other applications on this computer and I have verified the printer name a bunch of times.

This is Caché 2016.2 on Windows 10. I have tried this using Adobe 11.0 and Adobe DC. I have made and started a Zen Report Print Server with

Name = "ZenPrint"

Port = "4321"

and Ping Port = "4320"

0 4
0 361