You are on page 1of 95

ADVANTAGE SOFTWARE FACTORY

NextReports

User Guide
Version 8.1

NEXTREPORTS

User Guide

 Advantage Software Factory
169 Calea Floreasca 6th floor, Sect. 1, Bucharest, Romania
www.next-reports.com
www.asf.ro
next_support@asf.ro
Phone +40 21 242.87.20 • Fax +40 21 242.87.22

Table of contents
1. Introduction ...................................................................................................................................1
1.1. What is NextReports ...........................................................................................................1
1.2. System Requirements..........................................................................................................2
1.3. Conventions ........................................................................................................................2
2. Installation .....................................................................................................................................3
3. Usage ..............................................................................................................................................7
3.1. Menu Bar ............................................................................................................................9
3.2. Shortcuts Bar .....................................................................................................................15
3.3. Object Explorer Panel .......................................................................................................16
3.4. Data Sources .....................................................................................................................21
3.5. Parameters .........................................................................................................................25
3.5.1. Create a new parameter ............................................................................................... 25
3.5.2. Add an existing parameter .......................................................................................... 29
3.5.3. Runtime values............................................................................................................ 30
3.5.4. Dependent parameters ................................................................................................. 31
3.5.5. Parameters with “ALL” value ..................................................................................... 32
3.5.6. Special __USER__ Parameter .................................................................................... 32
3.6. Query Designer .................................................................................................................34
3.7. Query Editor......................................................................................................................37
3.8. SQL Log Panel ..................................................................................................................40
3.9. Status Bar ..........................................................................................................................41
3.10. Report and Chart creation ...............................................................................................41
3.11. Wizard .............................................................................................................................42
3.12. Report Layout .................................................................................................................51
3.13. Alarm Reports .................................................................................................................68
3.14. Indicator Reports .............................................................................................................70
3.15. Display Reports ...............................................................................................................71
3.16. Report Templates ............................................................................................................73
3.17. Chart Layout ...................................................................................................................74
3.18. Publish & Download .......................................................................................................80
4. Advanced Topics .........................................................................................................................82
4.1. Internal Structure ..............................................................................................................82
4.2. Configuration ....................................................................................................................83
4.3. Adding support for your language ....................................................................................87
4.4. Adding support for other JDBC driver .............................................................................88
4.5. Annex ................................................................................................................................91

reports and charts on some data sets from a database. In next step.1 Chapter 1. text-csv.Usage.Usage. (See chapter 3. Editor Section and Designer Section). excel-xlsx. rtf. (See chapter 3. This query can be written directly inside an editor for those users which are accustomed to SQL language. 1. This layout specifies every element’s position inside the report. 1 . Briefly.Usage Report Layout Section). The report can be exported in one of the NextReports supported formats (pdf. docx. Data Sources Section). tsv. foreground color. web-html. What is NextReports NextReports is a free software application which allows creating sql queries. excel-xsl. borders and so on. xml and txt). or can be designed using the NextReports designer. font style. padding. A user creates a sql query which can contain or not some parameters.1. Introduction This paper describes the installation process and the usage of NextReports software application. To read about how to use it you can go directly to chapter 3 Usage. the properties – font. the user creates report layout. Next image shows the general process of report or chart creation. pattern. NextReports application connects to a database through a jdbc driver (see chapter 3. background color.

ATTENTION This shows that you can obtain unexpected results if you do not follow the instructions. Italics Text written in italics is changeable and must be replaced with something specific indicated in the explanation.3. Bold Text written in bold is used to show something of importance. then select Save option. Sun Solaris. web sites). The chart can be previewed inside NextReports designer application. System Requirements NextReports Application can run on any platform which supports Java 6 (See chapter 2. X and Y axis columns.Introduction User can also create a chart layout selecting chart type. On Linux a Window Manager (KDE. fixed font Text written in fixed font is used to show the characters that must be entered. but its main purpose is to be published to a NextReports server where it can be viewed in real-time. (See chapter 3. Windows 95. to indicate menu names and graphic components inside an application frame. File > Save This shows a menu selection. select File menu. For example. Windows Vista.Installation). It was not tested on Mac OS.2.12. It was successfully tested on Windows 2000. Report Layout). 1. legends. Conventions Some conventions used in this paper. the messages that the system returns. Gnome) must be installed. Linux (Ubuntu). Italics style can be used to emphasize some words or to make some reference on other documents (books. Windows ME but it should run without problems on these operating systems. pattern and many other properties. 2 . 1. Windows 7.Usage Chart Layout Section) or to be inserted inside a report (See 3. Windows XP. colors. default values or file names.

If a version of NextReports is already installed.sh extensions (see next image from installation process). Installation NextReports application can be downloaded from http://www. The selected NextReports file for download must be chosen depending on the user operating system and on the version of java installed on the computer. For any other operating system there is a generic installation file with .exe or .zip extension. you can run Help -> Check for update action which will do the download process automatically.com .next-reports. 3 . files with . For Windows and Linux there are native installers.2 Chapter 2.

This means that you do not have the required java version installed on the computer and you must choose for download a setup file with JVM inside (for example next-reports-setup-3. you have to unzip the archive to a folder. If the version is newer than 1. after selecting the installation folder.Installation To test the existence of JVM (Java Virtual Machine) on your computer.exe for Windows users). mixed mode. 4 . and run the corresponding operating system file: run.6.sh.6.exe for Windows users) After the setup file was downloaded. user has to select the http port used by NextReports application to preview charts.6.0_21" Java(TM) SE Runtime Environment (build 1. you can execute it directly to install NextReports on the computer. If it is a generic installation file with .4.bat or run.0 or if you receive the following message: java: Command not found.0_21-b07) Java HotSpot(TM) Client VM (build 17.zip extension.4-jre. if it is a native installer for Windows or Linux. you have to open a command line terminal (a DOS prompt in Windows or a shell in UNIX) and to enter the following command: java -version You will see a text like the following: java version "1. For native installers. If you have a version older than 1.0-b17. sharing) This will show that there is a JVM installed on the computer.0 you can download an installation file which does not contain the JVM (and is smaller because of that) (for example next-reports-setup-3.6.

Last step will confirm that installation was successful and will allow starting the application. Then.Installation User can check to see it the default http port is free. 5 . If it is. a green background will be shown and we can move to the next step. the start menu folder is selected and the installation process is started.

generated files.nextreports-<ver> folder is kept intact when NextReports designer is uninstalled. schemas.2.3. charts. all user data like saved data sources. 6 . logs are kept inside user home folder in a location . If you will want to import data from a previous version you will have to select this folder for any version greater or equal than 5. queries. reports.3 version. or the installation folder for any version less or equal than 5. templates.nextreports-<ver> where <ver> is the version of NextReports designer. .Installation ATTENTION Starting with 5.

7 . the installer contains a Demo database (a Derby embedded database) with a sql query and a report.com which show the basic functionalities of NextReports application. Usage To help for an easy understanding of NextReports usage.next-reports. There are also some online tutorials at http://www. Next image shows the main frame of the application.3 Chapter 3.

A query can be created in two ways. through drag-and-drop and selection actions without the need of knowing SQL language.Usage Right away after the NextReports is started. borders and so on. docx. the way that it will show through font. or as an image. font. The second way is writing the query inside the NextReports editor using SQL language (6). we will present every zone from the application. pdf. The report is saved in a file with . meaning the browser will be opened with a HTML5 / flash object. the generated file will contain the chart as an image. When the chart is added on the server inside a dashboard. Next. axis columns and all the properties that define the mode it will look like colors. format. 8 . A report is constructed on a sql query by specifying a layout. The vertical order of the two panels can be changed by drag-and-drop with the mouse.query extension. (See Report Layout section) A chart is constructed on a sql query by specifying a layout with it’s type. the main frame will show the chart layout perspective where the user can modify the properties. When a chart is inserted inside a report. excel xls and xlsx. we must keep the SHIFT key pressed when we select it with the mouse. padding.chart extension. If only one of the panels is visible. legends. colors. to make the second one visible and keeping also the first.report extension. The report can be exported in one of the following NextReports supported formats: html. it is shown in real time as html5 / flash. By clicking left mouse button on those. After a chart creation. inside the main frame we can see the following zones: - Menu Bar (1) Shortcuts Bar (2) Object Explorer Panel (3) Parameters Panel (4) Query Designer (5) Query Editor (6) Sql Log Panel (7) Status Bar (8) This window represents the query perspective. csv. Charts can be previewed as HTML5 / flash. After a report creation. the place where the user creates the sql query. A chart is saved in a file with . On the left side of the main frame for query perspective there are two tabs: one for the object explorer panel and one for the parameters panel. (See Chart Layout section). tsv. A query represents a select on a data set from a data source. The first way is using the graphic designer (5). xml or txt. the main frame will show the report layout perspective where the user can modify the properties of all report layout elements. rtf. we can select / unselect if the tabs are shown or not. saved inside a file with .

Usage 3. creates a new report from the current loaded query creates a new report from a selected query. so that the user can start from beginning to create a new query. creates a new chart from the current loaded query a new chart from a selected query. Help). Menu Bar Menu Bar contains the NextReports actions thematically grouped (File. Every action has a tooltip which shows simple information about its purpose. Perspective. 9 . File menu contains general actions for creation. open and save entities. Next we will briefly describe all File menu actions: New menu has the following actions : - Data Source… allows the addition of new data sources inside the application - Query - Report - Report From Query … - Chart - Chart From Query … creates cleans the designer panel and the editor.1. Tools.

opens a report previously created by NextReports. - Report … imports a report generated by a NextReports application for the connected data source. Such a file can be send to another NextReports user (by email for example) and the user can import that file and use the new data sources. the new data source will contain at the end the date when it was added. opens the parent report of the current one menu contains : - Data Sources … allows the import of one or more data sources from an xml file created through an export action. If there is a data source with that name inside the application. opens a chart previously created by NextReports. Export - menu contains : Export Data Sources … allows the export of one or more data sources to an xml file. to keep the name unique.Usage Open menu contains: - Query … opens - Report - Chart - Return to Parent Report Import a query created previously by NextReports. 10 . - Chart … imports a chart generated by a NextReports application for the connected data source. - Query… imports a new query created by a NextReports application for the connected data source.

followed by a “Remove favorites” action: Favorites When a favorite entry is clicked. the user will be notified and asked if he wants to save the current document.Usage ATTENTION Even the database password is encrypted. If a query or a report is opened. we recommend using some safe ways to transfer the exported xml file. menu contains all favorite entities (reports and charts) that were added as favorites. - Publish… - Download… - View SQL allows this action publishes the current report/chart to a NextReports server this action downloads the selected report/chart from a NextReports server viewing the sql query from the selected query/report/chart without loading the entity. 11 . the action will be executed on the opened document. The same action is done by clicking the close button (on top right) of the main frame. NextReports will automatically connect to favorite data source and the favorite entity (report or chart) will be loaded inside designer. contains the following actions : - Wizard … this action starts the wizard of report/chart creation (see Wizard Section). Perspective menu contains the following actions : - Query allows - Layout allows Tools menu the visualization of query perspective. the visualization of layout (report or chart) perspective. saves the current opened query/report/chart. Save Save As… saves the current opened query/report/chart to a new file Exit this action will allow to close the application. If the query/report/chart was loaded or previously saved.

to backup all the configuration data and all generated data to a zip archive. queries. It is enabled only when a report is opened. reports) will be lost. applies a template to the current loaded report (See Template Section). Because of that. a report template (See Template Section). it is recommended to make a Backup before any Restore. existing NextReports structure (configuration files. data sources. the template from the current loaded report(See Template Section) . schemas. reports and charts from an older version of NextReports 12 . It is recommended to make backups periodically to keep your data safe. It is enabled only when a report is opened. restoring data from a zip archive file created previously through a backup action.Usage - Templates menu contains : - Create Template creates - Modify Template … modifies - Apply Template … - Extract Template extract - Backup … allows - Restore … allows a new report template (See Template Section). - Import … allows importing data sources and all queries. ATTENTION On every restore.

On the server side. query timeout. A4 limit warning. html accessibility. and this is the language used at run time inside designer. 13 . See installation chapter for what folder to select. fonts folders. csv delimiter. ruler visibility and ruler measure unit) - Reset Layout - Internationalization allows to restore the initial layout of the application frame menu is active only when a report or a chart is loaded. This action allows internationalizing text from report /chart. One language must be set as default. if that language is not found between report’s defined languages. the report will be run with the Locale language (set from settings) or.0. - Settings allows to modify NextReports configuration properties (like connection timeout. oracle client folder. the languages and enters the values of those keys for every language. User defines some keys. with report default language.Usage ATTENTION This operation can be performed for older versions of NextReports starting with 2.

Help menu contains some general actions. description. - Tutorial opens the browser to see online tutorial movies. keys can be used for title. ATTENTION If some keys are used inside expressions. after installation. the actual text must be @@title@@ . viewing application information 14 .Usage To use a key inside report layout. For charts. English and French. Next we will briefly describe all Help menu actions: - Check for update allows searching for a new NextReports version. it has to be embraced by @@ markup. - Manual opens the browser to see online manual - Quick Start shows - About Next-Reports allows the startup panel. For reports. By default. internationalization is applied after those expressions are evaluated. Keeping the checkbox ‘Show at startup’ checked will make this panel to be visible at every startup. user can enter keys inside cell’s pattern properties. - Language menu contains actions for changing the current language used in application. legends. As an example if user has a key named title and he wants to use it as report title inside a text cell. You can choose between Romanian. besides static text. tooltips and parameters runtime names. the application starts in English. This allows for internationalizing fields from database using expressions like “@@” + $C_<column> + “@@” . expressions and parameters runtime names.

If a report or a chart is opened. Shortcuts Bar In this place we can find shortcuts for some actions from the menu bar. If edit chart or edit report actions from inside another report are used « Return to Parent Report » becomes enabled and shows the name of the parent report. « Open Layout Perspective » action is disabled. 15 .Usage 3.2. Here there are in the following order actions from NextReports menus: - New Query Save - Wizard Publish - Open Query Perspective Open Layout Perspective - Return to parent report If a query is opened. See previous section Menu Bar for more explanations. « Open Layout Perspective » is enabled.

We can execute different actions on the nodes from the explorer panel. on a data source node by a mouse right click we can do one of the following: 16 . The connected data source will be shown in the explorer with and its name will be printed in the left corner of the status bar. Object Explorer Panel “Explorer” Panel contains hierarchically the following types of objects: - data sources (1) database schemas (2) database tables (3) database views (4) database procedures (5) queries (6) reports (7) charts (8) folders (9) Inside the menu bar there are the following actions: - Refresh reloads the queries and reports nodes for the connected data source Expand all expands all explorer nodes Collapse all collapses all explorer nodes NextReports application can contain any number of data sources. but only one is active (connected) at a time.3. For example.Usage 3.

meaning a report can be created from it.Usage Depending on the status of the data source (connected or not) some actions are active or inactive. View and Schemas but there are inactive Connect. For a disconnected data source only the action Disconnect is inactive. are foreign keys and those marked by For a database procedure object the following actions can be done: - View Columns Info: this is similar to column information for tables and views Validate Procedure: this action will test if the selected procedure is a valid procedure for NextReports. those marked by are indexed columns. For example. Edit. Delete. A panel like the next will be shown: Columns marked by are primary keys. meaning all procedures from the connected database will be tested for validation. For a database table or view we can see the column information by double-clicking on the selected object or by mouse right click and selecting View. if the data source is connected we can do the following actions Disconnect. (see QueryEditor section for more information) ‘Validate Procedure’ action can be called also on ‘Procedures’ node from explorer. 17 .

Usage For Tables. This pattern is useful when database contains thousands of tables. For a query object with mouse right click we can see the following actions: - Open Query New Report From Query … New Chart From Query… Delete Query Rename Query Export Query … Validate Sql : informs user if selected query has a valid sql (an sql which can run without errors) If there is at least an invalid sql. views or procedures and you know what entities you want to use by their names. a message will show the user the corresponding error. An empty or % pattern means all values. For a report object with mouse right click we can see the following actions: - Open Report Delete Report Rename Report 18 . This pattern is kept only for the database connection lifetime and it is used by the tree when nodes are expanded. user is allowed to do a bulk replacement on all invalid entities. If there are modified table names or column names. Views and Procedures group nodes there is also a ‘Name Pattern’ action. Replace process is case sensitive. By selecting a pattern the time to load entities will be significantly slower.

In addition we can import queries. docx. report or chart is opened the relative path can be seen in the main title bar. 19 . xml. Reports and Charts nodes. excel xls and xlsx.Usage - Export Report Run Report (to html. rtf. Reports and Charts root objects we can also Add folder . tsv. We can add. csv. delete . For Queries. txt) without open it Publish Report to a NextReports server Validate Sql : informs user if selected report has a valid sql (an sql which can run without errors) Add to favorites: report will be accessible from Favorites Menu For a chart object the following actions are possible: - Open Chart Delete Chart Rename Chart Export Chart HTML5 Preview Chart without open it Flash Preview Chart without open it Image Preview Chart without open it Publish Chart to a NextReports server Validate Sql : informs user if selected chart has a valid sql (an sql which can run without errors) Add to favorites: chart will be accessible from Favorites Menu When a query. reports or charts generated by another NextReports application by mouse right clicking on the Queries. pdf. Such objects are physical folders on disk.

report. From explorer tree we can also perform some bulk actions like Publish or Download. Validate Sql action can be done on Queries. NextReports allows for drag & drop queries. The Download action from menu bar allows selecting only one report / file and. reports or charts found under that node will be tested for validation. When reports root. If reports or charts root is selected. 20 .Usage rename folders and import a query. charts and folders to any other folder from the explorer. Reports and Charts nodes or on any folder inside these. A simple drag & drop will move the object. reports. A drag & drop with CTRL pressed will copy the object. All selected reports / charts from server will be downloaded to the selected folder. data source are stored locally and reused when we publish again the same report / chart. in addition to bulk download. The difference between this action and the Publish action for a single report / chart is that when we have only a report. information like server path. the nodes will have their icons drawn with a warning bullet. allows saving it with another name. we can select Publish action to publish to server a set of reports / charts. If some sqls are invalid. charts root or any folder is selected we can perform a bulk Download action. chart from an external source. This means sqls from all queries.

. Firebird.. CsvJDBC. The user can select one of the following types: NextReports Server. Data Sources To be able to create a query or a report. NextReports application can contain any number of data sources. Pervasive. SQLite.MySQL.4. Oracle-Tns Name. Oracle-Service. Next information is needed to create a new data source (see next image) : field (1) is mandatory and represents the data source name. Oracle. Derby Embedded. In folder <NEXTREPORTS_HOME>\lib (where <NEXTREPORTS_HOME> is the NextReports installation folder) there are some jdbc drivers that are installed by the application.. but only one is active (connected) at a time. Type Driver field (3) is mandatory and represents the name of the driver java class. 21 .Usage 3. MSSQL Server. There cannot be two data sources with the same name inside NextReports application. To create a data source select File > Add Data Source … from the menu bar or with mouse right click on Connections node and select Add Data Source . from Explorer panel. A different jdbc driver is needed for any type of database. Vertica. Such a driver is a software component (a file with jar extension) which allows to a java application to interact with the database. To connect to a database we need a jdbc driver. you need a data source. Name field (2) is the type of the database to which we will connect.

driver name. After a data source creation only the default schema is visible. and also the nodes Queries and Reports where all created queries and reports will be found. firewall (if necessary). In the case of error. the connection to it will be done automatically (if it is checked). For connection creation there is a timeout specified in application settings. If the user wants to work on other schemas. under the data source node will appear the visible schemas with tables and views. the new schemas will be visible in the object explorer panel. It just informs the user. before saving the data source. 22 . User field (5) is the name of the user used to connect to the database. These values (database parameters) can be easily modified by clicking the button from the right of url field. driver version. After creation of a data source we can connect to it (mouse right click on the data source node and select Connect from the shown popup menu). If the connection is valid.Usage field (4) is mandatory and represents the information needed to locate the database to which we want to connect. that after data source creation / modification. Password field (6) is the password used to connect to the database. After connection is made . (7) is not a persistent field. these can be selected from the popup menu of the explorer panel . you have to verify the fields entered and to verify the physical connection with the computer where the database is stored – network. URL Every jdbc driver has a standard format for this field. in the object explorer panel. The format is printed in bold under field (4) – for example mysql has the following format jdbc:mysql://<ip>:<port>/<database> where the information between < and > will be replaced with particular values. If that timeout expires a TimeoutException will be shown. it is useful to test the connection to the database by clicking the button Test. After selection. Auto connect after save After all the fields are entered. then we will see some information about the database in the zone Status (8) like the database type. Schemas option. If the connection is invalid and cannot be established an error message will be printed in (8). The data source can be saved by clicking the button Save and after that it will be shown in the object explorer panel under the Connections node. database version.

Usage
Csv JDBC driver
NextReports contains a special JDBC driver which allows to connect to CSV files. To create a CSV
data source, user has to select such driver:

Data source url contains the directory path where csv files are found. For CSV data sources user
can edit driver properties:

User must choose the file extension and the separator character. Other properties are not
mandatory. If CSV file contains on the first row the column names separated by comma, then
nothing else has to be chosen. If CSV file does not contain column names, then user has to select
suppress headers property and must enter their names (separated by comma) inside column
23

Usage
names property. User can also select the types for columns. By default they are all String. User can
choose between String, Int, Double, Boolean and Date.
ATENTION Generally, a CSV data source will be associated with a single CSV file, especially
in case of editing column names and their types. Column names must not be selected from
SQL function names (SUM, AVG, MIN, MAX, COUNT, LOWER, UPPER, ROUND). A
query can be done on a single CSV file (there is not possible to create JOINS between two or
more CSV files).

‘NextReports Server’ special driver
Some customers do not want to allow access to their databases from outside. In that case, you can
obtain access using NextReports Server. NextReports Server must be installed on a machine inside
customer’s network. In designer we can define a data source with ‘NextReports Server’ driver type.
To edit the url for this kind of driver, you have to enter user and password used to connect to
server. Url contains a NextReports Server and a data source which is selected from existing data
sources on the server.

24

Usage

3.5. Parameters
Sometimes the data set must be filtered when you want to create a sql query or a report. This can be
done inside NextReports by using parameters.
Parameters can be managed in the panel with the same name. Here we can add new parameters, we
can modify parameters, we can delete them or we can change the order in which they will appear at
query/ report runtime (1).

The navigation inside the panel can be done with the ↑ (up) and ↓ (down) keys.
To modify a parameter, select the parameter in the panel and press ENTER key (or double-click or
press the button
from the toolbar). A panel like the one shown when you add a parameter will
be shown on the screen.
It is possible to clone a parameter using
action. A new parameter with the same properties as the
selected one, but with the name appended with ’_c’, will be created.
To delete a parameter, select the parameter in the panel and press DELETE key (or press
the toolbar).

from

To modify the order in which parameters are shown at query or report runtime, select the parameter
in the panel and use one of the following actions ,
from the toolbar.

3.5.1. Create a new parameter
To add a new parameter, press the button . A new panel with information that defines the
parameter will be shown. (see next images). The General tab contains:
field (1) is mandatory and cannot contain spaces. There cannot be two parameters with the
same name inside a query or report. Inside the query, the parameter will appear like ${name} and it
will be substituted at runtime with the value(s) selected by the user.
Name

Runtime name (2)

is the name that user will see when the query or the report is executed.

25

26 . In this case a panel like the following will be shown on the screen. Source If you want that a parameter to take its values from database table (view) column. If nothing is specified .Usage field (3) represents the source of data used to get the possible values for the parameter at runtime. the user can enter any value at query runtime. (a text field component). then click the button .

Technically we may say that the parameter has pairs of Id-Name values. the values are ordered after id. If both expressions are present in the select. <expr2> FROM …” will be allowed. <expr2> is optional. Single means the user will select only a value. Mandatory Description field (7) is optional. situation previously described. String. 27 . field(5) can be Single or Multiple and represents the selection mode of parameter at runtime. In case of source selection (3) the parameter type will be automatically selected by the application and the user will not be allowed to modify it. There are some cases when the user wants inside the query to use as a parameter value as an id. The user can select the desired column from second column. where <expr1> represents the id column and <expr2> is the name column selected when button is clicked. If a parameter must take its values from a query then the button sql editor will appear on the screen. the values returned by query can be ordered by id or by name. If you want to delete the source of parameter values . Float. Time. Date. The following values are allowed: Integer. Short. but in the runtime panel to be shown to enter an associated name (because he does not know the id value). Here the user can enter a parameter description. Default value is String (text). Boolean. in the columns two and three will be seen all the columns of that table (view). must be used. If only <expr1> is present. Byte. you can click the button Type . Selection field (6) specify if the selection/introduction of a parameter value is mandatory at runtime. A panel with a Any SQL query of type “SELECT <expr1>. Double. Object. If this checkbox is selected and at runtime the user does not enter a value for the parameter. In the first one (from left to right) there are all the tables and views in the selected data source for the schema that is selected above. Timestamp.Usage There are three columns. a message that informs the user about this situation will be shown and the query / report is not executed. When a table or view is selected in the first column. Multiple means the user can select one or more values. Long. In such a case the user must select from the second column the id column and from the third column the name column. field (4) represents the data type of parameter.

those values will be selected at runtime. you can edit the source with “select sysdate from dual” for Oracle data source. Used field (1) shows if the parameter is used by a stored procedure. For example if you need a hidden parameter that is substituted at every run with the current date. Those values can be added by hand to a list (2) or can be taken from an sql source (3) .Usage The ‘Default‘ tab contains the default values the parameter can take. If parameter is checked as hidden (1) the parameter will not be seen at runtime. The ‘Procedure’ tab contains properties for stored procedure support. For current date you do not have to know the format of the select for the data source. and it’s values will be compute and set at the moment the query is executed. (see Query Editor section) field (2) is the value that the procedure used internally to exit as fast as possible making the process of finding the return columns faster. (see Query Editor section) Preview value 28 . If the parameter has default values. because a template button inside the source dialog will auto complete that value.

Add an existing parameter To add an already created parameter you can use the shown. 29 button from toolbar.5. A new dialog will be .Usage 3.2.

if their data type is Boolean they will appear as a checkbox. you have to select a query. By double-clicking on a parameter. as an example. Their values will be entered by the user. the parameters will be shown as a text field. the runtime parameters panel with the values that those parameters can take.5.Usage First. the parameter with Runtime name Start Date is of type Date and because of that the start date it will be selected from a DatePicker calendar component. For example. If their data type is Date they will appear as a calendar. user can add to a list more values. Runtime values Next image shows. Mandatory parameters will be identified in the runtime panel if they have the character * before their name.3. The parameters that take their values from a database and have Single selection will be shown as a combobox through which only a value can be selected. it is possible to add more of them at once by using semicolon delimiters. report or chart. it is not possible to add more values at once because the component used is a calendar not a text field. you have to select them and click Ok. Those who have Multiple selection will be shown as a dual list through which any number of values can be selected. If values are strings or numbers. Also. If values are dates. the list of parameters will be shown on the right. After you decide what parameters you want to add to your new report. can have Single or Multiple selection. we notice that the parameter with Runtime name Name was declared as a parameter which takes its values from a table / view column and its Selection is of type Multiple (more values allowed at runtime). For multiple selection type. For single selection type. For all other data types. With CTRL-A we can select all the values from a list. The parameters that do not take their values from database. 3. 30 . On selection. a parameter information dialog will appear were you can see its properties.

employeeid = e.5. employee e where t. 31 .4. Example: select distinct t. there is the possibility to use inside that query another parameter which will be specified between the tags ${ and }. The parameter defined this way is dependent on the parameter(s) used inside the query.employeeid.projectid in ${Project} This query is valid only if a parameter with the name Project was defined.name from timesheet t.employeeid and t.Usage 3. Dependent parameters If a parameter takes its values from a query . e. At runtime a parameter dependent on another parameters will have its values loaded only after all parameters it depends on are selected by the user.

If you create your query with Query Editor you will use the parameter as any other like this: 32 .6.ALL --' from dual - interpret the “All” value id in the sql where clause Example: and (${CLIENT_NAME} = ce. Select client_id.employeeid. then null will be passed as its value. e. employee e where t. Query Designer chapter. If we use equality inside the query .5. this parameter must be defined as hidden.Usage ATTENTION The selection type of the parameter used inside the query must be related to the operator used before it in the query. The name is specified as –ALL— to appear the first in parameter value selection. 3. Example: manual source for CLIENT_NAME parameter. and no value is entered for it at runtime. NextReports Server will know about this parameter and it will fill its value with the current logged user name.projectid = ${Project} Project parameter must be defined with Single selection type. Because you do not want the logged user to change the value of the parameter.5. Parameters with “ALL” value If a parameter is not mandatory.6. You have to use this parameter in your query or inside another not-hidden parameter. you must use an id (not used in database). for example : select distinct t.5. To accomplish this task you will have to define in your report or chart a special parameter with name __USER__ (it has two underscores in front and two at the end).name from timesheet t. For the previous example the selection is Multiple. Also this parameter has Type = String and Selection = Single. To simulate an “ALL” value you have to do two things : - in parameter manual source you have to add the “All” value .client_id or ${CLIENT_NAME} = -100) 3. Special __USER__ Parameter Sometimes your reports and charts used on server must show filtered data for current logged user.employeeid and t.employeeid = e.'-. To use it inside the query see 3. name from clients UNION Select -100.

WHERE USER_NAME = ${__USER__} ….user_name = ${__USER__} ATTENTION To be able to run the query from the designer you have to put a default value or a default source for __USER__ parameter. 33 .Usage ….. users u where p.project_manager_id = u. In this case. (Keep in mind that its value is set on the server!). For example think about a not-hidden parameter PROJECT to show all the projects to which the current logged user is their project manager. the PROJECT parameter must have a source to filter data like in the following example: select project_id from projects p..user_id and u. There is also the possibility to use __USER__ parameter inside the source of other parameter and to not use it at all inside the main query.

The run action will move the user to the editor panel to see the results. Query Designer To create a query there is the possibility of using a designer.Usage 3. This button is shown only if the both scrolls are visible. By selecting it. From designer toolbar the user can specify if the query select is distinct or not. After column selection. The user selects a column in one table and then drag the mouse to a column in the other table. Between two tables the user can create joins in two ways. in the table beneath (criteria panel) will appear some rows. On every key (primary or foreign key) from a table with the mouse right button a popup menu with this option is shown. Another possibility is that of Auto-Join. can add a group.6. After the connection to a data source is opened. the application will search automatically all the columns in other 34 . In the bottom right corner of the designer panel there is a button through which the user can select what to see in the designer (rectangle selection) without using the scrolls. can clean the designer and can run the query. an user can add the tables and the views needed by the query in the tab Query Designer through drag-and-drop.

if it is visible or not in the runtime result. A criteria can be added with mouse right click and by selecting from the popup menu the option Add Criteria. this join can be deleted. By clicking it the join can be modified : we can modify the operator and specify an extern join. sorting order. The criteria panel contains the selected columns. With the mouse right click on the join button . a group and a criteria. 35 .Usage tables that can be joined to the selected one. The join line has a button . Here we can specify for every column an alias. sorting type.

Usage A criteria for the selected column contains an operator and one or two values (depending on operator type). The query can be saved at any time from the Query menu from the Menu Bar or by using CTRL-S. By clicking Query Editor tab we can see the sql query generated after the design. we select the row. Such criteria will be saved under the column ‘Or’. Edit Or Criteria and Edit Expression respectively. on the top right. Also from the criteria panel. Inside criteria panel we can add also expressions with the mouse right click and selecting from the popup menu the option Add Expression. For expressions it is recommended to specify an alias . For example. The values can be entered by the user or specified by the values of some parameters. We can enter any valid expression for the used database. Delete Or Criteria and Delete Expression respectively. that is done in Oracle like this : FIRSTNAME || ' ' || LASTNAME. An expression is useful for cases in which we cannot select just a column from a table (view). User can add an ‘or criteria’ through option Add Or Criteria similar as adding a criteria. for DATA column we wish the value to be between two dates by using the BETWEEN operator and two parameters whose values will be entered at runtime. there is a button which will open a popup menu from where we can select/unselect the columns from the criteria panel and also their packed size. 36 . User can use ALT-D and ALT-E shortcuts to move between Query Designer and Query Editor tabs. an expression can be a simple concatenation of two columns with a space between them . In the criteria panel . otherwise the column name in the result will be the row number from the criteria panel. Also criterias and expressions can be deleted with the mouse right button and selecting from the popup menu the action Delete Criteria. Criterias and expressions can be modified with the mouse right button and selecting from the popup menu Edit Criteria . To move a column. the user can modify the order in which the columns appear in the query. keep SHIFT key pressed and drag-and-drop the row with the mouse. For example. The generated select will contain an OR between all simple criterias and all ‘or criterias’.

cut . If Max rows checkbox is selected . 37 . when this process starts the main window of NextReports application will be blocked . If 0 is entered all the result rows will be shown. only as many rows as entered to the text field will be shown. paste . Query Editor If the user wants to use an extern sql query or the user knows the SQL language and wishes to create a more complicated query . The query editor allows for copy. ATTENTION In this case . he will be notified by a message that the editor will be cleaned and the sql entered by hand will be lost if it was not saved yet. but through a stop button the user can stop the query or the report before it finishes. Because the process of report running can be time consuming . if the user wants to go in designer mode by clicking the Query Designer tab . search and undo. redo actions.7. The results are visible in the table beneath the editor. The last button from the toolbar will run the sql. he can write directly to the query editor.Usage 3.

38 . … . then after the run button is pressed a new panel will be shown to the user.<procedure_name>(${P1}. For a non-mandatory parameter . These can also be parameters defined for the query and will appear at runtime. ?) where ${P1}. Call a procedure Inside the sql editor the user can call a stored procedure. its name will pe preceded by the character * and the report will not run until all mandatory parameters will be selected.. The general syntax is like the following : call <schema_name>.Usage Run a query with parameters If the query contains parameters. at runtime this value will be considered null. ${Pn} are procedure ‘in’ parameters. ${Pn}. For Oracle databases this is used. For other databases. The ‘?’ parameter is the cursor output parameter. If the parameter is mandatory . . the call must not contain ‘?’ parameter. if no value is selected. Here the user can select the values from the parameters (see next image). ..

they may be checked as ‘stored procedure parameters’ and a preview value must be set for them. For parameters that are not checked as ‘stored procedure parameters’. making the column finding process as fast as possible. The user can drag and drop a procedure from the explorer panel to the query editor panel.Usage If some procedure parameters are also query parameters. the general syntax shown previously will be automatically written to the editor. This preview value is used inside the procedure business to exit as fast as possible. If the procedure is not a candidate for reporting (for example for Oracle does not have an output parameter of type cursor) a message will notify the user. a default value is used to get columns. There is a general action on Procedures node in the explorer. and a particular action on every procedure node which will validate the procedure(s). The user will have to define the parameters if any. 39 . If it is a candidate. meaning will inform the user it is a candidate for reporting.

SQL selects seen here and which contain parameters may not be the same with the select executed in database. in the configuration file of the application the property db. but they are passed correctly with their data type to the sql. meaning that the values of the parameters are shown as strings. The current log is found on disk inside the folder log where NextReports was installed and is called jdbc-spy. all the log will be loaded. For that. See NextReports Configuration Section from Chapter 4. In this panel the user can look at all the accesses and queries executed in the database and can see how long it took to execute them. 40 .Usage 3. The number of loaded lines <n> is 100 by default . the more time will be needed to load it.spy must be true. There are two possible actions: - Clear Log : clears log panel - Reload Log : reloads in the log panel the last <n> lines from the log.log . SQL Log Panel By clicking the tab Sql Log the user can see the log generated by the NextReports application with the information about the sql execution.8. ATTENTION The bigger the log is . If the number is not entered or it is 0 .

Usage 3. 41 .10. 3. Report and Chart creation A new report can be created from the current query loaded in the application from the File -> New Report menu or from a selected query from File -> New Report From Query menu. After entering this perspective. Through these actions the user is entering the report layout perspective. the actions Save and Save As become active in the menu bar in the File menu and in the shortcuts bar. In the same way a new chart can be created from the current query loaded from the File -> New Chart menu or from a selected query from File -> New Chart From Query menu. a memory garbage collection will be executed and a small report will show the memory released. User enters the chart layout perspective. Status Bar In the status bar on the left side the name of the connected data source will be printed. (See Layout Report Section). Another way to create a report or a chart is to use the NextReports wizard. By mouse double-click on the memory information. the memory used and the total memory of the application. (See Layout Chart Section). On the right side the user can see the used memory <n1> / <n2> where <n1> represents how much from the application memory is used and <n2> represents the memory that NextReports is allocated.9.

Usage

3.11. Wizard
The wizard is useful to create a report or a chart in a very short time. The wizard is accessible from
Tools -> Wizard menu or by pressing CTRL-W.

ATTENTION. If a modified and not saved query, report or chart is loaded in the application,
the user will be asked by a message to save or not the current document. If “No” is selected
the document will be lost.
The first wizard panel shows the steps that this process will follow: entity selection (report/chart),
data source selection, query creation, selection of columns visible in the report/chart , template
selection. The last step of template selection is optional and will be shown only for default report
creation. For special report types like alarms, indicators and displays another step is shown to enter
their settings.
To advance to the first step the Next button must be pressed. At any moment (step) the wizard can
be cancelled by clicking the button Cancel or we can go to the previous step, if exists, by clicking
the button Back.

42

Usage

First step is the one of entity selection. Wizard can be used to create a report or a chart.

Also, for report, user can select the type between default, table, alarm, indicator or display.
Second step is the one of data source selection.

43

Usage

The report / chart will be executed on this data source. The user can create a new data source
directly from this panel if the desired data source was not already created by clicking the button
(See Data Source Section).
After data source selection the user must press the button Next to advance to the next step.
In the next step the user selects some columns from a table or selects the query or writes the sql
query. For very simple reports/charts the user can just select some columns from a table. For more
advanced reports/charts if the query is known and was already created in NextReports , it can be
selected and the user can advance to the next step. If a new query must be created the user must
select the “Write sql” radio button and the editor will be made visible. The user must define also the
parameters used in the query. The parameters are specified between the following tags ${ and } .
Parameter definition is done in the parameters panel in the same manner when a query is created in
NextReports. (See Parameters Section)
For example, to use the parameter Project we must enter the expression ${Project} in the editor.

44

Next step is different for report or chart. 45 . For report. By default all the columns from the query are selected in the order of apparition in the sql. At least one column must be selected.Usage To advance to the next step click Next. the user selects the columns by using the buttons and and the columns order of apparition in the report by using the buttons and .

46 .Usage For chart. the user must select the columns for X and Y axis.

In the last step . the user can select a template for the report by clicking the button or selecting a template on the default templates list. 47 . user can select up to five more by clicking “More Y columns” button.Usage If there are more columns on Y axis. The user can click Finish to create the report / chart or can click Next to advance to the last step. It is possible to create a new template directly from this panel by clicking the button . (See Report Template Section) After Finish is clicked . available only for report. the user enters the report perspective or chart perspective depending the entity selected at the beginning. The new created template will be automatically selected.

Alarms.Usage If user selects a report of type alarm. User can also select a shadow for text.13. last step will show all needed settings for it. user has to also enter a message. 48 . Inside the message user can use the actual value with $C_<column_name>. user will see the layout explained in section 3. For every interval. User has to choose some formatting conditions to have different backgrounds for different values. After finish. Selected intervals must be disjunctive.

user will see the layout explained in section 3. Indicators.Usage If user selects a report of type indicator.14. 49 . user will be asked to enter settings like:        Title: small text drawn on the indicator Description: small text shown under the current value (optional) Unit: value’s unit (optional) Min value Max value Boolean flag used to show or not min / max values Boolean flag used to show or not shadow for text After finish.

user will be asked to enter settings like:     Title: display title Boolean flag used to specify if a rising value is a good thing Boolean flag used to show a shadow Different colors After finish.15.Usage If user selects a report of type display. user will see the layout explained in section 3. Displays 50 .

A cell may be empty or may contain static text. Detail: Detail rows are generated at export for every row of result obtained after the query execution. 51 .Usage 3. NextReports contains the following types of bands: - - Page Header: Page Header rows are generated for PDF. a runtime parameter. an expression. a sql columns or a function. but only if document margins are big enough. a chart. Group footer: Group footer rows are generated at export for every group of results after the detail is generated. an image. Group header: Group header rows are generated at export for every group of results before the detail is generated. DOCX and RTF files for every page of the document. Report Layout Report Layout is a grid structure made of cells.12. an application variable. Also Excel files will have the content of this band seen when the document is printed. Header: Header rows are generated at export only once before the detail is generated. A row or more successive rows of cells form a band. Footer: Footer rows are generated at export only once after the detail is generated. a hyperlink.

Only by selecting the footer band in the structure panel tree we can add one or more rows to it. the second row contains the name of the columns from sql query). For example report made on Demo data source (previous image) we can see the header band with rows H0-H5. and a footer band with an empty row. In footer band F7 there is a variable $V{PRODUCT} which shows NextReports application version. the first inserted rows will have only one column. In the same way. For example. From every band node we can add with mouse right click one or more rows on the last position of that band. the properties of a selected row or the global properties of the report. docx and rtf formats. On the last level there are the cells from every row. Structure panel contains a tree with four levels. Also here there is an image $I{…} and a variable $V{DATE} which specifies the current date when the report was exported The columns from sql query can be seen in D0 detail band and in G1 group header band marked with $C{…}. footer). Custom definition : this property is seen only when paper size is set to CUSTOM and it’s elements (width. Also Excel files will have the content of this band seen when the document is printed. Properties Panel contains the properties of a selected cell. Here is the only place in NextReports application where a row or more rows can be added to an empty band. In the group footer band there is a function . the common properties of a selected group of cells. not only at the end. a selection of one or more cells in the report layout panel will select the corresponding cells in the structure panel tree. For the bands that already contain one or more rows. we can add new rows by using mouse right click on the report layout panel and selecting from the popup menu Row > Insert After or Row > Insert Before actions. when a new report is created. table. group header. Any expression added to layout will be shown with $E{…} and hyperlinks will be shown with $H{…}. By selecting the “Report” node in structure panel. The only difference between the tree action of adding rows and these actions is that here the user can add the rows at any position inside the band. On first level there is the “Report” root. On second level we can see the bands (header. a detail band with a row which contains the columns from sql query. On third level there are the rows from every band. Any selection of a cell or a group of cells from the structure panel tree will select the corresponding cells in the report layout panel. The user can add later other columns from the report layout panel popup menu. it is also used for excel printing 3. sum of hours. height and measure unit) are used by pdf and rtf 52 . DOCX and RTF files for every page of the document. by default it contains a header band with two rows (first one has a static text as title. 2. detail. If the report grid is empty. indicator or display. the footer band has no rows. Paper size : paper size used by pdf. besides the default rows the user added some new rows which contain some runtime parameters $P{…}. When a new report is created. group footer. Table. by default. In this band.Usage - Page Footer: Page Footer rows are generated for PDF. alarm. Type : type of report can be one of default. for the group G1 made on the ‘Last Name’ column $F{…}. user can modify report global properties: 1. alarm indicator and display are special reports (with a convention based layout) that have a special representation inside NextReports Server dashboards.

If there are more sheets than groups. padding.Use ${G1} template marker for group name. 53 .C. Background image : used by pdf and html formats 8. id . … . Excel template &Excel sheet number : used by excel format to allow writing inside an existing xls. a background and foreground color. Page 2. Header on every page : used by pdf. So if you want your colors to be the same with those selected. Excel has 56 recognizable colors. rtf and excel formats 6. Padding : document margins in pixels used by pdf. hide repeated value. can select a font. hide when expression and formatting conditions. This is useful if you have an excel file with 2 (or more) sheets. it is also used for excel printing 5. For example Page ${NO} will generate sheet names as Page1. scope. When a background image is set all background colors for cells are ignored. 9. If your colors are not Excel recognizable. ATTENTION. in properties panel user can edit the cell text . the other will have the sheet number as name Report properties can also be shown if user selects layout’s upper left corner. excel sheets will be named as 1.Usage 4. A note has to be made about selecting colors for excel export. Excel sheet name: if this property is empty.html is set to true another three accessibility properties used for html can be seen: headers. docx. ATTENTION.… If this property is specified it can have one of the following: . (see Configuration section from Advanced Topics chapter). the other will have the sheet number as name . One sheet is the actual data sheet and the others are computations made on values from data sheet like pivots for example. you can select them inside color chooser from “Excel Palette” tab.2.Use ${NO} as a template marker for sheet number. If in next-reports.properties configuration file accessibility. then the resulted file will also have xlsm type. the result may not be the one you wanted. border. Page 3.3. The cell content can be modified also from the report layout panel by mouse double-clicking on the cell. If template is of type xlsm. Also.D Sheets will be named in this order and if there are more than the names in the list. rtf and excel formats 7. docx.B.A static list of strings like A. the horizontal and vertical text alignment. Orientation : portrait or landscape. docx and rtf formats. xlsx or xlsm file in a specific sheet. wrap text. In case we set ‘new page’ after group we may want that every sheet to have the group name. used by pdf. a pattern (for example a date pattern).

If expression is evaluated as true. meaning that an arbitrary value from a desired expression will be compared. Also you can create layout expressions which you do not want to see rendered but which you want to use in some functions. A formatting condition has an expression which will be evaluated for every value of the cell. Some of them have no importance for a specific export format (like foreground for TXT export). the corresponding rendered cell will be empty. ‘Hide repeated value’ property is used when we do not want to show the same value (in the same column) of a cell in all the following records. that row will not be rendered at all. and all expressions are evaluated as true. ‘Formatting conditions’ are used if the user wants to modify general properties of a cell with the values set if some conditions are met. and “Other value”. ‘hide when expression’ and ‘formatting conditions’. User can select between “Current value”. meaning the value of the selected cell will be compared. Just a few words to add about last three of them: ‘hide repeated value’. a property to overwrite and the property value to overwrite with. 54 .Usage Almost all properties are self-explanatory. ‘Hide when expression’ property is a string expression. This is useful in case you want to show cell content only when an expression is true. If all cells from a row have such expressions.

background. or if operator is ‘[]’ the current value will be checked to be inside the interval [value. Row properties are shown if user clicks on a row header inside layout or on the corresponding node in the explorer tree. value2]. font and border. The expression is “${val} <operator> <value> <value2>” which means the current value will be compared with the value entered by user. User can select one of the following properties: foreground. 55 .Usage When user adds or edits a formatting condition. Any property has its own value chooser used when the property value is selected. he will select an operator and a value (or two values).

Usage ‘New page’ property specifies that exported row from that band will always start on a new page. This property has meaning for PDF. To see in layout that a row starts on a new page. button. DOCX. or he can select an already defined expression 56 . RTF and EXCEL exporter types. The only difference is that user must create an expression which is used as left operand for conditions: User can create a new expression using using button. the row icon will have a small ‘+’ bullet : ‘Formatting conditions’ property is similar to the one on a cell.

From this popup we can execute operations on cells. Pressing again enter will validate the content and the user will exit edit mode. you have to create two cells. the rows and the cells. If there is no group defined inside the report. A user can edit cell content also by selecting the cell and pressing enter key. The following actions can be done: - Copy : select cell or a group of cells for copy (CTRL-C) : delete cell or a group of cells for copy (CTRL-X) Paste : copy the cell or a group of cells (CTRL-V) Insert > Text : insert static text Insert > Variable : insert variable. DOCX. 57 . this is the same with ROW variable USER : system current user PRODUCT : current NextReports version REPORT_NAME : report name PAGE_NO : current page number (for PDF. User can move between cells with the arrow keys. On mouse right click a popup menu is shown. To have something like “Page 1 of 10” in your header or footer. Pressing escape will cancel the edit mode.Usage Layout Panel contains the bands. NextReports has the following internal variables: DATE : runtime current date ROW : row number in the result obtained after the sql query execution GROUP_ROW : row number in the current group. RTF and EXCEL documents) TOTAL_PAGE_NO : total number of pages for PDF document Cut ATTENTION TOTAL_PAGE_NO cannot be used inside expressions because it is evaluated when the document is closed. first is an expression “Page “ + $V_PAGE_NO + “ of”. second is the TOTAL_PAGE_NO variable.

58 .Usage - Insert > Sql Column : insert a new column from query (it is possible in the detail band and in the group bands) - Insert > Expression : insert an expression.

(see the list of operators from expression editor). Expression result type can be numeric ( like $C_Hours * 60 ). sql columns are not shown inside expression editor. } 59 .else’ has a special syntax (see example below) : if ( $C_Hours < 6) { y=6. Expression must have a unique name inside a report. because they cannot be evaluated. string ( like $C_Last_Name + " " + $C_First_Name ). functions.Usage An expression can be created from sql columns. date. variables. } else { y= $C_Hours . ATTENTION If the selected cell is not in detail or group bands. With a mouse double-click on any of them. ‘if. functions are shown only in footer bands. Also. Some operators can be written in two modes.. parameters. for example ‘/’ and ‘div’ are the same division operator. the selection will be added to the editor at the current caret position. operators and literals.

we do not have to convert to double because any function is computed as a double value.Usage If we want a double result.doubleValue() / 100 If a function is used inside an expression. we should use java doubleValue() method like in the following example: $C_Hours. - : insert a function (this is possible inside report footer band. inside group footer bands. inside report header band. inside group header bands) Insert > Function 60 .

If no expression is used inside a report. only the column selection will be shown. If “Keep aspect ratio” is selected. That means even if we select a column size. ATTENTION. 61 . Image column must be a blob or other image type for different databases. until we resize the image. - Insert > Parameter - Insert > Image : : insert a runtime parameter from the ones defined insert an image from a file. - Insert > Barcode : insert a barcode. Insert > Image Sql Column ATTENTION. Image must be of type png. (for example MS SQL has image and varbinary types). User can select a barcode type and a value entered by hand or taken from a database column. - : insert a new image column from query (it is possible in the detail band and in the group bands). then press mouse right button and select “Resize Image” action from the popup menu. Image size does not depend of column size. by modifying one of width or height. the other will be automatically updated. User can set width and height similar as with a simple Image element. user has to select the image cell. gif or jpeg.Usage A function can be created for a column or for an expression. To resize the image. User can select width and height in pixels (actual size can be seen on the right) or a scale percent. the image will still have its original size.

- Insert > Hyperlink : - Insert > Chart : insert a hyperlink (text and url) insert a chart created with NextReports. those parameters are automatically linked with columns from parent report. After the chart is edited. detail. - Extract Chart : extract a chart from a report to a local chart file (under Charts folder for the same data source) - Edit Chart : if a cell contains a chart. Because chart is created as an image after export. type. 62 . footer. ATTENTION. they have default values and those values will be used at runtime unless you define the same parameters (name. The child chart will be opened: The main toolbar will have “Return to Parent Report” action enabled which will also contain the name of the parent report. the parameter values passed to the report will be also used for the chart.Usage Generated barcode is an image and can be resized like any image using “Resize Image” action from the popup menu. selection) also inside the report. In that case. If a report is inserted inside detail band and it has parameters. group. this chart can be edited. - Insert > Report : insert a report created with NextReports. when user clicks “Return to Parent Report” the saved chart will also be saved inside the parent report. You should click “return” in order to save the edited chart inside parent report. A report can be inserted in any cell from header. chart can be resized like any image using “Resize Image” action from the popup menu (as shown previously) ATTENTION. If your chart has parameters.

this report can be edited. At runtime. - Insert > Multiple Report : insert a report as a FOR element which has a special property called “multiple report sql”. so that the value is passed to the parameter. - Extract Report : extract a report from a report to a local report file (under Reports folder for the same data source) - Edit Report : if a cell contains a report. You should click “return” in order to save the edited child report inside parent report.Usage Parameter’s name must be identical with the alias of the column from parent report. This sql will return values for a specific column. FOR element will be replaced with as many report elements as many values are returned from sql. By using “Edit Report” and “Return to Parent Report” actions user can navigate inside and outside reports. 63 . ATTENTION. ATTENTION. This element can be used if you want to scale your data horizontally and your report has a common part which can be defined as a separated report with at least one business parameter. using reports inside another report may show you a different exported file. Users can use only one “Multiple Report” element inside a layout. Report must contain a parameter with the same name as the column name from “multiple report sql”. Depending on your desired exported format. Every such report element will be passed the corresponding value to be used by internal parameters. when user clicks “Return to Parent Report” the saved child report will also be saved inside the parent report. The child report will be opened. A child report can also contain another child report. ATTENTION. After the report is edited. The main toolbar will have “Return to Parent Report” action enabled which will also contain the name of the parent report.

One of the following functions can be added : Sum : sum of elements from the column group Min : minimum element from the column group Max : maximum element from the column group Average : average of elements from the column group Count : number of elements from the column group Count Distinct : distinct number of elements from the column group If more groups are added. - : remove group modify group. - Group > Add : add a new group . The user must select the column on which the group is made and optionally a function. the column on which the function is computed and if the group has or not a row inside the header band. their order is given from first to last.Usage - Delete cell : clear the content of a cell (make it empty) or a group of cells. the bands will be like this: G1 header G2 header G3 header Detail G3 footer G2 footer G1 footer For every group band (header or footer) the user can see a tooltip with the name of the column on which the group is made when moving the mouse on the left of the report layout panel. The column on which the group is made and the “New Page After” option can be modified. Also if you want a new page to be created after this group (for pdf. Group > Remove Group > Modify : 64 . G2 and G3 added in this order . This can also be done with DELETE on selected cells. For example for groups G1. docx and rtf) or a new sheet to be added after this group (excel) you will just have to select “New Page After” property.

The cells must form a matrix and only one cell can not be empty. Unmerge cells : A cell obtained by a merge action can be unmerged to its entities. On any column header using the mouse right button the following actions can be done : - : insert a column before the selected one : insert a column after the selected one Remove column : remove the selected column (can be done on single or on multiple selection) Size (pixels) : set the size of the selected column in pixels (this action is visible only if the width button is pressed and can be done on single or on multiple selection) Size (characters) : similar with Size (pixels) action and useful for exporting to a flat file text format Insert column before Insert column after On any row header using the mouse right button the following actions can be done: - : insert a row before the selected one Insert row after : insert a row after the selected one Remove row : remove the selected row Insert row before Menu Bar from layout panel contains the export actions: - HTML EXCEL (xls) EXCEL (xlsx) PDF DOCX RTF XML CSV (comma-separated values) 65 . - Delete all Merge Cells : The entire report panel layout will be cleared.Usage - : merge two or more cells.

the user can drag with the mouse the column separator to modify the size of the column from its left. . A ruler can be seen if ‘Show ruler’ property is checked in the settings. This is useful if you want to see how the report looks (like a preview). Also. keeping the SHIFT key pressed and using the arrow keys will allow of a continuous cell selection. keep the SHIFT key pressed. The user can also modify the data source on which the report is run. If ‘Records’ is checked the report will generate only the first number of records specified. For all the exporters the user is prompted a runtime panel to select the parameters value only if such parameters where defined. . This is useful for the case in which two or more similar databases exist (like databases for test and production). By default the data source on which the report was created is selected. the unit is automatically inversed.Continuous selection: select a cell with the mouse and then to select all the cells between this cell and another cell.Usage - TSV (tab-separated values) TXT (flat text file with fixed character widths for columns) First action allows the user to set the width of the columns. Also with a double click on ruler. After selecting this toggle button the user can select the size of a column by right-clicking on the column header and the size of all selected columns can be modified.Discontinuous selection: select a cell with the mouse and then to add to the selection any other cell keep the CTRL key pressed. After the report is generated. all the widths are automatically generated to fit. you can select it and run the report. There are three selection types with the mouse: . The ruler unit can be centimeter or inch and is set also in the settings. 66 . it will be automatically opened with the default application for that kind of file installed in the system.Continuous selection through drag&drop : select a cell with the mouse and then keep the mouse pressed and drag it to select all the cells you want After selecting a cell. The cells can be selected with the mouse or with the keyboard’s keys. Then the user selects another cell or group of cells and presses the button . Without the selection. The user selects a cell and presses the button . But if you know you have another database with the same structure. The size cannot be less than 10 pixels or greater than 1500 pixels. The option allows to save the template of the current report layout. Here are found also the buttons for copying the cell properties (except the content and pattern) to another cell or group of cells. Report Layout also has the options to undo or redo the actions you made. The option allows to apply a report template to the current layout.

67 . Layout can be zoomed between 50% and 300%. Previous image shows the report from Demo data source exported to PDF.Usage Report layout supports a zoom operation from the spinner inside the toolbar. The same operation can be achieved using CTRL pressed with the mouse wheel.

Alarm Reports “Alarms” are special types of reports that can be published to a NextReports Server... else .13. Expression in the second cell is defined as: 68 .Usage 3. Inside designer they must have three cells in the detail band :  first is a number column (status) with formatting conditions for background color  second is an expression "if . for value between 51 and 100 value is yellow and for value >= 101 background color is blue. For example. the formatting conditions for the first cell can be: This image shows that for a value < 50 . first cell is drawn as a status led which will have the color the same with cell background color. background color is red." which returns a different message for every known status (number column value)  third is a Boolean value to specify if message will have a shadow or not (this is optional) On the server. The message will be shown next to the image.

(" + $C_HOURSNO + " hours worked)" } } On the server. be sure that your report has the type ‘alarm’ selected. the result will be like this: ATTENTION To see the report as an alarm inside server. (" + $C_HOURSNO + " hours worked)" } else { "Project is on target.Usage if ( $C_HOURSNO < 50) { "Project delay is imminent! (Only " + $C_HOURSNO + " hours worked)" } else { if ( $C_HOURSNO < 101) { "Project delay is possible. 69 .

A server representation will look like the following: Minimum value.Usage 3.14. Indicator Reports “Indicators” are special types of reports that can be published to a NextReports Server. This cell has two important properties which are used by server representation: foreground and background. be sure that your report has the type ‘indicator’ selected. Description (if any) is shown under the current value. 70 . but all of them are mandatory:  Minimum value  Maximum value  A Boolean flag : true means minimum and maximum values will be shown on the server representation Detail row D0 contains a single mandatory cell which must be a column or an expression. ATTENTION To see the report as an indicator inside server. Inside designer they must have a layout like: First header row H0 contains four cells:  Title indicator  Description (optional)  Unit (optional)  Shadow for text (optional) Second header row H1 contains also three cells. maximum value and actual value are all appended with the unit if that is specified inside report layout.

then all the cells must be entered. } Foreground properties for title. Title may be empty.15. this widget has the possibility to show how this value performed regarding a previous value (on previous period of time). Also. If second cell is entered. The color of the arrow is green if the evolution is in the good direction (up=true & shouldRise=true. Profit per year.doubleValue(). $C{value} and $C{prev} cells specify the colors used to draw the strings. Inside designer they must have a layout like the following: Header row contains three cells:    Title of display report. These cells represent:     The value that is shown by the display Previous value of the display (on previous time period) Expression (up) which computes a Boolean value to show if the value is bigger (true) or less (false) than previous one: $C_value >= $C_prev.$C_value ) *100 / $C_prev. A server representation will look like the following: 71 . Interest Rate per month. } else { ( $C_prev . } else if ( $C_value >= $C_prev ) { ( $C_value . "Display" shows a value (without min/max boundaries like those used for Indicator) which is associated with a period of time. If this expression is true an up arrow will be shown.Usage 3. Expression which computes the percent which the actual value increased or decreased in comparison with previous value: if ( ($C_value == 0) || ($C_prev == 0) || ($C_value == null) || ($C_prev == null)) { 0. which may contain or not a parameter. A Boolean value (shouldRise) which specifies if a rise (true) or a decrease(false) is a good thing A Boolean value (shadow) which specifies if a shadow is visible (true) or not (false) Detail row has mandatory only the first cell. or up=false & shouldRise=false) or red otherwise. Display Reports “Displays” are special types of reports that can be published to a NextReports Server. You can think as example for: Number of site visitors per day. Background property for title cell specifies the background of display widget. otherwise a down arrow will be shown.$C_prev ) *100 / $C_value.doubleValue().

72 .Usage ATTENTION To see the report as a display widget inside server. be sure that your report has the type ‘display’ selected.

Only the corresponding template rows from report will be modified. column header. a detail band with a column row and a footer band with an empty row. For every row the user selects the desired properties and then saves the template to file on disk.16. the report created with the wizard contains a header band with two rows : a title and a header of the column names from sql query. 73 . A template can be applied from Tools > Apply Template menu to any loaded report. By default. column detail and footer . Report Templates Report templates are files which keep the properties for some report layout cells. A template can be created from Tools > Create Template menu. The template of the current loaded report will be saved to a specified file. A template contains the properties for those four default rows created: title . The others. will remain unchanged. if any. A template can be modified from Tools > Modify Template menu. Such a template is useful when the user wants to make the report creation an easier process.Usage 3. A template can be saved (created) from Tools > ExtractTemplate menu.

all the columns must be of number type. xAxis. line. Main component is represented by the image seen in the layout. horizontal bar. By selecting it. When create a new chart. the properties for it will bee seen on the left. bar line.17. area or bubble. stacked bar line. For yAxis. the computed functions will not be the desired ones. user can select a function. horizontal stacked bar. The query must be ordered first by selected xAxis Column because the query is not modified in the layout (by selecting different x columns). the function is mandatory and can be one of COUNT or COUNT DISTINCT. User can select the following: - type of the chart : bar. default type is bar. Every component has a list of properties. and yAxis) which can be selected with the mouse. main. user is redirected to chart perspective where the chart layout is present. Chart layout consists of four components (title. stacked bar. ATTENTION. This means that data will be grouped after xAxis and that the function will be performed for all the data in every group. If ‘order by’ x column is not presented in the query. If y column is not of number type.Usage 3. pie. Chart Layout When a chart is created or opened. 74 . If more columns are selected on Y axis and if a numeric function is selected.

For ‘bubble’ there is a convention on how to select the columns. Bubble charts should have exactly 5 columns: a string ID column (labels for bubbles). Z. a string SERIES column (indicates which series does a bubble belong) and three columns which represent the values on X. These colors are also used if there are more Y columns or if the chart type is stacked bar. color3. … color10 for next slices colors. The values from Z column are used to compute the radius of bubbles.Usage For ‘bar line’ and ‘stacked bar line’ there is a convention that the last series (column) is of type line. parallelepiped and so on) - tooltip message : this is the tooltip message used by HTML5 charts. as opposite to all other series which are of type bar / stacked bar. horizontal stacked bar and pie charts #percent represents the percent of actual Y value from total. Y. SERIES columns for layout y columns. it has meaning for bubble chart #c represents the actual SERIES value (category). exactly in this order. it has meaning for stacked bar. - background color of the chart - chart’s color . The convention used by designer is to select ID column for layout x column and X. it has meaning for bubble chart 75 . Y and Z axis. it has meaning for pie chart <br> can be used to have a new line inside tooltip #z represents the actual Z value. - chart style : depends of chart type (for bar as example we can select cylinder. it has meaning for bubble chart #label represents the actual ID value. if not entered a default will be used (it has no meaning for flash charts) There are some markups that can be used inside the text: #val represents the actual Y value #x represents the actual X label value #total represents the sum of all y values. For pie chart type there are another nine properties named color2.

a font and a color - color of the X axis itself Y Axis Component has the following properties: - column: chart column for y axis : can also be selected from layout from the combo. 76 . the layout automatically selects COUNT function. All the columns that are not of Number type are represented with a gray color. and only this and COUNT DISTINCT functions can be selected. When selecting such a column.Usage Default values used are: #val for all simple charts #val / #total for stacked bars and horizontal stacked bars chart #val / #total<br>#percent% of 100% for pie chart #label<br>X: #x<br>Y: #val<br>Z: #z<br>Series: #c for bubble chart - transparency property selects how transparent the chart is - font : only font size is considered for main text (for example text shown in pie chart’s slices) X Axis component has the following properties: - column : chart column for x axis : can also be selected from layout from the combo - show label : specifies if the labels on X axis will be visible or not - show label font: font used by X axis labels - label color : labels color on X axis - orientation : label text orientation - pattern : label pattern - show grid : specifies if grid lines on X axis are visible or not - grid color : color for grid lines on X axis - legend : X axis legend which has a text.

User can select them in order (you cannot select column 3 for example. - show label : specifies if Y axis labels are visible or not - show label font : font used by Y axis labels - label color : labels color for Y axis - show grid : specifies if grid lines for Y axis are visible or not - grid color : color for grid lines on Y axis 77 . this query must return {column. Your query behind must be also dynamically created. if you did not select column 2). In this case there is no need to enter any static column and column legend.Usage - column 2 to 10 : represent other columns that can be added on Y axis. column legend} string pairs. For pie chart even if more Y columns are selected only the first is taken into account. - column legend : these properties will show a legend for the corresponding selected column - column query : if it is desired to have dynamic columns.

Dual Axis feature is used only by HTML5 exporter. user selects the button from the layout toolbar. the browser will be opened with a HTML5 chart object. user selects the button from the layout toolbar. a font and a color - pattern : this property changes the pattern used to show values on tooltips for html5 / flash charts or on the graphics for image export if ‘show values’ is selected - show values : this property is used only for image export to show y values over image (for html5 / flash export values are always seen as tooltips) - color of the y axis itself - show dual axis : if chart contain 2 or more series for comparison sometimes data can differ as order of magnitude and there are needed different Y axis to be able to see all series in a nice form. The preview process will run the query 78 . foreground color and horizontal alignment. X and Y axis are reversed in the layout perspective. only x and y axis columns are mandatory. This preview is useful if we want to publish the chart to a web server. Title Component has the following properties: text. With mouse right click the chart can be saved locally as an image. All the other properties are optional. - starting from zero : this will make min value to be zero only if computed min value is bigger than zero ATTENTION Y second axis has meaning for charts of type line. if nothing is specified. simple bar and combo barline. This preview is also useful if we want to publish the chart to a web server.Usage - legend : Y axis legend which has a text. The preview process will run the query and if data exists. It is possible to view parameters values inside title or legends text. For that the text must contain the parameter: $P{<parameter_name>} . chart is instructed to draw a second Y axis - dual axis legend : Y second axis legend which has a text. By default. To preview the chart as a flash. a font and a color - series number : this specifies how many series will be represented on Y second axis. font. To preview the chart as HTML5. only the last series will be represented on Y second axis. When a new chart is created. ATTENTION If horizontal bar or horizontal stacked bar type is selected. To make your charts look good you must have charts on Y axis with similar order of magnitude and the same is valid for second Y axis. By selecting this property.

This server allows only for connections from the current machine. With mouse right click the chart can be saved locally as an image. By using the button . all data sources with the same driver are found. label colors and so on) will be saved to a special chart template. grid colors. is to save a chart template and then to use it on any other chart. if you have more charts to design with same colors. foregrounds. If you have two data sources with the same structure it is very easy to change between them. otherwise you should use HTML5 because it is widely supported also from Android devices. ATTENTION Flash should be used only if there are some restrictions to server browser clients so that they do not support HTML5. To use a saved template you have to use the button . user selects the button from the layout toolbar.webserver.port which can be modified in Settings action to allow for chart visualization.Usage and if data exists. Inside combo. This preview is useful if we want to insert the chart inside a report. To preview the chart as an image. Result image is created inside “reports” folder and it is shown inside an application dialog. 79 . The first HTML5 / flash preview process will start a local small server and NextReports uses a web port chart. axis colors. title color. By default the current data source is selected. all color properties from a chart (background. First combo in toolbar allows selecting for another data source to preview the chart. A very useful feature. the browser will be opened with a flash chart object.

reports and charts. the user will be allowed to publish the report / chart. To publish a report / chart the user must know a NextReports server (url) and must have a valid account on that server (user and password). 80 . After pressing Next button the user is authenticated on the server. A NextReports server is a web application which manages data sources.Usage 3. If the authentication succeeds. schedules reports to run at specific moments in time and allows for charts and special kind of reports to be viewed in real time. Publish & Download NextReports application allows for report or chart publishing on a NextReports server and for report or chart downloading from server.18.

if the data source is not already on the server.Usage The user has to select the path on the server where he wants to publish the report / chart. indicator or display candidates. If the selected report / chart was previously published. Publish action from their menu will allow making a bulk publish of more reports simultaneously: ATTENTION When doing a bulk publish. If an alarm report does not have the needed structure. the user can publish the current report / chart data source. on the server the led will have a white color. Also. ‘indicator’ or ‘display’ type. the form will be completed by default with name. the report will not be shown on server in the list of alarm. If “Reports” or “Charts” node is selected. the action is started and the user will be notified by a message if the publish succeeded or if an error occurred. ATTENTION Even if report has ‘table’ type . The selected report / chart will be downloaded to NextReports designer application for the current connected data source. if the report has ‘alarm’. if no default values for parameters are selected. The user is allowed to create folders on the server. server path and data source. the report will not be shown on server in the list of candidates to be added to dashboards. same as if no data was found. if no default values for parameters are selected or if the report has no header band . In the same manner. you must know that all your selected reports are created for the same data source 81 . After pressing Finish. To download a report / chart (or more) from a server the user will have to authenticate and after that he will select the report / chart he wants.

xml : in this file the application saves the visible schemas selected by the user for every data source nextreports. every folder has a name of a data source from NextReports. The only files that can be deleted with no impact on the application are the reports files generated in the folder reports. Advanced Topics 4.query files).log files) + output : here there is a folder structure .properties : this is the configuration file of NextReports application + demo : this folder contains the Demo Derby database + jdbc-drivers : in this folder there are the drivers for databases (Derby. MSSQL Server. Oracle. … files) + templates : in this folder there are the report templates (.4 Chapter 4. By default the maximum memory for NextReports is 256m (-Xmx256m). + reports : this is the place where ale exported reports and chart images will be saved (. ATTENTION You must not delete files or folders from NextReports internal structure. (.properties : here the logs used by NextReports are defined next-reports. If you know you need more memory you can add a minimum value (-Xms128m for example) and you can modify the maximum memory. + lib : this folder contains the jars used by NextReports application + logs : in this folder the logs generated by NextReports can be found (.vmoptions : in this file there are specified the virtual machine options. . Under any of such folder all the queries and reports for that data source are saved.xml : in this file all data sources created in NextReports are saved schemas. .report.pdf. 82 . Internal Structure The folder where NextReports application was installed contains the following files and folders: + config : the folder where the configuration files are founfd log4j.html.ntempl files) + chart-webroot : contains the files needed to preview NextReports charts - datasource.1. Mysql. if the user choosed an installation file with jre. Firebird) + jre : this folder contains the installed java runtime environment (jre) .

we must set the value to false. inside the log file the user can see all the queries to the databases. If this value is set to false nothing will be written inside the log.timeout=5 When we try to connect to a database.file property.redirect.timeout seconds elapsed.autoconnect=true The value true means that if only one data source is created inside NextReports. he has to set the value true for console. If the user wants to see them. db. Also the most important properties can be modified through the Settings menu from application. The file where those messages will be logged is specified by the console.redirect=false console.file=. the pdf 83 .Advanced Topics 4.timeout=240 The execution of every sql query is stopped if more than query.log By default console messages are not visible in the log. NextReports application must be restarted to take into account the new values.spy=true For true value. query.If the fonts are not found . ATTENTION If any of internal properties is modified in configuration file. and for Linux it will look in ‘/usr/X11R6/lib/X11/fonts’ and ‘/usr/share/fonts’ folders. This configuration can be done inside the file next-reports. font. console. By default this value is set to 5 seconds. This log can be seen from NextReports. If this is not to be desired. (See SQL Log Panel Section) singlesource. at application startup that data source will be automatically connect without selecting from the popup menu the Connect option. For Windows it will look in the Fonts directory of Windows installation folder. connection. This value is specified in seconds.2. Configuration NextReports application allows configuring some internal properties.properties from config folder where NextReports was installed.directories=C:\\WINDOWS\\Fonts NextReports tries to find the system registered fonts in some default locations./log/console. if this time of seconds elapsed the connection is aborted with a TimeoutException. By default the value is set to 240 seconds.

It can have following values : 0 for nothing. 4 to compose the tashkeel in the ligatures.Latin 1 (WINANSI) Cp1257 . separated by comma. nextreports.The Unicode encoding with vertical writing ATTENTION If a character set is specified.ttf If the database contains other characters than latin characters (for example greek characters) the pdf report cannot be correctly exported unless the character set is specified here.Thai Identity-H . also the full path to a system font must be declared.Cyrillic Cp1253 .Vietnam Cp874 . nextreports. By default no character set is entered.for Mac OS Cp1251 .pdf.Baltic MacRoman .font=C:\\Windows\\Fonts\\Times.arabicOptions=0 This property is in relation with shape of arabic characters.pdf.Arabic Cp1258 . One of the following character sets can be entered: Cp1250 .Eastern/Central Europe Cp1252 . 1 for non bidirectional text and 2 for left-to-right text. 8 to do some extra ligatures. To add other known font locations you can specify their path here .Hebrew Cp1256 .pdf. 84 .Greek Cp1254 .pdf.direction=0 If report contains text that must be shown right-to-left then this property must be used with value 3. Other values can be 0 for default. 1 to eliminate arabic vowels.Turkish Cp1255 . The exported pdf report will use this font for data generation and will ignore any font selected in the cell report layout properties! nextreports.The Unicode encoding with horizontal writing Identity-V .Advanced Topics export will have “Times New Roman” font discarding all property fonts.encoding=Cp1250 nextreports.

max rows check box from sql builder run panel will be selected.unit=cm Ruler unit may be cm (centimeter).port=8083 Port for the web server used to preview charts 85 .webserver. If this property is set . A4. By default.net. csv. By default. or in (inch). ruler. by default. This property is used if ruler is visible. chart. a comma is used as csv delimiter.html=true If this property is set to true . user will be notified by a message. the user can create an Oracle data source just specifying the database name from the tnsnames. after a column Size action in report layout. it cannot be a quote character or an end line. oracle. max. if the total column widths is bigger than A4 dimension.delimiter=.Advanced Topics accessibility. These properties are used by screen readers applications and they have meaning only for html. id and scope html accessibility properties can be set for every cell in the report layout properties panel.rows. the headers.warning=true If this property is set to true. this property is set to false. otherwise will not be selected. Csv delimiter must be a character.checked=true If this property is set to true then.tns_admin=D:\oracle\product\10.0\db_1\NETWORK\ADMIN This property specify the path to the Oracle client installed on the computer where NextReports is also installed. ruler.2.isVisible=true If this property is set to true.ora file selecting from driver template “Oracle – Tns Name” type. a ruler is shown in report layout panel when the custom size is used.

numbers.Advanced Topics locale= This property is used to format date.oracle. For a list of supported locales in java see http://www. The string contains <language>.<country> . Default (if nothing entered) is the locale of your machine.GB for English. United Kingdom.com/technetwork/java/javase/locales-137662. time. For example locale=en.html 86 .

oracle.3.0.jar you can find an i18n folder with current supported languages. for Spanish you will add property language.properties You can find all the language and country codes here: http://www. For example for Spanish the name will be: next-ui_es_ES.<language>_<country>=<name of the language> For example. Although.html . Adding support for your language If you want to internationalize NextReports Designer for your language. Take one of the files and create a new one with the name like: next-ui_<language>_<country>. If we want to show the flag of the country in menu bar action you have to put png flag image in jar in images folder and in images. Inside <installation folder>/lib folder inside nextreports-designer-6.properties Put this file inside jar along with others i18n files. all i18n files from jar must contain a new property: language. you can do it by yourself.es_ES to all files.properties file put a new entry: flag-<language>_<country>=<image_name>.com/technetwork/java/javase/locales-137662.Advanced Topics 4.png 87 .

Types.jar : <driver> <type>Vertica</type> <classname>com. registerColumnType("bytea". registerColumnType("raw".BLOB).2. Types.BLOB).Annex 4.SMALLINT). registerColumnType("smallint". registerColumnType("binary".Types. registerColumnType("varbinary". registerColumnType("bigint".4.FLOAT).CHAR). registerColumnType("varchar".jdbc.nextreports. registerColumnType("date". registerColumnType("double precision". Types. import java. registerColumnType("boolean". registerColumnType("timestamp". Types. This dialect does a mapping between database types and java sql types and has some utilities methods. From version 6.sql.TIMESTAMP). You need to create a Dialect class for that type of driver. Types. Adding support for other JDBC driver NextReports allows users to add their own JDBC drivers.vertica. Types. registerColumnType("timestamp with timezone".TIMESTAMP). registerColumnType("real". import ro. Driver must be added in driver_templates. JDBC jar driver is added inside jdbc-drivers folder 2.engine.ProcUtil.xml which can be found inside designer in installation folder in \lib\nextreports-designer-6.TIMESTAMP). registerColumnType("float".INTEGER).FLOAT).Driver</classname> <urltemplate>jdbc:vertica://<server>:<port>/<database></urltemplate> <defaultport>5433</defaultport> </driver> 3. Types. Types. public class VerticaDialect extends AbstractDialect { public VerticaDialect() { super(). Types. Types. Types.util. registerColumnType("float8". Types.BLOB).DOUBLE). 88 . registerColumnType("integer".2 Vertica driver is added by default. Types. Types. Types. registerColumnType("smalldatetime". Types.DATE).BIGINT).TIMESTAMP). registerColumnType("datetime". We are using Vertica JDBC driver here as example.BLOB).VARCHAR). Such process can be resumed by following steps: 1.DOUBLE).BOOLEAN). Types. Types. registerColumnType("char". Types.

Annex registerColumnType("int". } public String getCursorSqlTypeName() { return ProcUtil. } public String getCurrentTime() throws DialectException { return "current_time". } public String getCurrentTimestamp() throws DialectException { return "current_timestamp". Types.REF_CURSOR. Types.NUMERIC). registerColumnType("tinyint".INTEGER).INTEGER). registerColumnType("numeric".INTEGER). } public String getCurrentDateSelect() { return "select current_date". Types. Types. registerColumnType("int8".TIME). } public String getRecycleBinTablePrefix() { return null. registerColumnType("decimal".NUMERIC).OTHER.TIME). Types.INTEGER). } } 89 .TIME). registerColumnType("number". } public int getCursorSqlType() { return Types. Types. registerColumnType("time". } public String getCurrentDate() throws DialectException { return "current_date". registerColumnType("time with timezone". registerColumnType("money". Types. Types.NUMERIC). Types. Types. registerColumnType("interval". } public String getSqlChecker() { return "select 1".

vmoptions file. you use different suffix indexes. To make this happen in designer you have to add some java VM parameters (for native installers you add them inside nextreports. You must register the dialect in NextReports. If you need to register more dialects.getDatabaseProductName().class_1="mypackage.dialect.database_1="Vertica Database" -Dnext. 90 .Annex 4. for zip distribution you add them in run file): -Dnext. ATTENTION First parameter must be the name taken from DataBaseMetaData .dialect.VerticaDialect".

5.Annex 4. Annex Menu ALT-F : open File menu ALT-P : open Perspective menu ALT-T : open Tools menu ALT-H : open Help menu ALT-L : open Language menu Actions CTRL-S : save current file (query / report / chart) CTRL-D : add data source CTRL-Q : new query CTRL-O : open query CTRL-R : new report CTRL-P : open report CTRL-H : new chart CTRL-A : open chart CTRL-U : publish report / chart CTRL-W : wizard CTRL-I : internationalization of report / chart CTRL-L : restore layout CTRL-1 : open query perspective CTRL-2 : open layout perspective CTRL-4 : run query CTRL-SHIFT-A : apply report template CTRL-BACKSPACE : return to parent report F1 : tutorial F2 : manual F3 : quick start Layout CTRL-C : select cells for copy CTRL-X : cut cells CTRL-V : copy cells DELETE : delete cells CTRL-Z : undo CTRL-Y : redo ENTER : edit selected cell ESCAPE : stop edit selected cell 91 .

Annex Arrow keys : move selection CTRL+mouse : discontinuous selection of cells SHIFT+mouse : continuous selection of cells (matrix) between the initial selected cell and the cell selected after keeping pressed SHIFT mouse drag : continuous selection of cells Parameters Table ENTER : edit selected parameter INSERT : add parameter DELETE : delete selected parameters 92 .