>>For reports with data grouping (subtotals), using a single report is more complicated, but I think it could be done, too. (For instance, copy the fields required for grouping to a separate field, using always the same fieldname for different grouping criteria).
>
>
>If you have data grouping you can set up the data group with an expression of ... EVALUATE(lcMyGroup) ... where lcMyGroup is an expression that you can define in the program that calls the report. This way, you can set the expression to whichever sort order you are using. Depending on how the indexes are set, you may be able to use EVALUATE(KEY()) and not worry about a variable.
>
>Cathy
Thanks, the use of EVALUATE() is an interesting alternative, and simpler than the one I proposed.
Hilmar.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)