access.roll-on Modifier/Access: Verbs

access.roll-on

Command access.roll-on Modifier/Access: Verbs
Applicable release versions: AP
Category Access: Verbs (152)
Description creates a visual "break" in output data when the value of a specified attribute changes, an improvement over the "break-on" command.

"roll-on" is similar to the "break-on" connective, but has several "smarter" features.

The attribute values specified by the "roll-on" connective are "rolled" into the left adjacent column if data in that column has not been modified by a connective (excluding "break-on"), or is not a total column. This provides the ability to generate a roll-on value without occupying a column of output.

By comparison, to accomplish the same results using "break-on" requires building a "hidden" attribute-defining item -- one that allows "0" column positions on output. Even then, the break-on using the "hidden" field still occupies one column position on the report.

If the left adjacent column is a "total" column or has been modified, the right adjacent column is used if it satisfies the same criteria. If both the left and right adjacent columns have been modified or are "total" columns, a new column is created.

The new column heading is that of the lowest level "roll-on" connective and all attribute values specified in sequential "roll-on" connectives are "rolled" into this column.

If not specified, the number of "*'s" corresponding to the "roll-on" level, concatenated to the value rolled on is printed. A line is skipped only with the highest level "roll-on".

The "attr.name" is the name of the attribute on which to break. The "attr.name" designated by "roll-on" should also be specified as a sort key with "by" or "by-dsnd".

"text" is the text to be printed on the "roll-on" line.

Unlike the break-on connective, the roll-on value automatically appears at the detail break lines. By contrast, the break-on connective requires the use of the "'v'" option to accomplish the same result.
Syntax roll-on attr.name {"{text} { 'options' } {text}"}
Options b Outputs the value causing the break in either the "heading" or "footing" output field where the 'b' option is found in the heading or footing option string. It is not meaningful to specify this option within more than one "roll-on" specification.

d Suppresses the break data line if only one detail line has been output since the last control break.

n Resets the page counter to one on each break.

p Issues a form feed (page eject) after the data associated with this break has been output.

r Inhibits page "rollover". Outputs any occurrence of one or more control break lines at the end of the page, rather than at the top of the next page, thus forcing all the data associated with this break to be current on the same page.

u Underlines all total fields.

v Outputs the value causing the control break in the "roll-on" label. (see the "b" option in "break-on").

'' Inserts a single quote in text.
Example
list orders.hist roll-on so# " 'p'" inv.line id-supp 
hdr-supp ni-supp col-hdr-supp tcl-supp (kp

sort cust by territory by state by city entity.num ename roll-on territory 
"'bp'" entity.address entity.zip phone# cgroup s.pcontact 
id-supp heading "* * *   'b' Territory Dealer List * * 
*'cldcll'" tcl-supp (p
Purpose
Related access.break-on
access.total-on
access.attr.name
access.det-supp
access.ss
access.total
basic.footing
basic.heading