The event-driven model provides a highly flexible environment for interactive applications. Reports collect and organize static data without interaction from the user, so traditional top-down programming techniques work better for this task. Typically, you can integrate a report-generating procedure into an event-driven application using a trigger with a RUN statement attached to a button or menu command (covered later).
The components of a basic report procedure include:
A special type of frame, called a down frame, that can hold more than one iteration of data
Frame phrase options to format the frame and included widgets
Text widgets
Format phrase options to format individual widgets