Problem: This is a report with three levels of summary data that need to be positioned relative to the report in differing ways. Summary one is Askar data that needs to be positioned at the bottom of each page. Summary two is pub data that needs to appear after the last detail row of each break, and above the Askar data. Summary three is header information that needs to appear before the details rows of each break, and at the top of each page.
In addition to summary placement, a dynamic watermark needs to appear under the detail rows of the break.
Solution: A solution that met all requirements of the problem is not obtainable in Web intelligence. This is due to the lack of the CurrentPage context keyword, which is necessary to properly display the Askar data in the footer of each page. Therefore, we used Desktop intelligence to solve the problem.
Askar positioning solution: Since the Askar data is to be displayed at the bottom of each page, we considered placing it in the footer of the page. Two problems needed to be solved before this was possible. The first problem is that Desktop intelligence does not allow for tables to be placed in the footer. This was solved by using freestanding cells. Second, the footer has report scope and not break scope. Since each new break in our report starts on a new page, we solved the scope issue using the context keyword CurrentPage, as in = Max( in CurrentPage).
Pub Data solution: Since this data is to appear after the last detail row in each break, it is natural to place it in the footer section of each break. The accommodate for the multiple rows of data, we inserted rows into the footer.
The Header solution: This was done by inserting multiple rows into the break header and repeating the header on each page.
The Watermark solution: Because of the way InfoView treats freestanding cells on a report, which is after x pages into the report InfoView may move the cell to the front of the report and place all tables below the start of the cell, which ruins the effect of the watermark and destroys the format of the report, we decided to use a table to hold the watermark text. The water mark text can be different for each break in the report and is defined by a field in the data provider. We placed the table just under the first data row of the break, deleted the header, and sized the data cell to the maximum size of the body of the details section. We then formatted the text to be cyan, removed the borders, and placed it behind the data table. We also repeated the table on each page.
Robert
Robert Schmidt (BOB member since 2002-11-15)