Adding "Continued.." to the bottom of a table if the content spills over more than one page is a very common requirement for Customer Bills. I am sure most of you have already seen Tim's blog on this topic. Just wanted to add a small note here which I got as a quick tidbit from our template expert, Hok Min. This requirement came from a telecom customer:
- The invoice had multiple tables giving different bill breakups such as "Current Charges", "Usage Charges", "Discounts", "Itemized bills for Local Calls", "Itemized bills for STD Calls" etc. Among these, any of the table could spill over to next page in any of the pages.
- The itemized bills were grouped under a category "Your Itemized Bill"
The requirement was
- Whenever a table splits across page, the next page should repeat the table header and should also display "(Continued ..)" in the table header
- If the table is inside the category - "Your Itemized Bill", then the heading "Your Itemized Bill" should repeat in the next page added with "(Continued ..)" text
- With multiple tables within the category "Your Itemized Bill", the "(Continued ...)" message should be displayed for all tables if they split across page.
This can be seen here in the images:
Page 1: Here "YOUR ITEMIZED BILL" and "Local Calls" starts in this page.
Page 2: Here "YOUR ITEMIZED BILL" and "Local Calls" are in continuation from previous page while "STD Calls" table starts in this page.
Page 3: Here "YOUR ITEMIZED BILL" and "STD Calls" are in continuation from previous page.
We can use the same code logic that was explained in Tim's blog. The main thing to note here is that the init-page-total should be included within each table. If the init statement of a table is kept outside then it will not be able to reset the context to display "Continued ..." correctly. Here the first two rows of the external table and the nested table are marked to "Repeat as header row at the top of each page". The itemized bills are displayed grouped by date, therefore for-each-group is done in the third row of the nested table and the last row has the for-each loop to display each transaction.
The below image shows the code corresponding to the above table design. Notice the use of display-condition="exceptfirst" so that "(Continued..)" text will show in all table-headers except the first one.
You can find the sample RTF template and XML data here.
Stay tuned for more updates...
Enjoy :) !!
Oracle BI Publisher has been in the cloud for quite sometime ....as a part of Fusion Applications or few other Oracle product offerings. We now announce certification of BI Publisher in the Java Cloud Services!!
Oracle Java Cloud Service (JCS) is a part of the platform service offerings in Oracle Cloud. Powered by Oracle WebLogic Server, it provides a platform on top of Oracle's enterprise-grade cloud infrastructure for developing and deploying new or existing Java EE applications. Check for more details on JCS here. In this page, under "Perform Advanced Tasks" you can find a link to "Leverage your on-premise licenses". This page cites all the products certified for Java Cloud Services and now we can see BI Publisher 220.127.116.11 listed as one of the certified products using Fusion Middleware 18.104.22.168.
How to Install BI Publisher on JCS?
Here are the steps to install BI Publisher on JCS. The certification supports the Virtual Image option only.
Step 1: Create DBaaS Instance
Step 2: Create JCS Instance
To create an Oracle Java Cloud Service instance, use the REST API for Oracle Java Cloud Service. Do not use the Wizard in the GUI. The Wizard does not allow an option to specify the MWHOME partition size, whereas REST API allows us to specify this. The default size created by the Wizard is generally insufficient for BI Publisher deployments.
The detailed instructions to install JCS instance are available in the Oracle By Example Tutorial under "Setting up your environment", "Creating an Oracle Java Cloud Service instance".
Step 3: Install and Configure BI Publisher
- Set up RCU on DBaaS
- Copy RCU
- Run RCU
- Copy BI Installer in JCS instance
- Run Installer
- Use Software Only Install
- Extend Weblogic Domain
- Configure Policy Store
- Configure JMS
- Configure Security
You can follow the detailed installation instructions as documented in "Oracle By Example" tutorial.
Minimum Cloud Compute and Storage Requirements:
- Oracle Java Cloud Service: 1 OCPU, 7.5 GB Memory, 62 GB Storage
- To install Weblogic instance
- To Install BI Publisher
- To set Temp File Directory in BI Publisher
- To install RCU
- To use DBaaS as a data source
- To Enable Local & Cloud Storage option in DBaaS (Used with Full Tooling option)
So now you can use your on-premise license to host BI Publisher as a standalone on the Java Cloud Services for all your highly formatted, pixel perfect enterprise reports for your cloud based applications. Have a great Day !!