| **Navigation:**  [[introduction.htm|Language Reference]] > 7 - Reports > Report Structures >====== DETAIL (report detail line structure) ====== | [[break declare group break structure .htm|{{btn_prev_n.gif|Previous page}}]][[introduction.htm|{{btn_home_n.gif|Return to chapter overview}}]][[footer page or group footer structure .htm|{{btn_next_n.gif|Next page}}]] | | || | //label// | **DETAIL** | ,**AT( )** [,**FONT( )**] [,**ALONE**] [,**ABSOLUTE**] [,**PAGEBEFORE( )**] [,**PAGEAFTER( )**] | | | | [,**WITHPRIOR( )**] [,**WITHNEXT( )**] [,**USE( )**] [,**COLOR( )**] [,**TOGETHER**] | | | //controls// | | | | **END** | | {{blk2blue.jpg|blk2blue.jpg}} | **DETAIL** | Declares items to be printed as the body of the report. | | //label// | The name by which the structure is addressed in executable code. | | **AT** | Specifies the offset and minimum width and height of the DETAIL, relative to the size of the area specified by the REPORT's AT attribute (PROP:AT). | | **FONT** | Specifies the default font for all controls in this structure (PROP:FONT). If omitted, the REPORT's FONT attribute (if present) is used, or else the printer's default font is used. | | **ALONE** | Declares the DETAIL structure must be printed on a page without FORM, (page) HEADER, or (page) FOOTER structures (PROP:ALONE). | | **ABSOLUTE** | Declares the DETAIL prints at a fixed position relative to the page (PROP:ABSOLUTE). | | **PAGEBEFORE** | Declares the DETAIL prints at the start of a new page, after activating normal page overflow actions (PROP:PAGEBEFORE). | | **PAGEAFTER** | Declares the DETAIL prints, and then starts a new page by activating normal page overflow actions (PROP:PAGEAFTER). | | **WITHPRIOR** | Declares the DETAIL prints on the same page as the DETAIL,or group HEADER or FOOTER that immediately precedes it during printing (PROP:WITHPRIOR). | | **WITHNEXT** | Declares the DETAIL prints on the same page as the DETAIL, or group HEADER or FOOTER that immediately follows it during printing (PROP:WITHNEXT). | | **USE** | A field equate label to reference the DETAIL structure in executable code (PROP:USE). | | **COLOR** | Specifies a background color for the DETAIL and the default background color for the controls in the DETAIL (PROP:COLOR). | | **TOGETHER** | Specifies that the DETAIL, or group HEADER or FOOTER structure (contained within a BREAK structure), is to only print on a single page, rather than being automatically split if there is not sufficient room for it (PROP:Together). | | //controls// | Report output control fields. | The **DETAIL** structure declares items to be printed as the body of the report. A DETAIL structure must be terminated with a period or END statement. A REPORT may have multiple DETAIL structures. A DETAIL structure is never automatically printed, therefore DETAIL structures are always explicitly printed by the PRINT statement. This means that a //label// is required for each DETAIL you wish to PRINT. The DETAIL structure may be printed whenever necessary. Since you may have multiple DETAIL structures, they provide the ability to optionally print alternate print formats. This is determined by the logic in the executable code which prints the report. DETAIL structures print within the detail print area specified by the REPORT statement's AT attribute. The DETAIL structure's AT attribute specifies the relative position, width and height of the detail to print. If there is horizontal room within the detail print area for multiple DETAIL structures, they print side-by-side. **Example:** **CustRpt REPORT            !Declare customer report** **         HEADER           !begin page header declaration** **          !structure elements  ** **         END              !end header declaration  ** **CustDetail1 ****DETAIL****       !begin detail declaration** **          !structure elements  ** **             ****END****          !end detail declaration  ** **CustDetail2 ****DETAIL****       !begin detail declaration** **          !structure elements  ** **             ****END****          !end detail declaration  ** **          END             !End report declaration** ** CODE** ** OPEN(CustRpt)** ** SET(SomeFile)** ** LOOP** **  NEXT(SomeFile)** **   IF ERRORCODE() THEN BREAK.** **  IF SomeCondition** **   PRINT(CustDetail1)** **  ELSE** **   PRINT(CustDetail2)** **  END** ** END** ** CLOSE(CustRpt)** **See Also:** [[print print a report structure .htm|PRINT]] [[at set position and size .htm|AT]]