Class Reference
IRIS for UNIX 2019.3
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [%ZEN] >  [Report] >  [reportPage]
Private  Storage   

abstract class %ZEN.Report.reportPage extends %RegisteredObject, %CSP.Page, %ZEN.DataModel.Adaptor

Represents a Report within a ZEN application. This is the base class used for all user reports.
Note that a report is not a ZEN page; all logic for a report is executed on the server. The client is sent the final output for viewing and printing.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
3 74 88


Summary

This is a Zen Report class. 

Properties
%ArrayLogFiles %SplitReturnedPDFs %display %id
%seriesCount %seriesNames %source AggregatesIgnoreNLS
CheckPDFNotZeroLength ConnectTimeOut CountRepeatingElement Datasource
DefaultFontFaceCopyHTML DefaultFontSizeCopyHTML ExcelServer ExcelServerTimeOut
FileLifeTime MainReport Mode NamespaceDeclarations
OldBehaviorLineFeedOnBreak OptionCachePath OptionConserve OptionDPI
OptionEnableAccessibility OptionFlush OptionLang OptionNoAccessContent
OptionNoAnnotations OptionNoAssembleDoc OptionNoComplexScript OptionNoCopy
OptionNoEdit OptionNoFillInForms OptionNoPrint OptionNoPrintHq
OptionOwnerPassword OptionPDFProfile OptionRelaxed OptionUserPassword
PDFMergeMemSize PS PrintServer PrintTimeOut
RenderDirectlyOnTimeout RenderTimeOut RepeatingElement ReportDir
ReportXMLNameSpace ReportXMLNameSpacePrefix SaxMemSize SetProcessWideRunTimeMode
SplitAndMerge SplitDir SplitOnly SplitRootName
StripPI SubReport SuppressExcelHeaders TableAltColor
TimeOut TooLongText UseHTML5 UseRawIOForXML
UseSemaphore XsltVersion getxmlstylesheet isHTML5
isServer toexcelstream tohtmlstream toxslfostream
xmlfile xmlstream xmlstylesheet xmlstylesheetarg

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName
%ConstructClone %CreateModelInstance %DeleteModel
%DispatchClassMethod %DispatchGetModified %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DisplayAnnotatedExcel
%Extends %GetComponentById %GetJSValidationCode
%GetParameter %GetPropertyInfo %InitProperties1
%InvokeAction %IsA %IsModified
%IsReadOnly %MakeTransformedXMLFile %New
%NormalizeObject %ObjectModified %OnAfterCreateDisplay
%OnAfterReport %OnBeforeReport %OnCopyDataFromModel
%OnCopyDataToModel %OnDeleteModel %OnDeleteSource
%OnGetPropertyInfo %OnInvokeAction %OnLoadModel
%OnNewSource %OnOpenSource %OnPreHTTP
%OnReportTag %OnSaveSource %OnStoreModel
%OnSubmit %OpenModel %OriginalNamespace
%PackageName %RemoveFromSaveSet %ResolveText
%SaveModel %SerializeObject %SetModified
%SubmitHandler %ValidateObject %getDisplayUniqueExcelSheetName
%getUniqueExcelSheetName AsynchGenerateReport ConvertParameter
Decrypt Encrypt EscapeHTML
EscapeURL GenerateReport GenerateReportToStream
GenerateToFile GetTempFileName HyperEventCall
HyperEventHead Include InsertHiddenField
InsertHiddenFields IsPrivate Link
OnAfterCreateDisplay OnHTTPHeader OnPage
OnPageError OnPostHTTP OnPostHyperEvent
OnPreHTTP OnPreHyperEvent Page
Purge QuoteJS RewriteURL
ShowError StartTimer StopTimer
TestPDFGeneration ThrowError ToExcelDate
UnLock UnescapeHTML UnescapeURL

Subclasses
%DeepSee.Report.reportPage %DeepSee.UI.ChartPDF %DeepSee.UI.MDXPDF
%DeepSee.UI.WorksheetPDF %SQL.Manager.Reports.Messages %ZEN.Report.TestReport

Parameters

• parameter APPLICATION;
This is the class name of this application this report belongs to.
If not defined, this report does not belong to an application.
The application can be the source of ZEN Report parameters.
If APPLICATION is not defined or if parameter is null in APPLICATION class %ZEN.Report.defaultApplication is the source of ZEN Report parameters.
• parameter DOMAIN;
Localization domain. DataModel classes that wish to support localization must provide a value for this within subclasses.
• parameter REPORTNAME;
This is the logical name of this report. If not provided, class name is used.

Properties

• property %ArrayLogFiles  [ MultiDimensional ];
Place to hold temporary logfiles
• property %SplitReturnedPDFs as %ZEN.Datatype.string [ MultiDimensional ];
This property hold returned PDFs
• property %display as %ZEN.Report.Display.report;
backpointer to display object that belongs to this report
• property AggregatesIgnoreNLS as %ZEN.Datatype.boolean(ZENURL="$AGGREGATESIGNORENLS");
Aggregates Ignore NLS if this is true
• property CheckPDFNotZeroLength as %ZEN.Datatype.boolean;
• property ConnectTimeOut as %ZEN.Datatype.integer(ZENURL="$CONNECTTIMEOUT");
-1 for RenderConnectTimeOut means never timeout.
The units are seconds.
The Zen Report makes a connection using open to connect to the Render Server. This is the timeout on the open (the connect timeout)
• property CountRepeatingElement as %ZEN.Datatype.integer;
• property Datasource as %String(ZENHIDDEN=1);
See the DATASOURCE parameter for details.
• property DefaultFontFaceCopyHTML as %ZEN.Datatype.string(ZENURL="$DEFAULTFONTFACECOPYHTML");
Used on item when copyhtml="true" to specify a default font face
• property DefaultFontSizeCopyHTML as %ZEN.Datatype.string(ZENURL="$DEFAULTFONTSIZECOPYHTML");
Used on item when copyhtml="true" to specify a default font size
• property ExcelServer as %ZEN.Datatype.string(ZENURL="$EXCELSERVER");
specifies ExcelServer port of ExcelServer which renders Excel spreadsheets
Can be overriden by $EXCELSERVER on URL
• property ExcelServerTimeOut as %ZEN.Datatype.integer(ZENURL="$EXCELSERVERTIMEOUT");
-1 for ExcelServerTimeOut means never timeout.
The units are seconds.
• property FileLifeTime as %ZEN.Datatype.integer(ZENURL="$FILELIFETIME");
Specify file life time, when life time exceeded, purge task will delete it
• property MainReport as %String;
• property Mode as %ZEN.Datatype.string(ZENURL="$MODE");
Specify report mode
• property NamespaceDeclarations as %ZEN.Datatype.string(ZENURL="$NAMESPACEDECLARATIONS");
If provided, this is a string of XML namespace declarations.
For example, "xmlns='http://mydefault' xmlns:ns1='http://namespace1'".
The namespace declarations will go on the root element of the generated XML and also on the stylesheet element of the generated XSL.
• property OldBehaviorLineFeedOnBreak as %ZEN.Datatype.boolean(ZENURL="$OLDBEHAVIORLINEFEED");
Old behavior of linefeedOnBreak, where for PDF we issue not a line feed
• property OptionCachePath as %ZEN.Datatype.string(ZENURL="$OptionCachePath");
For Fop only, specifies a file/directory path location for the font cache file with value in OptionCachePath
Here is FOP option
-cache path specifies a file/directory path location for the font cache file
Does not work with HotJVM RenderServer
• property OptionConserve as %ZEN.Datatype.boolean(ZENURL="$OptionConserve");
For Fop only, enable memory-conservation policy (trades memory-consumption for disk I/O) when true or 1
Here is FOP option
-conserve enable memory-conservation policy (trades memory-consumption for disk I/O)
(Note: currently only influences whether the area tree is serialized.)
• property OptionDPI as %ZEN.Datatype.string(ZENURL="$OptionDPI");
For Fop only, target resolution in dots per inch (dpi) where xxx is a number with value in OptionDPI
Here is FOP option
-dpi xxx target resolution in dots per inch (dpi) where xxx is a number
• property OptionEnableAccessibility as %ZEN.Datatype.boolean(ZENURL="$OptionEnableAccessibility");
For Fop only, enables accessibility features (Tagged PDF etc., default off) when true or 1
Here is FOP option
-a enables accessibility features (Tagged PDF etc., default off)
• property OptionFlush as %ZEN.Datatype.boolean(ZENURL="$OptionFlush");
For Fop only, flushes the current font cache file when true or 1
Here is FOP option
-flush flushes the current font cache file
Does not work with HotJVM RenderServer
• property OptionLang as %ZEN.Datatype.string(ZENURL="$OptionLang");
For Fop only, the language to use for user information with value in OptionLang
Here is FOP option
-l lang the language to use for user information
Does not work with HotJVM RenderServer
• property OptionNoAccessContent as %ZEN.Datatype.boolean(ZENURL="$OptionNoAccessContent");
For Fop only, PDF file will be encrypted without extract text and graphics permission when true or 1
Here is FOP option
-noaccesscontent PDF file will be encrypted without extract text and graphics permission
• property OptionNoAnnotations as %ZEN.Datatype.boolean(ZENURL="$OptionNoAnnotations");
For Fop only, PDF file will be encrypted without edit annotation permission when true or 1
Here is FOP option
-noannotations PDF file will be encrypted without edit annotation permission
• property OptionNoAssembleDoc as %ZEN.Datatype.boolean(ZENURL="$OptionNoAssembleDoc");
For Fop only, PDF file will be encrypted without assemble the document permission when true or 1
Here is FOP option
-noassembledoc PDF file will be encrypted without assemble the document permission
• property OptionNoComplexScript as %ZEN.Datatype.boolean(ZENURL="$OptionNoComplexScript");
For Fop only, disable complex script features when true or 1
Here is FOP option
-nocs disable complex script features
• property OptionNoCopy as %ZEN.Datatype.boolean(ZENURL="$OptionNoCopy");
For Fop only, PDF file will be encrypted without copy content permission when true or 1
Here is FOP option
-nocopy PDF file will be encrypted without copy content permission
• property OptionNoEdit as %ZEN.Datatype.boolean(ZENURL="$OptionNoEdit");
For Fop only, PDF file will be encrypted without edit content permission when true or 1
Here is FOP option
-noedit PDF file will be encrypted without edit content permission
• property OptionNoFillInForms as %ZEN.Datatype.boolean(ZENURL="$OptionNoFillInForms");
For Fop only, PDF file will be encrypted without fill in interactive form fields when true or 1
Here is FOP option
-nofillinforms PDF file will be encrypted without fill in interactive form fields permission
• property OptionNoPrint as %ZEN.Datatype.boolean(ZENURL="$OptionNoPrint");
For Fop only, PDF file will be encrypted without printing permission when true or 1
Here is FOP option
-noprint PDF file will be encrypted without printing permission
• property OptionNoPrintHq as %ZEN.Datatype.boolean(ZENURL="$OptionNoPrintHq");
For Fop only, PDF file will be encrypted without print high quality permission when true or 1
Here is FOP option
-noprinthq PDF file will be encrypted without print high quality permission
• property OptionOwnerPassword as %ZEN.Datatype.string(ZENURL="$OptionOwnerPassword");
For Fop only, PDF file will be encrypted with value in OptionOwnerPassword
Here is FOP option
-o [password] PDF file will be encrypted with option owner password
• property OptionPDFProfile as %ZEN.Datatype.string(ZENURL="$OptionPDFProfile");
For Fop only, PDF file will be generated with the specified profile with value in OptionPDFProfile
Here is FOP option
-pdfprofile prof PDF file will be generated with the specified profile
(Examples for prof: PDF/A-1b or PDF/X-3:2003)
Does not work with HotJVM RenderServer
• property OptionRelaxed as %ZEN.Datatype.boolean(ZENURL="$OptionRelaxed");
For Fop only, relaxed/less strict validation (where available) when true or 1
Here is FOP option
-r relaxed/less strict validation (where available)
Does not work with HotJVM RenderServer
• property OptionUserPassword as %ZEN.Datatype.string(ZENURL="$OptionUserPassword");
For Fop only, PDF file will be encrypted with value in OptionUserPassword
Here is FOP option
-u [password] PDF file will be encrypted with option user password
• property PDFMergeMemSize as %ZEN.Datatype.string(ZENURL="$PDFMERGEMEMSIZE");
Specify amount of memory used by SAXON processing (especially used when XSLTVERSION=2.0), defaults to 512m
• property PS as %ZEN.Datatype.string(ZENURL="$PS");
Postscript Printer or Printer used by pdfprint/PrintServer
• property PrintServer as %ZEN.Datatype.string(ZENURL="$PRINTSERVER");
specifies PrintServer port of PrintServer which prints PDFs
Can be overriden by $PRINTSERVER on URL
• property PrintTimeOut as %ZEN.Datatype.integer(ZENURL="$PRINTTIMEOUT");
-1 for PrintTimeOut means never timeout.
The units are seconds.
• property RenderDirectlyOnTimeout as %ZEN.Datatype.boolean(ZENURL="$RENDERDIRECTLYONTIMEOUT");
if we do not render directly to Render Server in RENDERTIMEOUT, Zen Reports renders directly, spawing new JVM
• property RenderTimeOut as %ZEN.Datatype.integer(ZENURL="$RENDERTIMEOUT");
-1 for RenderTimeOut means never timeout.
The units are seconds.
• property RepeatingElement as %ZEN.Datatype.string;
• property ReportDir as %String;
• property ReportXMLNameSpace as %ZEN.Datatype.string(ZENHIDDEN=1);
• property ReportXMLNameSpacePrefix as %ZEN.Datatype.string(ZENHIDDEN=1);
• property SaxMemSize as %ZEN.Datatype.string(ZENURL="$SAXMEMSIZE");
Specify amount of memory used by SAXON processing (especially used when XSLTVERSION=2.0), defaults to 512m
• property SetProcessWideRunTimeMode as %ZEN.Datatype.boolean(ZENURL="$SETPROCESSWIDERUNTIMEMODE");
Process wide runtime mode Set on a sql statement from the runtime mode passed into the ZEN Report if this is 1
• property SplitAndMerge as %ZEN.Datatype.boolean;
• property SplitDir as %ZEN.Datatype.string;
This is directory where PDF files produced by split will go
• property SplitOnly as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
If SPLITANDMERGE set, split only, don't merge at end
• property SplitRootName as %ZEN.Datatype.string;
Instead of generating temporary names for split PDF files, use this as a root name, and add an integer suffix to file
• property StripPI as %String;
• property SubReport as %String;
This property is used on toxslfo and tohtml to indicate they are being fetched as sub-reports
• property SuppressExcelHeaders as %ZEN.Datatype.boolean(ZENHIDDEN=1);
• property TableAltColor as %ZEN.Datatype.string;
• property TimeOut as %ZEN.Datatype.integer;
• property TooLongText as %ZEN.Datatype.string;
• property UseHTML5 as %ZEN.Datatype.boolean(ZENURL="$USEHTML5");
Set to true in order to generate HTML5 regardless of browser support Set to false in order to *not* generate HTML5 regardless of browser support
• property UseRawIOForXML as %Boolean [ InitialExpression = 0 ];
UseRawIOForXML - set to 1 to use RawIO in XML output, otherwise use translation tables
• property UseSemaphore as %ZEN.Datatype.boolean(ZENURL="$USESEMAPHORE") [ InitialExpression = 0 ];
Set to true to cause ZEN Report to control going to RenderServer with Semaphore
• property XsltVersion as %ZEN.Datatype.string(ZENHIDDEN=1);
• property getxmlstylesheet as %String;
• property isHTML5 as %Boolean [ InitialExpression = 0 ];
• property isServer as %Boolean [ InitialExpression = 0 ];
• property toexcelstream as %Library.RegisteredObject;
• property tohtmlstream as %Library.RegisteredObject(ZENHIDDEN=1);
• property toxslfostream as %Library.RegisteredObject(ZENHIDDEN=1);
• property xmlfile as %String;
xmlfile generated by ZEN Report
• property xmlstream as %Library.RegisteredObject(ZENHIDDEN=1);
• property xmlstylesheet as %Library.RegisteredObject;
• property xmlstylesheetarg as %ZEN.Datatype.string(ZENURL="$XMLSTYLESHEETARG");

Methods

• method %DisplayAnnotatedExcel(DisplayLog As %Boolean = 0, ApplyTransform As %Boolean = 0, UseInternalXSLT As %Boolean = 0, UseTempFiles As %Boolean = 0, embedXSL As %Boolean = 0, ExcelMode As %String)
• final classmethod %GetComponentById(id As %String) as %ZEN.Component.object
Server-only method for finding a ZEN Report Display node within this report display given its id.
• method %InitProperties1()
• method %MakeTransformedXMLFile(ByRef filename, ByRef xmlfile, ByRef xslfile, stripPI=0, embedXSL=0, async=0)
• method %OnAfterCreateDisplay(pDisplay As %ZEN.Report.Display.report)
• method %OnAfterReport() as %Status
This callback is invoked after this report is run and before it is closed.
• method %OnBeforeReport() as %Status
This callback is invoked after this report is instantiated and before it is run.
• classmethod %OnPreHTTP() as %Boolean
• method %OnReportTag()
Notification that we are writing out the attributes for the opening tag.
• method %OnSubmit(pSubmit As %ZEN.Submit) as %Status
If defined, this callback is called when a form connected to this DataModel is submitted.
The contents of this DataModel will be filled in from the submitted values before this callback is invoked.
The default implementation is to store the submitted values back to the model.
• classmethod %ResolveText(pText As %String, ByRef context) as %String
Resolve a localized text string at run time. A localized string can take the following forms:
"String" -- not localized.
"$$$String" -- equivalent to $$$Text("String","DeepSeeUser")
"$$$String/Domain" -- equivalent to $$$Text("String","Domain")
• method %getDisplayUniqueExcelSheetName(excelSheetName As %String, ByRef context) as %String
• method %getUniqueExcelSheetName(excelSheetName As %String) as %String
• method AsynchGenerateReport(renderServer As %String = "", ByRef xmlfile As %String, ByRef xsltfile As %String, ByRef pdffile As %String, ByRef lockfile As %String) as %Status
Queue the report for rendering to the Queuing Hot JVM server input is the port on which the Queuing Hot JVM Server is listening returns by reference xmlfile, xsltfile, pdffile, and lockfile which are names of files either queued or created by queuer Arguments: renderServer
  • xmlfile - returned by reference
  • xsltfile - returned by reference
  • pdffile - returned by reference
  • lockfile - returned by reference
when the lockfile exists theQueuing Hot JVM Server has created the pdf file
• method GenerateReport(outputfile As %String, mode As %Integer = 0, log As %Boolean = 0, renderServer As %String = "", ExcelMode As %String = "", pStr As %String, Output RenderDirect As %Integer = 1) as %Status
Generate the report and save it to outputfile.
Choices for mode are:
  • 0 = XML
  • 1 = HTML
  • 2 = PDF
  • 3 = ToHTML Stylesheet
  • 4 = ToXSLFO Stylesheet
  • 5 = XSD Schema
  • 6 = PrintPS
  • 7 = Excel
  • 8 = XSLFO
  • 9 = ToEXCEL
  • 10=xlsx
  • 11=TIFF
  • 12=pdfprint
  • 13=displayxlsx
  • 14=fo2pdf
  • 15=foandpdf

If log is true, the log file is returned instead of the report
• method GenerateReportToStream(ByRef stream As %Stream.Object, mode As %Integer = 0, log As %Boolean = 0) as %Status
Generate the report and save it to stream.
Choices for mode are:
  • 0 = XML
  • 1 = HTML
  • 2 = PDF
  • 3 = ToHTML Stylesheet
  • 4 = ToXSLFO Stylesheet
  • 5 = XSD Schema
  • 6 = PrintPS
  • 7 = Excel
  • 8 = XSLFO
  • 9 = ToEXCEL
  • 10 = xlsx
  • 11=TIFF
  • 12=pdfprint

If log is true, the log file is returned instead of the report
• classmethod GenerateToFile(outputfile As %String, mode As %Integer = 0, log As %Boolean = 0) as %Status
Generate the report and save it to outputfile.
Choices for mode are:
  • 0 = XML
  • 1 = HTML
  • 2 = PDF
  • 3 = ToHTML Stylesheet
  • 4 = ToXSLFO Stylesheet
  • 5 = XSD Schema
  • 6 = PrintPS
  • 7 = Excel
  • 8 = XSLFO
  • 9 = ToEXCEL
  • 10=xlsx
  • 11=TIFF
  • 12=pdfprint
  • 13=displayxlsx
  • 14=fo2pdf
  • 15=foandpdf

If log is true, the log file is returned instead of the report This is a class method wrapper for the GenerateReport method provided for convenience.
• method GetTempFileName(ext, isFileBeingPrinted, async, suffix="", Here=0, pMode="")
• classmethod OnAfterCreateDisplay()
• classmethod OnPage() as %Status
Render the contents of this ZEN report.
• classmethod OnPreHTTP() as %Boolean
PreHTTP handler. Sets content-type and content-dispositon depending on $MODE and $LOG
• method Purge(filename)
• classmethod TestPDFGeneration() as %Status
• classmethod ToExcelDate(horlog)
convenience method for converting an horlog to an Excel date
• method UnLock(filename)


Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.