The tradition of reporting started with the mainframe computers of the seventies. Programming languages like Cobol (1960) and RPG (report programm generator, 1965) introduced the basic principles used for computer based reporting today.
Reports consist of several bands. Bands are layout container and act as template definitions for the actual content. Each band contains data fields and static text. The fields on the band are placeholders for the data to be printed. When printing bands, the field placeholders get replaced by the actual data. The report processor selects the bands to be printed, fills in the data and finally generates the content.
There are several types of bands for the various special purposes encountered during a reporting run.
Pageheader and pagefooter bands are printed on top and bottom of each page and contain document and page specific information, like the document title, the author or the current and total page numbers.
Page header and footer are special bands, as they do not depend directly on the report data. When and whether they will be printed depends purely on the defined report layout and the already generated content.
The report header contains all the global items one would expect on a front page, like the title of the report.
The group header is printed on every start of a group - traditionally it contains column headings and introductionary information on the next set of rows.
The item band is used to print the bulk data, the record contents.
The group footer traditionally contains summary information, like computed sums, item counts etc.
The report is finished once the report footer has been printed.