The report has a regular structure with clear control breaks - Multiple control levels are needed - Automatic accumulation is valuable - The report is the primary output of the program