Specifying the Primary Register

The first task in designing a report is to specify the register that is to provide the basis of the report (the "primary" register). In the case of a Customer List, this will be the Contact register. Follow these steps:
  1. On the 'Data' card of the 'Report Definition: New' window, click the [Register] button above the report display area. The 'Register' dialogue box opens:

    Paste Special    Registers in HansaWorld Enterprise
    Choose the register that is to provide the basis of the report. Use the 'Paste Special' function to ensure the register name is spelt correctly.

    Sort by
    Paste Special    Fields and indexes in the selected register
    Use this field to specify the sort order to be used in the report.

    Each register contains a number of pre-defined sort orders. Each sort order is known as an "index". An index might include a secondary or even a tertiary sort order (e.g. you can select an index to sort Contacts by Customer Category and then by Contact Number). You can sort by a single field, or you can choose one of the pre-defined indexes. The 'Paste Special' list is a list of fields in the register specified in the field above:

    Click the [Indexes] button to see the indexes in the register in question.

    In the example Customer List, the report will list records in the Contact register in Contact Name order.

    Reverse Sort
    By default, the sort order that you specify in the field above will result in a report sorted in ascending order (e.g. from 1 to 10). Use this option if you want the report to be sorted in descending order (from 10 to 1).

    Variable Name
    Enter a name for the variable that will contain the records that will be printed in the report. These records may be the entire contents of the register, or they may be a selection resulting from a search.

    You may need to refer to this variable elsewhere in the report definition, and therefore you need to give it a name. Do that here. 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.

    A report definition can contain a number of levels, allowing the printing of information from several registers. For example, you might want to print a Customer List that shows outstanding Invoices for each Customer. This list could include total outstanding amounts for each Customer. The first Customer will be printed in the report, then that Customer's Invoices, then the second Customer, then that Customer's Invoices, and so on. The primary register in this case is therefore the Contact register, so this is the Level 1 register. The secondary register is the Invoice register, so that register would occupy Level 2.

    In the example of a simple Customer List with no related information, there is only one Level, so this field should be set to 1.

    If necessary, enter a condition that must be met for the register to be processed (i.e. for the report to loop through the records in the register). For example, you may be designing a report that will simply list the records in various registers, and you intend that the person producing the report will choose the registers that will be printed using radio buttons or check boxes in the specification window. When the user selects a check box or radio button, this will set a variable to true. In the Condition field for each register, specify that the register will only be printed if the corresponding variable is true. Please click here for an example.

  2. When the 'Register' dialogue box is complete, click the [OK] button to close it. The information that you entered is summarised in a line of text that is placed in the report display area that takes up the majority of the screen. Each line in the report display area begins with an identifying word, in this case "Register:":

Having specified the primary register, please click here for details about designing the appearance of the report.