This is an old revision of the document!
This page describes the steps for developing Versago reports.
The following pages contain additional information that may be helpful with understanding these processes.
Versago reports are the data presentation component of Versago. The basic presentation method is a grid (rows and columns). There are other presentations and uses for reports as well.
Before you begin creating a Versago report there are some things that need to be considered. Having answers to the following questions will help make the report creation process more efficient.
Is the report to be used for data presentation, data lookup in a form, source for a chart, or a combination of these?
Determine what information needs to be presented. This includes where the data is located, and which specific pieces of information are needed. The source data will generally come from a SQL Server or HANA database, but there are different ways to access the data. Also keep in mind that you may also want to retrieve data that will not necessarily be displayed to the user. More information on these topics is provided in following sections of this document.
As noted earlier, Versago reports present data in rows and columns. While the order of the data columns can be changed later, creating the report source data with a sequence as close to what is needed will make maintenance easier. You may also determine that it may be better to some data as a sub-report rather than have one large grid.
Reports that will be used on mobile devices (phones) will also need some special consideration. The report layout on a phone is different than on a desktop monitor or a tablet. See the Changing Report Column Order section for more information.
In many cases, it will be helpful to provide filtering options for the user to limit the amount of information they see. Filters (user-applied and profiles) can be entered at any time. However, discussing this with users in advance may lead to other pieces of information that need to be included in the report.
It is also important to keep in mind that simply returning hundreds (or thousands) of rows will affect performance and make the user experience more difficult. Providing options to filter the information being requested will help address these two issues.
See the Large Datasets for Reporting page for more information on data selection.
The Reports maintenance function consists of nine elements, each on a separate tab.
Click the [Next] and [Back] buttons on each page to move forward and backward through the wizard steps. Your work is automatically saved each time you leave a tab.
Basic information about the report is defined on the Report Setup page. Since there is a large amount of information on the page the explanatory images are shown in three sections. These sections are physically all on the same page.
The first set of values is used to describe the report, define where the data will come from, and how the data will be obtained.
Versago reports can filter the information before it is displayed to the user. There are two types of filters: User-Applied and User Profile. A report can have no filters, use user-applied filters only, use user profiles only, or use a combination of user-applied and user profiles.
Filters (parameters) associated with Crystal Reports or Stored Procedure data sources are automatically displayed in this step.
A notification message is displayed if no filters are defined. Acknowledge the notification to continue with the wizard if appropriate.
User-Applied Filters allow the user to provide input about how they want to filter the information for selection.
Click the [Add Filter] button to add additional filters. Click the red X icon to delete an existing filter.
Profiles are filters that are predefined by the Versago administrator. They are applied automatically when the report is executed. The filtering value(s) are associated with each user. The profiles must be defined before they can be associated with a report.
The “Display” page is used to define which columns are displayed in the report, the order the fields are displayed, and to set various display options.
The layout of this page changes in Versago v2.4. However, the functions are very similar.
The “Record Submission” page is used to configure a special type of report. This report type allows the user to select items for additional processing from a list of records. One version of this report is used to support payment processing through Versago. Another version of the report can be used to select records for processing in another application (e.g. SAP Business One) using Bizweaver.
Configuration of Record Submission reports is described in the Record Submission Reports Configuration page.
Click [Next] to skip this setup function.
The “Calendar Setup” tab is skipped if “Calendar” is not selected in the Presentation Format section in the first step of the wizard. See the Calendar Reports Configuration page for information on the setup of calendar presentation reports.
Sub-Reports are additional reports that typically provide additional information related to a row being displayed in a report. The sub-report is displayed within the same page as the main report and appear directly below the selected row. A sub-report is displayed when the user clicks the expand/collapse icon at the left end of the main record.
Special Note Regarding Sub-reports. In most cases a sub-report will use a linking value from the main report to filter the information reported. For example, the main report might be a list of customers and the sub-report displays more details for a specific customer. The linking value in this case is the customer code. It is not necessary to create a parameter for the linking value in the sub-report. Versago will automatically filter the sub-report based on the value passed from the main report.
The following image illustrates how a sub-report is displayed to the user for BP Code C20000.
Report links provide access to a variety of functions that can enhance the overall use of the report. There are two key characteristics of links.
Details for configuring links can be found here
The final step of the report definition process is the Chart tab. This page is used to define charts for graphic representation of information in the report. Defining a chart is not required. If charts are not required, click [Finish] to close the report definition process.
See the Chart Configuration page for information on creating charts.
Certain SQL statements are not allowed in the SQL Select function.
A different data presentation option is provided through the Crystal Report method. In this case a Crystal Report is developed outside of Versago. The report is then registered in Versago and used as the presentation method.
The Crystal Report source file is copied from the original location to the folder “C:\Program Files (x86)\TWBS\Versago\Websites\Versago Administration Web Site\Reports.” A number is added in front of the file name to ensure it always unique. If the Crystal Report needs to be modified, you can either modify this file or modify it elsewhere and re-register the new version in Versago.
The B1 Saved Query option is only available for sites using the SAP Business One business management system. This option provides a method to use queries developed in SAP Business One as a Versago data source.
The database connection (“Database” as described earlier in this document) must include the credentials required to connect to SAP Business One for this option to work. This configuration is described in the Versago – Database Connections Configuration document.
While this option is available, the preferred approach is to copy the query from Query Manager in SAP Business One and paste it into Versago as a SQL Select statement.
In some rare instances it may be necessary to use a SQL Stored Procedure as the data source. This approach is not recommended if any other option is available. However, it is available.
Keep in mind that if the procedure is changed so that different/additional column names are returned, you must step through the report configuration process again to be sure these changes are accounted for in the “Display” step.
The “View” option is no longer needed since a SQL View can be referenced in the SQL Select option. The “View” option will be dropped in a future release of Versago.
The “Visual Query Editor” is no longer supported in Versago and should not be used.
One of the concerns with applications like Versago is the handling of “large” datasets. A “large” dataset is a relative term and may be affected by processing power of the host system, network capability, etc. While there is not a single ‘correct” approach to this issue, here are some things to consider.
Versago v2.2 introduces a new system setting that allows the administrator to define a “large” dataset. The default on installation 10,000 records but this number can be adjusted as needed. If the data request will exceed this value, a message is displayed to alert the user. At this point they can continue or stop the request and change filters (if available).
Filters can be used on a report to let the user determine what information is relevant to their current request.
When filters are not used, all records in the underlying SQL statement are retrieved and presented. The user can then use the report Search function to find specific records. However, if the number of records is “large,” the time to return the dataset might be lengthy.
When filters are used, the SQL request is submitted with a WHERE clause to limit the number of records returned and displayed. This means that the user has less data to deal with on the screen and the time to display the dataset will be somewhat shorter.
For example, you might have a report that lists customers, their associated group (using SAP Business One), and their current balance. There are 1,000 records. In a typical scenario, the user is not blindly looking for something within the 1,000 records. They might only want to see customers in a certain group, or customers with a balance over $5,000. Using filters helps the user narrow down their search to the items that are relevant.
Profiles are also helpful in limiting the size of the dataset returned. More information on how filters and profiles are applied is found in the “Versago – Administration Console” document.
The results page of a report also provides a search function.
This function allows the user to search for values in any record returned to the report. Even non-displayed fields are included in the search. No special configuration is required for this feature.
Information in a report is presented either as a continuous flow, or in pages.
In the continuous flow approach, the user scrolls down the page until the last record is found. With a large number of records this might take some time. Having said this, the continuous flow approach is well suited to mobile devices.
In the “paged” approach, the report designer indicates that paging should be used and sets the number of records to be displayed per page. The user then sees buttons and arrows at the bottom of the page to move forward and backward through the information. This setup is done in the first step of the report setup process. The “paged” approach is more suited to presentation on workstations, or where users are more comfortable with the paging approach.
In some cases, it may be appropriate to have two versions of a report, one using continuous flow for mobile users and another version using the paging approach for workstation users.
Advanced Topic
In some cases, the data to be reported is normally summarized before it is used by Versago. Typical examples of this are historic reporting, year-over-year comparison reporting, and high-level analysis reporting. The information in this type of reporting is either relatively static or having a delay of a day or so will not materially affect the results.
This type of reporting is well suited to the use of summarized datasets. These datasets are held in custom reporting database tables and are typically refreshed on a nightly basis. Use of this approach does two things.
First, the summarization is done in a SQL done prior to use by Versago. This can be done during periods when database usage is lighter (such as overnight).
Second, the summarization process can reduce the volume of data presented to Versago. For example, several hundred customer invoices over the space of a year might be condensed into twelve monthly records
Defining these datasets will require some thought to determine the best way to summarize the data. It also involves creating the tables in the SQL database and setting up the processes to refresh the data on a periodic basis.
The “refresh” process can be done using a scheduled job in SQL or setting up workflow in Third Wave’s Bizweaver application to execute the processing.
As noted in the Supplemental Field Controls section, Versago can be used as a mechanism to allow users to download files. This is a particularly attractive way to make documents available to various partners on a “self-serve” basis.
Technical Topic
Multipurpose Internet Mail Extensions (MIME) types identify the types of content that can be served to a browser or a mail client from a Web server. Since Versago is a browser-based application, any file types that may be downloaded must be defined to the web server.
The most common file types (PDF, XLXS, TXT, DOCX, etc.) are already defined in IIS (the Windows web server). The general process to add/maintain MIME types is described here: https://technet.microsoft.com/en-us/library/cc725608(v=ws.10).aspx.
One MIME type that is not defined by default is for Outlook email messages. These files have the extension .msg. Specific steps to add this MIME type are found here: http://blogs.catapultsystems.com/rhutton/archive/2013/10/25/unable-to-open-outlook-message-file-in-web-browser-msg/.
As noted above, this tab is only available when any parameter is defined as “Drop-down” AND the “Values Source” option is set to Static.
The Destination string to invoke a Bizweaver workflow is shown below.
http://1:2/BWService/api/workflow/InvokeWorkFlow?pTaskID=3&pStartAfter=0&pArguments={4:'~5~'}
The elements in red are specific to your installation. The other items (included variable names used by Bizweaver) are case sensitive, so the easiest way to create the Action Target is to copy this string and paste it into Versago, then make the needed changes. You might also update the Bizweaver server information so that you will only need to change a few items.
http://Server1:8080/BWService/api/workflow/InvokeWorkFlow?pTaskID=12&pStartAfter=0&pArguments={CardCode:'~CardCode~',CardName:'~CardName~'}
“CardCode” and “CardName”. are variables in the Bizweaver workflow that receive the associated values '~CardCode~' and '~CardName~'.