The example here adds 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 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.
We've already discussed the older method of keeping reports: a separate package. This is not ideal in SCM as the only benefit is the ability to deploy separately to the main package. Due to the fact that packages reference in one direction, we can't use fields written for a reporting package in the main package. This means making changes in multiple projects to add a new field to a report; they should all be in the same package, especially if the new field stems from a need to show it on a report, as in our case.
We won't cover the actual report design in this recipe, as report design is beyond the scope of this book, but we will cover all other areas. We have already added fields and event handlers in earlier recipes; we just need to add the field to the report.