Modifier on text (BO)
From AdeptersWiki
Submitted by: Liz Fraley
Last Updated: 2010-08-09
Problem
In my running heading I have set a text variable that has a subpart title occurring at the bottom of the page using the BO modifier. In a few cases the subpart title skips to the next page, but the text variable seems to be already set to that, so that the wrong subpart title text shows up in the running header.
Has anybody seen this and come up with a solution?
Solution
Originally posted by Andy Esslinger.
Here is something I was given by Arbortext several years ago when I was having a problem similar to your description. When an element split across a page break the variable value at the bottom of the page was indeterminate. Read through this and see if it helps. I assume that you are using a FOSI. Disregard if not.
<!--
##########################################################################
OUTSPEC (Output Specification)
##########################################################################
Andy, Per your request, we are documenting fosicite. It apparently got
overlooked until now. Here is the developer's explanation which will go
into the Epic product documentation:
##########################################################################
FOSICITE Documentation
##########################################################################
There are two possible ways to interpret [TO]
and [FI] modifiers.
Suppose you have an e-i-c like this:
<e-i-c ...
<charlist ...>
<savetext textd="variable.txt" conrule="...">
...
<att>
<specval ...>
<charsubset>
<savetext textd="variable.txt" conrule="...">
...
In other words, the e-i-c saves a value to a variable, but then
depending on attribute values, might save a different value to it.
Suppose that e-i-c occurs once on a page, and your header or footer
wants to include the first value that variable.txt is given on the
page, and thus references variable.txt[FI]. Most likely, you would
want it to pick up the final value that the e-i-c gave to that
variable - the fact that it actually saved to it twice is not
significant.
That is the default behavior for [FI] and [TO] processing.
When an e-i-c saves to a variable more than once, with the
same placemnt value, only the last assignment is counted
for purposes of processing [FI] and [TO] references.
However, there are cases where it is useful to handle this the other
way, i.e. to use the first save as the [FI] or [TO] value. To have
Epic use that method, you must set the outspec element's fosicite
attribute to include the string "TO_FI_ALL_SAVES".
This can be useful, e.g., if you want a particular value to be shown
in the header or footer as long as any part of an element occurs on
the page. The e-i-c for the element should have three savetexts:
<savetext textid="variable.txt"
conrule="(the value to display)"
placemnt="before">
<savetext textid="variable.txt"
conrule="(the value to display)"
placemnt="after">
<savetext textid="variable.txt"
conrule="\\"
placemnt="after">
In header or footer, reference variable.text[FI].
With this coding, if the element starts on page 5, and ends
on page 6, then the headers on both pages 5 and 6 will display the
special value. If you did not set fosicite to include TO_FI_ALL_SAVES,
then the header on page 6 would be blank.
##########################################################################
-->
<outspec fosicite="TO_FI_ALL_SAVES">