versago:report_configuration

This is an old revision of the document!


Introduction (Reports Configuration)

This page describes the steps for developing Versago reports.

Related Documents

Special Terminology

  • None

What Are Versago Reports?

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.

  • Report data can be presented in a calendar format.
  • Report data can be presented in graphic format (charts).
  • Reports can used to allow users to select multiple records for payment and update processing.
  • Reports are also used to provide “lookup” functions in Versago forms.

Before You Begin

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.

Determine the purpose of the Report

Is the report to be used for data presentation, data lookup in a form, source for a chart, or a combination of these?

Determine the information that needs to be presented

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.

Determine the basic layout of the Report

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.

Determine if filtering will be required

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.

To Begin

  • Click on the Admin link in the profile section of the Versago home page to access the Administration console.
  • Reports, Charts and Calendars configuration is found under the Dynamic Content category of the menu.

Reports Maintenance

  • Click on the “Reports, Charts and Calendars” link in the Admin console to begin.

The Reports maintenance function consists of nine elements, each on a separate tab.

  • A listing of existing reports. This view is displayed when the function is opened.
  • Click the [Add New Report] button to create a new report.
  • Expand a category to list existing reports.
  • Click the link in the Report Name column to edit an existing report.
  • Click the [Delete] button on a report row to remove the report.
  • The remaining elements (tabs) can only be accessed as you step through the report wizard. The use of each element is described in the following sections.

Report Wizard

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.

Report Setup 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.

Report and Data Source Information

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.

  1. Report Name is a unique name for this report.
    1. This value is what is displayed in the Versago menus and at the top of the report page.
  2. Description is optional but can be useful for explaining the purpose or contents of the report. It is only displayed on this page.
  3. User Instructions is displayed at the top of the report page. This is optional but can be helpful in providing guidance to the user on how to navigate the report.
  4. Report Categories are the grouping mechanism used in the default Versago menu structure.
    1. Previously defined categories can be selected from the drop-down list.
  5. A new category can be created by typing the desired value in the blank drop-down box. This category will then be displayed in the list the next time the drop-down is selected.
  6. Database is the database connection to be used for the report. See the Database Connections Configuration page for information on configuring database connections.
  7. When a connection is selected, the associated database name is displayed in the “Database Name” field.
  8. Report Object Types are the various ways to obtain data from a database. The values displayed in the Report Data Source area will vary depending on the selected Report Object Type. See the Report Object Types section for information on how the different types are used.

Availability

  1. Roles define the group(s) of users that can use this report.
    1. Click in the blank area of the “Role” field to see a list of roles and select as needed.
  2. A report may be associated with multiple roles.
  3. Click the X on a role to remove it from this report.
  4. Select the Public option if this report should be displayed in the menu section of Versago’s initial landing page prior to a user logging in.
    1. Use caution with this option. No restriction on data content will be applied as may occur once a use is logged in. Whatever the report returns will be displayed to the user.
  5. An example of how this option might be used is to provide a list of company locations with address and telephone numbers. This information would be general and not necessarily pose a security or data risk.
  6. Select the Do not show in menu option when you have a report that you do not want to be displayed in the standard Versago menu structure.
    1. The most common use of this option is when the report is only used as a lookup tool in Versago Forms, or as a sub-report in other Versago Reports.
  7. Use of this option is typically not needed if you are using custom menus for all non-admin users.

Presentation Format

  1. Report/Chart format is the default “row & column” presentation.
  2. Enable Paging is used in conjunction with Page Count if you want to ensure that a specific number of records are displayed on each page.
    1. If this option is selected, then the desired number of records must be entered in the “Page Count” field that follows.
    2. If this option is not selected, Versago will present the data in a continuous flow as the user scrolls down the page.
  3. Calendar presentation (introduced in Versago 2.2). See the Calendar Reports Configuration page for additional information.

Filters tab

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

User-Applied Filters allow the user to provide input about how they want to filter the information for selection.

  1. Select User-Applied Filter as the Filter Type from the drop-down list.
  2. Select the report value to be filtered from the Filter Name drop-down list.
  3. Display Name is what the user sees when executing the report. The default value is the same as the “Filter Name” but is usually changed to something more user friendly
  4. Data Type indicates the type of data of the “Filter Name” column. This is for information only and cannot be changed.
  5. Control Type defines the type of field the user sees for the parameter selection. Options are:
    1. Text presents a text box where the user enters any value they wish.
  6. Dropdown presents a list of unique values from which the user can choose. This option should only be used when the potential list of unique values is relatively short. See item 7 (below) for additional information.
  7. DatePicker presents a standard Windows “date picker” tool to assist with selection of date values.
    1. This option is automatically assigned with the data type of the “Filter Name” column is Date or DateTime.
  8. Checkbox is not currently used.
  9. Mandatory is used to ensure that the user puts some value in this parameter.
    1. If a parameter is not mandatory and no value is provided by the user, the filter is simply not applied.
  10. Values Source defines how the values used for the Drop-down control type are generated.
    1. This option is only available when Control Type is Drop-down.
      1. Dynamic creates a list of unique values from the “Filter Name” column. The user can then select from this list.
      2. Static allows the developer to create their own list of selection values. These values must obviously make sense in the context of the data. If this option is selected an additional dialog page is presented to set the static values. See the Setting Static Filter Values section for additional information.
  11. Filter Criteria sets the default filtering option used for this parameter. The option can be changed by the user at report execution time as needed.
    1. Options for text values include:
      1. Equals (exact match)
      2. Not Equal (exact match)
      3. Contains
      4. Starts With
    2. Options for numeric and date values include:
      1. Equal (exact match)
      2. Not Equal (exact match)
      3. Greater Than
      4. Greater Than or Equal To
      5. Less Than
      6. Less Than or Equal To
      7. Between (top and bottom values inclusive)
      8. It is helpful to try and determine the most common filtering option and set it as the default.
  12. Default Value sets a default filtering value. The value can be changed by the user at report execution time as needed.
  13. Visible indicates if the user sees the parameter or not. This option is used when the report designer wants to filter the report in the same way all the time but does not want to put the filter in the data selection code
    1. A “Default Value” must be defined if this option is used.
  14. Control Visibility Order has no significance for the report developer and can be ignored.

Click the [Add Filter] button to add additional filters. Click the red X icon to delete an existing filter.

User Profile Filters

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.

  1. Select User Profile Filter as the Filter Type.
  2. Select the Profile Name from the “Filter Name” drop-down list.
  3. No other information is required.

Application of Filters

  1. A report can have multiple filters.
  2. User-applied filtering is applied based on the display order of the filters. This means that the first value filters the initial data set, giving a data subset. The next value then filters the first data subset, and so on.
  3. Profile values are automatically applied. Filtering is done based on the profile value(s) associated with the current user. This applies for both Versago reports and Crystal Reports.
  4. When both parameters and profiles are defined for a Versago report, the parameters are applied first and then the profile filtering is applied on the final subset of data. Display order is not considered, with two exceptions noted below
  5. In the case where the parameter control is a drop-down list AND the available values listed are coming from the report data (dynamic vs. static):
    1. For a Versago report, the profile filtering is applied first and then the filtering based on the parameter is applied.
    2. For a Crystal Report, the parameters are applied first and then the profile filtering is applied.
    3. The inconsistency between these two situations will be addressed in a future version of Versago.

Display Tab

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.

Display Tab versions 2.3 and lower

Display Tab versions 2.4 and higher

Record Submission Tab

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.

Records Submission Tab

Configuration of Record Submission reports is described in the Record Submission Reports Configuration page.

Click [Next] to skip this setup function.

Calendar tab

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-Report tab

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.

Sub-Reports

  • The connected report (sub-report) must be defined before it can be used in the Sub-Reports structure.
  • There must be at least one linking value to connect the sub-report record(s) to the main report record. The linking value does not need to be displayed in either report if it does not need to be seen by the user.
  • Profiles used in the sub-report are used for filtering, however parameters in the sub- report are not displayed.

Sub-Reports Setup

  1. Select the desired sub-report from the “Sub-Report” drop-down list.
  2. Select the (first) linking column for the parent report from the values in the “Report Field” drop-down list. In this example, the linking value is “BP Code.”
  3. Select the corresponding linking column in the child report from the values in the “Sub-Report Field” drop-down list.
    1. In some cases, there may be multiple values needed to link the child report to the parent.

The following image illustrates how a sub-report is displayed to the user for BP Code C20000.

Links tab

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.

  1. The desired action is launched via a link in a record in the main report. The link can be an existing column, or a new column used only to provide the link.
  2. Only one link can be associated with a column, but multiple links can be defined for a row using different columns for linking.

A link can be created on an existing column or a new column. Keep the following in mind when determining which type of link to use.

  1. If the action is associated with a specific column in the main record, that value should be used for the link. This makes it easier for the user to understand the relationship of the action to the main record. For example, the main report might be a list of customer orders. The action is a report of details about a specific order. Using the “Order Number” value in the main report as the linking item helps the user understand what is being used to control the child report.
  2. Any “new columns” specified for linking will always appear at the end of the main record. These columns cannot be moved so it may be difficult for the user to find them.
  3. An action can use a “Calculated Value” column as the linking item. This “calculated value” can be set up to show a text value. And “calculated value” columns can be repositioned in the column sequence, so the links can be set in a more logical sequence within the row.

All actions use the same basic setup as shown below.

  1. Link Name is a unique name for this link. It is displayed as the column header and content value if the Link From is “New Column (Link name)”.
  2. The Type drop-down list is used to select the type of action to be used. Available actions are:
  3. Report
  4. Forms
  5. Crystal Report
  6. Bizweaver Webservice
  7. Other URL
  8. Link From indicates if the link will use an existing column or a new column. Select the desired option from the drop-down list.
  9. The Link Column is the column used for the link if the “Existing Column” option is used for Link From. Select the desired column from the drop-down list.
  10. Destination defines the target of the action. The values in this field will change depending on the link Type. More information on Destinations is found in the discussion of each Type below.
  11. Show in New Browser tab indicates if the link action results should be displayed in a new browser tab (default) or in the current page.
  12. Conditions can be used to control when an action link is active based on values in other columns. See Link Conditions for more information.
    1. Click the red X icon to delete an existing action.
  13. The Link Parameters section is used when it is necessary to pass parameters to the target function. There may be some instances where the target function does not require information and this section is not needed.
    1. Click the red X icon to remove a parameter.
  14. Destination Field is the linking item in the target function. For example, we might need to pass an invoice number to a child report that shows more details about the invoice. The target function must have a column that will receive the value.
  15. The Is Static checkbox indicates whether the value to be passed to the target function will be a value from a column in the source report or a fixed value. When this option is selected the Source Field will be a text box rather than a drop-down.
  16. The Source Field provides a parameter value to the target function. If the Is Static checkbox is not selected, a drop-down list of columns from the main report is provided. Otherwise the field appears as a text box where a static value can be entered.

Report Setup

The Report link is the execution of a Versago report. The concept is like the Sub-Reports function described earlier, except that the report being opened does not necessarily need to be connected to the main report, as it is in the Sub-Reports. Using a Link rather than a Sub-Report is sometimes helpful if having the child results open in a new browser tab will make the results easier to use.

The following image shows the setup for a Report action to call the Sub-Report illustrated earlier in this document.

Forms Setup

The Form action provides a mechanism to open a Versago Form from a Versago Report and either find an existing record for maintenance or start a new record and automatically populate fields on the form.

The following example shows the Form action calling a Versago form used to create Service Call for SAP Business One.

In this example, the customer code (BP Code) and customer name (BP Name) are being passed into the form.

If the value passed to the form is the primary key (e.g. vgoRecNum or whatever it has been named) the application will automatically execute a lookup for the record of the value passed. If the record is found the remaining fields will be populated.

Crystal Report Setup

The Crystal Report action provides a way to execute a Crystal Report for presentation to the user. An example of how this could be used is where the main report is a list of customer invoices. A Crystal Report action could cause a copy of the invoice document to be generated using Crystal Reports.

Registration of the Crystal Report is the same as described for Crystal Reports in the Report Object Types of this page.

Crystal Reports that use a specific value for execution (e.g. an invoice number) must have a parameter in their definition. The Link Parameters will show the parameter(s) as Destination Field(s) that are mapped to a Source Field from the main report.

Bizweaver Webservice Setup

A Bizweaver Webservice link allows a user to execute a Bizweaver workflow from a report using the Bizweaver API. These workflows can be used for a variety of background processing.

Prior to v2.3, calls to the Bizweaver API were only sent using GET. Beginning with v2.3, calls can be made using GET or POST. POST provides authentication that is not available using GET. More information on using the POST options will be available shortly.

The “Destination” value is the string that calls the Bizweaver web service and passes any parameters that are needed. When parameters are specified in this string the are automatically set as Destination Fields in the Parameters section. Each parameter then needs to be matched to a Source Field from the report using the drop-down lists.

Calling Bizweaver Using GET

  • Method is GET.
  • Task ID is not used for GET.
  • Destination is the URL needed to contact the Bizweaver web service.
    • All values to be used to execute the Bizweaver workflow are included in the “Destination” string when using the GET option.
https://<YourURL>/BWService/api/workflow/InvokeWorkFlow?pTaskID=NN&pStartAfter=0&pArguments={Parameter:Value}
  • <YourURL> is the URL to your Bizweaver web server. It should include the actual URL and port number.
    • Use HTTP or HTTPS as needed by your site
    • If Versago uses HTTPS the Bizweaver web service must use HTTPS as well.
  • Task ID is the target workflow ID defined in Bizweaver.
  • Arguments are any values that need to be passed to the workflow.

Calling Bizweaver Using POST

The POST option is easier to configure since most of the values are entry/selection fields rather than working with a text string

  • Method is POST.
  • Task ID is the target workflow ID defined in Bizweaver.
  • Destination is the URL needed to contact the Bizweaver web service.
https://<YourURL>/BWService/api/workflow/InvokeWorkFlow
  • <YourURL> is the URL to your Bizweaver web server. It should include the actual URL and port number.
    • Use HTTP or HTTPS as needed by your site
    • If Versago uses HTTPS the Bizweaver web service must use HTTPS as well.
  • Link Parameters are any values that need to be passed to the workflow.
    • Enter the name of the variable expected by the Bizweaver workflow in the Destination field.
    • Select the source value from the drop-down list in the Source Field.
    • Leave these two values blank if no parameters need to be sent to the workflow.

URL Setup

The URL action is used to call a “website” (the URL). The URL is entered in the “Destination” field. The page being called could contain general information. In this case the “Destination” string is whatever you would type into a browser (e.g. www.twbs.com) to open the Third Wave website.

Or you may want to pass information to the page for processing there. An example of how this could be used is to call the UPS website and pass a tracking number.

An example of how the UPS example might be set up is shown below (the “source” fields are used only for illustration).

The Links Parameters are determined by Versago from information in the URL. In this case the URL is “wwwapps.ups.com/WebTracking/track?track=&trackNums=”. Values after the question mark in the URL are treated as parameters by Versago. When parameters are specified in this string the are automatically set as Destination Fields in the Parameters section. Each parameter then needs to be matched to a Source Field from the report using the drop-down lists.

Chart tab

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.

Report Object Types

Report Object Types are the mechanisms that can be used to obtain desired data from a database. Only one method (object type) can be selected for a report.

The image above shows the list of methods displayed as of Versago version 2.2. However, some of these methods are slated for removal in upcoming versions. Use only the options described below.

SQL Select

The SQL Select method is the most commonly used option. When it is selected, a text box is presented where standard SQL script can be entered. The script can be entered manually or pasted from another source such as SQL Server Management Studio.

Note that only SELECT statements may be used.

  1. Enter the SQL SELECT statement in the “Query Statement” area.
  2. Once the SQL statement has been entered, click [Execute] to validate the statement.
    1. Standard SQL error messages will be displayed if errors are encountered.
    2. If the statement is correct, the first 50 records of the dataset are displayed in the “Output Results” area.
      1. Date values are shown in a rather strange format as show in the image above. This is normal. The dates will be displayed correctly in the report presentation.
  3. Click [Save] to confirm that the results are what you wanted and to save the SQL statement. The SQL Select dialog area will close automatically.
  4. Click [Close] to close the SQL Select dialog box without saving any changes that may have been made.

When working with an existing report the first part of the current SQL Select statement is displayed. Click on the [] button to open the editing window. You can also “grab” the lower-right corner of the window and drag to make it larger.

The SQL statement can be changed at any time. However, remember that changes may affect other areas of the report defined in subsequent steps. Be sure to complete the [Execute] and [Save] steps if you do make changes. Otherwise your new selection station will not be saved. Then be sure you continue the wizard through the “Display” step to ensure any data changes are reflected in the formatted report output.

SQL Statement Restrictions

Certain SQL statements are not allowed in the SQL Select function.

  • An Order By clause cannot be used except in cases where the statement contains a TOP operator. The ordering (sorting) is handled by the report output process. See Supplemental Field Controls for additional information on sorting.
  • A Select Distinct statement cannot be used directly. This is due to some internal constraints used in the Versago SQL processing. If “Select Distinct” is needed it will need to be done using a sub-query. An example is found » here.
  • Computed values in the SQL statement must be assigned an alias. For example, the statement “ColA + ColB” will not work. Instead, you would need to use something like “ColA + ColB as [CalcValue]” where [CalcValue] is the alias. “CalcValue” is then seen as a valid column in the subsequent report definition steps.

Crystal Report

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.

  1. Select the Crystal Report object type.
  2. A dialog box is presented to select the desired Crystal Report.

  1. Click [Choose File] to open the standard Windows Explorer tool.
  2. Locate and “open” the desired Crystal Reports file (.RPT).
    1. The file name is displayed in the Versago dialog.
  3. Click [Select] to associate the Crystal Report file with the Versago report.
    1. Once the file has been selected you will see file path information displayed in the Report Data Source box.

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.

B1 Saved Query

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.

  1. Select the “B1 Saved Query” option.
  2. Click the “Report Data Source” drop-down to see a list of available saved queries from SAP Business One.
  3. Select the desired query.

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.

Stored Procedure

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.

  1. Select the “Stored Procedure” option.
  2. Click the “Report Data Source” drop-down to see a list of available stored procedures in the designated database.
  3. Select the desired procedure.

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.

View

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.

Visual Query Editor

The “Visual Query Editor” is no longer supported in Versago and should not be used.

Supplemental Field Controls

Supplemental field controls are exposed by clicking the icon at the left end of a row on the “Field Display Details” tab of the report wizard. The additional controls are presented directly below the selected row.

All rows will display the “Is Groupable,” “Sorting Options,” and “Column Formats” options. Additional options may be displayed depending on the specific format selected.

  1. Is Groupable causes the output to be automatically grouped for each unique value in the selected data.
    1. Only one value can be marked as “groupable.” A message is displayed when moving to the next step if multiple grouping items are found. The message indicates which item will be used for grouping.
  2. The grouping set in the report definitions can be removed when the report is executed but cannot be changed by the user.
  3. Sorting Options are ascending and descending. Select the desired option from the drop-down list.
    1. Sorting is applied based on the display sequence of the columns. You may need to change the display sequence to get the sorting you desire.
  4. If no sorting option is selected, the data is presented in whatever order it is read from the database.

There are several Column Formats available. Their use depends on the type of data being reported. Usage is outlined in the following table.

FormatUsed with Data TypeUsage
Decimal_2 Numeric Numeric values are displayed with two decimal places
Currency Numeric Numeric values are displayed in a selected currency format. See Note 1 below.
Date Date or DateTime Displays date values in a selected format. See Note 1 below.
DateTime DateTime Displays date/time values in a selected format. See Note 1 below.
Email Text The data is treated as an email address and presents a “link” with the value. Clicking on the link opens the default email client on the user’s device and passes the text as the “To” address.
File Text The data is treated as a Windows file path to a specific file and presents an icon with an underlying link with the value. Clicking on the link causes the system to attempt to download the file to the user’s device. See Note 2 below.
URL Text The data is treated as a URL and presents a link with the value. Click on the link opens the default browser on the user’s device and passes the URL to the browser.

Note 1

An additional column named Culture is displayed when the Currency, Date, and DateTime options are selected. This column has a drop-down list of formatting options for the data type. This allows the presentation to be easily tailored to different locations. The current culture designation is for this value in this report. It cannot be set to change based on the user. So, a user in the United States and a user in Great Britain will see whatever format is selected even through their local cultures use different formats.

If you need to report date and time values in a specific format, it may be necessary to use the SQL Convert function in the SQL Select for the report and present the value as a text value. More information on the SQL CONVERT function, and available formats, can be found here: https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql.

Note 2

Any files that are to be accessed using the “File” option must be in a folder location that can be accessed by Versago and Windows IIS. What this means is that files will need to be in a network share (e.g. \\ShareName\Files) that can be accessed by Versago, not in a typical file path like “C:\Data\File.txt”.

Also, keep in mind that any user that has access to the report can download any file listed in the report. If certain files should be available to certain group(s) of users, different reports may be needed.

Calculated Fields

Calculated fields in a report are used to perform operations on existing columns so that the “calculation” does not need to be done in the SQL selection code. “Calculations” can be done on numbers, dates, and text.

The following chart shows the functions that are currently available. Users familiar with SQL will recognize the format of most of the operators and functions.

Area Type Action Notes
OperatorsArithmeticNegate (Subtract)
Add
Multiply
Divide
String Concatenate Add multiple text values together in a single string (see Calculated Field Notes)
FunctionsArithmeticExponentiate Calculate a new value using an exponent against a given number
Modulus Determine remainder from division operation
Date/Time Current DateTime Calculate the current date & time
Current Date Calculate the current date
Current Time Calculate the current time
Math Round Round a given number
Absolute Value Use the absolute value of a given number (always positive)
Square Root Calculate the square root of a given number
Pi Use the value of Pi (to six decimals)
String Right Return n characters of a text string beginning with the last character and counting to the left
Trim Left Remove any blank spaces from the left end of text string
Trim Right Remove any blank spaces from the right end of text string
Substring Return n characters from a text string beginning at a specified position
Length Return then number of characters in a given text string
Left Return n characters of a text string beginning with the first character and counting to the right
Uppercase Return a text string in all UPPERCASE characters

Note 1: Enclose literal values in single quotes. Database values are enclosed in double quotes.

To Begin

  1. Step to the “Display” tab of the report wizard.

Add a Calculated Field

  1. Click the [Add Calculated] button in the lower right corner of the page.
    1. The “Calculated Field” tool is displayed.

Update (Modify) a Calculated Field

  1. Click on the row an existing calculated value.
    1. The row is highlighted to indicate it is active.
  2. Click the [Update Calculated] button in the lower right corner of the page.
    1. The “Calculated Field” tool is displayed.

Remove a Calculated Field

  1. Click on the red X at the right end of the row for an existing calculated value.
    1. The row is removed from the field display list.

The Calculated Field Tool

The Calculated Field tool has five areas provides a list of available values that can be used in calculations.

  1. Name and data type information
  2. Values (fields) available for use in calculations
  3. Operators and functions available for use in calculations
    1. Use the drop-down list to access Functions
  4. Formula entry area
  5. Action buttons

Create a Formula (Calculation)

  1. Enter a Calculated Field Name.
    1. This is a required value and should be unique in the current report
  2. Data Type will be determined by the application in a later step. Do not enter a value manually.
  3. Use the Fields and Operators/Functions to add elements to the Formula area.
  4. Select the desired element and click [Insert Field] or [Insert Function] as needed. The element is displayed in the “Formula” area.
  5. Add all needed fields and operators/functions to build the formula.
  6. Click [Validate] to confirm that the formula is valid.
  7. A message is displayed to confirm if the formula is valid or not.
    1. If the formula is valid, the “Data Type” value is automatically populated with the appropriate value.
  8. Click [Save] to save the formula and close the “Calculated Field” tool.
  9. Click [Close] to close with “Calculated Field” tool without saving any changes.

Calculated Field Notes

  1. Formulas can be entered manually. The selection process described above is not mandatory.
  2. Formulas can only reference values provided from the data selection. A formula cannot reference another calculated field.
  3. Parentheses can be manually added in a formula to control the calculation order if necessary.
    1. Example: “BALANCE” * (10 + 3) will give a different result than “BALANCE” * 10 + 3.
  4. Concatenation can only be used on text strings. Text and numbers cannot be mixed.
  5. Non-field text values must be enclosed in single quotes.
    1. Example: Assume we want to concatenate “CARDNAME” and “CARDCODE” so that the resulting value is CARDNAME (CARDCODE) or Third Wave (C10000). The formula would look like: CARDNAME + '(' + CARDCODE + ')' where the parentheses are static values and so are enclosed in single quotes.
  6. A calculated field can be used to create a column used for an Action link. The “formula” can simply be a text string (enclosed in single quotes).
    1. Example: the “formula” is 'Click for PDF'. “Click for PDF” will appear in each row and serve as the link point for an Action link.

Link Conditions

Link Conditions are used to control how, and when, an action is executed. Examples might include:

  • Open a list of open invoices sub-report only if the customer’s account balance is not zero.
  • Open a URL only if the UPS tracking number value is not blank. Otherwise, take no action. Conversely, use a different URL if the FedEx tracking number is not blank. Note that these conditions are on different link fields.
  • Execute a Crystal Report if the document type is an invoice. Otherwise, take no action. Conversely, execute a different Crystal Report if the document type is a credit memo. Note that these conditions are on different link fields.

Add/Maintain Action Conditions

To add or modify Action Conditions:

  1. Move to the “Actions” step of the report wizard.
  2. Add a new action or select the row of an existing action.
  3. Click the [Conditions] button.
    1. The “Action Conditions” tool is displayed.

In this example, we want to display a sub-report of open invoices only if the current balance is $10,000 or greater. If the balance is less than $10,000 the sub-report should not be displayed when the action link is clicked.

Create the condition formula as described below. Do not enter the formula directly in the “Preview” area as the condition will not function in the report. The preview is simply a way for you to see how the formula is constructed.

  1. Build the formula from left to right using the element tools as shown.
    1. The “Open Bracket” and “Close Bracket” are only required in complex conditions.
    2. Select the comparison value from the “Report Field” drop-down list.
    3. Select the comparison operator from the “Operator” drop-down list.
    4. Enter the first comparison value in “Value1.”
    5. Enter the second comparison value in “Value2” if the “between” operator is being used.
    6. Select the “Logical Operator” (AND, OR) if needed to add more condition information.
  2. Click [Preview] to see the completed condition statement.
  3. Click [Submit] to save the condition.
  4. Click the red X at the right end of a condition line to remove the condition statement.

Large Datasets for Reporting

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.

User Notification

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).

Use of Filters

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.

Search in a Report

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.

Paging

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.

Summarized Datasets

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.

Files for Download through Versago

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.

MIME Types

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/.

Setting Static Filter Values

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.

  1. Use the drop-down for “Filter Name” to select the desired parameter. Only those filters defined for “Static” are listed.
  2. Enter the filtering value in the Value field.
  3. Enter the value the user will see in the Value Label field. In the image above, the user will see the values “Customer” and “Supplier,” and the filtering values will be “C” and “S” respectively.
  4. Continue adding filtering values as needed by clicking the [Add Filter Value] button.

Bizweaver Webservice Destination

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.

  1. The server where Bizweaver is installed
  2. The port assigned to the Bizweaver web service when the application was installed.
  3. The Bizweaver workflow ID to be invoked. This can be found in Bizweaver and will always be numeric.
  4. The name of the variable in Bizweaver that will receive a value from Versago.
  5. Value(s) to be passed to Bizweaver.
    1. If value(s) are not being passed to Bizweaver, the space between the curly braces is left blank.
    2. If the value is a value from the report, use the field name from the report enclosed in tilde symbols (~) as shown.
    3. If the value is static the tildes are not used.
    4. In both cases the value being passed is enclosed in single quotes.

Sample String

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~'.

versago/report_configuration.1578494470.txt.gz · Last modified: 2020/01/08 09:41 by runger