EBS - Reporting EN



The view design tool

The Views designer will enable us to customize simple or complex displays depending on the user needs. The views, besides their use as an information tool, are widely used in the applications for locating and using entities as well as invoicing, ordering, warehouse control etc. The tool can be used to create simple or complex lists or printouts that will be called through the menu, as a starting point for various workflows.

The views combine data from different tables of the database using relations 1-1, 1-Ν, Ν-Ν in any “depth”, using the whole schema of the database, through an interface of easy to use navigation in it. Choosing tables and fields/columns for display, the system will provide a ready to use proposal of display and printing, where the alteration will be made possible through the use of the WYSWYG (What You See is What You Get) logic, without the use for any further use of design tools.

In the present manual, we’ll be examining, from the consultant’s point of view, the way a view can be made regarding the content, meaning:

  • Locating and declaring the searched for information from the database

  • Parameters declaration and customization as well as data mining

  • Method for managing information levels and drill-down

  • Activation method and installation of the views to the clients’ workstations

    Information about the views’ handling from the end user point of view (functionalities, display control, as well as the execution of various processes through the views), can be found in the Introduction manual, the good knowledge of which is considered to be a requirement for someone to be able to go forth with the view designer, analyzed in the present manual.

There are two ways to call out the view designer:

  1. Through the menu Tools/Additional Development tasks:


  1. Through any existing view, by using the “Edit view” icon from the horizontal toolbar:


View designer Interface

In the view definition dialog, all of the possibilities to activate and declare it are available.


Horizontal toolbar

Area We choose the entity that the view is regarding, if this is a new view. Actually, this is not an entity but the area/folder where the view’s files will be stored in. The areas predefined by the system, and represent the entities or special functions related to entities that, during their execution, they seek views in areas of particular naming.
View If this is a new view, we choose “New” otherwise we can select one of the available views of the particular area to alter.
Definition It activates the “selected view data” area, in order to move on to the definition.
Deployment package This process will create a compressed file containing the view’s files. This way, we are able to install it to other client-computers without knowing either the actual files or the install area. Following that, the “target” system can select the file for installation following the menu path Tools/Data Import-Export/Install Entersoft package.
Publish to EAS In case a view is altered in a client or created there, this function will update the EAS, (Entersoft Application Server) and in effect all of the other clients with new views or the changes made (through clients synchronization process).
Delete Deletes the chosen view. ATTENTION! Default system views cannot be deleted.

Selected view data



This is the code of the view, unique per area. It must be entered in Latin characters.

about.png This code will be used to name all the types of files which will comprise of the view that we are producing.


This is a views’ classification, affecting their calling point.

  • List: It appears in the choice field in the main administration view of the related entity, for example in the Item or the Customer view. Choosing it will be possible through the horizontal toolbar.


  • Search: It comes up and is used as a searching tool wherever we need to search for the particular entity.


  • Informative: It comes up in the “Dynamic” menu “Information” of the related entity. In order for it not to show, a re-entry to the application is required.


  • Financial: Simple characteristic
  • Official printout: Simple characteristic
  • Other: For any other category
Title The name displayed during selecting the view. It is recommended to give a name to represent the function served by the view.
Auto run every… If any value entered (in minutes), the view will be self-executed periodically based on the minutes entered without any action being taken by the user.
EBS-ReportingEN-image14.png This choice will take us to the layout-forming dialog (column width, naming, groupings etc). If any changes made, asking to save will call the layout designer in order to update the actual layout of the columns. If this choice made before the Saving of the view, it will automatically be suggested by the system.
EBS-ReportingEN-image15.png For save the view definition
EBS-ReportingEN-image16.png For save the definition of the view, with a new code. That particular choice is used in case we need to copy an already existing view.
EBS-ReportingEN-image17.png Disables the “Selected view data” area and exits the definition.

In this area, 6 tab-pages are available:


This is a central description of the view contents. This is where the query building takes place. What follows is a detailed account of all of the design capabilities of the query that defines the contents of the view.



We have the ability to link a variety of different printing types to the views, like Crystal Reports, EAL files and advanced reports.


EBS-ReportingEN-image20.pngEspecially an (advanced) report (using the embedded tool of making reports) can be made at this point through the vertical toolbar. If any Printout linked, it is going to be available by the “Reports” option of the view’s toolbar.


In this tab, there is an available functionality for noting down details on the view, functionalities, filtering, anything that could help the end user to use it or anyone would alter it in the future. This text will be available at the execution of the view by using F1 key.



This is the area of criteria customization.


As many reporting criteria have been defined during design, are displayed in this list, in order additional properties to be defined, like default values, title, when asked to the user etc.


This is the level construction area, in cases when creating a view based in hierarchical principles.


User Groups

This is where we define the access rights of the users, in this particular view.


Views files Naming

The code that we set in any view, defines the files used to store it’s data. A view is composed of the following structural data:

  1. A System folder, containing egl and esq files
  2. An Xml file

The default views can be located in the ESFilters folder, in the installation directory.

EBS-ReportingEN-image26.pngFor example, the view “Customer List“ has the code ESFITradeAccountCustomer_def and it is located in the Customers area. This effectively means that in the installation folder ESFilters\ESFICustomer a folder with an xml file exists, called ESFITradeAccountCustomer_def.


The naming of views defined as follows:

<Installation folder>\ESFilters\<Area>\View’s files based on coding

The implementation of a new view as well as the altering of an existing one, will result in creating CS folders in correspondence.

For example, if we alter the default system report “Customer list”, a new report will be created in a CS system path:

<Installation folder>\CSFilters\ESFICustomer\ESFITradeAccountCustomer_def

This type of logic applied to a variety of parts all around the system (beyond the views) and it is known as shadowing. It allows one to take a “component” (view, OLAP cube, printing form etc) and to alter it in a way that the altered one will always overpower the original, so that it will always prevail (CS) fulfilling the installation needs. If this element later deleted for any reason, the system will roll back to using the original (ES).

EBS-ReportingEN-image28.png The combination of Code and Area will have to be unique since we refer to file names of the operating system.

Views execution flow

Whenever we execute a view from a client workstation, a question is sent to the application server for the existence of the report in its installation folder. The question is regarding the Report Area\Report Code.

  1. In case the server replies negatively, the query will be sent for execution to the client.

  2. In case we receive a positive response, based on the criteria completed before the execution, the query of the view in the application server is the one that will be executed.

In both cases there is a search done first in the CS folder, and if not found there, in the ES folder.

Let us examine two possible scenarios, regarding the existence of views:

  1. View Α is custom and exists only in the client
  2. View Β is custom, exists in the client and is also transferred in the application server

During the execution of the view Α of the first scenario, the local query always runs, while by the execution of the view Β of the second scenario, the query located in the application server is executed.


warning.png Altering the view Β, while working on a client-pc, should be followed by Publishing to EAS through the definition dialog, otherwise the alteration will be strictly local and will not update the SQL Query in the application server, while the execution is always executed on it (server). What this means effectively, is that changes made in a client-pc will be discarded.

Constructing a new view

EBS-ReportingEN-image30.pngFrom the definition dialog, we choose the Area followed by the New in the report field.

Using the Definition Icon, the “Selected View data” area is activated, where the fields Code, Type and Title will have to be completed.

Define new filter

Choosing the iconEBS-ReportingEN-image31.jpeg, a dialog will appear for select the main table for the view. At this point, we are able to define the following parameters, above the list:

EBS-ReportingEN-image32.jpegName: To keep the consistency level adequate, we could give to the filter the name of the view.

Name in Database: The name that we wish the filter to process in the database, in order for it to be reusable (like an alias).

First Ν entries: We activate it, if we need to define the amount of the entries (first Ν entries) which the query will return. This will result in automatically creating a criteria for this reason (in which, a starting predefined value should be given in the “Parameters” tab, in the view’s definition dialog)

Following that, we have to choose the main table from the available subsystems for the implementation of the filter to begin. The available subsystems are:

  1. Subsystem CS : Tables and reports of the database, which do not belong to the predefined ODS schema. This is where we can trace custom tables contained in the database.

  2. Subsystem ES00 : System tables

  3. Subsystem ESBG : Budget tables

  4. Subsystem ESCO : Costing tables

  5. Subsystem ESFA : Fixed Assets tables

  6. Subsystem ESFI : Financials tables

  7. Subsystem ESGL : Accounting tables

  8. Subsystem ESGO : Intercompany tables

  9. Subsystem ESMM : Warehouse tables

  10. Subsystem ESTM : CRM tables

  11. Subsystem ESWB : WEB –B2B tables

  12. Subsystem ESWP : Task management tables

After selecting the subsystem, the next step will be to choose the basic table of the filter and Accept, in order to move on to the filter implementation.

By pressing Accept, the “Define filter” window comes up, where the largest part of implementation takes place, while the process lasts.


The filter definition dialog separated in three major areas: the available columns, the chosen columns as well as the Criteria.

Available columns

EBS-ReportingEN-image34.jpegIn the area of the available columns, the table chosen in the previous step will come up. All of the fields of the table as well as the relationships with other database tables are available. For every field, before which the icon EBS-ReportingEN-image35.png appears, there are one or more relationships available.

In other words, in the area of the available columns, there is the full database schema available in order to implement the filter we need.

For every relationship type between the tables, the corresponding icons displayed:

EBS-ReportingEN-image36.png & EBS-ReportingEN-image37.png => Inner Join

EBS-ReportingEN-image38.png & EBS-ReportingEN-image39.png => Left Join

EBS-ReportingEN-image40.png & EBS-ReportingEN-image41.png => Right Join

EBS-ReportingEN-image42.png & EBS-ReportingEN-image43.png => Full Join

The relationship type can change, by right clicking on the relationship icon.


EBS-ReportingEN-image45.pngAny field can appear to the area of chosen columns, just by selecting it in the area of available columns. The choice is plausible by the selection field appearing on the left of each available field.

In the top part of the available columns area, there is the control bar:

EBS-ReportingEN-image46.jpegNew relation: This choice will lead into creating a new relation for any field of the available columns fields, which selected at that moment.

Names: By choosing «As in the DB», the fields will appear by the Latin name used in the database schema itself, whereas by using «Descriptive», we are able to restore the fields in their descriptive display.

EBS-ReportingEN-image47.jpegIn the bottom area of the available columns, a frame appears, holding information for the chosen field.

  • Name: Descriptive naming of the field

  • Name in database: Name of the field in the database

  • ESType: Field classification in internal data types

  • Nullable: If the field can accept null values

  • No: The field position in the database schema

  • ODS Tag: The unique value that defines every field in the ODS schema.

Chosen columns

The fields chosen from the area of the available columns are displayed in the area of chosen columns on the right.


The data displayed are:


The table from which the field has been chosen. It cannot be altered.


The title that will be displayed as a header in the view. By choosing the field from the available columns, the title will be receiving the descriptive name of the field, but it will be subject to change.


in the filter

The name with which the field will take part in the filter (the name it will get in the Select statement after the AS argument). Choosing the field from the available columns, the name will be set by the database name of the field. It can be altered.

Name in database

The name of the field in the database.

It cannot be altered.


It defines the visibility status of the field. The GID type fields will not be visible in the view, even if they have been marked as visible.


It defines if the field will be a parameter to be set by the user. If activated, it will automatically create a new line in the parameters tab (to the bottom part of this definition dialog), where we are able to define the behavior of each parameter.

Summary type

It defines the summary type of the field in the SQL Query created. The possible values are:

  • Group by: For grouping lines, which have this column common. It returns distinct entries in the result of the query.

  • Aggregate functions: AVG (average), SUM, COUNT, MIN (minimum), MAX (maximum)

  • No aggregation or simply null

  • Where: Used in cases where the field will not be part of the query but will only exist as a where clause.

  • Expression: Used if an aggregation of the values must not take place, because the field is an expression already containing aggregate functions.

  • Sorting: It defines if the entries will be sorted, based on the current field by ascending order, descending order, or no sorting at all.

  • Sorting order: In case we define more than one sorting fields, this is where we set the order of each field in the sorting.

  • Key: Used at views, containing multiple levels. By choosing fields, we can define the uniqueness of the entries of the next level.

In the above part of this area, from the horizontal menu bar, can choose:


The dialog coming up will provide with the following options:

  • EBS-ReportingEN-image49.jpegEBS-ReportingEN-image50.jpegNew expression: With this option a dialog appears, where it is provided a space to write down complex SQL Statements using fields and parameters of the filter or creating autonomous SQL Statements.

Attention: The autonomous SQL Statements must make sure to return a result set with ONE distinct value, since the result of the expression is also part of the filter.

Title: The field title. Its completion is mandatory.

Name in filter: The name of the field in the filter. The completion is mandatory.

Acts as: Choice is made by a drop-down list, in which all of the selected filter fields displayed.

Type: We define the type of the field, meaning the result of the expression created. The available types are the following: String, String range, Decimal, Numeric range, Date, Date range, Date range financial, Integer, GUID, Boolean, FP inventory, FP normal, FP closing, FP normal closing, FP compare, Costing period, ES list.

Expression: In this point, we create the expression. Through the horizontal menu in this point, EBS-ReportingEN-image51.png we can use some predefined parts of the expression:

  • Fields: Select one of the chosen fields of the filter.

  • Parameters: Select one of the filter parameters or one of the available general company’s parameters.

  • Sub-filters: Select one of the available sub-filters (if any), which we are going to use in the expression building.

  • Description: Used by the designers of default product filters to declare the literals for translation in other languages.

  • Alter expression: For change an expression, also done by double clicking on the column.

  • New through copy: For create a new expression by copying the current one.


It deletes the chosen field or expression.


For all of the visible filter fields, the “Summary type” updated automatically, in the numerical fields by the value Sum, while in the other fields, by the value Group by.


This choice allows us to track down the fields in the filter, in the available and the chosen columns areas. By synchronization in one of the chosen columns, the corresponding field is auto-focused in the area of the available columns. The same thing takes place if we are in one of the available columns.


EBS-ReportingEN-image52.pngIn the criteria area, the fields set as “parameters” will appear as well as the terms linking them.

The total of the fields and terms set in the criteria, basically, compose the Where clauses of the query.

The data of each criterion are:


This is where the link that will be used, between this one and the next field declared, for the creation of the query. The values available are: AND, OR, AND OR, OR NOT, NOT.

( )

Possible parenthesis are declared, used for comparisons which require an expression.


Its choice leads to the denial of the comparison that follows.


The column/criterion


The comparison type that will be used. The available types of expression are the following:

  • Simple comparison types like: Equal, Not Equal, Greater, Greater or Equal, Less, Less or Equal, Like, Blank

  • ESEqual: This is used when we wish to compare a value with multiple values. This is the predefined comparison value for the fields declared as queried.

  • ESConnectBy: Used for the linage of the levels to the hierarchical reports.


The criteria created by selecting columns as “parameter”, have a predefined value: {@field title}.

For the criteria that we compose through defining a value, a zoom button appears, through which we arrive to a dialog corresponding to the expression composer analyzed above.



For comment noting regarding the function of the criterion about future reference, understanding and maintenance

Filter menu

In the filter definition dialog, there are two more areas of choices that are necessary for the implementation and the control of every view. In the upper area, a menu is available:



The filters we make can be stored and recalled in order for them to be reusable. From the submenu we have the following choices:

  • Open: Recall an already stored filter.

  • Storing: Storing of the filter in an *.esq file.

  • EBS-ReportingEN-image56.pngConvert filter in master table: With this function, the present filter will be converted to a sub-filter, the visible fields of which will be considered as a primary table in the new filter automatically created. Used in cases when a field of the filter must belong to the total values defined by a sub-filter, which effectively means the logic of HAVING in SQL.

Filter data

It displays the filter name that we can alter. The property “the N first entries” checkbox can be also activated.


This is where we finalize the changes made in the filter and we return to the dialog of the view definition.


We cancel the changes made in the filter and we return to the view definition dialog.

Filter areas

In the bottom area, a bar is available displaying additional area options, which are popped-up by a simple mouse over on the respective icon:



Displays the sub filters created along with their database name. For details on the sub filter management, see to the relevant chapter.


Query addressed to the database

During the implementation of the filter, the query to the database composed automatically. In that particular area, we are able to check on the SQL Statement, which every time we need to change the filter, will be automatically updated.


Furthermore, by choosing the Refresh icon, we can look at the most recent status of the query, after some probable changes.


It will display the stated parameters with the database name, their title as well as their type.



Displays the tables from which fields have been used, during the implementation of the filter.


Parameter design

Completing the initial customization of the filter and choosing to “Accept” in the filter definition dialog, we come back to the definition dialog and activate the “Parameters” tab:


In the appearing list, all of the columns set as “Parameters” will be displayed. For each one, additional data can be declared:

SN Defines the display listing rank of the parameters
Name The title that will be used in the criteria

Recommended automatically based on the column type. Its available values are:

  • String: Simple text field


  • String Range: For text fields in which we need to provide the ability to define limits e.g. from A to Z etc. If the user chooses the icon EBS-ReportingEN-image64.png, can define a comparison fixture as well as a value to compare with for the entries required.


If we need to declare limits from-up to, we can use the EBS-ReportingEN-image66.png and that is when 2 values become available instead of just one, in which the limits are declared.

  • Decimal: This is a simple arithmetical field.


  • Numeric Range: For numerical fields or expressions in which we want to provide the ability to declare needed limits by the user. This works correspondingly to the string range.


  • Date: Simple date-field with an option picker of a single date from a calendar


  • Date Range: This is a date range field, which we will be defining, among various values related to the login date, like the current month, up to today etc.

  • Date Range Financial: The date period of the same logic as the «date range», with a difference on the fact that the default choices coming up in the 1st level, contain the meaning of the period instead of the month as well as the fiscal year, instead of year, for use into financial and accounting reports.

By using the “For advanced users…” option, in both cases, the user can select any date range, for example from 2 months ago up to particular date etc.

  • Integer: Simple numeric criterion for fields of type integer

  • Boolean: Simple criterion receiving one of three values: Yes, No, anything

  • EBS-ReportingEN-image70.pngFP Inventory, FP Normal, FP Closing, FP Normal Closing: It regards criteria used in picking the fiscal period (FP inventory only displays the opening periods, normal will display only the normal periods, closing will display only the closing periods and Normal-Closing will display all of the periods apart from the opening ones).

  • FP Range Normal, FP Range Normal Closing: It regards criteria used for picking fiscal period limits.

Through the option “specific date range”, we can set certain period limits, whereas through the option “relative interval” can choose among options related to the login (current) period.

  • EBS-ReportingEN-image71.pngEBS-ReportingEN-image72.pngEBS-ReportingEN-image73.pngFP Compare: Used only in cubes (the filter definition of cubes is the same) for comparison of particular months, years, etc, without compulsory taking all the entries included between the beginning and the end of the range in consideration, if for example we need a three-year comparison for March only.

This type should not be used, if the fiscal period is not a “month”.

  • Costing Period: Used for picking a “costing period” (warehouse) in financial reports.

Tooltip text The title of the field is proposed here. This text will be used as a tooltip text for the parameter.
Predefined value

This is the recommended (by the designer) value for the parameter.

In range types, the dialog appearing for the recommended value declaration is the one that will appear during the execution of the view to the user, if he attempts to change the value of the criterion.

If the option “First N Entries” has been activated, the respective parameter will automatically be created and a value will have to be provided to that column no matter what.


Filter By activating this column, a search filter will automatically be created for the parameter. It is used for entities, for example customers, branches etc. and not to numeric fields, dates, booleans. Following that, the filter can be altered through the next column.
Search filter

EBS-ReportingEN-image75.jpegWhen moving to that column, a zoom button will appear to the right, which when chosen, will display the dialog for creating a new or altering the existing filter.

It regards the entries shown by the F3 (search) in the particular criterion and the forming rules are matching the ones valid in every other view.


EBS-ReportingEN-image76.jpegIf the parameter has to be completed mandatorily, before executing the view, the column will have to be activated. During the execution of the report, such a parameter will show as follows: EBS-ReportingEN-image77.jpeg

In case the user attempts to run the report without completing the mandatory parameters, the system will create an error message:

The mandatory parameter completion must be taken into consideration by the administrators of large installations, because in widely used views, this practice could prove confining to the data circulation, thus forcing the users to lessen the amount of searching by using parameters to their searches.


Defines the way a parameter is displayed. It is able to receive 3 values:

  • Always: The parameter is always shown
  • Never: The parameter is never shown. It can be used by the one implementing the view, so that we can set a parameter and hide it from the user to prevent any change.
  • For Advanced users: The parameter is available to the end user but not directly by displaying the parameter area. It is initially hidden and will be displayed when the user presses the icon EBS-ReportingEN-image78.png.


On the right of the list of parameters, there is a toolbar containing the following functions:

EBS-ReportingEN-image80.png Moving the current parameter: it changes the series by which the parameters are displayed in the criteria area of the report.
EBS-ReportingEN-image81.png It deletes the current parameter.

EBS-ReportingEN-image83.jpegRun on MIS Database. This MIS Database can be declared through Tools/System–database management/DB Administration (MIS), where for every database, we are able to set the identity data of the corresponding M.I.S database. This is the “Offline” D.B. which updated by the administrator based on the needs of the installation and offers the ability to receive statistics without encumbering the “online” database and the rest of the users if those statistics do not require fully updated data. For example: comparing months, years and generally, past data.

Activating this setting and running that view, the option “Run on MIS DB” will appear automatically in the criteria area.

Altering the filter

After pressing “Definition” in the view definition area, if the view has been stored already, by using the button EBS-ReportingEN-image84.jpeg, we come up to the define filter dialog, just as in the beginning, with the available columns, criteria etc, to make some alterations.

Filter properties

Pressing the button EBS-ReportingEN-image85.jpeg in the initial view definition window, we are able to see some default property values that concern the «identity» of the view:


If we disable the setting multiple selection then in possible selection processes, where this view might be called in a search (F3) will allow the user to pick ONLY ONE line. If for example the view is used to pick a document type for creation by a process, it is reasonable to have disabled the multiple selection, while a view used for searching and transfer items in the document items grid will be allowed to choose more than one (for example in an Order form).

The display form must be completed (selection occurs among all application forms, by their Latin naming) in order to open the entity’s management screen, when the respective line is double clicked on the view. To operate, the filter (query) should have included the "GID" of the entity.

This folding dialog will cease to be visible if any point selected (clicked) outside of it. There are no escaping keys or confirmation keys.


The aim of this function is to create the proper layout of the view, based on the initially proposed by the system.

EBS-ReportingEN-image87.jpegFor the Formatting to be called out, the view must have been stored with the latest alterations and this is the reason why every time the filter is modified and we choose Formatting, a question will pop up asking about the storing.

The dialog opening by pressing Formatting, looks a lot like the execution of any view, with the difference that the Formatting menu comes up with 2 choices:


  1. Update layout: This choice adds or removes columns that correspond to fields added or removed from the fiter accordingly, keeping the existing formatting.

  2. Recreat layout: This option will disable any formatting alterations that have been done and recreates the formatting based on new filter’s columns, providing the initially proposed layout.

Thus, after the addition or deletion of fields in the filter, we must select any of these two options to update the view, otherwise the changes will not be visible during the execution of the report.

Ending the formatting dialog, the question will appear on the storage of changes. By answering positively, the structure as well as the layout of the view is saved.

Sub-filter implementation

The creation of a sub-filter is necessary in case we need to find, calculate and display information in the main view, that derives by a different processing from different tables, based on the relation model of the database or based on “logical” relationships (not available directly in the starting schema) which we are able to create ourselves.

For this to be clearer, we will be using the view “Current balances” through the menu path Entities/Accounts receivable/Balance check.


In this view, to be able to display the information of the balance of every customer as well as the date of the latest debit and latest credit, we needed to create 3 sub-filters:

  1. One, from the table «Current Balances» for the debit and credit sums of all of the lines that concern the Trade Account, and, by using an expression between them, create the “Balance” as a visible column in the view.
  2. One, in order to locate the latest dating entry from the table of trade account entries, filtering those updated the “debit value”, and choosing the “registration date” as a visible column in the main view.
  3. One, to locate correspondingly the latest dating entry updated the “credit value”, for the same trade account.

EBS-ReportingEN-image90.jpegIn order to do something similar in any customer list, in the definition dialog, we are going to be selecting the area “Sub-filters” and using the toolbar on the left, to add a new line:

Following that, in the main table choice, we are going to be selecting the Current balances of trade accounts:


According to the general view’s implementation rules, we can implement the sub-filter, pick the columns, set a proper gathering method, provide the sub-filter with a new name, and close the definition process, by selecting Accept and finally store.


Then, we must define the relationship linking the basic filter of the customers with the new sub-filter of the current balances of the customers. The relationship must be implemented on one or more fields of the basic filter.

For the example, we are going to use the internal customer code. We choose the field and then we select the icon “New relation” from the toolbar on the left, above the field list.


In the table relationship dialog that appears, we will have to complete the following data:


  • Table: We select the table we need to match with the master table. The sub-filters that we might have already developed, will appear to be available with the name we have given them, for example CustomerBalance, like any other table of the database.
  • Field: We pick the field we need to match with the field of the basic table. In the example, we match the Internal Customer code (GID) of the master table with the internal customer code (fTradeAccountGID) of the sub-filter (detail). This correlation is included in the SQL Statement automatically produced, as follows:


The matching is declared at:

ON ESFITradeAccount.GID = FK_CustomerBalance_ESFITradeAccount.fTradeAccountGID

  • Μ – D Relation, D – M Relation: We define the name of the relationship, as will be displayed in the available relations of the relation field “internal customer code”.

The other dialog’s fields analyzed below:

  • Relation to database: Defines the name for the relation creation. The following name recommended automatically: FK_Detail Table Name_Master Table Name.
  • M – D data shifting: By this action button, we define the type of relation in the view. One to many EBS-ReportingEN-image96.pngis recommended, towards the detail table. If we select it, the relation will be altered to Many to One EBS-ReportingEN-image97.png, and at the same time the Detail and Master will shift positions.
  • Further field relations: Up to 3 relation levels can be defined in the view’s creating tool. Besides the basic relation between 2 fields, we are able to set 2 more. The 2 further relations can be defined in a level:
  • Field to field: Relation between 2 fields
  • Field with an integer constant: Relation between a field and an arithmetical value
  • Field with an alphanumeric constant: Relation between a field and an alphanumeric value

After we define the data of the new relation, we now have the ability to use, to the filter definition dialog, all of the visible fields of the sub-filter.


Finally, by right clicking on the relationship, a series of choices displayed, based on which we are able to:

  1. Change the relation type
  2. Delete the relation
  3. Alter the data of the relation through the Table relationship dialog

Filter implementation by joining others

Cases come to exist, where the need to unite the data under a unified table consisting of data from many tables, becomes apparent. This process (UNION) implemented, by following these steps:

  1. We create sub-filters from the respective tables, where we declare as necessary fields.
  2. In every sub-filter, we create an expression of a string type (dummy), along with a random value, for example 1.



ATTENTION! The values of the field (1, 2, 3…) will need to be different in every sub-filter, while in the “Name in filter” and “Title” the values should be the same.

  1. We convert every sub-filter to a “main table”.


  1. EBS-ReportingEN-image102.pngIn the basic filter of the view, in the dummy column, we define a full join with the relevant dummy columns of the sub-filters.

  2. The full join of the previous step, will return a value for one of the sub-filters, while it will be returning null for all the rest.

So, in the basic filter we should define the fields of the same nature in the sub-filters as not visible and create expressions for those fields, by using coalesce({field1},{field2},{field3},...), which only will have activated the “visible” property.

For example, if in the “Receipts” of the main menu (Transactions/Cash/notes) we sort the columns by the “visible” column, we will notice that all of the visible ones are actually expressions. For example:


What will be printed each time, as a document title is the one with the non-null value, returning one of the 4 different, in our case, sub-filters.

Constructing a level

Views displaying the following structure, called Hierarchical.

EBS-ReportingEN-image104.pngIn the hierarchical views, every line will display the symbol EBS-ReportingEN-image105.png on its left. Clicking the icon will cause the line to expand to a new data grid, instantly generated (level). A view may have 1 – Ν levels.

Constructing hierarchical views is based on the actual requirement to present information of secondary importance as a supplement or explanatory of the main view information. Additionally, with hierarchical views, we are able to cover informative reports which in case they all were given out on the 1st level, it would result in execution speed reduction. The reports are executed only as far as the 1st level while any next levels are calculated and displayed, after a user request which means that in case levels are used for non immediately required information, a faster execution speed will be achieved.

As an example, we are going to use the view “Sales/Shipments” found in the menu Transactions/Sales-Revenues.

EBS-ReportingEN-image106.pngAll of the hierarchical views are composed of the main filter and the level filters. In this particular case, the main filter contains Sales documents with their basic data, like the date, number, customer, amount etc.

The aim of the level construction here is to provide the ability to inform on the lines of each document without making the user enter the document screen itself.

In the definition dialog of the view, we will be selecting the tab «Levels» and the Add icon next.


The dialog of the level definition will be displayed and by choosing the icon New, we follow all of the known steps for filter creation.

We construct the filter, which we call LineItems for example.

EBS-ReportingEN-image109.pngIn this new filter now, we will have to define the linkage to the master filter of the Sale Documents. We must decide which unique filter field of the “LineItems” uniquely identifies the document lines in order to group and display them, under each line (document) of the master filter.

This field is no other than the “GID” of the document in the table of the lines, the fDocumentGID.

The linkage is achieved by using a where clause in the criteria part of the level, by using the function ESConnectBy.

To be more exact:

<Unique level field> ESConnectBy <Name in the filter, of the master filter’s field>

The field Document (fDocumentGID) of the level filter matched to the field “Internal Code” (GID) of the master filter. As an effect, the linkage will have to be:

Document ESConnectBy GID (GID is the Name in filter, of the field “Internal Code”)

EBS-ReportingEN-image110.pngATTENTION: The field Internal Code of the master filter, will need to be visible, though the grid layout will never include it.

The next step is to create the level in the formatting on the view. Selecting “Accept”, we return to the view definition dialog, and select the Layout designer action button.

Hierarchical display

The level display follows a hierarchical logic and displayed by the icon EBS-ReportingEN-image105.png on the left of every line. The display of the this icon can be achieved through Formatting and by choosing Recreate Layout.



In the hierarchical views, the activation of levels can be achieved only through “Recreation of layout”, so it is recommended to first complete the definition of ALL of the levels and then move on to formatting process.

Drill down display

The data of the level will be displayed in a new dialog, when the user clicks on and activates the Drill down column (cell).


In the view’s definition dialog, in the “levels” tab, the Drill down column will have to be activated and following that, as a Drill down column we must declare the filter’s field for which the display of the icon EBS-ReportingEN-image113.png will be activated and which will help display the data of the level in a new window on click.

For the display of the iconEBS-ReportingEN-image113.png, meaning the activation of the level, no formatting recreation will be necessary. All we will need to do is to move on to the Layout Designer and store the formatting once more.

EBS-ReportingEN-image114.pngThe level and master filter are 2 different SQL Statements. How they exactly executed?

By pressing the “Accept” button in a hierarchical view, the SQL Statement of the master filter is executed. The SQL Statements of the possible levels are not actively executing yet. ONLY when the end user chooses the icon EBS-ReportingEN-image105.png or EBS-ReportingEN-image113.png will the SQL Statement of the corresponding level be executed and produce results. In fact, the query will run for the particular line only, due to the fact that one of the where clause of the level is the ESConnectBy.

In conclusion, during the execution of a hierarchical view, disregarding the levels it might contain, the main filter will initially be executed, leaving to the user the option of displaying any hierarchical information needed. This way we are able to create massive and complex views with various levels, which will always run in the fastest possible way, without affecting the overall performance of the system.

Special functions of views

In this chapter, we will be seeing some specialized functions available to be added to the views.

Ability to edit the views’ lines

This is the ability to alter entity fields directly on the view, presenting it. The pre-requisite for this function is to declare a management form (and as visible, the relevant field “Internal code” GID) in the “Properties” of the view.

  • Using Alt+F12 we are able to place in the views folder, where the related XML is located. We open the XML for editing and locate the first tag named editable. We set the value to true and the result is to become editable by the user ALL of the columns of the view.
  • EBS-ReportingEN-image115.pngDue to the fact that this functionality is usually added to enable easy-editing of ONE or A FEW columns, while the view itslef contains more columns, in order to convert all the other columns into non-accessible, must use the property «Edit type» through GridX (Ctrl-F12), for each one of the other columns.

EBS-ReportingEN-image116.pngIn usage level of this ability, when the user completes the modifications on the data grid of the view, he must choose from the “Actions” of the horizontal toolbar -> Update, when (and only then) the alterations of the fields will be stored.

A visible indication that alterations have taken place without being stored, is a * in the title of the tab.

Addition of a special action (handler)

For an action to be applied and added in a view, we will have to locate the XML of the report, by using Alt-F12. Under the first tag editable we define a tag <ScrollerCommandHandlerID> with the action ID. If for example we need to add the action that updates the contact in Outlook, we would define it as follows:


Examples of other actions, available in the system, used by various system views:

Handler name Report Actions
Entersoft.ERP.Financials.UI.AllDocumentScrollersCommandHandler, ESFIDocumentsFO
  1. Forward Update
  2. Print documents
  3. Print Preview Documents
  4. Document transition
  5. Show transitions 
  6. Automatic quantity closure
  7. Criteria based automatic quantity closing
Entersoft.ERP.Financials.UI.Documents.CmdHandlers.ESFIDocumentSalesRetailCommandHandler, ESFIDocumentsCmdHandlers
  1. Reapply invoicing policy
  2. All of the functions of AllDocumentScrollersCommandHandler
Entersoft.ERP.Financials.UI.Documents.CmdHandlers.ESFIDocumentAdjustment_ProductionOrdersCommandHandler, ESFIDocumentsCmdHandlers 
  1. Reapply BOM
  2. All of the functions of AllDocumentScrollersCommandHandler
Entersoft.ERP.Financials.UI. ReapplyPaymentMethodForTradeDocumentsCommandHandler, ESFIDocumentsFO
  1. Reapply payment method
Entersoft.ERP.MaterialsMgmt.UI.MUStockItemComHandler, ESMMStockItemFO 
  1. Assign measurement unit
  2. Update cost prices
  3. Define warehouse
  4. Update suppliers

Create an increasing numbering column

Used in cases we want the numbering column to exist in every report line, based on specific sorting. The command structure is:


In partition by clause, we complete the fields based on which the fragmentation of the data will take place in order to start the numbering from the beginning for each “sector”. In the order by clause, which is mandatory, we complete the fields based on which the data will be sorted. That means that for every value of the field2, the numbering will rise while for every price of the field1 the numbering will restart from 1.

note_pinned.png Example with an Α/Α sorted by item family and code

EBS-ReportingEN-image117.pngEBS-ReportingEN-image118.png EBS-ReportingEN-image119.png

Complex views

The complex views have a single special ability, which allows the presentation and full management of entity fields in the same display with the view presenting the entities in a list. The screen will actually be split in two areas:

  1. The grid area

  2. The form display area with full management ability

While moving on the grid, the form to the bottom area is refreshed, presenting the data of each current line (of the particular entity).


For a view to obtain this functionality, the following are necessary:

  1. EBS-ReportingEN-image121.pngThe internal code (GID) of the entity must become a parameter.
  2. This parameter must become 1st, defined as TYPE = GUID, VISIBLE = never and declared «Field relating filter to form» to the PROPERTIES.
  3. To the command calling such a view, between the 1st and 2nd pipe, the following should be added: Entersoft.Framework.Windows.Controls.ESScrollerBrowser,ESControls

A simply way to preview the whole command and to do that addition is to transfer the respective view to a shortcut and look at the string «Command» to the shortcut’s properties. For example, to the view “Person Management” called by the CRM toolbar from the “Work Space”, the command is the following:

sInvoke|Entersoft.Framework.Windows.Controls.ESScrollerBrowser,ESControls|SHOW|Person Management|ESGOPerson|CRM_PersonList|||0

Cube/olap designer

EBS-ReportingEN-image122.pngAs to the view implementation tool, the cube implementation tool can be called by two methods (as can be seen in the Introduction Manual):

  1. From the menu Tools/Additional development tasks:
  2. Through any existing cube by clicking on the design icon from the horizontal toolbar:


The cube implementation tool is quite like the views designer. Particularly the horizontal toolbar, as well as the tab-pages Filter, Description, Parameters, User groups, work by the exact same method.


In the present chapter, the special functionality of the tab-pages “Formatting” and “Miscellaneous Data” of the cube designer dialog will be examined in detail.


At this point, the cube designer will define the topology of the chosen fields in the different areas of the cube. Picking the cube “Sales by branch for time period” as an example, and choosing Formatting, the following customization of the cube will appear:EBS-ReportingEN-image126.jpeg

This customization layout separated into five basic areas:

This is the area of the available data-fields (facts), which will be visible in the grid.


During the testing of the cube, the user may choose some fields as directly visible, leaving the rest to the “Data” area (deselecting them).

This is the area of the column dimension field, defined in the proposed layout.


This is the area of the line dimension field, defined in the proposed layout.


This is the area of the dimension fields, which available for transfer by the user either in the line dimensions or in the column dimensions. Those fields are NOT included to the proposed layout.


This is the area of ALL of the fields (facts or dimensions) defined as visible in the filter, but not included in the appearing available fields, in any of the above areas. From this area, we are going to be transferring by drag & drop any field we need to make visible or available to the rest of the areas of the formatting.

In the areas of the Visible and Available dimension fields of Lines and Columns, we can left click on the fields and define the following data:

Title We define the Title that the field will get in the cube. The recommended value originates from the field in the existing filter. EBS-ReportingEN-image129.jpeg
Formatting We define the formatting of the field. For example if this is a date field, we are able to type d, so the field would take the formatting defined for the date in the local application settings.
Permissible axes EBS-ReportingEN-image130.pngThis choice pops up a sub menu in which we are able to select the axes on which the user allowed to move this particular field.
Multiple choice

Deactivating this field, in case the user applies a filter using the choice EBS-ReportingEN-image131.png next to this field, will allow making a SINGLE CHOICE, otherwise the multiple choice will become available.

Multiple choice Single choice

EBS-ReportingEN-image132.png EBS-ReportingEN-image133.png

Totals It defines if totals will be created-calculated for the numeric fields of the grid, as to this dimension field.
Ascending It defines the data sorting method, regarding the particular field (values of dimension field).

In the area of the available data-fields of the grid (facts), we can left click on the field and define the following elements:

Title We define the title of the field on the cube. The value proposed originates from the existing filter. EBS-ReportingEN-image134.jpeg

We define the formatting of the field in the cube.

For example by typing c, the field will receive the formatting defined for the currency in the local application server settings.

Totals EBS-ReportingEN-image135.pngThis option will activate a sub-menu, which will provide the types available for the totals in the lines or the column totals of the cube.
Visible If it is NOT defined as visible, a fact-field (numeric) will be available in the data area of the cube, so that the user will be able to make it “visible”.

EBS-ReportingEN-image136.pngFurthermore, by double clicking on any blank spot of the area data-fields (facts) we are able to choose the construction of an expression.

EBS-ReportingEN-image137.jpegThis option automatically constructs a new field for which we define the content by left clicking on the field. The expression can be a simple or complex mathematical equation. Any field can take part in the syntax of the expression as long as we use the “Name in the filter” of each field. The name in the filter of each field is available in the field “Code” by left clicking.

EBS-ReportingEN-image3.png Example

In order to create the field-expression «Average Sales Price» in the cube «Sales by branch for time-period» we will be using the expression below:

if(ESFIItemPeriodics_InvoicedSalesQty ==0,0, Sales_Value / ESFIItemPeriodics_InvoicedSalesQty)

Miscellaneous data

In this tab of the definition dialog, we are able to define various characteristics that will affect the appearance and the general formatting rights, which will provided to the users.


Open levels This is were we define the number of lines and columns which will appear fully expanded simutaneously in the cube.
EBS-ReportingEN-image139.jpeg Value = 2 Value = 1EBS-ReportingEN-image140.jpeg

Settign a value = 2 for example in the vertical axis , we state that the line dimensions will be visible-open up to the 3rd in turn.

Setting a value of 1, the first 2 dimensions will open while the 3rd will be able to expand using the icon EBS-ReportingEN-image141.png by the user.

Show data title even if only one

It defines if the fact title displayed or not, in case only one fact (numeric) field selected as visible. Recommended to be disabled.


Also, we can define how the user could affect the cube’s layout, through the following (allowance) settings:

Dimension Filtering

It defines if a filter application allowed to the dimension-fields values.


Move dimensions to the external axis If disabled, the area of the available dimension fields will be hidden, rendering the user unable to move fields to and from the area of the available dimensions.
Appearance/ Hiding data It defines if the user will be able to display or hide numeric fields (facts) from and to the data area.
Pivoting It defines if the user will be able to move the dimensions, the series between them or the movement in-between lines/columns, as well as to and from the area of the available dimensions.
Dimension opening/closing It defines if the user will have the right to expand or collapse the dimensions (lines and columns) of the cube.

ΒΙΤ and incorporation of new printouts

By using BITS, special financial reports are implemented, which handle in a particular way the “brought forward balances”, the “progressive balances” etc., in order to meet the requirements for official – accounting printouts.


EBS-ReportingEN-image145.pngStoring takes place in the ESBIT folder. Just like the views and cubes, the shadowing principle is valid for the implementation of possible new BITS or the alteration of default ones, in an installation level.

As long as we are in a BIT grid data line, by using the Ctrl+Shift+F8 keys combination, a dialog will appear, through which we can track down the installation folder.


There are two options for the printing of a BIT, the print preview (without the ability to develop a new layout) and the printing through a Crystal Report. The Crystal Reports accompanying the ΒΙΤ stored in the folder Reports into each ESBIT or CSBIT folder. For the addition of a new crystal report on a ΒΙΤ, we should follow the steps displayed below:

  1. Copy the xml file of the BIT in the respective CSBIT folder.
  2. Create the crystal report as follows: Send to dataset, creation of blank report in Crystal and linking to the xml of the previous step, from Database Database expert Create New Connection ADO.NET (xml)
  3. Copy the file crystal report in the \CSBIT\Reports folder.
  4. Open the xml file and add a tag called <MoreRpts>, exactly before the tag RPTParams, based on the example below :


Data export methods

While using views and BITS, we have the ability to export their data in a variety of formats. The dialog, through which this can be made possible after certain settings take place, is found through the option Send in the toolbar:


The dialog appearing when choosing “Send” (and if the view or the BIT has already been executed, in order to fetch the results) will have the following form:

EBS-ReportingEN-image150.jpegThe type options in the field “Export to….” are the following:

  • Excel – Spreadsheet

  • Fixed Length


  • Mail Merge

  • Clipboard

  • XML

  • HTML

  • Window

  • Dataset

  • Printer

In the lower part of the dialog, the following option buttons are available:

EBS-ReportingEN-image151.jpeg Extracts the data according to the format and the settings defined
EBS-ReportingEN-image152.jpeg Displays the time scheduling dialog, providing the possibility to schedule the export scenario to be executed every certain date periods.
EBS-ReportingEN-image153.jpeg This option provides the ability to store in an exl file, all of the chosen settings in the dialog.
EBS-ReportingEN-image154.jpeg Recalls exl files to execute.
EBS-ReportingEN-image155.jpeg Exits the dialog

In the field «select file» used for saving the results, there is an option of providing a dynamic naming, such that will be produced automatically, based on some parameters as stated below.

File name part Result
$[folder] Will create the “folder” given, in the application main folder and will export all of the data there.
$$[pattern] Will export the data to the installation folder (root), providing to the file the name which defined to the pattern.
$[folder]$[pattern] Will export to the folder, with the name which defined to the pattern.

The pattern could be one or more of the following:

{yyyy} Year
{mm} Month
{dd} Day
{hh} Hour
{MM} Minutes
{ss} Seconds
{COMPANY} Company
{BRANCH} Branch
{USER} User
{TABLE} Main report table
{any PARAMETER of the report with its name}
  • The option of a parametric name is NOT valid for Excel exports.

Excel – Spreadsheet

This option, which is also the default one while calling the dialog, provides the option to extract data either in the form of Microsoft Office Excel or in OpenOffice – StarOffice Excel. In the data export dialog, there are several parameters defining the export method of the data, as well as their content layouting.

EBS-ReportingEN-image156.jpegIn the Destination field, we can state that we require a file to be created able to be managed by OpenOffice – StarOffice (the default behavior is to create a Microsoft Office Excel file).

  • The default Excel extraction type is defined by the general parameter Application for exporting of spreadsheet files and text of the category General – Operating


EBS-ReportingEN-image158.pngThe option Delimiter contains the default value Tab, so that the spreadsheet created, will contain ONE column of the report per cell. Altering the value in one of the available ones will result in all of the report columns added into one cell, separating the information between them by using the Delimiter chosen.

In the Properties area, the following options are available:

With column names This option transfers the names of the columns of the view or the BIT. It is recommended to keep it activated.
Selected lines only Activating this choice, we transfer only the chosen lines to Excel. Proposed as deactivated, thus, it will be exported all of the lines of the view or the BIT.
Totals line Any total/subtotal lines will be exported to Excel, if activated.
Cell codification The option activates the ability to coding each cell with a label depending on the number of columns which we will complete right below of it. This label will be consisting of the (range name default=EBS)_(the value of the particular cell)_(the name of the columns seperated by_).
Grouping lines If there are grouping lines activated in the view or the BIT, they will be exported to Excel as well.

The specification of exporting data to spreadsheet is to create a sheet, which will not be saved at that moment. The spreadsheet software will be executed and the data will be entered inside it. This procedure is in the discretion of the user, who will decide on saving this file or not.

In Select File, we are able to type in or choose the path of a particular file in which the data will be entered.

In the Send field of the dialog, we will be defining the way in which we are going to manage the result of the export. The available options are:


File This is the pre-defined value of the dialog.
Email Creates an excel file which is attached to an email being sent off to the recipient. The recipient’s address filled out in the Destination field.
Fax Creates an excel file used as a source for the fax being sent off. The fax number of the recipient filled out in the Destination field.
  • The application supports Microsoft Office Excel 2003 editions and later.

EBS-ReportingEN-image3.png For example we would be able to send off in an Excel, the list of the inventory items for counting check and the year counting process. In the main Items view, we execute a data sending to the Excel file, thus receiving the following result:


Fixed Length

EBS-ReportingEN-image161.jpegThe fixed length files are commonly used as data sources from 3rd party applications providing the chance to implement communication bridges with them.

One of the most common scenarios met, is the linkage of the application with device types like PSION, Motorola, Handheld, Intermec etc., which are typically used for portable invoicing, order-issuing and stock counting.

In the dialog part Layout - format we will have to define the schema of the file to be created.

The schema will be stored in an xml file as can be seen below, and if we already have defined one, we can recall it in this point, by clicking the button EBS-ReportingEN-image162.png to search.

In order to define a new schema, we click on the EBS-ReportingEN-image163.png button which will open up a new window with a grid, where all of the visible columns of the view or the BIT appear, using their name in the filter.

EBS-ReportingEN-image164.pngFor each field of those (that consists a line in the grid), certain properties must be altered or confirmed.

If we want to remove a field from the schema, all we need to do is select the line and press delete, which pops up the deletion confirmation dialog.

The grid consists of three column groups:

  1. Field

  2. Range

  3. Properties

  • Field
S/N The automatic numbering that the field receives, depending on its position in the formatting of the view or the BIT. It is not available for altering.
Field The name of the field in the filter
Type The field type can receive one of the 5 available choices: TEXT, DATE, INT, BIT, NUM.
Regional settings Affects the type of the field to be exported, based on the country. For example, if we need the decimals of a field type NUM to be separated by dot (.) and not a comma (,), which is the default setting, we should pick the English (United States) setting.
  • Range
Start The point from which the content of the field begins
Length The length of the field
Layout The layout that the content of the field is going to receive, depending directly on the country setting of the field
If empty The value that the field will receive if the content is blank
  • Properties
Right alignment Defines the alignment of the field to the right or not. YES is recommended for the arithmetic fields.
Complete to the left The characters completed left of the field when the content does not cover the predefined length, for example the “leading zeros” whenever we require to export a number as a code of a specific length.
If wrong Defines if the field will be exported or not, depending on if the term set in the “Wrong if it is bigger” is fulfilled or not.
Wrong if it is bigger In case the field value is bigger than the value we set here, (meaning “wrong”), its export will depend on the setting beforehand “if wrong”.

EBS-ReportingEN-image165.jpegAfter completing the implementation of the schema, we choose from the horizontal menu of the dialog «Files», the «Save» (or «Save as») option, in order to store the schema in an XML file type, by declaring the folder and the name of the file in the presented dialog.

EBS-ReportingEN-image166.jpegThe horizontal menu provides additional functions through the option «Operations»:

Add No Column This option adds a new field in the starting point of the schema, which will have as a content the numbering of the lines in the exported file.

From the dialog appearing, we have the ability to customize the following:

  • Disregard the N first lines: This means that during the creation of the file, this amount of starting lines ignored. This proves to be quite useful if the export takes place in an already existing file, containing header text.

  • EBS-ReportingEN-image167.jpegDisregard the N last lines: This means that during the creation of the file, the amount of lines we set in the field, counting from the bottom up, will be ignored. This option is quite useful when the data export takes place in an existing file containing sub-page text.

Finishing up with the schema declaration in the export dialog, in the Properties, tab, there are certain additional settings:

OEM/DOS form

EBS-ReportingEN-image168.jpegActivating this particular choice, we define the codepage 737 for the file that we are about to export. It is recommended to be disabled, using the codepage 1253 for the creation of the file.

If enabled, to the following field, we can declare any other codepage we need to use.

Column selection for multiple files

EBS-ReportingEN-image169.jpegIn that particular option, we define the field, the values of which will be used for the creation of multiple files. For this to operate, we need to use the parameter {gc} in the file-export choice.

For example, if we provide a file name C:\exportfiles\All\Warehouse_{gc}.txt in an Items view and select the “Main supplier” column, we are going to create as many FILES as the suppliers of the items on the view.

Column selection for multiple folders

In that particular choice, we define the field, the values of which will be used for the creation of multiple file storage folders. For that option to operate, we must use the parameter {dc} in the field of the file to export.

For example if we provide the following as a file name, C:\exportfiles\Warehouse_{dc}\Items.txt in an Item view and choose the “Main Supplier” column, we will be creating as many FOLDERS as the Suppliers of the Items in the view. In every folder, the Items.txt file will be included.

Depending on the scenario we need to implement, it can be used in combination to the previous setting.

In the data export in fixed length files, the completion of the field File selection (or the completion of the folder and name field) is mandatory to create a file.

note_pinned.png For example, we could export the list of Items in a fixed length file, which will be used by a mobile invoicing client-pc. In the main Items view, by selecting “Accept” in order to get results and “Send”, declaring to the dialog the Fixed Length as the export type, the xml file of the layout and the folder and storage name of the file, and by selecting Run, the result will be the following:



EBS-ReportingEN-image171.jpegThe option of choosing an ASCII file type is of similar functionality as the fixed length file.

The difference between the two options is that the ASCII export form has no logic of schema implementation. The Delimiter separates the values of the overlapping fields:


EBS-ReportingEN-image3.png In correlation to the example of exporting data in fixed length files for use by a mobile client-pc, a similar logic followed in ascii format, as well.

In an Items view, we press, “Accept” in order to fetch results, declare the export type as ASCII, the delimiter, for example #, as well as the folder and storage name of the file. After the execution, the result will come up as follows:


Mail Merge

This option provides the ability to organize mass sending of e-Mails, printouts, folder etiquettes, using the application views.

EBS-ReportingEN-image174.jpegFor example, using the system view “Address Book”, in the Customers area, we can create Customers Labels, using one of the default mail merge files of the application or by using any other template we might implement using the existing ones as guides.

  1. Initially we will be executing the view and choose the customers, for whom the labels will be implemented.
  2. The next step would be to choose “Send” through the horizontal toolbar.
  3. Picking the Mail Merge in the Send dialog, will activate a new sub-page called Mail Merge within which, we will be selecting the option Labels.


  1. In the Properties of the export dialog, we are able to activate the option Selected lines only, for the creation of labels only for the customers chosen in the view’s grid.

  2. In the field File choice, we will be selecting the readymade mail merge file from the ESMailMergeTemplates folder, EnvelopLabels.doc.


  1. Finally, pressing Run will automatically open Microsoft Office Excel with the list of the Customers, based on the Label-template chosen before (EnvelopLabels.doc) and will open the relevant text in Microsoft Word along with the ready to print labels.


A similar process can be followed for printing of Inventory item labels.

Another example of the application working along with the mail merge, can be seen in the Aging of accounts receivable (Entities/Accounts receivable/Balance check).


In the Actions menu, there are options to create Balance reconciliation letters used for sending off to the customers (in both basic and foreign currency), while also another option creates the matching correspondence labels.

EBS-ReportingEN-image179.pngEBS-ReportingEN-image180.pngWith the 1st option for example, the option dialog for the mail merge template will come up, where the Reconciliation Letter Template.doc will be the default chosen file. With the 2nd choice, the corresponding template Reconciliation Letter Template FC.doc includes the amounts in foreign currency, while to the 3rd option, it should be used the Label template Envelop Labels Template.doc. You should check and revise all the template files, according to the company’s policy.

Choosing Open, will activate and run the mail merging process, producing the result:


The process of creating reminders regarding the customer balance will always be executed based on the selected customers on the view’s grid.


EBS-ReportingEN-image181.jpegThis option allows us to transfer to the “Clipboard” all of the data returned by the view, for any use.

Active properties for the clipboard are:

  1. With column names
  2. Selected lines only
  3. Totals line

note_pinned.png For example we could massively copy some Inventory Items from a view directly on the lines of a Delivery Note.

In order to achieve that, we must remove temporarily the proper columns from the view’s layout, leaving visible only those existing on the trade document grid, for example Code, Description, MU. Next, by choosing Send we pick the Clipboard, deactivate the options «With column names» and «Totals line», and activate the option «Selected lines only».

Afterwards, into the Document, by using the horizontal toolbar to pick “Actions”, we choose Import Lines From Clipboard.


This action will result in the chosen items to be transferred into the lines of the document.


EBS-ReportingEN-image183.jpegThis option provides the option to export the data of a view in an XML file. This action will be especially useful for the mass document trading between Databases or Companies. For example, it is frequently used at Online – Offline scenarios for the transfer of item codes between remote branches.

In the Properties area, the additional settings can be set:

Export relevant files for Franchisee

If activated, during the export of the xml files along with the Items, data will also be extracted from all of the relevant to the Item tables, for example Color- codes, Sizes, Categories, Group codes, etc.

This ability is especially useful in Franchisee type scenarios, where the Head office will send out new pricing policies, Items etc. to the branches, as well as additional parameters, possible colors, groups etc, in a simple unified process.

In ΖΙΡ format Activating this checkbox, the to-be-created XML files are finally compressed in a ZIP file, in order to save space and easily manage the created files.

During the export of the data into XML files, the completion of the field Select file becomes mandatory and it should be completed by using the full path for the file creation.

note_pinned.png For example, we could send the newly entered Items in a corporate branch inside a ZIP file. In a view displaying Items, we choose “Accept” for the results to come in, and then “Send” stating as an export type “XML” and activating the Selected Lines only, In Zip format and Export relevant files for Franchisee and the folder and storage name of the File. After selecting “Run”, we will produce a result of a Zip file containing XML files inside it with the Items and all related grouping tables, ready to be sent off to the branches: EBS-ReportingEN-image184.png

All of the system entities may be updated through import via xml file, so this process should be executed to the destination sites, in this case.


EBS-ReportingEN-image185.jpegThis option provides with the ability to export the data into an HTML data type. During the execution of the export, the file can be sent to the destination we chose, this way providing the ability to directly send data to any Trade Account and directly used by it through a Web Browser. This file is of a small size due to type, making the sending through Email even easier.

In the export of data in HTML files, the completion of the field Select File, using the file and folder name to create a file is mandatory.

EBS-ReportingEN-image3.png For example, we could use the HTML export to send off a customer ledger to the customer himself, using email. After running the BIT in the customer ledger, we choose Send declaring the export type to be a HTML and in the “Select file” field, we enter the folder and name of the file to store. We chose “eMail” as the value of the “Send” field and type in the electronic address of the customer in the “Destination” field (if the BIT executed through the customer management form, the Email is automatically proposed to the “Destination” Field). Pressing “Run”, the attached file that will be sent to the customer will have the following layout:


Multiple data export scenarios

EBS-ReportingEN-image187.jpegAll of the data export methods examined can be incorporated into Export “scenarios”. This ability can be used for the grouping of various exports (through several views or BITs of different areas of the system) which are usually considered as altogether as ONE working whole e.g. «End of month reports» or «Daily branch data» etc.

For every data export that will be included in that “whole” scenario, and after we complete all of the export parameters, we choose the “Scenarios” tab from the data export dialog.

We complete a “Code” and a few comments in the Step information, as well as in the Scenario information. In every export having to do with an existing scenario, the code entered will have to be the SAME in every step.

Before the execution of the export, we must save by using the button EBS-ReportingEN-image188.png, thus the scenario will be stored in an XML file format in the folder \CSExcel\ of the application (with all of the export parameters, as well as the execution criteria of the related view/BIT).

EBS-ReportingEN-image189.pngAfter the customization completed, meaning the definition of export parameters and scenario, as well as steps for that scenario and storage of all data (through the “Send” dialog), we can ask the “Export scenario administration(Tools /Additional development tasks/Export scenarios) and manage and/or execute the scenarios:

EBS-ReportingEN-image190.png Alteration of the scenario data through the appearing dialog that contains all steps included in the scenario, with the ability to execute a specific step, deletion or modification of the code-description.
EBS-ReportingEN-image191.png Execution of the full scenario
EBS-ReportingEN-image192.png Copying of the scenario to the shortcuts, method recommended for easy calling – running of the continuous exports defined, thorough a shortcut group available to the appropriate users.
EBS-ReportingEN-image193.png Deletes the scenario

More information on the construction of export scenarios can find to the next chapter, about the creation of multiple Excel sheets through export scenarios.

Multiple excel sheets creation scenarios

The ability for multiple export scenarios, finds an interesting application in Excel, since we can “fill” more than one sheets in the same Excel File and, based on the CODING of these sheets’ data cells, to create comparison reports in additional worksheets of the same Excel file, with expressions using the primary data produced by the export process. These data dynamically calculated during each execution of the scenario.

In order to clear this up and make it more understandable, we are going to implement the following example:

Accounting Reconciliation of Customers

(Comparison – differences between Customer Balances and Accounting balance of the customers summary accounts)

  1. Constructing an Excel File (CustomersComparison.xlsx) in the installation area \CSExcel containing 3 worksheets:
  • Comparison: This sheet will compare the exported data of the other two sheets
  • Ledger: In this sheet, the data of the accounting balance will be exported
  • Cust: In this sheet, the customer balances will be exported
  1. Executing Receivables Balance (Criteria=>current period, Nature – customers) and export in that particular excel in the worksheet «Cust» (A. Send, B. in «Export to» we define excel, C. In the «properties», we define Add to an existing Excel and activate the «Cell coding» with the value 1, D. In the «Select file», we declare CustomersComparison and add “|Cust” at the end of the path/filename, which is the name of the Excel range where we need the export to take place e.g. D:\EBS\CSExcel\CustomersComparison.xlsx|Cust, E. In «Scenarios», we provide the Code and comments of the step, code and description of the scenario, press the button Scenario, give the filename of the xml, save and End).

  2. Execute General Ledger Trial Balance (criteria=> current period, Account filter isolating the customer accounts, e.g. 30*, Summary - NO) and export in the same Excel to the worksheet «Ledger» (same process as to the previous step 2, but at the end of the name we add |Ledger now, e.g. D:\EBS\CSExcel\CustomersComparison.xlsx|Ledger, and in the scenario we are going to be selecting the same xml).

  3. Running the scenario either through a shortcut or through the “scenario management”

In the «Cust» sheet, we result in the form below:


In the «Ledger» sheet, we result in the form below:


In the «Comparison» sheet, the differences will be calculated between the 2 above sheets, in cells with expressions between the primary data.


The activation of the Cell Coding means that every cell in Excel will be obtain a code with a Label depending on the number of columns gathered right beneath it. This Label will be consisting of: (range name)_(the value of the particular cell)_(the name of the columns separated by _).

In the example for the customers that we export to range «Cust» by coding cells and value 1, the Label for a cell will be for example «Cust_cust00004_ESFITradeAccount_Code». Now we are able to use that label in expressions instead of a particular cell code, which in a following “run” might be different. In addition, an entire column gets label (Range name)_(Field name), for example in the above case of customers, the column containing the debit balance, has been characterized as «Cust_DebitBalance» and so we are able to use it, e.g. in the comparison worksheet SUM(Cust_DebitBalance) (no matter how many rows any “Run” might return).

In order to export a particular range, we should have declared that range in the Excel. This will take place as follows: We start from the 1st cell of the worksheet where we need the range to start from and right click, then we pick «Name a Range» set a name and choose the worksheet. In the example we have been transferred in the sheet Cust in the 1st cell (Α1) and have set a range name = Cust, while in the Ledger sheet in the Α1 cell we have set the range name = Ledger. This way, the point which the export needs to take place will be established, according to the name declaration containing the |(range name) at the end.

Export in PDF

There are two ways to export to PDF:

  1. Through a print preview of a BIT or a view

After the preview screen is visible, we are able to select “Save in PDF” from the top toolbar.

The following dialog will ask for the save location and file name.

  1. Through a connected print form (crystal report) of a BIT or view

After the screen holding the printing properties is visible, we choose to “Save in File” from the toolbar, while the following step will be to provide an area and file name, choosing the type “Adobe Acrobat (*.pdf)”.


Requirement for the use of that ability, is the execution of the process «Install Entersoft Document printer» through the menu Tools/System-DB management.

Incorporation of Crystal Reports

We have the ability to construct printouts of the form we wish, for the data calculated and displayed by any view. The installation of the designing software “Crystal Reports” is required.

For this ability to become clearer, we will be implementing a simple printout of Inventory Items with the code, the description, the retail price and the country of origin. The view used will be the main Inventory Items view.

The first step in creating a printout is the implementation of the relevant file, which will be the data source for the Crystal Report file.

EBS-ReportingEN-image199.pngEBS-ReportingEN-image200.pngAfter running the view, by right clicking in the grid area, we choose ActionsSave figure. After making this choice, a dialog for the storing of the xsd (XML Schema File) holding the structure of the view, will come up.

For better perception over the structure and content of an xsd file, the following picture displays a logical representation of the file, by the XML Spy software.

EBS-ReportingEN-image201.pngWe can perceive that an xsd file contains the structure of the fields in the view, starting from the basic table ESFIItem, which contains all of the visible fields in the view. The fields have naming, based on the Name in the filter.

In later steps, we will be using the xsd file as the source file for the implementation of a crystal report. Since we have executed the designing software crystal report, we choose FileNewStandard Report.


This option will activate the following wizard, through which the implementation of the printout will move on:


The next step will be to create a new link to a data source, so we pick Create New ConnectionADO .NET (XML).

This option pops up the dialog of file choice for the file that will become the data source. In the File Path by clicking on the EBS-ReportingEN-image205.png icon, we look for and locate the xsd file created earlier. We exit the dialog by clicking Finish. At this point, we are back in the wizard where under the option ADO .NET (XML) a NEW Data set has been created, called ESFIItem.

EBS-ReportingEN-image206.pngBy clicking on the EBS-ReportingEN-image207.png icon, we will have to move the selected data set to the right side of the Selected Tables, since it will become the data source.

Clicking on the Next, we are transferred to the wizard’s next page where we will be choosing the fields used in the crystal report.


ΓFor every field, after being placed on it, we click on the EBS-ReportingEN-image207.png icon, for it to be moved from the area of the Available Fields to the area of Fields to Display.

EBS-ReportingEN-image209.pngSelecting Next again, we are placed to the last page of the wizard, where we can pick one of the design tool’s templates.

Clicking Finish, will take us to the designing environment where we are able to design the print form and set the last designing settings.


Choosing FileSave from the menu, we are able to store the rpt file with the given name.


Returning back to the application, in the view, by pressing ALT + F12, placed in the data grid area, the File management of the operating system will come up, navigating us to the report file area.


We must place the rpt file created, inside this folder.

The next and final step will be linking the rpt file to the particular view.

By using the view creating tool again, to the definition dialog, we select the «Reports» tab, where we notice the rpt file created, already present.


EBS-ReportingEN-image214.pngWhat remains for the link to be complete, is to provide the name of the report and save.

Executing the view again, in the horizontal toolbar, the choice Reports is active and by choosing it, the implemented report will be displayed.

Picking this report, will display it in the screen and from the toolbar on top, we are able to send it to the printer for actual printing, of save in PDF format, etc.

Labels και Bar-Codes

Through Crystal Reports

We have the option of creating labels of the form we wish, using the data that a view calculates and displays. The installation of the designing software “Crystal Reports” is required.

For the ability to become clear, we will be implementing a simple Inventory items’ label printing scenario, where the code, description, retail price and country of origin will be visible. The view used will be the main view “Inventory Items”,

The first step in the implementation will be to create the file used as a data source for the Crystal Report. After we run the view, by right clicking on the area grid, we pick Actions ⇒ “Save figure”.

EBS-ReportingEN-image199.pngThat choice will pop up a dialog for the saving of a file type xsd (XML Schema File), which contains the structure of the view.

EBS-ReportingEN-image215.pngFor better perception over the structure and content of an xsd file, the following picture displays a logical representation of the file, by the XML Spy software.

EBS-ReportingEN-image201.pngWe realize that an xsd file contains the structure of the fields in the view, starting from the basic table ESFIItem, which contains the total of the visible chosen fields of the view. The fields named, based on the Name in the Filter.

In the next step, we will be using the xsd file as the data source file for the creation of the crystal report. We launch the Crystal Report software, and choose FileNewMailing Label Report.


After this choice, the following wizard will come up, through which we will be moving on to the implementation of the actual report label:


The next step will be creating a data source, so we select Create New ConnectionADO .NET (XML).

This choice will pop up the option dialog that will become the data source. In the File Path by choosing the EBS-ReportingEN-image205.png icon, we search and choose the xsd file, created earlier. We exit the dialog by clicking Finish. At this point we go back to the wizard, where under the option ADO .NET (XML), a new Data set has been created, called ESFIItem.

EBS-ReportingEN-image206.pngClicking the EBS-ReportingEN-image207.png icon, we must transfer the chosen Data set to the right of the Selected Tables, since that will result in the data source.

Choosing the button “Next”, we go to the next page in the wizard, to select the fields used for the labels.


ΓFor every field, after we are placed on it, we choose the EBS-ReportingEN-image207.png icon, thus it is transferred from the Available Fields to the area of the Fields to Display.

EBS-ReportingEN-image218.pngChoosing “Next” again, we are transferred to the last page in the wizard, where we will have to select the proper label type.

In the field “Mailing Label Type”, there is a vast series of options. If we do not know the label type, we are able to define the exact dimensions we require, to the dimension fields provided in the next fields.

In the “Printing Direction”, we can choose the direction of the printout, if for example the labels will be developing towards the right or left, horizontally or vertically, in columns or rows.

Clicking Finish, transfers us to the design environment of the label, where we are able to move on to the last design related details.


Choosing File“Save”, we store the rpt file by the given name.


Returning back to the view and pressing ALT + F12, while in the data area grid, the File management of the operating system will be displayed, navigating us to the area where the view’s files are stored.


In this folder, we will have to place the rpt file created.

EBS-ReportingEN-image221.pngThe next and final step will be the linking of the rpt file with the particular view. Through the view implementation tool, in the definition dialog of the particular view, to be «Reports» tab, the rpt file will already be visible.

What remains for the completion of the task, is to enter the Title of the report and to store.

EBS-ReportingEN-image222.pngExecuting the view again, in the horizontal toolbar, the “Reports” option is now active, and by choosing it, we will be displaying the labels implemented. Choosing this report, will display it in the screen and enable the printing.


In case we need to print a label multiple times for the same item, we will have to alter the view, by adding a criteria field, in which the user will have the ability to type for labels needed. For example, in the Inventory item labels view, we will create an expression column as follows:

EBS-ReportingEN-image224.jpegClosing the dialog by “Accept”, we pick the new field as a “parameter”, and call on the modification again, where the number ‘1’ must be erased, and the content will be set, as the “Label number” parameter:


Going to the formatting, we can notice that a new criteria “Label number” created, and by pressing “Update layout”, the field will become visible in the view. Whatever value we type in the criteria “Number of labels”, the column will receive that particular value.


Next, in the Crystal report we have implemented:

We must implement a formula field named ESMULTIPLY. In the content of that field, must declare

the “Name of the field in the filter”, for our example: “NoLabels”.


Choosing the execution of the crystal report, the following takes place:

  1. It is examined if there is a formula field named ESMULTIPLY in the Crystal Report

  2. If yes, a searching into the view definition is taking place for a field with name in the filter being the content of that formula field.

  3. In the print preview, the line will come up as many times as the formula field value, meaning the criterion «Number of Labels».

  4. The view has returned as many lines as the value of the criterion.

With the same logic, we might use as a multiplier not a parameter, but a data column brought by the view (query), for example quantity (of delivery notes).

Finally, in order to print in BARCODE form, the implementation method only differs as to way of calculating the barcode graphic.

Depending on the barcode type, if a check digit needed or the addition of bars in the beginning and end, Installation of the UFL (User Function Library) is required: barcode.dll and u2lbcode.dll to the following folders:

Operating system Area
Windows Vista c:\ProgramFiles\BusinessObjects\Common\3.5\bin
Windows XP c:\windows\system32
Windows NT, Windows 2000, Windows Me c:\winnt\system32

In case the check digit calculation for the barcode is unnecessary, simply by the entering of the field Barcode in the Crystal report, we will have to choose the correct font:


In case the check digit for the barcode is necessary, we will have to construct a formula field, instead of the barcode field, in which the following must typed:


UFL (Barcode field), where UFL User Define Library.

The UFL functions pick up the calculation of the check digit, for the barcode field that we provide them and are available in the path Functions => Additional Function => bcode.


In this particular example, we have constructed a formula field, which will be calculating type 39 barcode, for the barcode field of the view. As a result, in the crystal report, the position of the field barcode of the view will take the formula field implemented.

Using an EAL file

The concept of implementing label printouts through eal files used for printing at thermal printers (e.g. Zebra, Casio, Datamax etc).

In order to clarify the ability given, we are going to implement an eal file for use in Zebra type printers. The eal files can be constructed in any text editor (for example notepad, word, etc.), by writing the proper commands in the EPL2 language and finally storing the file, using an eal extension.

note_pinned.png Example of an eal file








A24,30,0,4,1,1,N,"{Code}" Print Item code (Command Α)

A24,62,0,4,1,1,N,"{Description}" Print description (Command Α)

A200,144,0,4,1,2,N,"{RetailPrice} λ"  Print retail price (Command Α)

P{NoLabels} Print number of labels based on the view’s field (command P) 

In order to declare the view’s fields here, we use the {Name in filter}.

As in the case of crystal reports, an option for multiple printing of the label is also available, through the P command and declaration of the proper field («multiplier»).

EBS-ReportingEN-image232.pngAfter constructing the eal file, we must copy it in the folder containing the view’s files (using the Alt-F12 in the data area grid in order to have an immediate placing in the right area), while also to provide a title to the printout, in the Reports tab of the View definition dialog.

During the printing choice (from the “Reports” menu of the horizontal toolbar), a dialog appears, for the Printer choice, where the labels will be printed.


The print result will differ, depending on the type of paper declared in each printer.

In order to print in BARCODE type, through an eal file type, the method is quite simple and implemented through the command Β.

note_pinned.png Example of an eal file with Barcode field calculator










A200,144,0,4,1,2,N,"{RetailPrice} λ"    

B24,190,0,E30,2,2,88,B,"{Barcode}"     barcode printing(command Β)


The line B24,190,0,E30,2,2,88,B,"{Barcode}", is the one that calculates the Barcode field of the view as barcode type ΕΑΝ13 (the 4th definition Ε30 is correlated to the EAN13 type). More details on the syntax of the B command found in the Programming Guide of each manufacturer.

In the eal file, as long as we have included a line with the Β command, the translation of the file from the thermal printer will print the content of the barcode field in a graphical barcode.

Using the Reports designer tool

An alternative, quite simple method to implement labels and barcodes is through the Reports Designer embedded Tool, described to the next chapter in detail. This tool allows us to implement various reports of high quality, without the precondition to install any external Report Designer, like Crystal Reports.

Reports design tool

This reports design tool incorporated in the .Νet 3.5 versions and later, is an alternative to Crystal Reports and is accessible through the central menu “Tools”:


EBS-ReportingEN-image235.jpegTo the left part, it presents the folders of the views, which can include new reports.

The reports of each area displayed at the center of the screen and, through the buttons of the right part of the screen, all of the design tools provided, like publish to the EAS, user access management and shortcut making.

For the design to commence, we need to:

  • Pick the AREA where the new report will be stored in
  • Pick NEW in the main part with the report titles
  • Press DEFINITION to the right toolbar
  • Set a CODE and TITLE for the new report, in the dialog fields to the central area
  • Create a DATASET, which will become the data source for the report, by choosing the same-name button in the lower part of the dialog
  • After the dataset definition done, we should pick REPORT CREATION, in order to get to the report design environment.

An alternative way to create a report is available into the environment of defining views, as we will see below.

Dataset creation

In the dataset management tool, we may use functions similar to the view designer tool:


Through the right toolbar, we can create a new table. Clicking on EBS-ReportingEN-image237.png will display the filter definition dialog with the full database schema available and visible. The definition at this point will be done by the same way described in the filter design tool, with the possibilities of using sub-filters, parameters etc.


Having set all of the required fields, returning to the dialog of the data source definition, the main table and the criteria-parameters area will appear:


Using the ico EBS-ReportingEN-image240.png we are able to alter the current filter.

If we define a new table (filter)…

EBS-ReportingEN-image241.jpeg..then the parameters with a common “name in filter” will be unified, the relation of the two though, can be defined by the master TO the detail table, if using a simple graphical method, start off from the master table towards the point where the cursor takes the form EBS-ReportingEN-image242.png and navigate the connection formed to the detail table resulting in:


By double clicking on the connection, we can see and alter its data:


Clicking on “Accept”, will take us back to the report management dialog, where the function Create Report is selectable to the bottom area.

Report implementation

The “Create Report” dialog appearing by clicking “Create report” button, allows us to design the entire printout, which will be available WITHOUT PREVIOUSLY having executed a view. The running of the filters-sub filters takes place using the SAME DIALOG as the printing, following the form designed in.

The design area


Before starting the design, we should press Accept in the criteria area, in order to run a query in the database and we make sure it is correct. Next, all of the functions in the tool will become available.

Through the design and formatting tools area, we are able to access functions like the storing, print preview, change of the display method, the use of automated wizard etc.

In the left part, we are able to find all the controls which can be used (e.g. Labels, Charts, Tables, Lines, Pictures etc.), by drag n’ drop them in the design area.

The right part has three tabs available:

In the 1st page, the Report Explorer displays the current formatting of the printing. Through the Report Explorer we are able to add, alter or delete the printout elements (like GroupHeader, GroupFooter, ReportHeader etc.).

In the 2nd page (field list), we are able to see the available fields.

All we need to do is to drag and drop the field we need in the design area.

The 3rd page contains a Property grid that displays the available properties for alteration of the chosen control or report part.

Depending on the activated area, the respective properties become available.

EBS-ReportingEN-image247.png EBS-ReportingEN-image248.png EBS-ReportingEN-image249.png

Creating a simple report

EBS-ReportingEN-image250.pngFor the creation of a simple print form, all we need to do is to drag the fields we require on the design area and space, formatting them accordingly.

EBS-ReportingEN-image251.jpegSelecting a field by double clicking, will display a series of options on the top right, where we are able to change some of its properties. Alternatively we are able to do the same from the «properties list».

  • EBS-ReportingEN-image252.pngIn case the required field is unavailable in the field list, meaning that it is a field found in a ‘parent’ table of the displayed tables, then we pick the field from the option «Insert Fields» in which all of the fields belonging to a parent table are available.

  • By double clicking on the design area, through the pop up window that comes up, we are able to add more bands and define the printing properties.


  • From the design and formatting tools area, we are able to preview the designed printout, selecting Print Preview.


Creation of reports and labels using the Wizard

EBS-ReportingEN-image256.pngAn alternative and easy method to create a report, is to use the relevant wizard. Picking «Wizard» from the design and formatting toolbar, we follow the process below:

  • In the first step we choose Standard Report.
  • In the next step we choose the fields contained in the print form


  • The 3rd step allows the selection of grouping


  • In the 4th step, we are able to pick sums, averages and other mathematical functions.


  • In the 5th and 6th step, we can see several options regarding the layout of the printing.


The result will be a report like the one seen in the picture below, ready to accept certain further formatting, in order to reach the result we are looking for.


Selecting Print Preview will generate a preview, which we can use to check on the report.

In order to create a Label printout with the same tool, all we need to do is to pick Label Report in the first step:


and in the next step to choose one of the available label types or to set the label type needed.


Also an option about constructing Barcode labels is in effect.

After placing the fields necessary on the label, we are able to add a control type barcode. In this, the properties will have to be defined as can be seen in the example below:



Creating a master-detail report

For the creation of printouts of the Master-Detail type, meaning printouts that under a “main table” the analytical entries connected with it will be displayed, we should first have created the proper dataset so that it will be used in the implementation of the report.

EBS-ReportingEN-image266.jpegStarting from such a dataset, we place the fields of the main table in the detail part of the report design area.

Afterwards, through the menu popping up by right clicking in that area, we enter a detail report. Into this, the dataset table, containing the entries of the next level, will need to be chosen.

Designing that detail report, is done just like in any simple print report.


Attention is required while choosing the fields added in the detail report, since they will need to be chosen by the fields found below the main table, which in the example is the Trade document.

Grouping and sorting

There is also the option of displaying the results of a report grouped by one or more fields. This is quite useful in cases where the calculation of totals by result group required. The creation of groups can be done by choosing the appropriate fields at the definition of groups, found in the lower part of the report design dialog.


After the creation of the groups, new areas for the header and the footer of each group displayed, as below:


EBS-ReportingEN-image271.pngThe option of displaying the company logo stored in the company files is also available.

Al we need to do is to select the band we need the logo to appear at, and pick company logo from the toolbar.


Sub reports in the main report

For the insertion of a Sub-Report, all we need to do is to drag the matching control from the area of the available controls (Toolbox) in the design area. What happens then is a new design screen opening up with the exact same options and functionalities.


After completing the Sub-Report design, we apply its size to the main report.


During designing of a Sub-Report, we need to define a Datamember. The Datamember needs to be a table, and not a relationship, while the fields must be selected by the table and not by the relationship. The choice of the Datamember can be done through the properties of the Sub-Report.


For the creation of a graph inside the reports, a chart control must be imported in the design area. By importing such a control, a wizard will start up which helps to quickly customizing the graph (graph type, customization parameters, titles, series etc). The most important properties to be set are the following:

Chart Type:

The chart type


Appearance parameters


Parameters related to the data source of the graph


Whenever we use numeric fields, the option exists to either display all of the values or an arithmetical expression to be applied to them previously.

We can select the Summary Function to the Binding Mode and then the appropriate expression.


The colors of the graph, gradients etc. are defined.


Can define the limits of the graph, activate scrolling and zooming, while the ability to rotate the graph is also available.



Can define properties regarding the presentation of the axes like colors, tick marks, presentation of the labels of the axis in an angle, addition of lines etc. Here we are also able to select the measurement unit used for the depiction of every axis. For example if the axis displays dates, we can select the month as a measurement unit.

EBS-ReportingEN-image277.pngWe are also able to format the axis data. In the example displayed in the image, in the horizontal axis, the titles presented, contain the 3 first letters of every month and the year.

Series View

Data defining the presentation of the series are set.

Point Labels

The data defining the presentation of the values, like display, hiding etc.

Chart Titles

Defining the titles of the graph as well as their position


Activate-Deactivate the main title (Legend) and the definition of its placement.

Creating a pivot-table

For the creation of a pivot grid, we pick this control and place it on the design grid. Then, through the smart-tag of the control, we turn on its designer as to the image below:


In the left list of the designer of the pivot grid, the available fields appear where we pick the displayed fields, by double clicking on the field.

In every field chosen, a few parameters need to be set. One of the most important ones is the point where the data of the field will be displayed (that is, to the data area, to the columns, lines or to the filter area).


Therefore, if in the example we put the field fItemCategoryCode1 in the Row Area and the fields fieldCreditQty2, fieldDebitQty in the data area, we get the following result (preview):


What is important, is for the Caption to be completed for the title of each field as well as the index parameter for the sorting of the fields. In addition, the field type may be selected, the format with which it will be displayed and if the running totals are enough or if custom totals need to be created.

Furthermore, we can create additional fields. This is done by using add or insert through the designer. The new field is not connected to a column of the dataset, so we will need to define the following parameters:


Unbound Field Name

Choice of the added field

Unbound Type

Choice on the field type (integer, decimal etc.)

Unbound Expression

The expression used to calculate the content of the field


The expression editor holds all of the available chosen fields, as well as a variety of mathematical functions, strings etc.


Furthermore, we are able to set the Group Interval, meaning the grouping method (by trimester, alphabetically, etc).


As seen in the following image, the year has been used as a group Interval and the data grouped by year.


Use of Scripts

In every control added in the report, there is the possibility to use scripts. This can be done by inputting vb.net code before particular events take place (before print, after print etc.) which are available on the printing.

The option is available in the properties for every control, in the Behavior group.


EBS-ReportingEN-image114.pngIf for example we need to find the IBAN code of the bank account of the document’s Customer and print it on a text label, we could write the following VB script, at the “event” Before Print of the text label. Obviously for a script to run correctly, the parameter used to actually exist in the table where the section is bound. Also, as we can see in the example, we are able to use all of the ESFUNCTIONS (like the ESLUA) in a script.


Direct creating a report for a view

An alternative and easy way to create a report based on a view is provided through the views’ definition tool, where the linkage to the view is done directly, so that the report will be included in the linked "Reports" in the way the ones based on Crystal Reports are incorporated and function.

In the Reports tab of the definition dialog through the right toolbar, we are able to Create a new report, Incorporation- Linking to an already stored report and Altering or Deleting the current report.


Picking «Create» or «Alter» report, a screen will appears like the one below:


The screen divided into two parts: the above part showing the report and the lower part into which the design of the report will become.

For the lower part to be activated, the view will initially have to be executed. It is recommended for a minimum data recall to take place, in order to minimize the editing time of the report.

After completing the report design and store it, we will need to provide a CODE for this. To the view’s definition dialog, we will also provide a proper DESCRIPTION so that the report will be selectable by the users. Then, we select again “save” to this dialog.

From now on, whenever the view runs, the report will always appear among the views’ available reports, accessible through the horizontal toolbar choice “reports”:


The printing forms design tool

The printing forms design tool provides the user the ability to design forms for print various entities’ data (documents, customers, tasks etc.), through a quite user-friendly environment.

It manages a printout based on pre-printed forms like the ones used for orders, Invoices, Reciepts etc, allows the use of icons, logos and many formatting properties and also contains aids helping the testing until the goals are met.

The working area

The tool is located in the path: Tools/Additional development tasks/Print form designer.

The work area contains the toolbar, which provides five options:


“New” will pop-up the following options:

Open: For choosing and editing already saved print forms

Save: For storing changes in the form edited

Publish to EAS: In case the editing of the form done in a client pc, the option used for the copying of the printing form to the application server.

Exit: Shuts the tool down.


The working area of the tool separated into three distinguished parts:

To the left, the field choice part appears, in order to select and enter fields to the form. There are two tab pages:

  • Available and

  • Frequently used

The “available” presents all of the files needed for the form design in a hierarchical tree, while in the frequently used tab, we can find the fields that we set ourselves to make the process of implementation easier.

To the center, the area (the grid), where we design the form, is located.

To the right, the part of the properties is shown, in which four tab pages of properties can be found:

  • Page,

  • Section,

  • Field and

  • Schema

Basic parts of the form

Field choice part

In the field choice part, two areas displayed:

Available fields


The fields are structured hierarchically. Each hierarchy is symbolized by EBS-ReportingEN-image295.png. To move to the next hierarchy or to reach the latest level composed by the fields, we will need to pick EBS-ReportingEN-image295.png.

The symbolEBS-ReportingEN-image296.png, in front of every hierarchy level, shows that the relation between the levels is "one-to-many", while the EBS-ReportingEN-image297.png shown that the relation is "one-to-one".

For example, the Trade document might refer to many Line items and every line might refer to many analysis lines (EBS-ReportingEN-image296.png) but it will never refer to more than one Item line Item (EBS-ReportingEN-image297.png).

There are 4 hierarchy groups:


  • Fields regarding the entity
  • Fields regarding the company parameters
  • Fields regarding the print elements
  • Fields of expressions pre-defined by Entersoft

Frequently used fields

In the particular area, the user of the tool has the ability to create a list of the fields commonly used to make matters easier as far as the process is concerned.

We can add a field to this list by right clicking on a grid-field and selecting «Add to the frequently used».


The ability to enter fields not belonging to the entity’s fields or the printing fields is also valid, e.g. expressions or labels. Those fields are stored with all of the settings the user has done (for example field size, expressions and formatting fields).

The list of the frequently used fields differs for every entity chosen. In particular, every list constructed, is stored in the “CSConfig” folder (shadowing logic is applied to the “ESConfig” folder) by the name of {EntityKey}_PFList.DAT (for example: TradeDocument_PFList.DAT). The EntityKeys are the IDs of the entities defined in the ES00PrintForms.xml file.

Grid section

On the grid section, through the page properties, we must initially add the appropriate parts forming the report, and then, into every part, the related fields will be added.


There are five possible parts:

  1. Header

  2. Group Header

  3. Lines

  4. Group Footer

  5. Footer

EBS-ReportingEN-image301.jpegEvery part is made up by a horizontal anf vertical grid of lines. The horizontal grey lines define the print lines and every "box", defined by the horizontal and vertical grey lines, is a printing character. Dragging the mouse on a box displays the actual position with its coordinates.

For example, 23-17 means that the box (character) is in the 23rd column and in the 17th line of the particular part. There is also a grid with more intense lines separating the areas of 5x5 and 10x10 characters. When the particular part is active, those lines are blue and go black when the part is disabled. The limits of this grid are the limits of the printable lines of the section. There is the possibility not to display this grid by deselecting the parameter Show matrix (Segment Properties), in order to make the image of the form more visible in the background.

The parts separated by a splitter bar. The size of every part can be altered by moving the bar upwards or downwards.

Properties section

Four tab pages found in the properties section:




  1. Print properties

Measurement unit: It is the measurement unit by which the dimensions of the paper measured, and it is expressed in Inches or Centimeters.

Number of series: It is defined only if the form is regarding a dot matrix printer. Actually, a dot-matrix printer will not recognize the page size, but only number of lines. In this parameter, must define the number of series. The number is calculated as follows:

“We measure the paper height in mm, convert it to inches and multiply by 6. For example, an A4 page has a 297 mm height. The series number will be calculated by 297 / 25.4 * 6 (1 inch = 2.54 cm) and the result is rounded to the unit (integer)”.

Paper width: The paper width in cm or inches, depending on the measurement unit used above

Paper height: The paper height in cm or inches

  1. Copies

Titles for copies: Defined as a comma separated list

Copies / page (vertically): The amount of copies printed vertically on a printing page. For example, a printout of 2 receipts, sized A5 in a print page of A4 size.

  1. Printing shift

At the printing moment, the printers sometimes might start printing a bit above or below. What we see, in effect, is a vertical or horizontal shift of the paper. The range of the shift will vary from -100 up to 100, size expressed in cells.

Horizontally: The number of cells defined, for the neutralizing of the printing shift by the printer.

Vertically: Defines the cell number vertically.

  1. Image properties

Picking image properties, displays a panel with the following parameters:

Form snapshot file: Defines the image used either as a guide for the easier placing of the printing fields or as a background for the printing (instead of a preprinted paper). In the second case, we will have to activate the field “Print image”.

Attention : Required conditions for the printing of the image along with the printing form, are:

  • The defining of a command set in the trade document series as Winprint or Winprint2.

  • The image must be actually located in the defined path of the client pc where the printing takes place.

Rotate image, Vertical, Horizontal movement: Defines the possible movement of the image in relation to the printing form.


  1. Segment type

It states the segment type. There are 5 available types:

Header: This part displayed in every printing page.

Group header: This part of the header is displayed only once in the first page of the printing group.

Lines: This segment contains the lines of fields.

Footer: This part displayed in every page printed.

Group footer: This segment displayed only once in the last page of the printing group.

Attention: There can be only one segment type per segment.

  1. Data source

Displays the data source of the segment

  1. Segment

Height: The amount of lines of the segment

Active lines: The number of sub-lines printed for every line, this is why the parameter has a point only for segments of a “Line” type.

Characters: The amount of characters of every segment

Letter size: Definition of the characters size in normal (10cpi), Elite (12cpi), Compressed (17cpi) or Compressed Elite (20cpi)

Attention: This parameter should be set before the addition of fields in the segment, because in case this value changes, no replacing and recalculation of the position and width of the fields is taking place.

Columns: Used in case the segment is regarding lines and contains a field, which we want to be printed not only in lines, but in columns also. For example, when in a sub-page segment, containing analysis lines, we print series numbers, defining 5 in the columns parameter, 5 serial numbers will be printed and then, change lines. Otherwise, only one serial number per line would be printed.

Compress lines: Activated only for line segments and as long as more than one active line declared. In case more than one line declared, then at printing, if one or more of the lines are blank, they are used to print the next lines without remaining blank.

Table: The parameter is available for choosing only for the segment of the Lines. By activating the parameter, the line fields adjusted into the table (maintaining their size and position). For this to be activated we’ll have to do the following:

1. The segment may have only one active line

2. No subpages in the segment to be used

Attention: The parameter functions only in relation to the Text Merge command set.

Show matrix: Display/Hide the grid.

Segment grouping: Defines the existence of grouping for the particular segment. After activated, the right grouping function must be set to all of the segment fields.

  1. Font

Defines the font used in the section fields. Defines also the following font properties:



  1. Expression

Choosing «Expression», we have the ability to form an expression in the dialog coming up. An expression can be used to check on the printed contents of a whole section. If the result is true, the contents will be printed, otherwise they will not be printed at all.

For example in the line part, we would be able to form an expression controlling the items of a trade document, only for the printing of “Inventory Items” line type.

  • Actions

Delete segment: Deletes the active segment

Add field: Choosing this will provide the opportunity to add a new field.

Attention: The addition can only take place in the currently chosen segment.

Add footer: The footer acts as a field in the segment but characterized as a page.

EBS-ReportingEN-image305.jpegBy creating a footer, a new tab is activated named by the title of the footer. The footer is added as a field on the form, thus it can be entered anywhere the user chooses on the form’s segments, and alter its size (width, height), so that it will be able to consume as many character spaces as necessary.

From the field properties, by choosing the footer, we are able to alter all of the active parameters as in a common field.

For all of the properties of the footer to appear, we will have to pick the Tab created by its name. The addition of fields and generally the formatting of the footer will be implemented into its tab, by defining properties like the management of a segment’s properties of a print form.


Note: Footer may only have one segment

Line addition: By choosing this, we are able to add a line to the chosen segment.

Add frame: This option will allow us to add a frame to the chosen segment.

Add company logo: With this choice, we are able to add a frame to the chosen segment, which will function as a logo for the customer’s company.


  1. Field text

Contains the title of the field as will be seen in the print form, which can be altered, at will.

  1. Data source

The name of the field in the database

  1. Configuration

Alignment: Defines the alignment of data for each field. The available values are Left, Right, and Center.

Show: Defines the layout style of each field. The available values are Normal, Bold, Underlined, and Italic.

Dimensions: This parameter informs us for the height and width in field lines.

Function: This parameter entered only for the segments that the parameter segment grouping activated. Defines the aggregation type of each field by one of the available values: Group by, Sum, Count, Average, Max, and Min

  1. Properties

Not printable: Defines if the field will be printed or not. This parameter used in combination to the ability of declaring sorting levels, so that the sorting can be done even to fields not printed.

With unit symbol: Defines if the field symbol will be printed or not. It has a point in value fields, measurement units and % fields.

Balance brought forward: Defines the printing or not of the brought forward balance in a footer level.

Zero => blank: Defines if a field valued 0 will be printed or not.

Decimals: Defines the amount of printed decimals.

In writing: Converts a value field in a text field, printing the value of the field in writing. The parameter is active only at numeric fields.

Expression: Allows the writing of expressions to fields previously created. The parameter is selectable only when the field is not coming from the database schema (custom field).

  1. Sort

    It defines the sorting level and series of the fields in line segments. By default, all the fields have a 0 sorting level (no sorting). The fields with the smallest sorting level have the maximum priority. We should note at this point that the sorting on arithmetical fields based on the arithmetical value itself, and not on the formatted value printed in the end (specific decimals, symbols etc.).

  2. Font

Font: Defines the used font

Size: Defines the font size

Color: Defines the font color

  1. Expression of the field

Activated only when the parameter “Expression” for the field has been activated. By clicking on it, the definition area of the expression displayed.


Through the horizontal toolbar, we can use any available arithmetical operation and write the full expression to the space given below.

The entry of the fields of the dataset in the syntax space takes place by dragging and dropping, from the field choice segment.

In the lower part of the panel, we can find the field formatting area, which can be used to define the formatting of the expression field, based on a field of the dataset.

The entry of the fields of the dataset in the formatting space takes place by dragging and dropping, from the field choice segment.

  • Actions

Delete field: Deletes the current field. The delete key can execute the deletion of the field also.


The part of the schema differs depending on the schema chosen.

Note: The schemas and images printed ONLY by the use of command sets “WinPrint” and “TextMerge”.

Line properties


Layout: Vertical or horizontal

Length: The length of the line in cells

Size: The width in cm. Minimum value is 1.

Frame properties


Color : The color of the frame background

Attention: Only system and web colors can be used

Image: The image appearing in the background can be stated here. The image size automatically adjusted, in order to make it fit to the frame limits.

Attention: In the TextMerge command set, there is no possibility of printing frames that contain fields and images at the same time. If an image is set, then the fields will be printed out of it.

Outline: The width of the outline in cm. Minimum value is 0 (without outline).

Company Logo properties


The Company Logo properties are basically the properties of a frame, with the difference that the parameter Company Logo has been activated.

Implementation of a printing form

Create a new form

The creation of a new printing form takes place by clicking the option “New” through the main toolbar, selecting the entity we are looking for. The example below based on the creation of a printing form for a Sale Invoice.


Note: For the creation of documents’ print forms, recommended to use the default forms as a base for customizing new ones. The default printing forms found into the application folder ESPrintForms.

Page properties

If there is a form image stored in a file (scanned) that can help in the implementation, it is better to declare it in the Page properties Image Properties Form image file.

We can use the rotate image and horizontal movement or vertical movement of the page if we need to by moving the slider right or left.


To the page properties, we set the millimeters as a measurement unit and for example a paper width 207 mm & height 258 mm.

Attention: If an image from file used, then the width and height of the paper will need to correlate with the width and height of the image.

Addition of segments

The addition of segments on the form can be done by selecting “Add segment” from the “page properties”.

Assuming that the form to be implemented is made up by three parts: Header, lines and group footer. The alteration of the size of each segment is done by moving the bar upwards or downwards, since the mouse is brought over the slider and the pointer becomes like this: .

Segment properties

The definition of any segment properties made by selecting the respective Tab titled “Segment” or by choosing a segment inside the grid.

Supposing that the lines of the header are ‘32’, the active lines ‘1’, the characters horizontally ‘81’ and the size of the characters ‘Normal (10 cpi)’.

Correspondingly for the line segment, the height in lines is ‘18’, the active lines ‘1’, the characters horizontally ‘140’ and the character size “Compressed”(17 cpi)’.

For the part of the group footer, the height in lines is ‘9’,the active lines ‘1’, the characters horizontally ‘140’ and the character size “Compressed”(17 cpi)’.

For every segment, we need to define the data source. The updating of the data source of every segment can be done by dragging and dropping, choosing the right field from the field option column.

For the header part and the group footer, we pick the field group ‘Trade document’, while for the line group we will be selecting the field group ‘Trade Document item lines’.


Delete segment

The deletion of a segment is done by clicking on the area grid of the to-be-deleted and in the end picking Delete segment from the segment properties.

Addition of fields

It is possible to add fields existing in database schema or fields not existing, which will be used just as a simple text or for expression input.

The addition of fields not existing in the database schema is done by selecting Field addition in the Segment properties and clicking in the segment grid, where the field will be placed.

The addition of fields belonging to the database schema takes place by drag and drop. The user selects the field either from the frequently used or from the available by left clicking, left clicking again, holding and dragging using the mouse up to the point where we need the field to be, and leaves it.

This way, in the example of a Sale Invoice, into the header segment, we can add the fields “Company name”, address, phone number etc, the document title, code etc, in the part of the lines we could have the product code, description, comment, quantity, vat value etc.

If the design takes place by selecting an image file, the necessary fields added and placed in the proper positions as seen by the image.

After adding all the fields, the size can be altered so that they will hold as many characters as needed by dragging the mouse on the field until it turns like this: cid:image004.jpg@01C3A22C.C4A3B670.


Field properties

The definition of each field properties can be done by selecting the corresponding tab titled “Field” or by clicking on the area of a field in the grid zone.

Delete fields

The deletion of a field can be done by simply clicking on the field that is to be deleted and pressing Delete field from the field properties or just by pressing delete key on the keyboard.

Addition of footer

The addition of footer is taking place through the segment properties (segment type=footer) of the form or an existing footer, with a click in the area of the segment in which we want place the footer.

Footer properties

The definition of footer title is possible by selecting the tab titled «Field» on the bottom right or by clicking on the area of the footer of the form in the grid area, and typing title in the text field.

Also the size can be altered in order to take over as many character positions needed by dragging the mouse on the field until it takes the following form: cid:image004.jpg@01C3A22C.C4A3B670.

The further addition of segments, fields and footers in the footer as well as the definition of their properties is taking place by the Tab named by the footer name.

Footer deletion

The deletion of the footer made by firstly simply clicking on the field we wish to delete and proceed by selecting “Delete field” or pressing “Delete” on our keyboard.

Line grouping

We start by selecting the segment in which we need to apply the grouping (meaningless to single line segments).

EBS-ReportingEN-image318.jpegNext we define the function which will be used to each field.

EBS-ReportingEN-image319.jpegThe fields based on the values of which we need to have the grouping done (e.g. group, code, description, VAT category) must have the grouping as a function,

EBS-ReportingEN-image320.jpeg… while, the rest of the fields can have the aggregation type as function, like add, average etc.

EBS-ReportingEN-image3.png In the following example we can see the printing of a document with no grouping whatsoever and the printing of the same document grouped by the Item Code, where

  • In the quantity, there is a function counting

  • In the field price, the function average and

  • In the field Value, the function sum



Saving a print form

The storage of the printing form takes place by clicking “Save” through the main toolbar. To the appearing dialog, a title must be entered and the saving will take place to the application folder “CSPrintForms” in a sub-folder named according to the related entity, chosen during creating form, e.g. CSPrintForms/Trade, for a trade document.

Declaration of a printing form in the application

The declaration of the printing form in the application done by the following ways:

  • If it is regarding a document, inside the customization of the document series of the document type, in the the «Print-mail» sub-page:


  • If this is regarding a CRM task (Service etc.), inside the task type, in the «Print forms» sub-page:


Settings of document series

In the page «Print - Mail» of the document series, there are several settings regarding the printing, which need to be set:

Calling method: We choose if the printing will be:

  • Direct: The printing of the form will begin by clicking the save button on a document of that particular series.

  • With Question: A question will pop up to the user and asks if he wishes to print or not, on clicking “Save”.

  • NO: Any printing will be taking place at saving. The printing will only take place when asked for by the user.

Printing device: Selects which of the connected devices will be used for the document print of the form.

Attention: In the printers list we are only see and select the printers available at the client pc where we are located. If we set a local printer not shared and used by the other client pc, the printing function will produce an error stating that the printer not found.


Set of commands: the set supported by the printer type

Print form: the form used for the printing

Note: Depending on the “class” of the document type, where the series belongs to, the relevant printing forms will be selectable in the drop down menu. The selectable forms match the xml files of the print forms in the corresponding subfolder in the CSPrintForms, of the client in which we customize the document series. This means that in an X series of the document type, the selectable print forms are the xml files of the folder CSPrintForms\Trade (or equally Cash, Stock, Adjustment for the other 3 classes).

If we set a print form, which does not exist in the rest of the clients, we are going to get an error about not tracing the print form.


Character set: The available options are ‘ANSI’ (if the text characters are of the type ANSI) and ‘OEM’ (if the characters are not type ANSI in order to be converted to ANSI and be recognized by the printer).

Number of copies: The number of copies of the print form to be produced

Print condition: Selecting the EBS-ReportingEN-image328.png icon, the dialog of the expression editor pops up in which we are able to write down an expression. The expression written can control the printing of the form. If the expression result is true, then the print form will be printed otherwise it will not be printed at all.

Used in case when another check needs to take place first, before the final printing takes place. Usually this is not regarding official documents but cases for example of Orders pushed on for loading.

  • Commands

Summarizing table command set and graphics of the print forms

Characteristics / Command set Win Print


Line print (schema) Yes No
Frame print (schema) Yes Yes
Frame image printing Yes Yes
Frame and fields BOTH printing Yes No
Line printing as a table No Yes
Printing copies Yes No

Especially for the line section, the following apply:

Active lines

Compress lines

Schema placing




1st line

The schemas are printed all up to the last line



1st line

The schemas are printed all up to the last segment



In the active line range

The schemas are printed all up to the definition by active line up to the end of the segment



In the active line range

The schemas are printed exactly as they were set by active line type (grid effect alternative rows). The printed lines are not identified, so that the schemas belonging to that line are printed down to the last printable line.



Out of active line range


The schemas are not supported in footers, so they will not be used in combination with them.

  • Advanced customization of document series
  1. Printing in printers using different name per client

In the Printing Device, we have the option of typing a comma-separated list with printers. Then at the time when the document will be called out for printing, the FIRST PRINTER in line will be used. This option stops the problem of naming the printers with a different name by client.

  1. Printing in the default printer of each client

In case we want to define the default printer of the client, we then type “DEF” in the field and save.

  1. Printing with a QUESTION to the user about the printing device

Declaring the «ASK» command, during the printing will cause the relevant dialog to appear, asking the user to select based on the connected printers to his system:


  1. Printing on more than one FORMS

In the print form field, we are able to declare a comma separated list with print forms. Then, during printing of the document, they will all be used.

  1. Printing in multiple PRINTING DEVICES BASED ON MULTIPLE (equal) FORMS

In the «Printing device» we need to declare a list of printer names separated by ‘,’. The list must start with the word ‘multi’.

In order to define the ability to re-print in every printer, we will be adding the character ’|’ after the name of each printer, followed by the ‘0’ if the re-printing is allowed, or ‘1’ for not.

message_edit.png Example: For printing in two network printers, we need to set

multi \\SRV999\HP Laser Jet 1320 PCL 6|0,\\SRV999\HP OfficeJet 7300 series|1

If we need to print also in an ASCII printer, we will need it to be 1st on the printers list.

In the «Set of commands» field, it is mandatory to declare the set of commands used for EACH of the printers on the previous list, again separated by ‘,’.

message_edit.png For the above example, we need to type:

WinPrint, WinPrint

In the “Print form” field, we need to provide a list separated by ‘,’ of the forms printed by each printer of the list. We must again declare print forms for all of the printers on the list.

message_edit.png In our example, we can type:


Tips on the productive use of the tool

  • Aiding printing on the form paper before the scan

Before placing the form paper in the 0 position of the printer, it is good to print several characters horizontally and vertically to ensure the user has placed the paper in the right place on the printer. We test this way for the lining up of the device.

  • Image cropping & correct measurement of the cropped image

After scanning the paper and the image saved, we need to crop the image in order to select a measurable area. Following that, a measurement of the height and width will take place (using a ruler) and storing the processed image.

  • Starting placement of the image so that it falls on the starting position of the printer

After the pre-processed image entered to the form, the measurement unit, height, width of the paper must entered as measured before and any rotation needed to take place. Now, we can test if the 1st character printed is the 1st character of the form (coordinates 0-0). If they do not align, we need to move the image in the area so that they will align. Make sure the character-size is normal (10cpi).

  • Choose the width of the characters in the segment before placing fields on it

It is better to define the characters’ width, meaning the «number of characters horizontal» before the addition of the fields commences, otherwise we will need to re-adjust the size. If for example a field is 10 characters long to a ‘Normal (10cpi)’ size, when the width is dropped to a Compressed (17cpi)’ the length will become 17 characters, meaning that it is going to grow, even though it looks the same.

  • Check the segment characterization

  • Check the type (Header, footer etc) of every part of the form

Two same type segments cannot coexist in the same form.

  • Brought forward fields, in multipage documents

If there are fields containing values and especially the totals, group total etc., and expected that they will not fit in a single page, it is better to activate the Brought forward option, to transfer the current total to the next page.

Print forms using the Advanced form designer

When the requirements of printing of an entity are quite high, the Advanced form designer tool already examined is the most proper for the implementation to take place. In order to use it we choose «Print form advanced» from the path shown below.


EBS-ReportingEN-image332.jpegThe same tool is accessible through the documents’ screen (Actions/form designer)

EBS-ReportingEN-image333.png This 2nd method of starting up the tool is recomended. The prerequisite is to have load an already stored document.

This method provides a significant advantage during the design, which is the immediate preview of the form with actual data on it.

In our display popping up next, we are able to pick the creation of a new report or to alter an existing report as seen in the image below:

EBS-ReportingEN-image334.jpegTo be able to use the print form or in order to preview it, we will need to configure properly the document series used. In particular, in the series we will need to choose the print form.

Forms made by using this tool all have the prefix REPX.


PDF Version