Tutorial 33 - A Sales Order Report

In this Tutorial you will configure a Print Template and a Report Procedure which will print a document based upon SalesPO data accumulated using the Template and Procedures configured in Tutorial 32. However, before doing so, set up four Sales Orders. For ease of following our examples, we will show you the four images of the input area of the SalesPO General Data Entry Window.

Exercise 33 - 1, Four Sales Order transactions
Launch the General Data Entry function, select the SalesPO from the Open Table panel, and make these entries (the first two sales are for the East Side Branch and the last two for the West Side Branch - set pop-up list accordingly):

Exercise 33 - 2, Configure the SalesPO Print Template
Launch the Print Templates editor.

By now you know that the fields with a white background are Title fields, and fields with a gray background are Print fields. All Print fields used in this Template are Dynamic fields i.e. they originate as Draggable objects from the Palette, having generic names dyn1, dyn2, etc. which are then appropriately renamed in the Palette's Local area. All alignments can be determined from our example. The Data type is Text, except for:

Date is Date; Formatting as Month D, YYYY
Quantity is Integer; Ignore Sign
Product Code is Subledger #
Unit Price is Money, 2 decimals; Ignore Sign
Product Total is Money, 2 decimals; Ignore Sign
Total is Money, 2 decimals; Ignore Sign
The Branch Text field has a vertical Adjustment of -25%

Exercise 33 - 3, Configure the OrderInvoice Report Procedure
Launch the Print Templates editor.

The Retrieval objects (numbered 1-3) have these Inspector settings:
1. Retrieval: Single row
Search: Invoice # = OrderInvoice# (parameter value)
2. Retrieval: Multiple rows (all)
Search: Invoice # = OrderInvoice# (parameter value)
Sort: Product Code ASC
3. Retrieval: Single row
Search: Terms Code = SalesPO.[Terms Code]

The mapping of Local vars against the SalesPO Print Fields looks like this:

The mapping would suggest that for all those fields which use database sources e.g. SalesPO.Date, we could have defined them as such in the Print Template. However, we used the Dynamic fields because they afford greater flexibility in the event that we want to use the same Print Template for another Report Procedure with, perhaps, different database sources e.g. Product Total might be derived from the Transaction table after the Invoice has been completely processed and the transactions have been generated.


Exercise 33 - 4, Configure the Print Global Procedure
With the Print Template and Report Procedure configured, you can now configure the Procedure that will be triggered by pressing the Print button located at the bottom of the SalesPO Template configured as part of Tutorial 32.

Launch the Global Procedures editor, select SalesPO from the Open Procedure panel, and select Print from the Procedures column. The Function OrderInvoice is the Report Procedure configured in Tutorial 32 and appears as an option in the Reports section of the Palette's Function view.

When entering a Sales Order in General Data Entry, Save the document (this will place the data into the SalesPO table, and load the document again from the Browser. Then press the Print button:

Press the Print button and the Print panel will be displayed.



Go To
  Tutorial 34 - Sales Order, Generated Transactions