Larry:
Very nice expansion of the original idea; this approach allows to run the
report without external code and hence...less future maintenance...
Javier,

Javier Valencia, PE
President
Valencia Technology Group, L.L.C.
14315 S. Twilight Ln, Suite #14
Olathe, Kansas 66062-4578
Office (913)829-0888
Fax (913)649-2904
Cell (913)915-3137
================================================
Attention:
The information contained in this message and or attachments is intended
only for the person or entity to which it is addressed and may contain
confidential and/or privileged material.  Any review, retransmission,
dissemination or other use of, or taking of any action in reliance upon,
this information by persons or entities other than the intended recipient
is prohibited. If you received this in error, please contact the sender and
delete the material from all system and destroy all copies.
======================================================

-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] Behalf Of Lawrence Lustig
Sent: Thursday, February 10, 2005 2:09 PM
To: RBG7-L Mailing List
Subject: [RBG7-L] - Re: Generating Extra pages in a report

> Do not use the report page numbering variable, use your own page number
> variable and increment it at each page break (just like the old DOS days);
> in between reports, you can adjust the page number variable so it always
> starts on an odd page number.

This suggests a possible single-pass solution to the problem.

The idea is that put something in your break footer (the break that you want
to
force an odd or even page) that will expand to push the report to a new
page,
but only when you have an odd or even  (whichever you want) page number.

You could do this as follows:

1. In the report header, create a variable

rvLotsOLines = (SFIL(CHAR(10), 75))

2. Set up manual control of the page variable as described by Javier so that
the page number is in the variable rvPageNo

3. In the break footer, create a variable

rvSlug = (IFEQ(MOD(.rvPageNo, 2), 0, NULL, .rvLotsOLines))

(a slug, by the way, is a piece of lead used to space lines of text when
manually setting type -- which is exactly what this variable is going to do
for
us).

4. In the break footer, place a Variable Memo control.  Set it to STRETCH
and
the variable should be rvSlug.

Now, when a break footer is evaluated, if the page number is even, enough
space
will be emitted in the footer to force the next break header to be on an odd
page.  (If you want the headers to be on even pages, not odd, just change
the
second term of the IFEQ function from 0 to 1).

You may need to play around with just how big the slug is (you want enough
space to always force the break footer to go onto the next page, even if you
are still at the top of the page when the break footer start, but NOT so
much
space that you run the risk of flowing on to two pages).  You can do this by
raising and lowering the number 75 in the rvLotsOLines variable, or by
changing
the font size of the memo control.
--
Larry

Reply via email to