Rowspan error in "core_bus_cap_app_analysis_allCaps.xls"

Post Reply
ulfl
Posts: 15
Joined: 01 Feb 2010, 10:47

The report business/core_bus_cap_app_analysis_allCaps.xsl does not correctly calculate the rowspan for table cells in the "Business Capability" column.

Each cell in the "Business Capability" column has a rowspan attribute, which matches the total number of supporting Application Providers for all contained Business Processes (if more Application Providers than Business Processes are given). Unfortunately it does not consider processes with no supporting Application Provider when calculating the rowspan attribute value, which causes misalignment in the report because table cells containing "-" are created even if no supporting Application Provider is given for a Business Process.

The actual calculation takes place in "business/core_bus_process_To_AppsByBusCap.xsl" but I am not sure what the easiest/best fix for the issue is. Selecting count values for existing elements by using XPath expressions is easy. But how does one select the number of Business Processes for which no "APP_PRO_TO_PHYS_BUS_RELATION" exists?

Best regards,
Ulf
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

Thanks for posting this bug, Ulf.

Would it help if we didn't render empty cells with a '-'?

Looking at how the View works in more detail:

The '...allCaps.xsl' view uses the 'core_bus_process_to_AppsByBusCap.xsl' view repeatedly to cycle through all the Business Capabilities in the repository.

As I think you suggest, the rowspan calculations are made in this 'sub' view. This only calculates a rowspan where there are more than 1 implementing Business Process for the Capability and also if there are more than 1 Application supporting each of these Processes. Otherwise, when there are no supporting processes, there is no rowspan attribute set.

In the case that there are 1 or 0 supporting Application Providers, the rowspan is calculated from the number of Business Processes that are implementing the Capability.

The <xsl:when> first tests to see whether there are more Application Providers than there are Processes. If so, the rowspan is calculated accordingly. OTHERWISE, it just uses the number Processes. This should cater for 0 Applications, too.

Would it help if we didn't include the '-' character in the empty cells? [We do to this make a positive statement about a lack of information]

I don't think I'm quite clear with exactly the rendering error that you are seeing. Could you give me a bit more detail?

Thanks

Jonathan
Essential Project Team
Post Reply