Language:

HansaManuals

Creating a Report Using the Report Generator
Creating a Report Generator Report - Specifying the Primary Register
Creating a Report Generator Report - The Appearance of the Report
Creating a Report Generator Report - Choosing a Print Destination
Creating a Report Generator Report - The Width of the Report Window
Creating a Report Generator Report - Printing the Report
Creating a Report Generator Report - Adding White Space
Creating a Report Generator Report - Adding Searches
  a Search - Testing
  a Search - Adding a Second Search to the Specification Window
  a Search - Testing the Second Search
  a Search - Searching for Tags/Objects, Item Classifications, Contact Classifications and Persons
Creating a Report Generator Report - Adding a Secondary Register
Creating a Report Generator Report - Using Variables and Formulae
Creating a Report Generator Report - Printing Information from Matrices
Creating a Report Generator Report - Bringing Information in from Other Registers
Creating a Report Generator Report - Page Breaks
Creating a Report Generator Report - Filtering Records (Print If)
Creating a Report Generator Report - Adding Check Boxes to the Specification Window
Creating a Report Generator Report - Adding Radio Buttons to the Specification Window
Creating a Report Generator Report - Searching for Records within a Period
Creating a Report Generator Report - Break Points, Subtotals and Totals
Creating a Report Generator Report - Blocks
Creating a Report Generator Report - Syntax
Creating a Report Generator Report - Useful Functions
Example Reports - Listing Sales Figures
Creating a Report Generator Report - Common Error Messages

Tutorials for Standard Accounts

Creating a Report Generator Report - Adding Searches

This page describes adding searches to Report Generator reports so that they only list selected records instead of every record in a particular register.

---

When designing Report Generator report, you will often need to add searches. If you add a search, the report will only list the records that match the search criterion, not every record in the primary register. Searches can be automatic, or they can be controlled by the person producing the report, when they specify what to search for. On this page, we will first describe an automatic search, and then a user-controlled search.

The example report that we are using in this documentation is entitled "Customer List (All Customers)", but at the moment it will list every record in the Contact register, including Suppliers and Contact Persons as well as Customers. You can add an automatic search to remove the Suppliers and Contact Persons from the report. Follow these steps:

  1. Return to the Report Definition record and go to the 'Data' card.

  2. Click on the "Register" line in the report display area (marked "Register: Contacts..." in the example) to specify that the search is to be carried out in that register, and then click the [Selection] button above the report display area. The 'Selection' dialogue box opens:

    The 'Selection' dialogue box is divided into two sections. In this example, as the report is entitled "Customer List (All Customers)", it can be assumed that the person producing the report is doing so because they want a list of Customers only. So, there is no need explicitly to ask whether non-Customers should be removed from the report. The search can therefore be automatic, so you can ignore the lower six fields in the window. You only need use the first three fields to define an automatic search (you can use the other fields to place a variable in the specification window, as described later on this page).

    Field Name
    Paste Special    Fields in the register
    Choose the field that is to be the subject of the search. The 'Paste Special' list will show all the fields in the register you are working with (in the example, the Contact register).

    When the report is produced, there will be a search in the field specified here for the value that you enter in the Value field below. In the example report, the CUType field is the subject of the search (CUType is the internal name for the Customer check box in the header of each Contact record), and so this is the field that should be specified here.

    Formula, Value
    Use one of these fields (but not both) to specify what you want to search for. In other words, specify in one of these fields the value that must be present in the Field specified above in order for a record to be included in the report.

    If you want to search for a certain value, enter that value in the Value field. If you want to search for the contents of a variable or another field, enter that variable or field in the Formula field.

    In the example, you need Contact records that have been marked as Customers to be listed in the report. This means Contact records in which the Customer check box has been ticked. When this check box is ticked in a particular Contact record, the value "1" will be stored in the CUType field in that record. You should therefore enter "1" as the Value, so that there will be a search to find all Contacts where CUType is 1.

    If you need the report to list records in the Contact register that are not Customers, you could enter "0" as the Value (the report will list Contacts in which CUType is 0), or you could enter "1" as the Value and select the Not option (the report will list Contacts in which CUType is not 1).

  3. When the 'Selection' dialogue box is complete, click the [OK] button to close it. The information that you entered will be placed in a second line in the report display area, marked "Selection:":

This search for Customers in the Contact register is an automatic one: it will always take place and does not need to be activated by the person producing the report.

You can also add a search that can be controlled by the person producing the report. This person can specify that a search will take place, and they will also specify the value that will be searched for. For example, it might be useful if they could produce a list of Customers belonging to a certain Category.

To do this, you need to place a Category variable in the report specification window, and to program the report to perform a search based on what the person producing the report enters in this variable. You can accomplish these two tasks together in the 'Selection' dialogue box. Continue with these steps:

  1. Return to the Report Definition record and go to the 'Data' card.

  2. Click on the "Register" line in the report display area (marked "Register: Contacts..." in the example) to specify that the search is to be carried out in that register, and then click the [Selection] button above the report display area. The 'Selection' dialogue box opens:

    In this example, you will use the lower six fields in the 'Selection' dialogue box to name the variable and place it in the specification window. As in the previous example, you will use the first three fields (and, if necessary, the Not check box) to define the search.

    Field Name
    Paste Special    Fields in the register
    Choose the field that is to be the subject of the search. The 'Paste Special' list will show all the fields in the register you are working with (in the example, the Contact register).

    When the report is produced, there will be a search in the field specified here for the value that the person producing the report enters in the variable in the specification window. In the example report, the Customer Category field is the subject of the search, and so this is the field that should be specified here.

    Formula
    Formula is not used with user-controlled searches.

    Value
    If you want a default value to be placed in the variable when the specification window opens, specify that default value here.

    Not
    Select this option if you want to perform an "inverse" search, i.e. if you want to search for records that do not match what was entered in the specification window. For example, you can use this option to search for all Customers except those in the Category specified in the specification window.

    Input Label
    Enter the name of the variable, as it will appear in the specification window (as illustrated below). The Label should indicate to the person producing the report what they should type in to the variable.

    Variable Name
    Enter a name for the variable that will hold the search criterion (what will be searched for). Include at least one alpha character in the name and do not use spaces or punctuation marks of any kind. Use the underscore _ instead of a space. Ideally, the variable name should indicate the purpose of the variable.

    The person producing the report will enter their search criterion in this variable in the specification window. When they click the [Run] button, there will be a search in the Field Name that you specified above for records that match this search criterion. In the example there will be a search to find Customers with a Category that matches what the user types in this variable in the specification window.

    Paste Register
    Paste Special    Registers in Standard ERP
    If you want the person producing the report to be able to use 'Paste Special' to bring a value into the variable, specify here the register whose contents are to appear in the 'Paste Special' list.

    It can be useful to enter a block here, rather than a register. Blocks are not included in the 'Paste Special' list attached to this field, but you can open a selection list of useful blocks by clicking the [Paste Window] button. The blocks in this list are:
    PerSClass
    Reporting Periods setting

    VATCodeSClass
    VAT Codes setting

    PasteCurDate
    opens 'Paste Date' window

    LandSClass
    Languages setting

    PMSClass
    Payment Modes setting
    For example, if you want the person producing the report to choose a VAT Code as a reporting criterion, click the [Paste Window] button and double-click "VATCodeSClass".

    Width
    Specify here in pixels how wide the variable should be when it is placed in the specification window. Ideally, the width should reflect the number of characters that should be entered in the variable. The default is -1, which means the variable will take up the entire width of the specification window, as shown in the illustration above.

    h, v
    Use these two fields to specify where you want the variable to be placed in the specification window. Enter co-ordinates (in pixels) for the top left-hand corner of the variable (not the label): h (horizontal) is the distance from the left-hand edge of the specification window, while v (vertical) is the distance from the top edge. Defaults are offered: they assume the usual Standard ERP vertical spacing of 20 pixels between variables.

    The example illustrated below will place a variable named vsCategory in the specification window. The person producing the report will type a Customer Category Code (or range of Codes separated by a colon) in this variable, or select a Category Code using the 'Paste Special' link specified in the Paste Register field. After the search described earlier in this section for Customers in the Contact register (i.e. for records where CUType is 1), there will then be a second search for Customers whose Category matches exactly what was entered in the vsCategory variable ("CustCat" is the internal name for the Customer Category field in the Contact register). The search is case-sensitive. If the vsCategory variable in the specification window is left empty, all Customers will be listed in the report.

  3. When the 'Selection' dialogue box is complete, click the [OK] button to close it. The information that you entered will be placed in a third line in the report display area, marked "Selection:":

    The order of the two "Selection:" lines is not important: both searches will be carried out. The report will only list records where CUType is 1 and where the Customer Category matches what the person producing the report enters in the specification window.
Having added a search, please follow the links below for more details about:
---

Creating a Report Generator Report:

Go back to: