The Keep With Anchoring Object property specifies whether to keep an object
and the object to which it is anchored on the same logical page, or whether
to move the parent object
move to the next page if its child object cannot appear with it on the same
page.
The anchor between the two objects may be explicit or implicit. Consequently, Keep With Anchoring Object may have an effect even if you have not explicitly created an anchor between two objects.
Note: Relying on the implicit anchor can be risky, unless you fully understand the implicit anchoring algorithm.
Applies to |
Layout objects | ||||
Values |
| ||||
Default |
No | ||||
Required/Optional |
Optional |
Keep With Anchoring Object applies only to the first logical page on which the object is triggered to be formatted. Keep With Anchoring Object is ignored on subsequent pages.
If moving the object and its anchoring object to the next logical page would leave the current logical page blank or only containing repeated objects (for example, a page heading), Keep With Anchoring Object will not be applied. This prevents unnecessary blank pages in your report.
If the anchoring object is a repeating frame and the current object is outside of the repeating frame, then anchoring object refers to the repeating frame as a whole (all the instances of the repeating frame).
If two objects are anchored to their enclosing frame and the frame has Vertical or Horizontal Elasticity of Contract or Variable, then all three objects must be able to complete formatting on the same page to satisfy the Keep With Anchoring Object condition. If the two objects are enclosed by a repeating frame instead of a frame, then this rule applies to each instance of the repeating frame. In the figure, B_1, B_2, and M_1 would all have to be able to complete formatting on the same page in order to satisfy the Keep With Anchoring Object condition.
Suppose that you have created three boilerplate objects:
B_2 and B_3 each has Keep With Anchoring Object set to Yes. On the logical page where Reports Builder first tries to print these objects, assuming there is some preceding information on Page 1, there is enough room for B_1 and B_2 but not for B_3. Since B_3 has Keep With Anchoring Object set to Yes and its anchoring object is B_2, B_2 and B_3 would be moved to the next logical page. Since B_2 also has Keep With Anchoring Object set to Yes and its anchoring object is B_1, B_1 would also be moved to the next logical page.
In the figure below, the report on the left was created without Keep with Anchoring
Object specified, resulting in an employee list separated from its department
number. The report on the right uses Keep with Anchoring Object to ensure that
the name and information always appear on the same page. If the two objects
require more than
one page together, the objects are moved to the next page only once.
Copyright © 1984, 2005, Oracle. All rights reserved.