Sunday, June 8, 2014

Lesson 1 : What is SAP Business Objects


In my previous post, I discussed on how to choose your interest (software field). As I said, that was my attempt to help the college grads in choosing the technology they like. Going forward, I would be discussing about SAP Business Objects only.

As we all know, SAP BO is a reporting tool. It is also called as data warehousing tool as it acts as a layer between database and user. Let's look into a little history about this tool.

History and Evolution :


Bernard Liautaud co-founded Business Objects in 1990 together with Denis Payre and was chief executive officer until September 2005, when he became chairman and chief strategy officer until January 2008. In 1990, the first customer, Coface, was signed. The company went public on NASDAQ in September 1994, making it the first European software company listed in the United States. In 2002, the company made Time Magazine Europe's Digital Top 25 of 2002 and were BusinessWeek Europe Stars of Europe.
On 7 October 2007, SAP AG announced[2] that it would acquire Business Objects for $6.8B. As of 22 January 2008, the corporation is fully operated by SAP; this is seen as part of a growing consolidation trend in the business software industry, with Oracle acquiringHyperion in 2007 and IBM acquiring Cognos in 2008.
Business Objects had two headquarters in San Jose, California, and Paris, France, but their biggest office was in Vancouver, Canada. The company's stock was traded on both the Nasdaq and Euronext Paris (BOB) stock exchange

Various Versions of SAP BO till date :

Please check the below link for the detailed list of release dates and the evolution of BO logos.
http://www.romanov-memorial.com/bobti/en/art_historique.htm

Please note that there is a misconception in the market about the versions of SAP Business Objects. The most common questions asked in any interview are if you have worked on XI R2 or XI R3. That's wrong. If you see the above link you would see that, after the version BO XI R2 (Release 2), there isn't any R3 but BO XI 3.0, BO XI 3.1 etc., Then, it went to the version 4.0 and 4.1. But, people have the misconception that BO XI 3.0 is BO XI R3. They are not the same. Somewhere I read that SAP renamed the new versions as XI 3.0, XI 3.1 etc., to avoid confusion about its other product SAP R/3. So, please consider this naming convention going forward.

How SAP Business Objects works :

As SAP BO is a reporting tool, we use it on any database to get the reports required by the management. First, let's see how SAP BO works. 
There are few major components in SAP BO. We'll see one by one. The most important component of BO is Universe Designer. This is the heart of Business Objects tool. This is where everything required for the project is designed. As BO is a tool, we use it on top of any given database to get the data. We use Universe Designer to graphically see the tables in the database and make joins between them. As we know, the database is a collection of tonnes of tables. So, to get any report, we have to access the concerned table to fetch the data. Sometimes, we may require to get data from multiple tables. In such cases, we have to join the tables with a query. As we write query, we cannot really see how the tables are joined visually. That can be overcome by using the Designer. 
Basically, Universe Designer is a window through which we can import the required tables from the database and make the required joins. 
Here's a glimpse on how the Universe Designer looks like.


I would explain going forward on how to get the tables and make joins. Just for now, I wanted to show how the Universe Designer looks. The blocks you see in the above picture are the tales from the database. You can also see the lines between the tables which are nothing but joins. We'll cover that topic going further. 
What we learnt here is, when given a requirement to get a report from the database using multiple tables, we open Universe Designer to Insert the tables on to this window and make joins. It's just the visual representation of how the tables are joined. The combination of all the tables required to get the report is nothing but Universe. We use this Universe as the input to the next component to design a report. 
There are few components to build a report based on the version of the Business Objects you are working on. They are,

  • Desktop Intelligence (DESKI)
  • Web Intelligence (WEBI)
  • Web Intelligence Rich Client
We use any one of the above component to design the report. Desktop intelligence is the mostly used one as it was available till version 3.1 and its a client machine installed application. The others are Webi and Webi Rich Client which are a little graphically advanced but do have the same features as a Deski. Depending on the client and report requirement, a developer chooses one of the above to design the report. 

Here's how Deski and Webi Rich Client looks like..




Once the report is designed, it should be handed over to the users. Users can get reports in multiple ways. One way is that the developer builds the report and copies it to an excel sheet and send it over to them. The other way is they upload the reports on to a portal called BO Infoview. This Infoview is a Java powered online portal which can be accessed through a web link and need not be installed on any machine. 

Here's how Infoview looks like..



What we learnt today is, we use Universe Designer to import the tables from database and make any joins required and use Deski or Webi or Webi Rich Client to design the reports and finally Infoview to see the reports.

We'll discuss these topics in details going further.

Monday, June 2, 2014

Choosing your interest

Hello All,

Though my attempt here is to discuss about SAP Business Objects, I would like to go in deep about the software field and how to choose the platform that suits your interest. My intention is, that any person with little or no knowledge on IT(Information Technology) field should be able to understand what exactly happens in there right from basics.

After completing my graduation, I started to think on what technology should I choose. Believe me, that was the toughest ever task in my life. Started taking advises from friends and family. Everyone suggested a different technology. There were many suggestions like Java, .Net, SQL, Oracle, Testing tools, Data Warehousing tools, SAP, Peoplesoft etc etc etc., Finally, I wanted to do some research on what are the various technologies available and where do they fit and how do they work.

In my research, I discovered a lot of things which were new to me then and excited me a lot. As I said, I was a fresh college grad and have absolutely no knowledge on which technology to choose from. I found out that, to choose a technology, I have to choose the software path first. The path I mean here is the Software type.

I would explain this by taking a company's day to day activities as an example. Take a company ABC. When the company first started, there would be very few employees. To manage the day to day activities, they need to keep a log of what's happening in all the departments. If that was in olden days, we used to have files and ledgers with written data. As this is Computer age everything is being replaced by a computer or some sort of auto storage device (I am talking here about company data). 

Our ABC company is an online goods seller. People log into their website to purchase goods and the company ship them to the customers. Say, our company has few departments.

  • Management
  • HR (Human Resources) 
  • Stock
  • Packing
  • Shipping
  • Customer Service
As our company is just started, there would not be many orders from the customers (Here, the company is using a third party website provider to market themselves). Fulfilling few orders was not a tough task as they have enough man power. Here comes the main scenario. The company wanted to get the log of what's happening in each department to track the company's progress. The management wanted to know about the functioning of the company, HR department wanted to know about how the employees are doing, Stock department wanted to know the stock in the company etc etc., To access all this information, they have to have a sharable file. They choose Microsoft Excel to start with, as the company is still in the budding stage.

MS Excel is a spreadsheet with grids that allows you to store information. They started storing all the information regarding their employees, stock they bought, stock in the warehouse, number of orders till date, customer satisfaction levels and their contact information. Then, started their first issue. It was very hard for them to share the excel files among themselves as there is only one excel file for each department. Sometimes, one department wants to access information from other departments like, the management wants to see the number of employees and their salaries so that they can estimate the profits. In the same way, the customer service department wants to  access the file from stock department to see if they can help customers in placing new orders based on stock availability. So, they came up with a concept of using the shared folder. Anyone can drag and drop the excel spreadsheets into that folder so that it would be accessed by other departments.

As the days passed, they are doing business very well and it was becoming tough for them to manage data using excel sheets. Here comes the idea of using a Database. As the name says, database is a place or location where all the data about the company is stored electronically. Like we store information on excel sheets and then store them in a computer, Information in the databases is stored on Tables. The physical device on which these databases are built is called a Server. One to multiple databases can be built on the Server based on its capacity. There are many databases available in the market today. Few of them are like below..

  • SQL (can be read as SQL or Sequel)
  • Oracle
  • MS Access
  • Sybase etc.,
The data on to these databases are stored in tables. In our example, take the customer service department. As the number of customers are growing, they can't store all the information about the customers in just one table. For the ease of access, they have to split the data into multiple tables like Customer information on one table, Customer orders history on one table, Customer payment information on one table etc., In the same way, all the departments should split the data onto multiple tables for the ease of access, making it a database with say 100 tables with different information from the entire company.

As we understood how to store data onto the tables in the database, we also have to have a process to retrieve the information from the tables. Its not possible like in an excel sheet to open some file and click on the data in the database to retrieve it. We have to use a query language to retrieve the information. Few query languages available in the market are...


  • SQL
  • Oracle
  • mySQL etc.,
Using the appropriate query language for your database, you can retrieve the data in many ways. Sometimes you have to get information from multiple tables and also you might need to implement calculations on the data. All these can be achieved using a query language. By this time, I hope you got an idea on what database is and the way to retrieve information from it. The people who work on these databases are called Database developers.

As our company is growing, they wanted to have their own website. Here comes the concept of Programming language. This programming language has no connection with the above mentioned query language. Programming language can be used to give visual representation of your ideas. When you are creating a website, you might get hundreds or even thousands of ideas on how to create, what to include, how to maintain the website. All these can be achieved using a programming language. Few programming languages available in the market are


  • JAVA
  • .Net etc.,
The developers working on these languages write millions of lines of code to achieve the company's goal in  building a website. Who ever has a creative brain and is willing to work on coding can choose their path as a code developer.

The things I mentioned till here are for developers who create everything from scratch. Coming back to our example, we have the need to load the databases with data. Here comes the concept of Database tools. Database tools can be of any type like ETL (Extract, Transform and Load) tools, Reporting tools, Testing tools etc.,

As I said earlier, all the basic information is stored in excel sheets, these kind of files with the raw data are called Flat files. Flat files can be of any type like excel, note pad, Comma Separated Value (.CSV) files etc., The raw data is stored on these files before moving on to the database tables using an ETL tool. As the name says, these tools extract the data, transform them in the required way and finally load them onto the databases. The people working on these tools are not exactly building anything from scratch but just using the tool to make changes on the data. Few tools available in the market are...


  • SSIS (SQL Server Integration Service)
  • SAP BI (SAP Business Intelligence)
  • Informatica
  • Ab Initio etc.,
Now we understood how the database is created, how the data is loaded on to that, the way to retrieve data and the various varieties available in the market to use these.

Now our top bosses wants to know what's happening in the company. They would like to know the business happening at different locations of theirs and the amount they are earning against their spending. You can't ask them to go and retrieve the information from the database directly. To achieve their task, we have to use the concept of Reporting tools. These reporting tools are used on top of the databases to get the information required by the management in graphical representation. You can show your reports in the form of tables, charts, pie diagrams, guages, heat wave diagrams etc., Depending on the tool, you can even show the reports to the management on their mobile devices like cell phones and tablets as well. Few reporting tools in the market are...


  • SAP BO/SAP BOBJ (SAP Business Objects)
  • SSRS (SQL Server Reporting Services)
  • Tableau
  • Microstrategy etc.,
These reporting tools provides us with tonnes of options to customize the reports as per the business requirement. Finally, I mentioned about SAP BO for which I have started this blog for.

The next one is Testing tools. As the name tells, they are used to test the applications, reports, websites etc., Once a developer completes his/her development, it is the role of the tester to test the application if it's running properly. They test the application with a lot of dummy data to see if all the functionality is good. There are few ways of using testing tools...


  • Manual testing
  • Automated testing
These testers are also called as QAs (Quality Analysts). Once they pass the application, it is all set to go to the customer for daily live use.

By now, I believe most of you got an idea of how exactly an IT system functions and all the pillars beneath it. This can be used in many combinations like an Informatica ETL tool can be used to load a SQL database and on top of which SAP BO reporting tool can be used to get the reports and can be verified by manual testing before reaching the customers. Each of these softwares/technologies are developed by different companies and a combination of all these can be used for the day to day activities in our ABC company.

On top of these, few companies came with concepts called ERP (Enterprise Resource Planning) Packages where end to end process can be brought under one umbrella. These ERPs gives the companies the advantage of using a single package with many modules in it, which helps in right from building the databases through testing. Few ERPs available in the market are...


  • SAP (Systems Analysis and Products)
  • Peoplesoft
  • Oracle etc.,
These companies provide users with multiple modules from their packages which can be used in various parts of the companies like HR, Finance, Customer relations etc., They even provide the users with final user interface from where they can access almost everything they want with few clicks. As these ERPs provide many uses, they also come with a hefty price tag. Only the companies with thousands of employees and millions of dollars as turnover lean towards these.

I hope you now understood how the IT industry functions and the various fields available. As I said, this is my humble attempt to help those who are confused in selecting an IT field. Also note that I limited the usage of number of technologies as there are a tonne available in the market. I encourage you to do some research on them. My only idea here is to distinguish them but not to provide the list of available technologies. So, please decide which suits you the best. All the best!!!

Comments are welcome. Please correct me if I had any mistakes. Thanks!!



First Post

Hello All,

Here's my attempt to share thoughts on SAP Business Objects...