Report Writer > Create Report

Create Report

You use this program to add and maintain reports and extracts.

Reports can also be added using the Report Wizard program and then maintained using the Create Report program.

Report

When you open this program form the SYSPRO Main Menu, you are prompted to indicate the details of a new report to add. See Report - Add for details.

Toolbar and menu

Field Description
File  
New Define a new report (see Report - Add).
Save Whilst maintaining the report, use this to save changes you made.
Save As

Save the current report under another file name.

This option can be used to copy a report by saving it with a different name, but it will not copy across the report password.

Save and Exit After maintaining the report, you use this to save changes made and to exit the program.
Print Print the current report. If you have not saved the report, you are prompted to save the report first.
Export Report

You use this to transfer report without having to manually re-enter the report. (e.g. between branches or companies).

[Note]

Only files that have been exported using the Create Report program can be imported.

The exported report is created as a flat ASCII sequential file.

This file will have an SYSPRO EDI header record that contains the export date, report code, description and the version of SYSPRO. This record comprises 1 or more lines beginning with a # (hash). The first line must contain general details concerning the file to allow validation and date/version checking.

The header information is used for validation purposes.

The usage of any subsequent lines will depend on the validation required for other import/export programs.

The export file name defaults to REPPRR.EDI, but can be changed if required.

When exporting, select OK to overwrite the contents of the existing file.

Exit Close the program.
Edit  
Add Add a column to the report.
Insert

Insert a new column before the currently selected column. You may need to use the Recalculate Detail Fields option to realign the column.

Change Make changes to an existing column, including its position on the report.
Delete Delete an existing column from the report.
Edit Maintain Multimedia Objects.
Recalculate Detail Fields

Recalculate the position of all detail columns.

This option is useful if you have added, removed or changed print columns extensively, and want to reshuffle the positioning of the columns on the print line to provide consistent spacing.

You may also have to adjust Subtotal and Total columns to align them correctly.

Options  
Confirm deletions Enable this to display a warning message when you select to delete a column. This enables you to cancel the deletion if you accidentally selected to delete a column.
Function  
Normal Report Mode

When a report is created it defaults to processing the report under normal mode.

If you select this option, then when you select to print the report, the entire report is processed.

Depending on the size of the tables that need to be processed by the report, this can be time consuming. Another option is to set the report to one of the test modes.

Test Report Mode 10 to 100 rows

This enables you to stop the report after processing a specified number of rows.

When developing a report you can change from the default Normal Report Mode to one of the available Test Report Modes. This is useful if the report you are maintaining processes large tables. Rather than processing the entire report, you can select to process only the first 10, 20, 50 or 100 rows. This reduces processing time and enables you to view the report results for the number of lines selected.

If the report updates any columns, the update facility is disabled when the Test mode is in progress.

Test Report Mode - Custom Specify the exact number of rows of the report you want to process and return in the report.
Number of rows to process Enter the number of rows you want to process.
OK Accept the information you entered.
Preview All Preview options are runtime options. They revert back to the original default when exiting the report.
Show border in XML preview

Enable this to view the borders of the table cells in the preview pane of the tri-pane window when maintaining a report.

Suppress image in XML preview

Enable this to suppress the image whilst maintaining the report, as images can take up quite a bit of space.

Allow clicking within preview

Enable this to use your mouse button to select a field in the preview pane and view and/or change it's properties.

If you configured overlapping columns, then you can disable this option to preview the columns exactly as they will print on the report.

Report Maintenance

Report - Add

You can add a new report by selecting the Add option from the Edit menu of the Browse on Reports program, or by selecting the New option from the File menu of the Create Report program.

Field Description
Add new report  
Primary table

Indicate the primary table to use for the report (see Browse on Data Dictionary Tables).

The primary table should be the table that contains the majority of the columns that you want to use in your report, or the table that is linked to other tables containing columns that you want to use.

Once you have selected and assigned the primary table to a report, it cannot be changed.

If you have a SQL and C-ISAM mix system, then the primary table and the 1-many table must be SQL.

The table base names are preceded by an abbreviation of the SYSPRO module.

Example 1 - GenMaster for the General Ledger Master table. Example 2 - ArCustomer for the Accounts Receivable Customer Master table.

Report

Indicate the report code for the report.

The Report Code defaults to a system generated code but can be changed at this point.

The default report code is made up of an abbreviated Primary Table Description of 6 characters, followed by a sequence number relating to the number of times this table has been used as the Primary Table.

Example 1 - Report Code - ADMJOB-1. i.e. ADMJOB for the Admin Job Logging Table. 1 means it has not been used as a primary table before.

Example 2 - Report Code - GENMAS-2. i.e. GENMAS for the General Ledger Master Table. 2 means it has been used once before as a primary table.

When you define your own Report Codes, it is advisable to make them meaningful so that you are able to easily identify the report.

Once the report has been created the report code cannot be changed.

Title

Indicate the title for the report.

The system allocates a default Report Title, but this can be changed. The default Report Title always starts with "Report on......", followed by the Description for the Primary Table.

For example: Report on AR Customer Invoice for the Accounts Receivable Invoice Table, or Report on GL Master for the General Ledger Master Table.

Once defined, the report title can be changed using the Options section of the report attributes.

Default sequence

When creating a report, this defaults to the primary key of the primary table.

Depending on the selected Primary Table, other alternate keys may be available on which to sequence the report:

For example, the Accounts Payable Supplier table also has the option to use the Short Name. The Inventory Master table also has the option to use the Description and the Supplier Name as alternate keys on which to sequence the report.

Report Writer prints sequentially through the primary table, defaulting to the alphabetical sequence of the key fields.

The Sequencing function is used to define the reporting order, when producing a report.

Once defined, the default sequence can be changed in the Sequencing section of the report attributes.

Width

This indicates the width of report and defaults to 132 characters, which is the number of columns used by standard SYSPRO reports.

The width is the maximum number of characters you wish to print on each line of the report. The Number of columns pertains to the width when maintaining this option.

The maximum number of characters that can be printed on each line is 300 and the maximum that can be used in an extract report is 400. Therefore, when adding a report you will not be allowed to enter more than 300 characters for the width.

Each line is validated during printing and if the line is longer than specified, it is truncated.

Once defined, the report width is maintained under the Options section, of the report attributes, however if the width is changed, the column headings are not realigned.

Create report with default headings

Enable this (recommended) to allow the system to insert default headings with a similar format to all the standard SYSPRO reports.

The standard headings include:

  • Prepared Date and Time
  • Company Name
  • Page Number
  • Report Code and Title

Once defined, the report headings can be changed using the Page Headings option in the Layout section of the report attributes.

If you do not select this option, then you must define the heading columns manually during report maintenance.

Allow updates

This option relates to the global report update option.

Enable this to use the report to update columns in the database.

[Warning]

Great care must be taken when allowing updates as important information could be overwritten.

Although you can select the option to allow updates here, this can be changed at a later stage by maintaining the Allow updates option within the Options folder.

See Activity considerations in Notes and warnings.

If you select to update a column against a detail line and you have not selected this option, then the report will not update the column.

User-Defined SQL Tables can be updated, subject to the following:

  • The option to Automatically convert an extract file to a user-defined indexed file ONLY creates an C-ISAM file
  • The Report Writer has no logic to physically create SQL tables (i.e. the table definition nor the columns and their data types)
  • The Report Writer cannot write any NEW rows to an existing SQL Server table (it can only be used to update EXISTING rows)
Add Report and Edit it Create the report and proceed to the report maintenance section to edit the report and add the detail lines.
Close Return to the Browse on Reports listview without adding a report.

Report - Edit

A tri-pane window with the following sections is displayed when you select to maintain a report from the Browse on Reports program, or you select the Add Report and Edit function from the Create Report program:

  • Preview

    The preview is the top pane in the Tri-pane window. It simulates the appearance of the report when it is printed. This is useful in assisting you to align the detail fields under the column headings. The preview format can either be Standard or XML.

  • Treeview

    The treeview is the bottom left pane in the Tri-pane window. This displays all the elements of the report. As you select the individual elements in the treeview, the information for the selected element is displayed in the Listview section.

  • Listview

    The listview is the bottom right pane in the Tri-pane window. This displays the details defined against the elements of the Treeview.

You use the Treeview section to maintain the individual elements of the report.

There are two ways of maintaining the elements:

  • Highlight the relevant element on the tree view. Move your mouse pointer over to the listview section and highlight the field you want to maintain. Typically use your right mouse button to display the relevant Add, Change or Delete options. If no fields are available in the listview, then only the Add function is available.
  • Highlight the relevant element on the tree view. Move your mouse pointer over to the listview section and highlight the field you want to maintain. Select the Edit menu. The relevant Add, Change or Delete functions become available.

Layout

This element of the treeview enables you to define the columns you want to print on the report and is required for every report produced.

[Note]

You can add multiple columns to the Layout elements using the RW Multiple Column Selection program.

The Layout element includes the following sub elements:

  • Page Headings
  • Group Headings
  • Detail Lines
  • Sub Totals
  • Report Totals

Field

This screen is displayed when you maintain the following sub elements of the Layout element:

  • Page Heading
  • Group Level 1 to Group Level 5 (from Group Heading - Default Sequence)
  • Detail
  • Level 1 to Level 5 (from Subtotal - Default Sequence)
  • Report Total

The availability of the fields, options and functions on this screen are dependent on the sub element you are maintaining (i.e. not all fields, options and functions are available for each sub element).

Details

You use this tab to define the columns to be included in the Page Heading, Group Heading, Detail Lines, Subtotals and Report Totals sections of the report.

Field Description
Field type Indicate the type of field to add.
Column from a table Select this to use a column from the available table (e.g. the Stock code from the Inventory Master table).
User Variable

Select this to use a user-defined report variable.

User defined variables are all prefixed with a % sign.

Use F9 or the Browse facility to display the available variables.

When you enter a valid user variable name, the program automatically prefixes the field with a % sign.

You use the Variables element to maintain user variables.

System Variable

Select this to use a system variable.

System variables are all prefixed with a $ sign.

Use F9 or the Browse facility to display the available variables.

If you enter a valid system variable name, the program automatically prefixes the field with a $ sign (e.g. Date = $Date).

String

Select this to define text that you want displayed.

You define the text between opening and closing quotes (e.g. "Enter Date").

The string allows for 35 characters within the quotes.

To insert a string that is blank, input as " ", you must have spaces between the quotes (i.e. "" is not valid).

You use this option to define text for Page headings and Sub total level descriptions.

Field

The following fields are available for selection, depending on the Field type selected:

Option Description
Column from a table Use F9 or the browse facility to display all the available columns within the Primary Table that are available for selection.

You can select a column from a Linked Table. Browse on the field when all the columns within the Primary Table are displayed, select Change from the menu bar, then select Linked Tables. When you select the Linked Table you require, the available columns within that table are displayed for selection. Alternatively, you can enter the Linked Table Name, full stop (.) then the relevant column name. (e.g. InvMaster.StockCode). You can also use the Alpha Table Number. This is displayed under the Tables Option of the report. You will notice an alpha character in brackets beside each table. This depicts the level of hierarchy of each table. (e.g. by StockCode ).

User Variable

Use F9 or the Browse facility to display all the available user-defined Variables for selection.

The facility to Add, Change or Delete a User Variable is also available at this stage.

User Variables must all have a % prefix.

System Variable

Use F9 or the Browse facility to display all the available System Variables for selection.

The facility to Add, Change or Delete a System Variable is not available at this stage.

System Variables must all have a $ prefix.

String

A String field type enables you to enter the text that you want displayed.

The string of characters must be typed within opening and closing quotes.

To insert a string that is blank, you input this as " ". You must have spaces between the quotes (i.e. "" is not valid).

Line

Indicate the line(s) on which you want each Column to appear on the report.

When defining Detail Lines a value of 1 means every line.

The number of Page Heading Lines available depends on the first line to be used for column headings, which is defined under the report options.

A maximum of 10 Heading Lines are available.

Column

Indicate the column in which you want your Page Heading, Group Heading, Detail Lines, Subtotals or Report Totals to appear on the report.

Use the Next function (especially when moving or re-aligning fields) to position this field immediately after the previous field. The new column is then recalculated.

You cannot enter a column number greater than the value entered at the Number of columns option (see Options).

If the column entered results in the field being printed at the same position as another field, then the last field defined with that column position overwrites any other field.

[Note]

If you are producing an XML report, then the column positions are not used. The sequence of the columns defined in the listview is used to determine the print positions for the columns across the page - one field per column. Refer to Spacing columns for XML output.

Next Select this to automatically calculate the next available column position in which you can insert a field. This is calculated as the last used column position plus one character and indicates the first column position that can be used for the new field you are adding. The next available column position is displayed in the Column field, but can be changed.
Edit

Specify the format to be used when printing the field.

[Note]

If you add a key field to an existing report, then the current Presentation length (defined in the Keys section of the Company Setup program) is provided as the default Edit length.

Depending on the field type selected, Edit has different scenarios, but in general you enter the length you want to print. This can vary from the original length of the field.

  • Alphanumeric

    If the selected field type is Alphanumeric, then you can enter the number of characters that you want to print. For example, If the length of a column in the table is 30 characters, you do not have to print 30, you may choose 10.

  • Numeric

    If the selected field type is Numeric, then you can enter the number of characters to print. For example, if the length of a column in the table is 10.2, then this means that it will print for 10 integers and 2 decimal places. This may be replaced with 5.1, meaning print for 5 integers and 1 decimal place.

  • Date

    If the selected field type is Date, then you can select the output format from about 13 different formats (e.g.DD/MM/YYYY, MM/DD/YYYY, YY/MM/DD, etc).

The following table indicates how the Report Writer interprets SQL column types:
SQL Column TypeSYSPRO Report Writer
charAlphanumeric
varcharAlphanumeric
unicharAlphanumeric
univcharAlphanumeric
ncharAlphanumeric
nvarcharAlphanumeric
tinyintNumeric
smallintNumeric
intNumeric
realNumeric
floatNumeric
decimalNumeric
datetimeDate
Print options  
Do not print field This must be enabled if you want to include a field in the definition of a section without printing it. This is useful when a field is performing an update function, but you do not want to print it out onto the report.
Overline

Enable this to print a line above the field when the report is printed.

If the field has been defined as required to print in line 1 within this section, it is adjusted to line 2 because line 1 is being used for the overline character. The default overline characters are "-------------" but can be changed through the options tab on the tree view of the required report.

Underline

Enable this to underline the field when the report is printed.

The default underline characters are "=======" but can be changed using the options tab on the treeview of the required report.

Numeric format

These options are only available for a column defined as a numeric field.

When you define an extract report using the separated file formats and not the "user-defined extract file format", you can specify whether the sign on numeric fields is leading or trailing. Most 3rd party systems that use comma or other separators, require leading signs.

Option Description
Standard Select this to print the format of the numeric field as it appears in the file (i.e. 99999.99-).
Value Select this to print the format of the numeric field using the style as defined in the Company setup options (i.e. If you have selected to comma separate in 1000's the value will be printed as 999,999,99-).
Price/Cost This works in the same way as described for Value, according to the style defined in the Company setup options.
Add Field Add the field you defined to the report.
Close Return to the tri-pane window without saving any information added or changed.
Heading

You use this tab to change the default column headings for a field.

This tab is only available for Detail print fields.

Column headings can comprise up to two lines of 30 characters each.

The first character of the heading starts at the vertical position indicated in the Column field on the Details tab.

The vertical positioning of the column heading is defined in the Column Headings Value under the Options element, First line to be used for headings in the Heading section (see Options).

The maximum number of heading lines allowed is 10. The heading is not printed if the column heading vertical position is calculated to be greater than 10.

Field Description
Column headings

These headings are called column headings because if the field is moved, then the heading moves accordingly.

Column headings are automatically right justified over numeric columns and left justified over other column types.

A column heading may be surrounded by quotation marks to manually adjust the spacing both for left and right justification.

Generate automatically

Select this to use the standard SYSPRO column headings for the field.

This option is selected by default.

User Defined

Select this to enter your own heading.

The default column headings are displayed and can be altered accordingly.

[Note]

If the report option: Truncate user-defined headings is selected, then your headings are truncated to fit the standard column width for the field.

No headings

Select this if you do not require a Column Heading.

When you select this option, a system variable $Space is entered on the Heading line 1 and cannot be adjusted.

Heading line 1 Enter the first line of the column heading for user defined headings.
Heading line 2 Enter the second line of the column heading for user defined headings.
Condition

You use this tab to specify the print conditions against a field. A maximum of 200 print conditions can be defined in a single report.

The available conditions depend on the field type specified under the Details tab (alphanumeric, numeric or date) and on the sub element of the report Layout element being defined (Page Heading, Detail Lines or Report Total).

You use the Style for values on reports option (Company Maintenance) to indicate how you want to print transaction values on reports. You can indicate whether you require a thousands separator and if so, the character to use for the thousands separator.

Field Description
Value  
Value of the Field

When you print a field in the Detail section, it defaults to the current value of the field but can be changed.

Detail fields that are alphanumeric or date fields have Current value of field as an option.

Value

When you print a numeric field in the Total section, then the total value is printed.

You can choose to print the Total value for any numeric field in any position on the report. The total value is useful if a cumulative value is required.

You can override the defaults.

Previous Value of Field

Heading fields that are alphanumeric or Date fields have previous value of field as an option.

Total fields (subtotals or grand totals) that are alphanumeric or Date fields also have previous value of field as an option.

For example:

You can use the previous value of field when printing a subtotal. When a subtotal break is reached, the value printed will be the value that was being totalled before the break.

Next Value of Field

Heading fields that are alphanumeric or Date fields have next value of field as an option.

For example In a report using the inventory master file, you may want to indicate in the heading which is the first stock code on the current page. You would then use the Value field to specify that the next value of the field should be printed.

Detail fields that are alphanumeric or Date fields also have next value of field as an option. As well as, Total fields (subtotals or grand totals) that are alphanumeric or date fields.

Subtotal Level 1 to 5

You can choose to print Subtotal level 1 through 5, or the Total value for any numeric field in any position on the report.

The total value is useful if a cumulative value is required.

Original value (before update)

Select this to include the original value of the field on the report when an update is applied.

[Note]

Once the update is applied, the field only prints the current value.

Suppress leading zeros (if any)

Enable this to prevent leading zeros in the field from being printed. This only applies to Alphanumeric fields, in any position on the report.

[Note]

In all cases, for key fields defined as Alphanumeric (or keys that contain alpha characters) the left-most x characters are printed, where 'x' is the edit length as defined in the report.

Suppress if Field has Same Value as Previous Line

This option is designed to provide extra suppression, over and above any automatic suppression.

Only select this option for fields that are not included in the automatic suppression, which you want to suppress when its value, is the same as the previous line.

This option only applies to alphanumeric fields in the detail section of the report.

Conditional Select this to define a print condition against the field.
Define Print Condition
[Note]
  • You can define a maximum of 200 print conditions in the entire report.

  • You can define a maximum of three print conditions against a single field.

This function is used to specify additional conditions against each line within the report.

This function is available in the Page Heading, Detail and Report Total Layout sections. Refer to Conditions for Inclusion in Report for additional information on defining conditions.

For example:

Create a report for an Age Analysis using the Customer Master Table and print the invoices by Customer under the following column headings: Date, Invoice No, Current, 30Days, 60Days and 90&Over.

Create four user variables to divide each line under the Column - InvoiceBal1 between Current, 30Days, 60Days and 90&Over.

Then create a print condition against each variable to define under what condition each line must print.

Customer 2345 Bicycle Accessories

Date Invoice Current 30 Days 60 Days 90 & Over
12/01/00 123       145
15/02/00 235       62
20/04/00 356   1458    
25/05/00 458 1202      

Using the example above, Invoices 123 and 235 matched the criteria that the ageing date is greater than or equal to 90days and therefore printed the value under the 90&Over heading.

Lookup Table

You use this function to define more meaningful descriptions for those fields that in a table that contain only a single character.

This table is meant to be used only on single character fields

A maximum of 15 lookup entries can be defined.

For example:

If you created a report using the Inventory Master Table which has a field called Transaction type, and you printed the field as it is stored on the table, you have a description which is a single character [I,R,C] on the report. These could mean I for Issue, R for Receipt and C for Cost Modification. The lookup table enables you to be more descriptive. For each of the transactions types, you could enter the full description on the table and print this full description rather than merely the I, R or C on the report.

Original value of field

This indicates the value of the field as it is stored in the table.

For example: I for Issue, C for Cost Change, R for Receipt as per the example above.

New value of field

Enter the description you want to print on the report for the original field.

For example Issue or Cost Change or Receipt as per the example above.

Add Add an entry into the lookup table.
Delete Remove the highlighted item from the lookup table.
Close Return to the previous screen.
Update

You use the Update Tab page against each field in Report Maintenance to overwrite a column held on file with the current value of the field.

This function is available only for Detail lines. If the detail line contains a field to be updated, then a U is displayed in the Update column on the Listview.

Field Description
Update column  
No update Select this if you do not want the report to update (change) any database fields when it is run.
Update selected column

Select this if you want the report to update database fields.

[Warning]

Great care must be taken when using this function, as important information could be overwritten.

It is strongly recommended that you backup the file to be updated before you run the report.

We also recommend that you print the report without updates first. You can do this by selecting the Test Report Mode under Functions on the Toolbar.

Column to be updated

Indicate the database column you want to update.

The fields to be updated must be of the same type: alphanumeric, numeric or dates. No update is performed when the report is run and the field types differ.

When reporting on C-ISAM data files, this option will result in sequencing being ignored.

You can select the Allow updates option when adding a report. This can be changed at a later stage by maintaining the Allow updates option within the Options element.

See Activity considerations in Notes and warnings.

If you select to update a column against a detail line and you have not selected this option then the report will not update the column.

An update function is available only for the detail lines. You cannot update a key column. When updating a column against a detail line, the global update must also be selected.

To be able to update a column, the following must be true:

  • The table must be setup as Read/Write.
  • The column must be setup as Read/Write.
  • The global report option must allow updates.
  • The column must be updated against a detail line definition.

User-Defined SQL Tables can be updated, subject to the following:

  • The Report Writer has no logic to physically create SQL tables (i.e. the table definition nor the columns and their datatypes)
  • The Report Writer cannot write any NEW rows to an existing SQL Server table (it can only be used to update EXISTING rows)
XML

You use this tab to define the options relating to the XML document output.

This can be used to override the default '1 field = 1 column' relationship, that is defined in the Page Heading, Group Heading, Detail Lines, Subtotals or the Report Totals sections of the report.

Field Description
XML table configuration  
Column wrapping

Indicate how the columns must be displayed when viewing the document.

By default the column is defined as not wrapped, which means that the column width is adjusted to always contain all the text.

Select this if you want the columns to be word-wrapped by the browser.

This can be useful for descriptive fields such as descriptions, references and narrations.

Wrap column headings

Select this if you want the column headings to be word-wrapped by the browser.

This option allows you define how the column headings must be displayed when viewing the document, and is therefore only applicable to the Detail fields.

Often the headings are longer than the width of the column, so the wrapping allows the browser to keep the columns as narrow as possible whilst not truncating the column headings.

By default the column headings are defined as wrapped, which means that the column headings are word-wrapped by the browser.

Deselect the this option if you want the column headings to be as wide as required.

XML reports default to using a single report heading line for column headings.

Example: If the field name is ProductClass, then the column headings default to Product class in XML (all on one line). However you can manually define 1 or 2 lines of column headings when required.

You can use the report Preview screen to quickly maintain the headings.

Join this column to next column

Define how the columns must be displayed when viewing the document. You can string 2 consecutive fields together within the same column. The Report Writer will concatenate the columns (join and take out the spaces) using a single space character.

By default each column is defined as not joined, which means that the current field and the next field are not strung together.

Select the Join this column to next column checkbox, if you want the current field and the next field to be strung together.

The Join checkbox can be used to join numerous columns together. This can be achieved by first joining the 1st to the 2nd, then join the 2nd to the 3rd, then the 3rd to the 4th, etc.

The Show Border in XML Preview option on the Report Maintenance toolbar, allows you to view the joined table cells.

When two or more fields are joined, the element name will always be the name of the first field. The element can then be used together with a field condition to force the output of only one of a number of values.

To print one field depending on one condition and another field (in the same position) depending on another condition, you must proceed as follows:

  1. Define the first field, together with its condition

  2. Against the XML tab of the first field, select the option: Join this column to next column.

  3. Define the next field as the alternate field, together with its condition.

    The report preview will show the first field, followed by the word or followed by the second field. This will not, however, be printed when running the report.

The Join option could be used against subtotals to generate a message such as: Subtotal for Stockcode: XxxxxxxxxX.

Table column spanning

Define how the columns must be displayed when viewing the document.

Spanning can be used to override the default 1 field = 1 column relationship. It allows a single column to 'span' 2 or more columns, and can be used to show data in a different format to the detail table columns.

By default each column is defined as '1', this means that each field is equal to '1' column.

Change the Table column spanning value accordingly, if required.

The Show Border in XML Preview option on the Report Maintenance toolbar, allows you to view the joined table cells.

The Spanning option can be used for long descriptions, where the description can be placed beneath the first line of information and it can span 3 columns.

Column alignment

Define how the columns must be displayed when viewing the document.

You can override the default Column alignment when necessary

By default, fields are aligned as follows:

  • Alpha fields will be left aligned
  • Numeric fields are right aligned
  • Date fields are center aligned
Column width type

The column width type controls the width of each column.

[Note]

Whichever method is being used, the browser will not truncate the text in a column; but will stretch the width of the column so that the longest piece of text fits. This means that neither the percentage nor the number of pixels can be used to fix the maximum width of a column.

You can override the default as follows:

Option Description
Browser Determined This is the default which either arranges the information intelligently or by your XML setup.
Report Writer Determined This type causes the Report Writer to calculate the column width as a percentage of the browser width by dividing the edit-pattern width by the report column.
Override Percentage This type allows you to manually define the column width as a percentage of the browser width.
Override Pixels This type allows you to manually define the column width in screen pixels.
Column width

This option is only enabled, when selecting the column width type as Override percentage or pixels.

You can enter the required percentage or number of pixels.

Style type

Various options allow you define how the columns must be displayed when viewing the document.

The styles are defined in CSS files (Cascading Style Sheets). The appropriate style file is copied to the {document}.css in the report document directory.

Standard Select this to leave the style type as the default standard style.
Custom style Select this to enable Custom styles in order to change the style type.
Column style

This option is only enabled, after selecting Custom as the field's Style type.

You can either select one of the standard style types as your custom style, or you can enter your own user-defined style type as your custom style. The column heading and details will both change according to the selected style type.

To customize fields using standard styles, select one of the standard styles from the drop down menu.

To customize fields using user-defined styles, type in your own tailored style type.

Define element name

Select this to enable the XML Element name option.

This option allows you to specify element names for the fields in the report. You can define an element name for each field. Defining a field, will change the standard default column description.

This option gives you control over the element names. It is particularly useful to make them more Company specific and to assist in ensuring that 3rd party systems can read the XML, since element names can be redefined to more meaningful descriptions.

To enable this option, deselect the checkbox Transform XML document for web viewing in the XML Wizard of the Report.

XML element name

Define the required XML Element name. For instance, enter MassWeight as the element name for the Mass field.

No spaces and only the characters [A-Z] [a-z] [0-9] and [.] will be allowed in element names. All other characters will be stripped from the name.

Once a name has been defined, this option is disabled again. If you want to enter a new name, you must once again select the Define element name option and enter the new name.

Page Headings

You use this element to maintain the page headings for your report.

If you created the report using the Report Wizard program, then your report is automatically created with default headings. Similarly, if you did not deselect the option: Create report with default headings, then the report is created with default page headings.

You can use a maximum of 100 columns and 10 lines to define page headings.

You use the Details tab from the Fields screen to define the specific columns to be included in the Page Heading section of the report. See Details.

The fields in a Standard Heading are made up of system variables. These headings conform to most SYSPRO standard report headings, but can be changed.

The Standard Heading is made up of the following system variables:

System Variable Description
Prepared The text: 'Prepared' is printed before the Prepared Date field.
$PreparedDate The actual date on which the report is executed is printed in this field.
$CompanyName This field prints the name of the company from which the report was executed.
Page The text: 'Page' is printed before the page Number field.
$Page This field prints the page numbers on the report.

Standard heading - Line 2

System Variable Description
Report The text: 'Report' is printed before the Report code field.
$Report This is the Report code field. The report code assigned to the report is printed in this field.
$ReportName The Title assigned to the report is printed in this field.

Group Headings

The Group Heading element enables you to add different headings to each of the subtotal levels created.

You cannot use calculated variables specifically in the group header.

Group Headings print in the front of a selection. They need to be defined in the same sequence as the sequencing.

You cannot use the copy function to add the group headings.

You must define the Sequencing of the report or accept the default sequence, before the Group Headings can be displayed on the report.

You must define the Subtotal Break for each sequence or accept the defaults, before the Group Headings can be displayed on the report.

You use the Details tab from the Fields screen to define the descriptions for each sub total level. See Details.

Detail Lines

You use the Detail Lines element to create or maintain the specific columns for the lines you want to include in the report.

When you select to Add or Change a detail line, the Fields screen is displayed (see Layout).

Subtotal

Before you define a subtotal, you must define a sequence for the column you want to subtotal as well as a subtotal break for that column (see Sequencing and Subtotal Break).

The following screen enables you to define a sequence for the subtotal, but you can use the Copy Sequence option to copy the sequences you defined in the Sequencing element.

Field Description
Field, User variable

This is the field in the table or the user variable in which you want to sequence the report in order to define a subtotal.

If you select a calculated user variable, then the calculated value of that variable cannot consist of other calculated user variables.

To view and select fields from a table, you can use the F9 function key to display the listview of the Browse on Data Dictionary Columns program.

To view user defined variables, enter % and then use the F9 function key.

Sequence  
Ascending Sequence the field or user variable you selected in ascending order on the report.
Descending Sequence the field or user variable you selected in descending order on the report.
OK Accept the information entered.
Close Return to the previous screen.
Subtotal Level 1-5

You can define up to 5 levels of subtotals for each sequence and subtotal break you defined in the report.

Each level defines the column to be verified for a change. You can specify a format for each level of subtotal.

In addition you can specify a group header. This allows you to define a format to be printed when the subtotal field changes. When printing fields or variables in a group heading the current (i.e. new) value of the field is printed.

When you select to add or maintain a subtotal level, the Field screen is displayed (see Layout).

Report Total

You use this element to define the columns and variables you want to print as grand totals on the report.

When you select to add or maintain the Report Total element, the Field screen is displayed (see Layout).

Sequencing

The Sequencing element is used to define or change the order in which the report is printed.

Report Writer prints sequentially through the primary file, defaulting to the alphabetical sequence of the key fields.

When creating a report, the displayed default order is the primary key of the primary file. Other default options are available for the key fields (alternate keys), depending on the selected Primary Table. For example, the Accounts Payable Supplier table also has the Short Name as an alternate key.

Whenever possible it is best to use the standard default sequence(s) for the Primary table. If you define a different report sequence, then the report will take longer to produce as the table has to be re-sequenced in the order you selected before printing starts.

Sequencing - C-ISAM

The sorting phase is only applicable to C-ISAM based systems. If the report does not contain any specified sequences then the primary table primary key sequence will be used. In addition if there are any 1-Many linked files these will also be processed in their primary key sequences. No sorting phase will be required.

If the report contains specified sequences then the Report Writer will use the key definition file to determine whether an existing primary or alternate key can be used or whether a sort has to be performed.

Sorting - C-ISAM

If the Report Writer detects that there is a primary or alternate key matching the sequence you have defined, then it will access the data via these keys/indexes. Otherwise it will sort the data by reading the entire C-ISAM indexed file and creating a temporary file.

Sequencing - SQL

Unless the SQL SELECT statement includes an ORDER BY phrase, the sequence that the rows are returned in is undefined. If the report does not contain any specified sequences then the columns making up the primary key of the primary table together will the keys in any 1-many table keys will be generated as part of the ORDER By phrase. If the report contains specified sequences then the Report Writer will use these as is in the ORDER BY phrase. No additional sequences will be generated.

Sequencing

You can define up to 10 sequences that will be prompted for at run time. You do not have to define a run-time prompt. The program automatically detects that you have defined a number of sequences and will prompt you for them at run-time.

Each pre-defined sequence can have up to 10 columns or calculated user defined variables that can be used in the report sequence. These can be ordered in either ascending or descending order.

The first sequence entered is the highest level and takes precedence; the second takes the next highest, and so on.

The sequencing you define determines the subtotal breaks (i.e. the sub total breaks are defined according to the sequencing).

Field Description
Field, User variable

This is the field in the table or the user variable in which you want to sequence the report.

If you select a calculated user variable, then the calculated value of that variable cannot consist of other calculated user variables.

To view and select fields from a table, you can use the F9 function key. The listview of the Browse on Data Dictionary Columns program is displayed.

To view user defined variables, you enter % and then the F9 function key.

Sequence  
Ascending Sequence the field or user variable selected in ascending order on the report.
Descending Sequence the field or user variable selected in descending order on the report.
OK Accept the information you entered.
Close Return to the previous screen.

Subtotal Break

You use the Subtotal Break element if you need a subtotal to be printed when the value of a column changes.

Before you define a subtotal break, you must define a sequence for the column on which you want to define this break (see Sequencing). For example, if you are subtotalling on the change of supplier in the Inventory master file, you must sequence this file by supplier.

You can use the Copy Sequencing option to copy the sequencing you defined in the Sequencing element to the Subtotal break element.

Subtotal levels and Detail lines are not dependant on one another. Each section can print totally different information.

Subtotals

You use this screen to add the fields from a table or the user variables on which to define a subtotal break.

Field Description
Field, User variable

This is the field in the table or the user variable in which you want to sequence and subtotal the report.

If you select a calculated user variable, then the calculated value of that variable cannot consist of other calculated user variables.

To view and select fields from a table, you can use the F9 function key to display the listview of the Browse on Data Dictionary Columns program.

To view user defined variables, you enter % and then the F9 function key.

Action after subtotal Define what must be done after the subtotal is printed.
OptionDescription
Line skipSelect this to leave one or more blank lines after the subtotal.
Page skipSelect this to skip to a new page after the subtotal.
Line skips

Enter the number of blank lines to skip after the subtotal.

This option is not available if you selected the Page skip option.

Underline after subtotalSelect this to draw a line after the subtotal.
OK Accept the information you entered.
Close Return to the previous screen.

Conditional logic

This element enables you to specify the information you want to include in the report.

You can define a maximum of 30 conditions per report.

Conditions for Inclusion in Report

You use this to specify the conditions that must be met for information to be included in the report. Only fields that meet the conditions you specify are printed on the report.

If you want the report to process and print every record in the primary file, then you do not need to define any selection criteria.

You can combine simple conditions using and/or logic. A simple condition comprises the comparison of two fields. The fields should both be the same type (i.e. Alphanumeric, numeric or date). The fields are compared algebraically, alphabetically or chronologically, depending on their type.

When the Report Writer evaluates a condition, the following rules are applied:

  • The simple conditions are compared to determine if they are true or false.
  • If any brackets exist, then all the And combined conditions within the brackets are evaluated to true or false.
  • If any brackets exist then all the Or combined conditions within brackets are evaluated to true or false.
  • All the remaining And combined conditions are evaluated to true or false.
  • All the remaining Or combined conditions are evaluated to true or false.
  • The result is either true or false.
Field Description
And/Or

For the beginning of the first condition, this defaults to If and cannot not be changed.

Select And to combine conditions using AND logic. Select Or to combine conditions using OR logic.

When applying AND logic, the combined condition is true if both simple conditions are true. When applying OR logic, the combined condition is true if either of the simple conditions are true.

Field, Variable

Enter a field from a table, a user defined variable or a system variable to use in the condition.

To view and select fields from a table, you use the F9 function key. The listview of the Browse on Data Dictionary Columns program is displayed.

To view user defined variables, you enter % and then the F9 function key.

To view system variables, you enter $ and then use the F9 function key. The listview of the RW System Variable Browse program is displayed.

Condition

Enter a valid condition that must be used to compare the fields.

If the fields are numeric, then they are compared algebraically. If the fields are alphanumeric, then they are compared alphabetically. If the fields are dates, then they are compared chronologically.

The following conditions are available:

  • = (equal to)
  • < (less than)
  • > (greater than)
  • >= (greater than or equal to)
  • <= (less than or equal to)
  • <> (not equal to)
  • M (matches)

  • N (does not match)

The N and M conditions can only be used with alphanumeric variables. These conditions enable you to compare a field or variable with a string.

For example, if you want to find all stock codes that have the word "Bicycle" in their description, you could define a condition: If Description M *Bicycle*

The valid wildcards are identical to that used in the rest of SYSPRO when pattern matching is used. You can use * to represent zero or more characters and ? to represent any single character. (Refer to Wildcards).

Similarly, if you wanted to find stock codes that do not have the word "Bicycle" in their description, you would define a condition: If Description N "Bicycle"

Field, Variable, String, Constant

Enter a field from a table, a user defined variable, a system variable, a string or a constant to use in the condition.

To view and select fields from a table, you use the F9 function key. The listview of the Browse on Data Dictionary Columns program is displayed.

To view user defined variables, you enter % and then use the F9 function key.

To view system variables, you enter $ and then use the F9 function key. The listview of the RW System Variable Browse program is displayed.

A string must be entered between quotation marks (either single or double quotes) and can be up to 35 characters long.

Constants are numeric.

The maximum size of a numeric field is 15 digits before the decimal and a maximum of 6 digits after the decimal (15.6). This number can be positive or negative.

Add Add the condition to the list of conditions.
Remove Delete the highlighted condition from the list of conditions.
Replace Replace the highlighted condition with the condition you entered.
Clear All Delete all conditions from the list.
Move Up Move the highlighted condition up in the list.
OK Accept the conditions you added.
Cancel Return to the previous screen.

Start Logic

By using the Start/Stop Logic function, you can specify which rows must be processed. If you can identify where the report must start processing in a file and where it must stop, then a report can be produced faster than, if the report has to run through the complete file sequentially.

You use this option to define where the report must start processing in a file.

The start logic is only used when processing a C-ISAM Primary file.

You should only use start criteria when you know the position within the primary table at which you want to start. The fields to be initialized MUST form the initial columns of the primary table.

If you are sequencing the primary file, then the start/stop logic is applied during the sorting phase (when the primary file is being processed in its normal key sequence).

Field Description
Start report logic Up to three (3) fields may be used to generate the starting key position.
Move User Variable, String

Enter the user variable or string with which to initialize the primary table variable.

Strings must be entered between quotation marks. These can be either single or double quotes.

To view user defined variables, you enter % and then press the F9 function key.

Primary table column

Enter the field from the primary file that you want to initialize with the value of the variable or string entered at the previous field.

To view and select fields from the primary file, you use the F9 function key. The listview of the Browse on Data Dictionary Columns program is displayed.

OK Accept the information entered and return to the previous screen.
Cancel Ignore any changes made and return to the previous screen.

Stop Logic

By using the Start/Stop Logic function, you can specify which rows must be processed. If you can identify where the report must start processing in a file and where it must stop, then a report can be produced faster than when the report has to run through the complete file sequentially.

If you are sequencing the primary file, then the start/stop logic is applied during the sorting phase (when the primary file is being processed in its normal key sequence).

SQL Notes The stop logic is not issued as part of the SQL WHERE clause in an SQL environment. It is applied to each item that is processed. This could be used to stop a report after two (2) pages have been printed. You can enter up to three (3) conditions to be used to stop a report.

Field Description
Stop report logic

The Stop Logic element can be used to define the condition(s) on which to stop the report.

A maximum of three stop conditions can be defined.

Stop if Field, Variable

Enter a field from a table, a user defined variable or a system variable to use in the condition.

To view and select fields from a table, you use the F9 function key. The listview of the Browse on Data Dictionary Columns program is displayed.

To view user defined variables, you enter % and then press the F9 function key.

To view system variables, you enter $ and then use the F9 function key. The listview of the RW System Variable Browse program is displayed.

Condition

Enter a valid condition that must be used to compare the fields.

If the fields are numeric, then they are compared algebraically. If the fields are alphanumeric, then they are compared alphabetically. If the fields are dates, then they are compared chronologically.

The following conditions are available:

  • = (equal to)
  • < (less than)
  • > (greater than)
  • >= (greater than or equal to)
  • <= (less than or equal to)
  • <> (not equal to)
  • M (matches)

  • N (does not match)

The N and M conditions can only be used with alphanumeric variables. These conditions enable you to compare a field or variable with a string.

For example, if you want to find all stock codes that have the word "Bicycle" in their description, you could define a condition: If Description M *Bicycle*

The valid wildcards are identical to that used in the rest of SYSPRO when pattern matching is used. You can use * to represent zero or more characters and ? to represent any single character. (Refer to Wildcards).

Similarly, if you wanted to find stock codes that do not have the word "Bicycle" in their description, you would define a condition: If Description N "Bicycle"

Field, Variable, Constant, String

Enter a field from a table, a user defined variable, a system variable, a string or a constant to use in the condition.

To view and select fields from a table, you use the F9 function key. The listview of the Browse on Data Dictionary Columns program is displayed.

To view user defined variables, you enter % and then use the F9 function key.

To view system variables, you enter $ and then use the F9 function key. The listview of the RW System Variable Browse program is displayed.

A string must be entered between quotation marks (either single or double quotes) and can be up to 35 characters long.

Constants are numeric.

The maximum size of a numeric field is 15 digits before the decimal and a maximum of 6 digits after the decimal (15.6). This number can be positive or negative.

And/Or

Use this to enter more than one Stop logic condition.

Select And to combine conditions using AND logic. Select Or to combine conditions using OR logic.

When applying AND logic, the combined condition is true if both simple conditions are true. When applying OR logic, the combined condition is true if either of the simple conditions are true.

OK Accept the information entered and return to the previous screen.
Cancel Ignore any changes made and return to the previous screen.

Options

The Options element enables you to define various report parameters.

Report Options

This screen enables you to define the following options:

  • Title
  • Output
Field Description
Report selections  
Report title

Define your own report title, utilizing a format that is meaningful to your company. The maximum number of characters available for this report title is 40.

The system allocates a default Report Title, but this can be changed. The default Report Title always starts with "Report on......", followed by the Description for the Primary Table.

For example: Report on A/R Customer Invoice for the Accounts Receivable Invoice Table, or Report on G/L Master for the General Ledger Master Table.

Report type Define the type of report you want to create and to maintain the title of the report.
Report Select this to produce a normal standard report.
Extract

Select this to produce an extract report.

An extract report is one in which the report contents are output to a file rather than to a printer. This enables you to use the extract file to import the data into a third-party application's software (for example into a spreadsheet).

XML

Select this to produce an XML report.

When you select this option, you can select the XML Wizard function to customize your report as an XML document using the RW XML Wizard program.

Extract options

Define the default options to be used if the report must be run as an extract.

You can only access this function if the report type is defined as Extract.

Extract file type The extract file type you select depends on the format required by the 3rd party software in which the extract file will be used.
User-defined extract file format Select this if you want the extract to look exactly as the report was defined to print.
Comma separated fields Select this if you want a comma to separate each field in the extract file.
Comma Separated, Alpha Fields Quoted Select this if you want a comma to separate each field in the extract file and all alphanumeric fields to be included in quotes (" ").
Comma Separated All Fields Quoted Select this if you want a comma to separate each field and all the fields to be included in quotes (" ").
Excel Format, Tab Delimited

Select this if you want Tabs to separate each field in the extract file.

This format enables you to import the data from the extract file into an Excel spreadsheet.

Separator character

This indicates the separator character type you want to use for separating the fields.

You cannot access this field if you selected User-defined extract file format at the Extract file type field.

Extract file name

Define a file name and path for the extract report.

If you do not specify the full path, then it defaults to the SYSPRO base directory.

The extract file is a sequential file and does not need an extension (i.e. .DAT).

Up to 250 characters can be used to define the extract file name and path.

Ask file name at run time Enable this to define the extract file name and path each time you run the report.
Include details in summary extract

This option is selected by default and indicates that the report detail must be extracted even when you select to create a summary report (see Report Summary).

Deselect this option if you only want to include subtotals and report totals in the extract report when you select to create a summary report.

Extract file creation Indicate whether you want to create a new file each time the extract is run, or whether you want to add the new records to the existing file.
Create new extract file Select this to create a new file each time the report is run.
Append to existing extract file Select this to add the data created each time the report is run to the existing extract file.
Column headings

Define the headings to be extracted for all extract file types.

The column heading method selected is not dependent on the type of extract report.

Create page and column headings once per report Select this to include both the page and column headings once at the top of the extract file.
Create column headings once per report Select this to include only the column headings at the top of the extract file.
Do not create column headings Select this to exclude all headings from the extract file.
Formatting of numerics

Indicate whether the negative sign must be leading or trailing.

When extracting using the separated file formats and not the "user-defined extract file format", you can specify whether the sign on numeric fields is leading or trailing.

Most 3rd party systems that use comma or other separators, require leading signs.

Leading negative sign Select this to place the negative sign in front of the number for numeric fields.
Trailing negative sign Select this to place the negative sign after the number for numeric fields.
Close Select this to accept the information you entered and to return to the previous screen.
XML Wizard

Select this to customize your report as an XML document using the RW XML Wizard program.

This function is only enabled if you selected the Report type as XML.

OK Accept the information entered and return to the previous screen.
Cancel Ignore any information entered and return to the previous screen.

Report Messages

This screen enables you to define the following options:

  • Messages
  • Interrupt
Field Description
Message selection  
Use standard messages

Select this to display the default report messages at the End of a Report and when a Report is Cancelled.

Deselect this option to define your own report messages or blank out all the characters if no message is required.

Deselect this option if you are creating an extract file and you do not want each message to create a record in the file.

Report interrupt allowed

Enable this to allow the person running the report to interrupt and (optionally) cancel the running of the report.

[Note]

Do not enable this option if you created a report which updates fields, to prevent the files being partially updated if the report is stopped before it has completed processing.

End of report message

This field is only enabled when the Use standard messages option is disabled.

Enter the wording you want printed at the end of your report. The standard default message "End of Report" is displayed but can be changed.

Clear this field if you are creating an extract file to prevent the message creating a record in the file.

Report cancelled message

This field is only enabled when the Use standard messages option is disabled.

Enter the wording to print if the report is cancelled.

The standard default message "Report cancelled" is displayed but can be changed.

OK Accept the changes made and return to the previous screen.
Cancel Ignore any changes made and return to the previous screen.

Report Options

This screen enables you to define the following option:

  • Overline/underline

These options enable you to define the character to be used for printing a 'line' above and below fields in the report.

Field Description
Overline character

Indicate the overline character to be used.

The default is '------------------', this may be changed.

Underline character

Indicate the underline character to be used.

The default is '==========', this may be changed.

OK Accept the information entered and return to the previous screen.
Cancel Ignore any changes made and return to the previous screen.

Report Heading

This screen enables you to define the following options:

  • Column headings
  • Heading skips
  • Format heading
  • Truncate user-defined column headings
Field Description
Heading selections  
First line to be used for headings in heading section

This refers to the first line on which column headings must be printed. By default, the column headings are printed on line 4, but this can be changed.

Enter 0 in this field if you do not require column headings to be printed.

Number of line skips after heading

Define the number of blank lines you want between the column headings and the first line of detail for the column.

If you enter 0 in this field, then the first line of detail is printed immediately below the column heading.

Number of skips before heading

Define the number of blank lines you want between the top of the page and the first line of the heading.

If you enter 0 in this field, then the first line of the page heading is printed according to your entries in the Page Heading section.

You typically define a number of line skips before the heading if you want to insert a bitmap image (e.g. a logo graphic) above the heading.

Apply formatting to report headings

Select this to print headings using the standard format.

The standard default report headings are formatted in bold and all the columns are underlined.

If this option is deselected, then headings are not printed in bold and the columns are not underlined.

Truncate user-defined column headings to column width

Select this to truncate user-defined column headings in the same way that standard column headings are truncated (the default column headings for fields are truncated automatically to fit the standard column width for the field).

If you do not select this option then user-defined column headings are printed as specified (i.e. they are not truncated).

In addition, if you add fields and simultaneously define the column headings, the column widths are automatically increased to allow for the headings. If, however, you add the columns first and then edit them to change the headings, you will need to select Edit from the Menu and use the Recalculate Detail Fields option to increase the column widths.

OK Accept the information entered and return to the previous screen.
Cancel Ignore any changes made and return to the previous screen.

Report Format

This screen enables you to define the following options:

  • Report width
  • Lines per page
  • Bitmap
  • Leading zeros
  • Suppress blank lines
  • Report Total on separate page
Field Description
Formatting selections  
Number of columns

This field refers to the report width, which is the maximum number of characters to print on each line of the report.

Standard SYSPRO reports use 132 columns, so when creating a report it defaults to 132 characters.

This may be changed, by selecting a different width from the pull down menu. Alternatively, you may enter the required width. e.g. 85.

The maximum number of characters that can be printed on each line is 300 and the maximum that can be used in an extract report is 400. Therefore, when adding a report you will not be allowed to enter more than 300 characters for the width.

Each line is validated during printing and if the line is longer than specified, it is truncated.

[Note]

If the width is changed after the report columns have been defined, the column headings are not realigned.

Define lines per page against report

The number of lines per page, is the number of lines that will be printed before a new page is started.

Standard SYSPRO reports use 58 lines per page, so when creating a report it defaults to 58 lines.

Select this option to change this default.

Report lines per page

This field is only enabled if you selected the option: Define lines per page against report.

You use this field to enter the number of lines you want to print on each page of the report. This will depend on the length of one page of the paper you are using to print the report.

You can select a different line from the pull down menu or alternatively enter the number you require.

The maximum number of lines that can be selected is 99.

Bitmap background

To reduce the expenses normally associated with pre-printed stationery, as well as to simplify document alignment, SYSPRO allows a number of its documents and reports to be printed with a bitmap background.

By selecting this option you no longer need to use pre-printed stationery, however the option will only function if you are printing using a Windows Print Manager printer type.

Bitmap

You use this function to define the bitmap image you want to use for the report.

This function is only enabled if you selected the option: Bitmap background.

Bitmap

You use this field to enter the bitmap file name you want to use. The full pathname must be specified. A Browse facility is available.

A maximum of 255 characters can be used for the bitmap file name and path.

Bitmap width

This is the bitmap scale factor in millimeters or inches.

The default is 7.5, however you can enter a maximum of 9999.99 characters (i.e. 4.2).

The bitmap scale must also be specified in either millimeters or inches. The default is inches.

The width field indicates how wide you want the bitmap image to be printed on the document and the measurement factor to use. The bitmap is scaled automatically according to the specifications entered, retaining the aspect ratio (i.e. Width to height).

OK Select this to accept the information you entered and to return to the previous screen.
Show leading zeros

Select this to print leading zeros in the report.

You typically select this option when creating a link between two files that is based on a numeric key. If you do not select to show leading zeros, then there are spaces in the key where there should be zeros. This means that when the linked file is read, the records are not found.

[Note]

All key fields default to printing the field as per the presentation length and the suppression option setting for the key in the Company Setup program.

For example, if the Customer key is defined as numeric and the customer code is '000000000001234' then:

  • if the edit length is 7 with no zero suppression, the field is printed as '0001234'

  • if the edit length is 7 with zero suppression, the field is printed as '1234'

    However, if the Show leading zeros option is enabled, then the field is printed as '0001234'

In all cases, if a key is defined as alphanumeric (or the key contains alpha characters) then the left-most x characters are printed, where 'x' is the edit length as defined in the report and suppression does not apply.

Suppress blank lines in detail layout

Select this if you do not want to print blank lines in the detail section of the report. The default is set to suppress blank detail lines.

Trailing blank lines are always suppressed.

Suppress blank lines in subtotals and report totals

Select this if you do not want to print blank lines in the Subtotal, Report Total and Group Heading sections of the report. The default is set not to suppress blank lines.

Blank lines cannot be suppressed in Report Headings.

Print report total on separate page

Select this to print the Report Total on a separate page from any previously printed detail lines or sub-totals.

This option has no effect if a report only comprises a Report Total, or for Extract or XML type reports.

OK Select this to accept the information you entered and to return to the previous screen.
Cancel Select this to ignore any changes you made on this screen and to return to the previous screen.

Report Narrations

This screen enables you to define the following option:

  • Narration

Narrations are not exported with a report, as they are stored in a separate notes file. A warning to this effect is displayed at the time of exporting the report.

Field Description
Narrations selection

You use this option to add a text comment to the report.

A narration can typically be used to warn users, to change the font of the printer or change the stationery before they start printing the report.

The report narration uses the Generic Notepad style of notes and allows for virtually unlimited text with various formats. When printing the report notes, this text can be printed in plain text format.

Show narration in Report Writer

Select this to automatically display the narration you enter when the report is executed.

The narration is displayed before any runtime prompts are displayed.

Narration

Enter the narration text using the Generic Text Editor program.

The Date Stamp function is used to insert the current system date and the operator code into the text.

OK Select this to accept the information you entered and to return to the previous screen.
Cancel Select this to ignore any changes you made on this screen and to return to the previous screen.

Convert Extract File

This screen enables you to define the following option:

  • Convert extract file

These options are not available if the Report type is set to Report.

Field Description
Automatically convert extract file to user defined indexed file

Select this to automatically run the Sequential to ISAM Converter program whilst executing the report.

The Sequential to ISAM Converter program creates a user-defined index file from a sequential file.

[Note]
  • This option only creates an ISAM file.

    The Report Writer does not have any logic to physically create SQL tables (i.e. the table definition or the columns and their data types). The Report Writer cannot write any new rows to an existing SQL server table. It can only be used to update existing rows in a SQL table.

  • If you select this option, you must define the index file format in the Data dictionary tables and columns (see Browse on Data Dictionary Tables and Browse on Data Dictionary Columns) before executing the report.

User defined indexed table

This indicates the table name to use for the User defined index table.

The path for the sequential file is stipulated against the Extract file name under the Extract Options (see Extract options).

The path for the user-defined index file is stipulated against the Disk file name when adding a user-defined table under the Data Dictionary Table Setup (see Browse on Data Dictionary Tables).

These are the file names you use in this field.

Action if user defined indexed table exists This option enables you to select an action if the user-defined table already exists.
Append to existing file Select this to add additional lines to the existing lines in the table.
Overwrite existing file Select this to overwrite all the lines that already exist in the table with the new lines.
Close Select this to accept the information you entered and to return to the previous screen.

Subsequent Processing

[Note]

Subsequent processing does not work for reports that invoke the SYSPRO XML Browser (see RW XML Wizard) as the browser is invoked instead of the next report. For example, if a report's output is set to XML then selecting the option: Automatically run another report after this one for that report has no effect (i.e. the subsequent report will not be run).

The Subsequent Processing screen enables you to define the following option:

  • Print subsequent report
Field Description
Automatically run another report after this one

Select this to execute another report after this report has executed.

This enables you to execute a string of reports.

For example:

Assume you have three reports (say R1, R2, R3) that you want to run, one after the other.

Against report R1, you select this option and enter R2 in the Report field below. Against report R2, you select this option and enter report R3 in the Report field below.

Report You use this field to enter the report name of the next report you want to execute.
Close Select this to accept the information you entered and to return to the previous screen.

Print 'Top X'

This screen enables you to define the following option:

  • Print 'Top X' items

You use this option to configure a report that enables you to print only the top X items that meet the requirements defined in the report (where X indicates a value that you define).

For example: You may want to print your top 10 customers (i.e. X = 10) based on sales or your top 100 stock items (i.e. X = 100) based on value.

Field Description
Print all items Select this to print all items on the report (i.e. Ignore the Top X function).
Print top X items using entered value Select this to print the top X items defined here each time the report is run. You define the value for X at the Number of items field.
Print top X items using user variable

Configure the report to request the value of X at run time.

If you select this option then you must define a run time variable to prompt the operator to enter the value of X. The following fields for this variable must be configured as follows:

  • Variable type - Numeric

  • Variable usage - Ask at run time

  • Default - All (recommended)

  • Ask prompt as a check box - Do not select

  • Browse program - Leave blank

Number of items

Enter the value of "X." i.e. the number of items you want to print.

This field is not enabled if you selected the option: Print top X items using user variable

User variable

This indicates the user defined variable that will store the value of X.

This field is only enabled if you selected to the option: Print top X items using user variable

Close Select this to accept the information you entered and to return to the previous screen.

Allow Updates

This screen enables you to define the following option:

  • Allow updates

The update option is used to overwrite a column held on a table with the current value of a field.

[Note]

Great care must be taken when using this function as important information could be overwritten.

See Activity considerations in Notes and warnings.

To be able to update a column, the following must be true:

  • The table must be defined as Read/Write
  • The column must be defined as Read/Write.
  • The global report option must allow updates.
  • The column must be updated against a detail line definition.
Field Description
Allow updates in this report

Select this to update data files/tables when executing the report.

If you select to update a column against a detail line but you have not selected this option, then the report will not update the column.

Close Select this to accept the information you entered and to return to the previous screen.

Report Summary

This screen enables you to define the following options:

  • Summary report
  • Ask summary report at run time

Irrespective of whether you select to produce a summary report, the Preview pane of the tri-pane window always displays the full report details.

Field Description
Summary report

Select this to produce only a summary report when the report is executed.

If you select this option, then only Report headings, Column headings, Group headings, Subtotals and Totals are printed. Details lines are not printed.

This option is deselected by default.

[Note]

If you are creating an extract report and you do not want to include the report details in the extract file, you must deselect the option: Include details in summary extract (see Extract options).

Ask summary report at run time Select this if you want the operator executing the report to decide whether to print a summary or detail report.
Close Select this to accept the information you entered and to return to the previous screen.

Security

This screen enables you to define the following options:

  • Security
  • Password definition
Field Description
Security selection Indicate the level at which you want to define security for the report.
By operator Select this if you want to define the security settings by operator.
By group Select this if you want to define the security settings by groups of operators.
Password definition

When defining passwords against a report in Report Writer, you can specify that this must be By company or System wide.

[Note]

If you change your password definition from By company to System wide, then the company passwords are cleared, but not deleted.

If you change the setting back to By company, the original company passwords are reinstated.

By Company Select this to apply the password(s) that are assigned to the report only to the current company.
System wide Select this to apply the password(s) that are assigned to the report in the current company to apply to all companies.
Run time access  
Apply operator access control when running report

Select this to apply the security accesses defined against the operator (Operators) when running the report. If you select this option, then the security accesses for Warehouses, A/P Branches, A/R Branches, Banks, Job classifications and Salespersons defined against the operator are applied when the operator runs the report.

[Note]

The security only applies when the fields: Warehouse, Branch, Bank, Salesperson or Job Classification are defined in the report.

Close Select this to accept the information you entered and to return to the previous screen.

Security

Security can be defined at various levels.

  1. You can use the Groups program to define a Group and then deny access to that group to the entire Report Writer module or to selected Report Writer programs. All operators belonging to that group are then denied access to the selected programs.

  2. Using the Create Report program, you can define the operators or groups of operators who can or cannot maintain and/or run individual reports.

  3. Using the Create Report program, you can define passwords against each individual report.

  4. Using the Browse on Data Dictionary Tables program, you can define passwords against each individual table as well as access levels (None, Read only, Read/Write).

  5. Using the Browse on Data Dictionary Columns program, you can define access levels (None, Read only, Read/Write), against each individual column.

Report Maintenance Security - Operators

This screen is displayed if you set security selection by operator (see Security selection).

This screen enables you to define which Operators can or cannot edit the report.

Field Description
Report maintenance security These options are mutually exclusive. You cannot have one list of operators who can edit the report and another list of operators who cannot edit the report. You can only have one list of operators who can either edit the report or cannot edit the report.
All operators can edit report Select this to allow all operators to change the report.
Listed operators can edit report

Select this use the Define operator list options to specify a list of operators who are allowed to maintain the report.

Listed operators cannot edit report

Select this to use the Define operator list options to specify a list of operators who are not allowed to maintain the report.

Define operator list

Specify the list of operators who are or are not allowed to maintain the report, depending on your selection at the Report maintenance security option.

This option is not enabled if you indicated that all operators can edit the report.

[Note]

All existing lists are cleared if you change the security selection (see Security selection).

Operator Indicate the operator code to add to the list.
Add

Add the operator entered in the previous field to the list of operators who can/cannot edit the report.

Up to 20 operators can be added to the list.

Remove Delete the highlighted operator from the list.
Replace Simultaneously delete the highlighted operator from the list and add the operator defined in the Operator field to the list.
Clear All Remove all operators from the list.
Close Accept the information entered and return to the previous screen.

Report Maintenance Security - By Group

This screen is displayed if you set security selection by group (see Security selection).

This screen enables you to specify which Operator Groups can or cannot maintain the report.

Operator groups are maintained using the Groups program.

When checking security, the primary group and any sub-groups to which the operator is attached are checked.

Field Description
Report maintenance security  
All groups can edit report Select this to allow all groups to change the report.
Listed groups can edit report

Select this to use the Define group list options to specify a list of groups who are allowed to maintain the report.

Listed groups cannot edit report

Select this to use the Define group list options to specify a list of groups who are not allowed to maintain the report.

Define group list

This option enables you to define the list of groups who are, or are not, allowed to maintain the report, depending on your selection at the Report maintenance security option.

This option is not enabled if you indicated that all groups can edit the report.

[Note]

All existing lists are cleared if you change the security selection (see Security selection).

Group Enter the group code to add to the list.
Add

Add the group entered in the previous field to the list of operators who can/cannot edit the report.

Up to 20 groups can be added to the list.

Remove Delete the highlighted group from the list.
Replace Simultaneously delete the highlighted group from the list and add the group defined in the Group field to the list.
Clear All Remove all groups from the list.
Close Accept the information entered and return to the previous screen.

Report Writer Security - By Operator

This screen is displayed if you set security selection by operator (see Security selection).

This screen enables you to define which Operators can or cannot execute the report.

Field Description
Report writer security  
All operators can run report Select this to allow all operators to run the report.
Listed operators can run report

Select this to use the Define operator list options to specify a list of operators who are allowed to run the report.

Listed operators cannot run report

Select this to use the Define operator list options to specify a list of operators who are not allowed to run the report.

Define operator list

This option enables you to define the list of operators who are, or are not, allowed to execute the report, depending on your selection at the Report writer security option.

This option is not enabled if you indicated that all operators can run the report.

[Note]

All existing lists are cleared if you change the security selection (see Security selection).

Operator Enter the operator code to add to the list.
Add

Add the operator to the list of operators who can/cannot run the report.

Up to 20 operators can be added to the list.

Remove Delete the highlighted operator from the list.
Replace Simultaneously delete the highlighted operator from the list and add the operator defined in the Operator field to the list.
Clear All Remove all operators from the list.
Copy Maintenance Security

Normally, the operators who can maintain a report would also be given the authority to execute the report.

You use this function to copy the list of operators you defined as being able to maintain the report to the list of operators who can also run the report. This saves you from having to define the list of operators twice - once for maintaining the report and once for executing the report.

This function is not available if you selected the option: All operators can run the report.

Close Accept the information entered and return to the previous screen.

Report Writer Security - By Group

This screen is displayed if you set security selection by group (see Security selection).

This screen enables you to define which Groups can or cannot execute the report.

When checking security, the primary group and any sub-groups to which the operator is attached are checked.

Field Description
Report writer security  
All groups can run report Select this to allow all groups to run the report.
Listed groups can run report

Select this to use the Define groups options to specify the groups who are allowed to run the report.

Listed groups cannot run report

Select this to use the Define groups options to specify the groups are not allowed to run the report.

Define group list

This option enables you to define the list of groups who are, or are not, allowed to execute the report, depending on your selection at the Report writer security option.

This option is not enabled if you indicated that all groups can run the report.

[Note]

All existing lists are cleared if you change the security selection (see Security selection).

Group Enter the group code to add to the list.
Add

Select this to add the group entered in the previous field to the list of operators who can/cannot run the report.

Up to 20 groups can be added to the list.

Remove Select this to delete the highlighted group from the list.
Replace Select this to simultaneously delete the highlighted group from the list and add the group defined in the Group field to the list.
Clear All Select this to remove all groups from the list.
Copy Maintenance Security

Normally, the group of operators who can maintain a report would also be given the authority to execute the report.

You use this function to copy the list of operator groups you defined as being able to maintain the report to the list of operator groups who can also run the report. This saves you from having to define the list of operator groups twice - once for maintaining the report and once for executing the report.

This function is not available if you selected the option: All groups can run the report.

Close Accept the information entered and return to the previous screen.

Passwords

You can define two passwords against each report. The first allows you to restrict maintenance of the report, while the second allows you to restrict the actual running of the report.

You can set these passwords to apply By company or System wide (see Password definition ).

The passwords are not stored in the report master file, but rather encrypted and stored in the password system.

[Note]

You cannot copy across a report password when copying a report to a new report (Save As).

If an operator has a password-protected report, exporting it will mean that the security gets lost. A warning message is displayed.

The most dangerous is obviously using the export function, as the exported report won't have any protection and can be imported by anyone.

Passwords are maintained using the Password System program.

To set a password for maintaining the report, you select the Report maintenance password option from the listview pane.

To set a password for running the report, you select the Report writer password option from the listview pane.

Variables

You use the Variables element to define user-variables that can be used in a report.

These variables can be either calculated (such as a percentage of some field), or the value of the field which can be requested at run-time.

These variables are defined for the current report, and can be either alphanumeric, numeric or a date.

[Note]

You cannot delete a variable that is being used in the report.

You can define a maximum of 100 user variables per report.

User Variable Maintenance

This screen enables you to define your own variables to use in the report.

Field Description
Variable

Enter the variable name.

When defining a user defined variable the first character must be a %.

Description

This defaults to the word Variable followed by the variable name, but you can replace it with a more meaningful description.

Up to 30 characters can be entered for this description.

Variable type This indicates the type of variable you want to define. This can be Alpha (i.e. an alphanumeric field), Numeric or Date and depends on the type of variable you want to configure.
Alpha

Select this if you want the variable to be alphanumeric.

If you set the variable as alphanumeric, you can define its contents to be a fixed string of characters or a run time prompt.

Alphanumeric variables can be up to 255 characters in length.

Numeric

Select this if you want the variable to be numeric.

The maximum size of a numeric field is 15 digits before the decimal and a maximum of 6 digits after the decimal (15.6). This number can be positive or negative.

Date

Select this if you want the variable to be a date.

You use the Date format field to define the format required for this date.

If you select the Variable usage as Calculated, you use the Date, + / - and Days fields to define the date calculation required.

Length

This field is displayed for Alpha variable types only.

For run time variables, up to 30 characters can be defined as the length of the field that must be entered at run time.

For Fixed String variables, a maximum of 30 characters can be entered as the string.

Edit pattern

This field is displayed for Numeric variable types only.

Enter the number of characters you require before and after the decimal.

The maximum size of a user defined variable is 12.6 integers.

If this variable is to be calculated, then all calculations are rounded to the number of decimals defined in the Edit pattern.

Date format

This field is displayed for Date variable types only.

Define the format you require for the Date variable.

This is the format in which you want the date printed on the report. This does not determine the format for the date if the variable is asked at run time. Run time date prompts are formatted according to the date format defined against the company (Company Maintenance).

Variable usage These options enable you to define how the variable must be used.
Ask at Run Time

Select this to define the variable as a run time prompt (i.e. a run time variable).

Run time variables are variables that are requested at the time of running the report. You can define up to 10 different run time prompts as well as 10 check box prompts. This enables you to define sequences to be asked at run time (e.g. Customer, Branch, Geographic Area and Customer Class).

The values entered by the operator can be used anywhere in the report. Typical uses include the entry of a range of items to be printed (e.g. Lowest to Highest, From Date to Date), or the entry of a constant to be used in a calculation.

Fixed String

This option is only available for Alpha variable types.

Select this to define the variable as being a fixed string of characters. You enter these characters in the String field below.

Calculated

This option is not available for alpha variable types.

Select this if you want the variable to be calculated.

For a Numeric variable type, you use the Define Calculation function to define the required calculation.

For a Date variable type, you use the Date, + / - and Days fields to define the date calculation required.

Prompt

This field is displayed if you selected the Variable usage as Ask at Run Time.

Indicate the wording that is displayed for the prompt when the report is executed. A maximum of 30 characters can be entered.

This field is not displayed for Numeric variable types.

String

This field is displayed if you selected the Variable usage as Fixed String.

Enter the fixed string of characters that must be stored in the variable.

This field is not displayed for Numeric variable types.

Default

This field is displayed if you selected set Variable usage as Ask at Run Time.

Define the default value for the run time prompt. This default can be changed at the time of running the report.

This field is not displayed for Numeric variable types.

Space Select this to set the default value for the prompt as spaces.
None Select this to force the operator to enter data at the prompt field.
Lowest

A selection of Lowest and Highest enables you to cater for a range of values that must be selected when the report is run.

For example: You could define one variable as %From and the other as %To for a range of supplier codes. You could then set the default for the %From variable to Lowest and for the default for the %To variable to Highest. When the report is run, the operator can either enter the supplier codes required, or press enter against each prompt to accept the defaults and run the report from the Lowest to the Highest supplier code.

Highest

A selection of Lowest and Highest enables you to cater for a range of values that must be selected when the report is run.

For example: You could define one variable as %From and the other as %To for a range of supplier codes. You could then set the default for the %From variable to Lowest and for the default for the %To variable to Highest. When the report is run, the operator can either enter the supplier codes required, or press enter against each prompt to accept the defaults and run the report from the Lowest to the Highest supplier code.

All Select this to set the default value for the prompt as All.
Zero For variable types defined as Numeric, a default of One or Zero can be selected. These defaults are used if you select the option Ask prompt as a check box.
One For variable types defined as Numeric, a default of One or Zero can be selected. These defaults are used if you select the option Ask prompt as a check box.
Ask prompt as a check box

Select this to define the run time prompt as a check box instead of a field into which data must be entered.

If you select this option, then you can define the default for the variable as One or Zero. If you define the default for the variable as One, then the check box prompt is automatically selected. If you define the default as Zero, the check box is automatically deselected

This option is available only for numeric variable types defined as Run time prompts.

Browse program

You use this field to link one of the standard SYSPRO browse programs to your run time variable. This enables the operator to browse for the required data instead of having to remember the exact data required to be entered.

You use the Browse icon next to the Browse program field to view and select the SYSPRO browse program you want to attach to your variable.

For example: If you define a run time prompt as: Supplier code, you can define the browse program as IMPBSP (i.e. The standard browse program used with the Supplier Maintenance program). When the report is run, the browse button alongside the run time prompt enables the operator to browse on the list of suppliers.

It is often difficult to locate the required browse program from the list provided. A quick way to identify the correct program name is to load a program within SYSPRO that allows you to browse on the required field. Select the browse function and then press Shift+F7 to display the program name from the System Information screen.

This option is only available if you selected the Variable usage as Ask at Run Time.

Recalculate at Total level

Select this to perform the calculations at total as well as at detail level. This option should only be selected when calculating fields such as percentages (i.e. fields that cannot be totalled).

You would not select this option if the variable is to be totalled is a normal numeric field.

This option is only available for numeric variables that are calculated.

Date (Field, Variable)

Enter either a date field from a SYSPRO table or a user defined date variable.

For a date column you can calculate a date by using an existing date column and adding or subtracting a number of days.

This option is only displayed for Date variables that are defined as Calculated.

+ / -

Select + to add a number of days to the date specified in the Date field, or - to subtract a number of days from the date specified in the Date field.

This option is only displayed for Date variables that are defined as Calculated.

Days (Field, Variable, Constant)

You use this field to enter either a date field from a SYSPRO table, a user defined date variable or a fixed number of days (constant value), that must be added or subtracted from the date defined in the Date field.

This option is only displayed for Date variables that are defined as Calculated.

Conditional

Select this if you want the variable to be calculated based on some condition.

You use the Define Condition function to define the required condition(s).

Define Condition Define the condition(s) under which the variable must be calculated.
Calculate variable

You use this option to select the point at which the calculation must be performed.

The following options are available:

  • Before selection criteria, on change of primary row
  • Before selection criteria, on change of 1st 1-Many rows
  • Before selection criteria, on change of any row
  • After selection criteria, on change of primary row
  • After selection criteria, on change of 1st 1-Many rows
  • After selection criteria, on change of any row

Refer to Calculate Variable Example for an example.

Define Calculation

You use this function to define the calculation required for the variable.

This function is only enabled for numeric variables with a Variable usage of Calculated.

Save Select this to save the details you entered for the variable.
Close Select this to return to the previous screen.
Calculate Variable Example

The following example illustrates the use of the Calculate variable option which enables you to select the point at which the calculation must be performed.

Primary Table 1st 1-Many Table 2nd 1-Many Table Table Level
ArCustomer ArInvoice ArInvoicePayment  
Table Level 0 Table Level 1 Table Level 2  
OUT001 - Out of Africa 10045 50 0
    100 2
  10050 200 1
    150 2
  10057 350 1
THE001 - The Garden 10065 300 0

If you require the variable to be calculated when the customer changes, then you would select Before selection criteria, on change of primary row.

If you require the variable to be calculated when the invoice number changes, then you would select Before selection criteria, on change of 1st 1-Many rows.

If you require the variable to be calculated when the payment or adjustment amount changes, then you would select Before selection criteria, on change of any row.

If you require the variable to be calculated when the customer changes, but after the include logic has been addressed, then you would select After selection criteria, on change of primary row.

If you require the variable to be calculated when the invoice number changes, but after the include logic has been addressed, then you would select After selection criteria, on change of 1st 1-Many rows.

If you require the variable to be calculated when the payment or adjustment amount changes, but after the include logic has been addressed, then you would select After selection criteria, on change of any row.

User Variable Maintenance - Calculation Definition

You use the Define Calculation function to define the calculation required for the variable.

When defining a calculated user defined numeric variable, a maximum of 12 columns, variables or constants and 11 operators can be entered. If, however, further columns and operators are required, this can be achieved by defining a temporary variable comprising the first set of calculations, and then defining the required variable, which uses the temporary variable within its definition.

Calculations defined for a numeric user defined variable are performed in a left to right sequence. If an alternate sequence is required, a temporary variable can be used for this purpose to hold any temporary result. If variables are defined in the wrong sequence, they can be re-sequenced.

Each calculated variable could have a condition (made up of up-to three simple conditions) on which the calculation is to be performed. If the conditional logic excludes the calculation from being performed then its value will be zero. You will be able to use brackets to alter the precedence.

You will be unable to delete a variable if it is being used in the report.

The calculation is performed in the sequence it is entered.

Up to 12 fields with 11 operands can be added.

Field Description
Field, Variable, Constant

Enter the first field from a table, user defined variable, system variable, or constant to use in the calculation.

To view and select fields from a table, you use the F10 function key to display the listview of the Browse on Data Dictionary Columns program.

To view user defined variables, you enter % and then the F9 function key.

To view system variables, you enter $ and then use the F9 function key to display the listview of the RW System Variable Browse program.

Operand

Indicate the operation that must be performed on the following field.

The following operands are available:

  • + Addition
  • - Subtraction
  • * Multiplication
  • / Division
  • ^ Exponentiation.
Field, Variable, Constant

Enter the second field from a table, user defined variable, system variable, or constant to use in the calculation.

To view and select fields from a table, you use the F10 function key to display the listview of the Browse on Data Dictionary Columns program.

To view user defined variables, you enter % and then the F9 function key.

To view system variables, you enter $ and then use the F9 function key to display the listview of the RW System Variable Browse program.

Operand

Define the operation that must be performed on the following field.

The following operands are available:

  • + Addition
  • - Subtraction
  • * Multiplication
  • / Division
  • ^ Exponentiation.
Use zero when field/variable is null

This option is available for calculated numeric variables. It enables you to decide whether to treat Null values tables as Zero or Null.

If the field is treated as NULL, then the value is suppressed when printed.

If the field is treated as ZERO, then it will be exactly as if the field from the file was zero.

See Example below.
System Variable

Select this to view the available systems variables using the RW System Variable Browse program.

From the RW System Variable Browse listview, you can select the system variable you want to include in your calculation.

Ok Accept the information entered and return to the previous screen
Cancel Ignore any changes made and return to the previous screen.
Use zero when field/variable is null - Example

For example: You define a report to print the Total value for each stock code as Quantity on hand x Unit Cost. You link the InvMaster and InvWarehouse tables. In some cases, a stock item may not be found in a particular warehouse. When the tables are linked (joined), those stock codes not stocked in a particular warehouse will have the value NULL in the Warehouse table fields.

InvMaster Table

Stock Code Warehouse Unit Cost
B100 N 1000.00
  S 900.00
B200 N 500.00
B300 N 200.00
  S 200.00

In this example, stock item B200 is not stocked in warehouse S. When you join (link) this table to the Warehouse table, the fields in the Warehouse table for codes B200 for warehouse S will be NULL.

If you select the calculated field (Total value) to treat NULL fields as Null, then the following report is printed:

InvMaster Table - calculated Variable is NULL

Stock Code Warehouse Unit Cost Quantity Total Cost
B100 N 1000.00 1 1000.00
B100 S 900.00 2 1800.00
B200 N 500.00 10 5000.00
B200   500.00    
B300 N 200.00 3 600.00
B300 S 200.00 4 800.00

In this case, the Quantity field for B200 for warehouse S is Null, so the Total Cost is Null.

If you select the calculated field (Total value) to treat NULL fields as Zero, then the following report is printed:

InvMaster Table - calculated Variable is ZERO

Stock Code Warehouse Unit Cost Quantity Total Cost
B100 N 1000.00 1 1000.00
B100 S 900.00 2 1800.00
B200 N 500.00 10 5000.00
B200   500.00   0.00
B300 N 200.00 3 600.00
B300 S 200.00 4 800.00

In this case, the Quantity field for B200 for warehouse S is Null, but you selected to read this as Zero, so the Total Cost is printed as Zero.

Condition for Variable

You use the Define Condition function to define conditions for user variables.

Each calculated variable can have a condition (made up of a maximum of three simple conditions using and/or logic) on which the calculation is to be performed.

If the conditional logic excludes the calculation from being performed then its value is zero. The calculation is only performed if the combined conditions are true.

A simple condition comprises the comparison of two fields. The fields should both be the same type (i.e. Alphanumeric, numeric, or dates). The fields are compared alphabetically, algebraically, or chronologically respectively depending on the types of the fields.

You can combine the simple conditions using and/or logic to create combined conditions.

And logic determines that the combined condition is true if both simple conditions are true, while Or logic determines that the combined condition is true if either one, or both, of the simple conditions are true.

Whenever multiple combined conditions exist then all the And comparisons are evaluated before the Or conditions.

Example of combined conditions:

You enter the conditions as follows:

Condition 1: If Price > 32

Condition 2: Or Quantity on Hand = 0

Condition 3: And Stock Code > 'ABC'

The above example first evaluates each simple condition. Then the true/false result of simple conditions 2 and 3 are compared using And logic, yielding a True/False result. Finally, this is compared to the simple condition 1 using Or logic.

When entering multiple conditions, it is possible to surround simple and combined conditions with brackets ( ) to alter the precedence. These brackets are used to group And/Or logic combinations. The rule with brackets is that all conditions within the brackets are evaluated first, then the brackets are removed and all the remaining conditions are evaluated.

Therefore, in the above example, if you wanted the system to first evaluate conditions 1 and 2 and then condition 3, you would put brackets around conditions 1 and 2.

Field Description
And/Or

For the beginning of the first condition, this defaults to If and should not be changed.

Select And to combine conditions using AND logic. Select Or to combine conditions using OR logic.

When applying AND logic, the combined condition is true if both simple conditions are true. When applying OR logic, the combined condition is true if either of the simple conditions are true.

Field, Variable

Enter a field from a table, user defined variable or system variable to use in the condition.

To view and select fields from a table, you use the F9 function key to display the listview of the Browse on Data Dictionary Columns program.

To view user defined variables, you enter % and then the F9 function key.

To view system variables, you enter $ and then use the F9 function key to display the listview of the RW System Variable Browse program.

Condition

Enter a valid condition that must be used to compare the fields.

If the fields are numeric, then they are compared algebraically. If the fields are alphanumeric, then they are compared alphabetically. If the fields are dates, then they are compared chronologically.

The following conditions are available:

  • = (equal to)
  • < (less than)
  • > (greater than)
  • >= (greater than or equal to)
  • <= (less than or equal to)
  • <> (not equal to)
  • M (matches)

  • N (does not match)

The N and M conditions can only be used with alphanumeric variables. These conditions enable you to compare a field or variable with a string.

For example, if you want to find all stock codes that have the word "Bicycle" in their description, you could define a condition: If Description M *Bicycle*

The valid wildcards are identical to that used in the rest of SYSPRO when pattern matching is used. You can use * to represent zero or more characters and ? to represent any single character. (Refer to Wildcards).

Similarly, if you wanted to find stock codes that do not have the word "Bicycle" in their description, you would define a condition: If Description N "Bicycle"

Field, Variable, String, Constant

Enter a field from a table, user defined variable, system variable, string or constant to use in the condition.

To view and select fields from a table, you use the F9 function key. The listview of the Browse on Data Dictionary Columns program is displayed.

To view user defined variables, you enter % and then the F9 function key.

To view system variables, you enter $ and then use the F9 function key. The listview of the RW System Variable Browse program is displayed.

A string must be entered between quotation marks.

Add Add the condition to the list of conditions.
Remove Delete the highlighted condition from the list of conditions.
Replace Replace the highlighted condition with the condition you entered.
Clear All Delete all conditions from the list.
Move Up Move the highlighted condition up in the list.
OK Accept the conditions you added.
Cancel Return to the previous screen.

Copy Variable

You use the Copy option to copy user-defined variables from within a report.

[Note]

When copying variables, existing conditions are also copied.

Field Description
Copy from variable Indicate the variable to use to create another variable (i.e. the variable you want to copying from).
Copy to variable

Indicate the name of the new variable that must be created.

If the variable name already exists, then the program appends a suffix of 1, 2, etc., to the name.

New variable description Enter a description for the new variable.
Copy Variable Complete the copying process.
Cancel Return to the previous screen without copying the variable.

Copy Variable from Report

You use the Copy from Report option to copy user-defined variables from another report.

Up to 50 variables can be copied from another report.

In addition, if a variable from the source report contains a calculation or condition that references a field in a table that is not included in the target report, it is not displayed.

Field Description
Report Enter the Report code of the report from which you want to copy variables.
Copy variable Indicate the variable to use to create another variable(i.e. the variable you are copying from).
Copy Variable Complete the copying process.
Cancel Return to the previous screen without copying the variable.

Export User Variable

You use the Export Variable option to transfer a variable to another report.

The variable that is highlighted when you select the Export Variable option is the variable that is exported.

Variables are exported into a variable library (REPVAR.LIB). The library path defaults to your SYSPRO work directory, but can be changed. Additional exported variables can be added to the library as required.

[Note]

When importing/exporting variables, existing conditions held against variables are not copied.

Field Description
Export variable to variable library Enter the full path to the variable library to which the variable must be exported.
Export Variable Export the highlighted variable to the selected library.
Cancel Return to the previous screen without exporting the variable.

Import User Variable

You use the Import Variable option to transfer a variable from another report, without having to manually re-enter the variable.

Up to 50 variables can be imported from another report.

When importing variables from the library, you can only select variables if the tables used in the calculation fields are defined in the table structure of the report to which you are importing.

[Note]

When importing/exporting variables, existing conditions held against variables are not copied.

Field Description
Variable library Indicate the full path to the variable library from which you want to import a variable.
Import variable

Indicate the variable you want to import.

All variables using the same tables in the calculation fields as in the table structure of the report are displayed for selection.

Delete Variable Delete the selected variable from the variable library.
Import Variable Import the selected variable.
Cancel Return to the previous screen without importing the variable.

Tables

When you add a report, you define the Primary table to use (see Report - Add).

You use the Tables element to maintain the links between additional tables that you require information from.

There is a limit to the number of tables that can be utilized within a single report. Currently, the limit is a single primary table together with eleven (11) other linked tables. Refer to the task: Link more than 11 tables if you need to create a report linking more tables than the limit allows.

You can add your own tables and columns and define any required links using the Browse on Data Dictionary Tables, Browse on Data Dictionary Columns and Browse on Data Dictionary Linkages programs.

If you are linking two or more tables/files based on a numeric field, you need to select the option: Show leading zeros. If you do not select this option, then there will be spaces instead of zeros in the key fields. This results in records not being found when the linked files are read.

You can only have one 1-Many linked table linked to the primary table. However, each report is limited to two 1-Many linked tables.

You can have multiple files linked 1-1 to the primary table.

You can have multiple files linked 1-1 to the secondary table.

You can have a single tertiary file linked 1-many to the secondary file.

You can have multiple files linked 1-1 to the tertiary file.

That is:

Primary

1-many secondary

1-many tertiary

Each of these can have many 1-1 files linked to them.

For example:

You can have the Inventory Master as the primary table and one 1-Many link to the Inventory Warehouse table. You can also have various 1-1 links with the Inventory Master table linking to the Inventory Buyer table, Inventory Planner table and the Accounts Payable Supplier table.

The Accounts Payable Supplier table can have 1-1 links with the Accounts Payable Bank table and the Accounts Payable Branch table. The Inventory Warehouse file can have a 1-Many link (this would be the second 1-Many link) to the Inventory Movements table as well as a 1-1 link to the Inventory Warehouse Control table.

The Inventory Movement table can have 1-1 links with the Sales Analysis Branch file and the Sales Analysis Salesperson table. This will take the links to the limit of the report writer.

Whilst the vast majority of reports developed using the Report Writer work identically on an ISAM and SQL Server environment there are differences between the systems.

  • When linking in an ISAM environment the only links that work are when linking to a primary key in the target file. For example, when linking to the ArTrnDetail table the primary key is:

    • TrnYear
    • TrnMonth
    • Register
    • Invoice
    • SummaryLine
    • DetailLine

    In this case the source file needs to have at least a year, month and register number to be able to link to this table. The reason is that ISAM data can only be read via one of it's indexes and the Report Writer can only link to a primary index.

  • When linking in a SQL environment the Report Writer generates a SQL statement that JOINs the tables with a conditional statement.

    There is no limitation to how the columns can be linked in this environment.

  • Solutions in an ISAM environment

    Depending on the report, an ISAM link can be created the other way round (i.e. using a different primary table). However this is not always possible.

    Alternatively you could extract the data from the source table and create a user-defined table with a different key to the original table. You can then create a custom linkage to this user defined table.

Maintain Structure for (table name)

To maintain the table structure for a table, you place your mouse pointer on the table for which you want to maintain the structure and typically use your right mouse button to select the Maintain table Structure option.

Field Description
Linked tables available

You cannot link a table to the Primary table unless the link is defined in the Data Dictionary (see Browse on Data Dictionary Linkages).

The tables displayed in this list can be selected for linking to one of the other tables in the structure. Only those tables linked in the Data Dictionary are displayed.

Table name This column displays the names of the tables that you can link to the Primary table.
Link type

This column displays the type of link that exists between each available table and the table structure you are currently maintaining.

Link types are either 1-1 or 1-Many.

1-1 Links occur when there is a one to one relationship between two tables (i.e. For every row in the first table, there is only one corresponding row in the second table).

For example the relationship of the ArCustomer to the TblCurrency (Currency) table is a 1-1 link because for each customer you can only define one currency. Similarly, the relationship of the InvMaster (Inventory master) table to the InvBuyer table is a 1-1 link because for each stock item can only define one default buyer.

1-Many links occur when there is a one to many relationship between two tables (i.e. For every row in the first table there can be more than one corresponding rows in the second table).

For example the relationship of the ArCustomer table to the ArMasterSub (Sub accounts) table is a 1-Many link because one customer account can have more than one sub account attached to it. Similarly, the relationship of the InvMaster to the InvAltStock (Alternate stock) table is a 1-many link because you can define one stock item to have many alternate stock items.

>> Select this to add the highlighted available table to the tables included in the structure (i.e. Link the table to the structure).
<< Select this to remove the highlighted table in from the tables included in the structure (i.e. Remove the table from the structure).
Tables included in structure  
Table name This column displays the names of the tables that you have linked to the table structure you are currently maintaining.
Link type

This column displays the type of link that exists between the table you lined and the table structure you are currently maintaining.

Link types are either 1-1 or 1-Many.

1-1 Links occur when there is a one to one relationship between two tables (i.e. For every row in the first table, there is only one corresponding row in the second table).

1-Many links occur when there is a one to many relationship between two tables (i.e. For every row in the first table there can be more than one corresponding rows in the second table).

OK Select this accept the structure you defined and to return to the previous screen.
Cancel Select this to return to the previous screen without changing the structure.

Notes and warnings

Prerequisites

  • Before you can add reports, you need to use the Data Dictionary Import program to import the data dictionary into the Report Writer module. Refer to Report Writer Introduction for additional information.

Error messages

  • Update of column SYSVER - Permission denied

    This error message is displayed when adding a user defined field to the report using the Add field option.

    SYSPRO 7 stores custom form data in a separate table for each custom form type with a +suffix (e.g. ArCustomer+). Previously this was stored in a single table (AdmFormData).

    Because the Table+ tables are dynamic tables, created when the user chooses to create them, they are not included in the normal database dictionary. Their structure is unknown.

    Similarly, the columns are user defined according to whatever the operator sets the custom form name at.

    To update Custom Form Fields in the Table+ structure, you need to:

    • Create the Data Table in SYSPRO's Report writer data dictionary

    • Create the Columns for each table manually

    You can do this using the COMTFM or COMSFM business objects to update fields

    You can use the Custom Form Design program to add custom form table information to the Report Writer Data Dictionary.

Activity considerations

Operator access to the following activities within this program can be restricted. You configure this using the Operators program.

Activity Description
RW Create reports that update data

Controls whether an operator can create reports that update data files.

When this activity is denied, the Allow updates option is disabled when creating the report and when maintaining the report.

[Note]
  • The operator is not prevented from running an existing report that updates data (i.e. a report that already has the option: Allow updates set to Y).

  • The operator is not prevented from copying an existing report that updates data; changing the variables to be updated; and running the report.

  • The operator can still access the options from the Update tab for a field, but cannot run the report.

Link more than 11 tables

The current limit to the number of tables that can be utilized (linked) within a single report is a single primary table together with eleven (11) other linked tables.

If you require to link more tables than this limit allows, you can proceed as follows:

  1. Define an extract report with no headings, using as many tables as possible.

    This report must be produced in the sequence that the final report is required.

  2. Using the Browse on Data Dictionary Linkages program to define a user defined sequential table, containing all the columns created from the extract file produced by the report.

  3. Using the Browse on Data Dictionary Linkages program, define links between your user defined sequential file and the remaining SYSPRO files you require in the final report.

  4. Create a second report that use the extract file created from the first report and incorporate the additional files required.

Add a bitmap background to a report

To reduce the expenses normally associated with pre-printed stationery, as well as to simplify document alignment, SYSPRO allows a number of its documents and reports to be printed with a bitmap background. By using this facility, you no longer need to use pre-printed stationery.

[Note]

The facility to print bitmaps on reports will only function if you are printing using a Windows Print Manager printer type.

  1. From the Browse on Reports program, highlight the report to which you want to add a bitmap image and select the Change option from the Edit menu.

    Alternatively, select the Change icon from the toolbar.

    The tri-pane window of the Create Report program is displayed.

  2. Select the Options element from the Treeview pane.

  3. Highlight the Bitmap option and (typically) use your right mouse button to select the Maintain options option.

    The Report Format screen is displayed.

  4. Select the Bitmap background option.

  5. Select the Bitmap function.

  6. Define the Bitmap filename and path. You can use the browse facility to review all available bitmaps.

  7. Define the bitmap width. This is the bitmap scale factor in millimeters or inches only. The default is 7.5, however you can enter a maximum of 9999.99 characters (i.e. 4.2).

    Define the bitmap width measurement. This is the bitmap scale method in millimeters or inches only. The default is inches.

  8. Select OK to save the information you entered.

  9. From the Report Format screen select OK to return to the previous screen.

  10. Select Save from the File menu to save the report with the bitmap image.

    Alternatively, select the Save icon from the toolbar.

Add narrations to a report

Narrations are text comments added to the report, which are displayed when the report is run.

You can use narrations to warn operators to change the font of the printer or change the stationery before they start printing the report.

The report narration uses the Generic Notepad style of notes and allows for virtually unlimited text with various formats.

When printing the report notes this text can be printed in plain text format.

  1. From the Browse on Reports program, highlight the report to which you want to add narrations and select the Change option from the Edit menu.

    Alternatively, select the Change icon from the toolbar.

    The tri-pane window of the Create Report program is displayed.

  2. Select the Options element from the Treeview pane.

  3. Highlight the Narration option and (typically) use your right mouse button to select the Maintain options option.

    The Report Narrations screen is displayed.

  4. Select the Show narration in Report Writer option.

  5. Select the Narration function.

  6. On the Notepad screen displayed, enter the narration(s) you require.

  7. Select the Save option from the File menu.

    Alternatively, select the Save icon from the toolbar.

  8. Select OK to save the information you entered.

  9. Select Save from the File menu to save the report with the narrations.

    Alternatively, select the Save icon from the toolbar.

Copy user defined variables

You can copy user-defined variables from within a report or between different reports.

[Note]

When copying variables, existing conditions are also copied.

  1. Copying a variable within the current report

    1. From Treeview pane of the Create Report program, select the Variables element.

    2. In the listview pane, highlight the variable you want to copy and (typically) use your right mouse button to select the Copy option.

    3. At the Copy to variable field, indicate the name of the new variable that must be created.

      If the variable name already exists, the program appends a suffix of 1, 2, etc., to the name.

    4. At the New variable description field, indicate a description for the new variable.

    5. Select Copy Variable to complete the copying process.

    6. Select the Save option from the File menu.

      Alternatively, select the Save icon from the toolbar.

  2. Copying a variable from another report

    1. From Treeview pane of the Create Report program, select the Variables element.

    2. Navigate to the listview pane and anywhere in this pane, (typically) use your right mouse button to select the Copy from Report option.

    3. At the Report field, indicate the name of the report from which you want to copy variables.

    4. At the Copy variable field, select the variable you want to copy.

      Up to 50 variables can be copied from another report. In addition, if a variable from the source report contains a calculation or condition that references a field in a table that is not included in the target report, it is not displayed.

    5. Select Copy Variable to complete the copying process.

    6. Select the Save option from the File menu.

      Alternatively, select the Save icon from the toolbar.

Import/Export user defined variables

You use the Import Variable and Export Variable functions to transfer variables between reports, without having to manually re-enter the variable.

Variables are exported into a variable library (REPVAR.LIB). The library path defaults to your SYSPRO work directory, but can be changed. Additional exported variables can be added to the library as required.

[Note]

When importing variables from the library, you can only select variables if the tables used in the calculation fields are defined in the table structure of the report to which you are importing.

When importing/exporting variables, existing conditions held against variables are not copied.

  1. Export a user defined variable

    1. From Treeview pane of the Create Report program, select the Variables element.

      All user-defined variables held against the report are displayed in the listview pane.

    2. In the listview pane, highlight the variable you want to transfer and (typically) use your right mouse button to select the Export variable option.

    3. At the Export variable to variable library field, indicate the full path to the variable library.

    4. Select Export Variable to complete the process.

    5. Select the Save option from the File menu.

      Alternatively, select the Save icon from the toolbar.

  2. Import a user defined variable

    1. Create a new report or from the Browse on Reports program, select another report to which you want to copy the exported user defined variable.

    2. From Treeview pane of the Create Report program, select the Variables element.

    3. Navigate to the listview pane and anywhere in this pane, (typically) use your right mouse button to select the Import Variable option.

    4. At the Variable library field indicate the full path to the variable library.

      All variables using the same tables in the calculation fields as in the table structure of the report are displayed for selection.

    5. Highlight the required user-defined variable you want to retrieve and select Import Variable to complete the process.

      Up to 50 variables can be imported from another report.

    6. Select the Save option from the File menu.

      Alternatively, select the Save icon from the toolbar.

Add multiple columns to a report

  1. From the Create Report program, highlight the Layout sub element to which you want to add the columns.

    This sub element can be one of the following:

    • Page Heading
    • Group Level 1 -5 (under Group Heading)
    • Detail
    • Subtotal Level 1 -5
    • Report Total
  2. Move your mouse pointer to the listview and typically use your right mouse pointer to display the available options.

    The listview is the bottom right pane in the Tri-pane window.

  3. Select the Add Multiple Columns option.

    The screen of the RW Multiple Column Selection program is displayed.

  4. From the Available Columns listview of the RW Multiple Column Selection program, highlight the column(s) you want to add to the sub element.

  5. Select '>' to move the columns to the Selected Columns listview.

  6. Optionally use your mouse pointer to rearrange the sequence of the columns in the Selected Columns listview. You can use the drag and drop facility to do this.

  7. Select OK to add the columns in the Selected Columns listview to the sub element of your report.

Create a tag file

  • Refer to the Tasks section of the help for Tag files.

Import a report into Excel

This task describes how to create a report that you can import into an Excel spreadsheet.

  1. You use the Create Report program to create the report you require.

  2. If the report already exists, you can select the report from the listview of the Browse on Reports program.

    Use the Save as option from the File menu of the Create Report program to save the report under a different name.

  3. Set the report output to: Extract (see Options).

  4. Save the report.

  5. Run the report.

  6. The report can now be imported into an Excel spreadsheet, using the Import External Data function in Excel.

Spacing columns for XML output

When you produce an XML report, the column positions defined against the fields you are printing are not used. Instead, the sequence of the columns defined in the listview are used to determine the print positions for the columns across the page, one field per column. The $Space function can be used to space columns.

For example: At detail line level you define the following columns: SalesOrder SalesOrderLine %Value (where %Value is the line value). You require a subtotal line with the following columns: SalesOrder %Value (where %Value is the total order value).

You want the %Value columns to line up.

  1. At line level, define the columns: SalesOrder SalesOrderLine %Value

  2. At subtotal level, define the columns: SalesOrder $Space %Value

    The $Space causes a 'blank' cell to be inserted between the SalesOrder and %Value columns. This aligns the %Value fields on the subtotal line with the %Value fields on the detail lines.

Print subtotals only

Many reports are required to be printed at subtotal level only, (i.e. The detail lines making up the totals are not required).

This is accomplished by not defining any detail columns.

When producing reports at subtotal level, no column headings are printed. You therefore need to define your own headings.

It is often a good idea to produce the report printing the detail columns first. Thereafter, when the subtotal lines are correct, delete the detail lines.

You can define up to 5 levels of subtotals and you can have a solid line printed beneath the values.

You can select at run-time to print summary reports.