The example here is to add an extension field to a print-managed standard document without over-layering the report. We will use the sales order confirmation report to add the sales order pool's name to the report.
There are two main types of reports: listing reports and documents. The documents, such as the sales order confirmation document, use temporary tables to make the layout easier to write. Any report can use this technique, but it is more common on document layouts and complicated listing reports.
It is often good practice to have a separate model for reports. Reports can use elements that we have written across packages, for example, we may have an extension package and an ISV package that has elements we wish to report on, but we don't want to link our package as a dependency on the ISV package.
We won't cover the actual report design...