Skip Navigation LinksALVAO 10.2ALVAO Asset ManagementSystem Implementation in an OrganizationCustom Edits and ExtensionsPrint Reports Skip Navigation Links. Skip Navigation Links Skip Navigation Links.

Print Reports

This chapter describes the techniques to create standard print reports. ALVAO Asset Management is open in therms of print reports, i.e. users can edit the standard print reports and create new ones. The program properties described in this and related chapters may change in the future. The following sections assume that the readers are familiar with HTML, XML, and XSL.

ALVAO Asset Management creates output print reports as HTML documents. Microsoft Internet Explorer is then used to view and print the reports.

Follow these steps to create a print report:

  1. Go to the Objects tree and select the object to print.
  2. Go to the File menu and select - Print.
  3. A window opens where you can select the print report, i.e. where you can select a file with the REP, RP2 or EPQ file extension. EPQ files contain saved queries. These are not described in this chapter. The REP files are basic print report files. Each file defines one print report type, e.g. Asset Card, in other words it defines the Asset Card print report.

Further processing follows the scheme below:

Processing Print Reports

The system generates a working XML file which describes the object selected by the user for print. The level of detail of the information saved in the XML file depends on the settings saved in the REP file. The REP file further contains the print report HTML document name which will be displayed in MS Internet Explorer once the macros have been replaced with values.

The HTML document can use the following macros:

Macro Description
%HTMLPATH% Absolute path to the HTML document on the hard drive.

For example, if the style.css style sheet is saved in the same folder as the HTML file, you can use the following syntax to load it:

<link rel="stylesheet" href="%HTMLPATH%\style.css">
%XMLPATH_C% The working XML file name and path in the format which can be used in javascript.

REP Files

The files with the REP file extension are text files which contains the definition for the output print report.

A REP file contains several lines with the following syntax:




Variable Description
VERSION Determines the print report format version. This variable must be on the first line in the REP file and its value must always be XMLReport1.
TYPE The value of this variable specifies special processes used to generate the XML file which is the data source for the print report.

Value Description
Null If the default value Null is used, the XML file will only contain the object (including all child objects) selected in the Objects tree for the creation of the print report.
Transfer Inner Print report of the "internal handover protocol" type.
Transfer Inner Summary Print report of the "internal handover protocol, cumulative" type. It can only be used for User type objects.
Transfer Outer Print report of the "external handover protocol" type.
SEQUENCE Name of the numeric sequence used for generating the "Handover protocol" type print report document number. E.g.: "Lend".
Note: If this value is blank, the "Handover protocols" system sequence will be used for the internal handover protocol. For external handover protocols no sequence will be used.
HTML The HTML document file name to be used as the default file to display the print report. The file name uses a relative path to the REP file. If the HTML file is saved in the same folder as the REP file, providing the file name will be fully sufficient.
FLAGS The value can be an empty string (e.g. "FLAGS=") or a list of comma-separated values explained below, e.g. "FLAGS=children,ownprop,inheritedprop". Each list item enables certain information to be saved in the XML file. The list of items is provided in the following table:

Item Description
notice notes for objects (<noticelist> element), only the records which have not been deleted (hidden) in the Log.
history object history (<historylist> element), only the records which have not been deleted (hidden) in the Log.
children child objects (element <nodelist>)
responsibility New subtrees are generated under User type objects. They contain objects whose "Person responsible for asset" property has the value of the user's object.
ownprop native properties (element <prop> in <proplist>)
inheritedprop inherited properties (element <prop> in <proplist>)
owninfo element <own>1</own> for native properties
inhritedinfo element <inherited>1</inherited> for inherited properties
specialinfo element <special>1</special> for special properties (properties for internal use during remote data collection etc.)

Example of the Asset Card file:


XML Files

This section describes the XML file structure which will be used to create the print report. The file contains an image of the object (including all child objects) over which the print report is created (i.e. the object selected in the Objects tree). The decision as to which elements will be contained in the XML file and which will not depends on the settings of the FLAGS item in the REP file.

XML file format (DTD):

<!ENTITY ONE "1"> <!ELEMENT report (node*)> <!ELEMENT node (name, icon, proplist?, responsiblefor?, noticelist?, historylist?, nodelist?)> <!ELEMENT name (#PCDATA)> <!ELEMENT path (#PCDATA)> <!ELEMENT icon (#PCDATA)> <!ELEMENT proplist (prop*)> <!ELEMENT noticelist (notice*)> <!ELEMENT historylist (history*)> <!ELEMENT nodelist (node*)> <!ELEMENT prop (value, kind, own?, inherited?, special?)> <!ELEMENT value (#PCDATA)> <!ELEMENT kind (#PCDATA)> <!ELEMENT own (&ONE;)> <!ELEMENT inherited (&ONE;)> <!ELEMENT special (&ONE;)> <!ELEMENT notice (date, desc, user)> <!ELEMENT date (#PCDATA)> <!ELEMENT desc (#PCDATA)> <!ELEMENT user (#PCDATA)> <!ELEMENT history (date, desc, user)>

Explanation of elements:

Element Description
node Object
path path to object in the objects tree
prop Property
notice note to object
history history record
nodelist list of child objects

Print Reports Customization

Add corporate logo to print report header

Go to the Csy\Reports folder and replace the file logo.gif with the file that you wish to print in the header of each print report. The maximum image height should be no more than 100 px.


If you display the print report on the screen, the logo will be hidden. It will only be displayed in the print page preview.

Add software usage disclaimer in the Handover Protocol

Open the file Internal handover protocol differential.xsl and find the "Disclaimer text" string. Insert your custom text in HTML behind the note.

Changing the page margins or page number display and the total number of pages

  1. Create a new empty document in MS Word and set the required properties in the document (e.g. print margin size, text/logo in header, page number, total number of pages).
  2. Save the document to a file named "PrintTemplate.docx" and copy the file to the folder where AM Console is installed.
  3. This print template will be then used for all print reports.

RP2 Print Reports

Asset Management supports RP2 (Report v2) print reports which use the Active Script Template format. This enables users to create print reports quickly and without the knowledge of XSL. The RP2 print report consists of a single HTML file generated in UTF-16 (Unicode). The file must contain an identification header: refer to the print report sample below.

Parameters available for the script:

Parameter Description
ConnectionString The database connection string.
iNodeId ID of the object currently selected in the tree.
iPersonId ID of the user logged in to the AM Console

Sample print report in the RP2 format:

<!--ALVAO.Report2--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Sample Print Report</title> <style type="text/css"></style> </head> <body> <% Set con = CreateObject("ADODB.Connection") con.Open param("ConnectionString") sql = "select * from tblNode where intNodeId=" & param("iNodeId") Set rs = CreateObject("ADODB.Recordset") rs.Open sql,con If Not rs.EOF Then %> <table cellpadding="0" cellspacing="0" width="100%"> <tr> <td>Object selected in the tree</td> <td><%WriteHtml(rs("txtName").Value)%></td> </tr> <tr> <td>Logged-in user's ID</td> <td><%WriteHtml(param("iPersonId"))%></td> </tr> <% End If rs.Close %> </body> </html>


Did not find what you were looking for? Ask our technical support team.