How to speed up connection between Translation Manager, Universe Designer and CMS

At a recent customer project my teammate and I were facing an issue with importing Webi documents and universes into Translation Manager (all on BO4.1 SP4) getting the following error message:

org.apache.axis2.AxisFault: Unable to find servers in CMS, servers could be down or disabled by the administrator (FWN 01014)

There is a KB article describing this error and a solution: http://service.sap.com/sap/support/notes/1879675

One hand we followed the instructions in the KB article and specified the hostname for each server. Although our server is multihomed (that means has more than one network interfaces) we didn’t thought about this before hand because the second network interface goes into a backup LAN and is never used for communication with e.g. the client tools. In addition everything worked fine so far – until we got the issue with Translation Manager. Still, just setting the hostname was not enough. On the server side there is the Windows firewall enabled, therefore we had to assign static request ports to several services. We already did so before our issue with the Translation Manager for the CMS, Input & Output FRS, all Webi Processing Server. We used TCPView to analyze on which ports Translation Manager was opening connections. As long as there were requests on ports which we didn’t specify in the CMC (some random port number e.g. 56487) we narrowed down all the services which Translation Manager establishes a connection. We had to specify a port for all of the following servers:

  • The Adaptive Processing Server (APS) hosting the DSL-Bridge Service
  • The APS hosting the Client Auditing Proxy Service
  • The APS hosting the Search Index Service
  • The APS hosting the Translation Service
  • The WACS (Web Application Container Server)

Besides the issue with Translation Manager we had another issue with creating new universe connections in the Universe Design Tool. When creating a new connection we had to wait up to 30 minutes ( ! ) to get to the wizard page where you can select from the list of available database drivers. Still, after 30 minutes everything worked fine and could create the connection successfully. Based on our experience with Translation Manager we run again TCPView and found that we need to assign a port number to both connection servers (32 and 64 bit) in CMC. Having done this, creating a new connection now works without any waiting time.

After all: If you have firewalls between your BO server and client tools, just assign a port to all servers available and open the port on the firewall (the only exception might be for the Event Server as I’m really not aware of any communication between this server and a component outside the BO server)

Advertisements

Optimizing my dashboard: Creating a visual draft

Remember my last post about the Webi dashboard? As mentioned at the end of that post aimed to show a technical trick to put an interactive kind of a button onto a Webi report. Now this post is the first in a series of posts how to optimize the layout of the initial dashboard. Let’s start with creating a draft of our optimized dashboard layout. The advantage of such a draft is that it is not yet implemented with the actual BI tool but using either pen and pencil or a wireframing tool. I did the later and chose the cloud edition of Balsamiq. To get a quick start you can use a 30 days trial account.

Let me explain briefly how the tool works. After that I’ll explain some of my thoughts behind the chosen layout.
Within the editor you can drag and drop sketched objects like a window container, rectangles, text, buttons etc.

Balsamiq_Editor

My dashboard in the Balsamiq editor

Looking at the available chart objects, I’m not really satisfied:

Balsamiq_Charts

Default chart elements in Balsamiq

Therefore I added my own images representing typical IBCS chart types (IBCS stands for International Business Communication Standards. I wrote a short blog post about IBCS here.). The images are based on the graphomate add-on for SAP DesignStudio and BusinessObjects Dashboards.

IBCS_charts

Typical IBCS chart types (created with graphomate)

After all, my inital dashboard draft looks like this:

Page01.jpeg

My dashboard draft (chart view 1)

At the top you can see some reserved space for an appropriate title. Providing this is a major requirement stated by IBCS as one of the top ten proposals:

I adapted this to a BI specific title concept where I distinguish between general title elements (like the organization or global query filters) and object specific titles, e.g. for the table or a chart. For the table I used the default element of Balsamiq, maybe I will update this later on with an IBCS optimized one. For now it is just a placeholder.

The charts in this first view will show current year values and previous year values (where as the current year will be indicated within the global filters area) for revenue and margin. To make the analysis of available data more straight forward, I decided to add two variance charts, one for absolute values and one with percentage values. Again, this is one of the top 10 elements in IBCS:

You might have discovered the symbolic button to switch the chart view. The second view looks like this:

Page02.jpeg

My dashboard draft (chart view 2)

The header and table areas stay the same. In the lower area with charts I now show historical values for revenue with actual and plan values. Instead of putting everything into one big chart I decided to use small multiples for the top 5 product lines (based on total revenue over time) as well as one chart for all other product lines. Depending on how it will look like in Webi we might decide to show more product lines or add another topic to the dashboard (as we still have space left on the bottom right corner).

In this blog I showed how to create a simple dashboard draft using a wireframeing tool like Balsamiq. In addition I pointed out how to apply two of the top ten IBCS proposals in this conceptual phase.

Update May 5, 2015: Internally at IT-Logix we continued the implementation of the above shown mockup; we used both Design Studio and Web Intelligence. Unfortunately the time for writing a blog post was missing so far. Still, if you are interested in the Web Intelligence part, have a look at the following sapInsider BI2015 session held by my teammate Kristof Gramm: http://bit.ly/1EGKFtA He will show how you can do pretty amazing things with Webi (by the way, using this link you’ll be granted a 300€ discount on the conference registration 😉

A (Webi) dashboard built by a business (power) user

This blog post is inspired by a recent customer request to challenge their decision to use Design Studio for some “dashboard requirements”. Showing how you can create a dashboard in Webi doesn’t mean I told the customer not to use Design Studio. Much more it is to show that finally a dashboard as well as every other type of BI front end solution is made up of requirements and not primarily by the tool you build the solution. Please refer to my Generic Tool Selection Process for more details as well as my post regarding BI specific requirements engineering.

Having said this, let’s have a look at how we can use latest Webi 4.1 features to quickly build an interactive dashboard without the need of (much) scripting. First of all here is what the final result looks like:

01_DashboardOverview1

You can select values from the left side bar (Product Lines), you can select States by directly clicking into the table and you can switch from the bar chart to a line chart. Here you see it in action:

The first step to achieve this, is to create the basic table and the two charts. Until the dynamic switch is implemented, I placed them side by side. Next add a simple input control in the left side bar:

02_SimpleInputControl 03_SimpleInputControlDepend

Next thing is to define the table as an additional input control – right click the table and choose “Linking” and “Add Element Link”,  choose the two chart objects as dependencies:

04_TableAsInputControl 05_TableAsInputControlDepend

Next we need to create the “switch” to toggle the two charts. As I would like to position this switch at the top right corner of the chart, I again use a table input control. To generate the two necessary table values (namely “Bar Chart” and “Line Chart”) I prepared a simple Excel spreadsheet:

08_ExcelContent

In 4.1 you can now finally upload this sheet directly into the BO repository:

07_UploadExcel

If you need to update the Excel sheet later on, this is now feasible as well:

09_UploadExcelReplace

Finally, in Webi add the Excel sheet as a second query:

10_ExcelQuery    10_ExcelQueryDetails

In the report we need now two tables: A visible one to represent the chart switch and a (hidden – see the “Hide always” option) dummy table to act as a dependency for the first:

13_HiddenDummyTable  12_HideDummyTable

The most tricky part is to create a variable to retrieve the selected value:

15_VarSelectedChartType

Here the formula for copy / paste:

=If( Pos(ReportFilterSummary(“Dashboard”);”Chart Type Equal “) > 0)
Then Substr(ReportFilterSummary(“Dashboard”);Pos(ReportFilterSummary(“Dashboard”);”Chart Type Equal “) + Length(“Chart Type Equal “);999)
Else “Bar Chart”

(The idea for this formula I grabed from David Lai’s Blog here)

Finally you need to configure the hide formula for both charts:

16_DynamicallyHideChart

That’s it.

Conclusion

Positive: I’m not too technical anymore (I do more paperwork than I wish sometimes…). Therefore I don’t consider me a “developer” and I like solutions for the so called “business (power) user” more and more. Therefore I like Webi. It took me about 60 minutes to figure out how to create this kind of interactive dashboard. I didn’t need to install anything – I could do everything web based. Except for one single formula (which I didn’t need to write myself)  I could click together the above sample. And I dare to say it looks like some kind of a dashboard 🙂 In addition I have all the basic features of Webi like a broad range of data source support, plenty of export possibilities, Office integration and so on. Even integrating an Excel spreadsheet as a data source is now finally a no-brainer.

Negative: Clearly, Webi is not a “design tool”. For example I wasn’t able to show icons for my chart switch instead of the text lables. Putting a background image to the table doesn’t work well if the table is used as input control. When I discussed this prototype with the customer they also mentioned that there are still too many options end users might get confused with (e.g. that there is a “filter” section showing whether the Bar Chart or the Line Chart value is chosen). In Webi you can’t change that. Toolbars, tabs etc. are just there where they are. Live with it or choose a different tool.

Bottom line: Have a look at my Generic Tool Selection Process and the mentioned hands-on test. The above example is exactly what I mean with this: Create a functional prototype in one or two tools and then do a fact based decision depending on your requirements and end user expectations.

Important remark: This post focused on the technical aspect of the dashboard. The visual representation doesn’t yet fit to best practices mentioned in my earlier articels (e.g. about SUCCESS) In a next blog post I will outline how to optimize the existing dashboard in this regard.

Join my teammate Kristof Gramm during sapInsider’s BI2015 conference at Nice (June 16-18): He will go into much more details about how you can use Web Intelligence as a dashboard tool for business users. Use this link to see more infos and save 300€ on your conference registration!

Getting to Know the German Monster – The Importance of Proximity in a Globalized World

Just recently I published a blog about the following topic on sap.com

Thanks for reading!

Wishlist for SAP BOBJ tool consolidation

Obviously the multitude of BOBJ client tools is still a hot topic – both for SAP as well as its customers. From SAP’s side we’re hearing now about their decision to consolidate BOBJ / BI client tools. There are a lot of rumours during the currently held SAPPHIRENOW conference like the following:

JayneTool roadmap

There was a Google hangout session last week with Steven Lucas, President of Platform Solutions at SAP. In this article I will summarize some key points from this talk and add my own thoughts.

Have a look at the video at about 23:00. Steven mentions that there are currently 21 BI client tools in the BOBJ/SAP portfolio. That’s why SAP already took  the decision: “We are going to consolidate our BI tools”. In addition Steven mentions that they won’t deprecate core technologies like Webi or Crystal, but maybe integrate niche solutions like Explorer into Lumira. I personally like the statement about “feature preservation, not tool preservation”.

Although there are good reasons why SAP should consolidate their BI client tool portfolio I’d like to point out where I see the root cause of the problem: Definitely the number of different tools is not the real issue. I often use the comparison with the automotive industry. Just have a look how many models certain car manufacturer have in their portfolio:

 

Different cars for different purposes. Different tools for different purposes. But what’s different between the shown car portfolio and SAP’s BI client portfolio? All the cars share some basic functionality like four wheels, a steering wheel, head lights etc. For the BI client portfolio we still lack some basic functionality to be included in every tool more or less in the same way: One main issue is the missing homogenity in terms of data access. For relational data the Universe might be seen as a common base. But not even 10 years after Crystal Reports was bought by BusinessObjects, and not even in the new Crystal Reports for Enterprise version which was built from scratch we see equality of how you can connect to datasource compared to e.g. Web Intelligence. The same with BW connectivity. When I was at the sapInsider conference BI2014 two weeks ago at Nice / France, I had to learn once again from Ingo Hilgefort that Web Intelligence lacks some basic functionality like Zero Suppression even now having BICS based direct connectivity to BW. The same with HANA connectivity where Crystal supports HANA connectivity using an OLAP connection but Webi doesn’t. The same with Web Services connectivity and I cut continue the list for a while. From an architectural perspective I just ask: Why?

Another commonly cited issue is the charting library. Still there is nothing like common charting capabilities, the different tools still differ quite heavily in terms of what they provide as chart types and options, not to talk about the missing option to plugin a custom charting extension to all BI tools but only specific ones.

To sum up this first part: SAP’s job isn’t done by simply reducing the number of tools. They need to make sure that the remaining tools share some commonly expected features. Don’t let data connectivity or charting options be the differentiator between the different client tools.

I already wrote certain blog posts about BOBJ tool selection. Whereas the later posts were tool agnostic, the first one was very concrete. In this article I outlined some major differences (especially short comings) between the tools. On this background let me formulate my personal wish list for the future BOBJ tool consolidation:

  • Merge Crystal Reports into Web Intelligence: I know, according to Steven’s statement above this won’t gonna happen as Crystal is considered a core technology. Still, give this thought a chance. There isn’t that much missing between Crystal Reports and Web Intelligence from a feature perspective. Conditional formatting, interactive alerts, some more export formats, hierarchical grouping for relational data and a more powerful formula language. Being a Crystal Reports consultant for more than 12 years I’m not really happy with this thought in a first instance as I really like the tool. But if imagine how I could leverage certain Crystal Reports features with the powerful capabilities of Webi, it sounds very promising to me.
  • Merge BO Dashboards / Xcelsius “visuals” and input controls into Web Intelligence, Design Studio and Lumira: Stop the thinking that “a dashboard” is a matter of the tool. From a business perspective a dashboard has more important elements than just to be fancy and highly interactive. Depending on the business requirements you can build a dashboard in many tools including Design Studio (more app style dashboards), Lumira (more the ad-hoc kind of dashboard) and Webi (if you want to have more sophisticated data  capabilities and the fully fletched platform support like scheduling / publishing, control user actions with rights etc.) So please share the visual components we find in BO Dashboards today to various tools like Webi, Design Studio and Lumira.
  • Merge Explorer and Lumira – and think about the “feature preservation”. Don’t forget to add the “Export to Webi” somehow to Lumira.
  • Merge LiveOffice into BO Analysis, Edition for Office. LiveOffice is still very powerful, but I think we don’t need two separate add-ons.
  • Merge Analysis OLAP into – I’m not sure, as I’m not very used to this tool. Regarding the BW connectivity issues I’d like to see the Analysis OLAP capabilities in Webi. And / or you can add an OLAP grid / control to Design Studio.
  • Merge the predictive tools like Infinite Insight and Predictive Analysis into one joint tool.

How do you rate my wishlist? How does your wish list looks like? I’m looking forward to reading your comments soon!

[Update June 12th 2014] The guys from EVTechnology wrote an excellent blog regarding their findings from SAPPHIRENOW. There you can find the following screenshot:

SAP-BI-Platform-Simplification-500

Not too far away from my wishlist though 😉

In addition Tammy Powlas documented an interesting webcast regarding Crystal Reports for HANA. I just hope that at least the HANA direct connectivity will be added the same way to Web Intelligence…

 

The bug paradox: When fixing the bug leads to wrong reports

My workmate Christoph Gnodtke wrote an excellent blog about how to identify SAP BusinessObjects Web Intelligence reports which are impacted by various calculation changes in newer BO versions. What I would like to point out here is that not only BO 4.x migrations are concerend but also “simple” service / support package upgrades e.g. from XI 3.1 SP2 to SP6. In my current customer case we’ve found many many reports which obviously were created in a wrong way, namely that the table structure contains the merged dimension (e.g. [Merged Country]) where as the cells within the row use a variable containing e.g. a Where operator using the original dimension ([Query1].[Country]). In our case the business requirement would have been to use the merged dimension here as well. As outlined here, in former BO support package levels a bug resulted in the effect, that the just mentioned example still showed what the business expected. Now (e.g. in XI 3.1 SP6) that the bug is fixed, the reports start to show wrong values. Although the software 360Eyes doesn’t solve the problem, it at least helps to identify concerned reports. Unfortunately we still need to look into every single report and compare between the version running on the XI 3.1 SP2 environment and the SP6 environment. In order to speed up this process we use 360Cast. This software provides similar features like BO Publications e.g. for report scheduling and bursting. The main advantage namely in the case of report testing are two fold (compared to BO out of the box features):

  1. Report selection for a schedule job can be done using good old BO categories. That means you can assign e.g. a test category to all reports you want to test in one single run. In our customer case we use categories for each data mart. In 360Cast, instead of choosing every single report individually, we just choose to select all reports of this test category.
    CategorySelection
    In order to run all these reports with one single click there is just one thing missing: Providing all the necessary prompt values, often the same values for the same prompts (like Year) over many reports. This is where the second advantage comes into play:
  2. To provide prompt values 360Cast accepts both manual input values (where a value can be applied to a all prompts with the same name) but also values from an Excel sheet (or even from an SQL query). We usually use the Excel alternative. Based on this we can easily vary input parameters for different test purporses by simply using another Excel sheet. In addition we can specify the export format and the recipients, e.g. by providing an email address.
    PromptSettingMapping
    (The values in the drop down menues correspond to the columns in the underlying Excel spreadsheet)

After all, also 360Cast doesn’t solve the initial problem. But at least we don’t need to run every report (identified by 360Eyes earlier) on its own but can automate the refresh process and we can easily rerun reports (e.g. with different prompts by simply modifying the values in the Excel list).

The Generic BI front-end Tool Selection Process

Finally – I’m blogging again. Time flew by and “my life as a BI consultant” kept me busy with migrations from Oracle to Teradata or from BO XI 3.1 SP2 to SP6. Or maybe you’ve also heard about our BusinessObjects Arbeitskreis (can be translated as “workshop”), I’d call this the “only BOBJ dedicated conference in Europe”: www.boak.ch It was a pleasure to build and execute an interesting agenda for our participants as well as welcoming great people like Jason Rose, Mani Srini, Saurabh Abhyankar, Mico Yuk or Carsten Bange. I also had the pleasure to do the closing key note during BOAK. It was around BOBJ front-end Tool Selection. I used this opportunity to further develop a generic yet simple method how to approach the frontend tool selection. The basic idea I formulated already in my last blog post back in April 2013. But I agree with some of the comment writers that this first rule of thumb was maybe to specific to be applied in all situations. Therefore let me share what I think is a more generic approach – by the way you can use this of course for other BI vendors and not only SAP BusinessObjects (the following illustrations are just examples – the listed and selected tools don’t have any concrete meaning!):

PART A: Preparation
Step 1: List all available BI front-ends

The first thing to do is to get an overview what BI front-end tools are available in general from a specific BI vendor. As I’m a big fan of working interactively with people, e.g. gathering in front of a whiteboard or flipchart, I suggest you write down product names to sticky notes and post them on the flipchart:

Step01

Step 2: Divide tools into “in scope” and “out of scope”

Depending on your environments you can do a first, yet very rough tool selection and divide the intially listed tools (see step 1) into two groups:

“Out of Scope”: This is maybe easier to start with: If you don’t have SAP BW as a source, you can eliminate all tools working with BW only. Or if your security policy prohibits the use of Flash, maybe Explorer or Xcelsius are out of scope a priori.

“In scope”: All the tools which are not out of scope.

Step02

PART B: Build a working hypothesis
Step 3: Select the tool which covers most of your requirements

This step assumes that you have quite a clear understanding of your business needs to be solved with a BI solution. I’m fully aware that this is often not the case. But to keep the basic process for tool selection as simple as possible I won’t go into details about how to find the “right” requirements. Not yet, but maybe in a further blog post.

Anyway, let’s represent the total amount of requirements symbolically as a circle. Now think about which tool has the broadest coverage of your requirements. Take the sticky note and put it onto the circle. Please be aware that this is only a “working hypothesis” – trust your gut feeling – you can always revise your tool choice later on in the process.

Step03

Step 4: Select the tool which covers most of your left over requirements

Repeat step 3 and think about the tool which might cover most of your left over requirements and put the corresponding sticky note into the circle.

Step04

PART C: Validate your working hypothesis

Nothing is more annoying than “strategies” which exist only on paper but cannot be transformed into reality. Keep in mind that you’ve just built what I call a working hypothesis. Now you should validate it and test against the reality. It will either prove your gut feeling regarding tool selection was right or wrong.

So far you have selected two tools. They represent a selection hierarchy. For any given or new requirement (or group of requirements) you should now do a hands-on test. Always start with the first chosen tool: How well can you implement the requirement? Does the implementation fullfil your expectations? What do your end users think about it? Do they like it? For now I leave it up to you to define the “success criteria” to decide in which case a prototypic implementation passes the hands-on test and when not. Anyway, if the implementation passes the hands-on test, you should go with tool #1 for this kind of requirement now and in future situations.

If the implementation fails the hands-on test for tool #1, go forward to tool #2 and do a hands-on test again with this one. Hopefully your prototypic implementation now passes the test and you can define to go with tool #2 for this kind of requirement now and in future situations.

Step05

What happens if a prototypic implementation fails the second hands-on test too? There are three alternatives:

  • If you fail the second hands-on test for let’s say <10% of requirements, you should think about a specific solution for these obviously very special requirements: Mabye you simply continue to solve these requirements “manually” in Excel? Maybe you need to buy a niche tool for it? Just find a pragmatic solution case wise.
  • If you fail the second hands-on test for let’s say <30% of requirements, you should think about adding a third tool to your tool selection hierarchy.
  • If you fail the second hands-on test for let’s say <60% of requirements, you should definitely revise your working hypothesis and play through another tool selection hierarchy.

Closing Notes

I’m fully aware that the outlined process is simplistic. That’s why you might not be able to use it “as is” in your current frontend tool selection project. But it shows the basic idea (namely to build a tool selection hierarchy and validate it with hands-on tests) on how to narrow down the number of useful tools in a given context – and it is your job to apply respectively adapt it to your environment. Let me know what you think about it – and how it works in your environment!