Anda di halaman 1dari 46

SAP BODS -Introduction

AIM:- The purpose of the tutorial is to give a novice a good hands experience on BODS product to be able to create his/her own local repository , configure job server, start his basic job development and execute the job to extract data from source systems and load data to target systems after performing transformations, look-ups and validations. What is BODS:- It is an ETL tool currently acquired by SAP used for integration with all types of disparate systems, extracting data from them, transforming them into meaningful information and loading them into all types of systems. It is tightly integrated with SAP systems and hence really a good tool to migrate data from legacy systems to SAP systems with ease and less development efforts with effective debugging and monitoring capabilities. How to get started?:After getting BODS installed on the machine, you can see the following on Start>All Programs

There are several components installed as part of SAP BODS 3.2 installation. In the recent release like SAP BODS4, there has been improvements on the architecture , components and the enhancement features in several transforms. However, the BODS Designer looks pretty same on both 3.2 and 4.0 versions. The major enhancement is in the Validation Transform in 4.0 which facilitates developers to switch on and off the validations flags easily for one or several columns. What to launch next- Normally, the developers would like to start BODS Designer to start developing jobs straightaway, but it is always good to start creating own local repository first so that you have full control on your own development environment without any dependency on others. In order to create your own local repository, it is important to know the database where you are allocated space quota to create the same. It depends on the database vendor like Oracle, SQL Server, Informix, DB2, etc which you have currently access to.

However, BODS installation comes with default mySQL database, which you should have installed on your system. There is need of user/schema and database creation on my SQL which can be easily done by DBA. Once user /schema and database name information is assigned to you, you can create the local repository. Next Screen shows the BODS Repository Manager which administers you to create local repository.

As you need to create your own local repository to do your own development activities, you need to select the Repository type as Local.

Now you need to choose the Database Type/vendor, where you want to create repository on. Since as mentioned earlier, mySQL database comes shipped with BODS product, it is convenient to create repository on the same. Hence, choose MySQL in Database type.

MySQL Database type requires you to choose ODBC data source. Therefore, you just need to configure ODBC with necessary parameters. All you should know is your user name and password and database schema name. Next screen helps you how to configure ODBC datastore:Launch ODBC from Control Panel>Administration tools>ODBC

Go to System DSN tab.

You can find several default added DSN names. If you want a dedicated DSN for yourself, you should be able to add yours. Click on Add button.

Select the driver MySQL ODBC.( Please note that the version can be different, hence you need to ask admin team if there is any discrepancy, but all what you want is mySQL driver).

Now, you need to supply information as below: Data Source Name( it can be as per your desired name). Server name- local User-(as given by DBA) Password (as given by DBA) Database (as given by DBA) After having provided all the information , you would like to go for testing the connection. So, click on Test button

You can see your newly created DSN name in the screen below.

Now, launch again the Repository Manager and check in ODBC drop-down for newly created DSN name.

If the name is not visible, then you need to go to ODBC again and re-configure. If it is listed now, you can proceed with the next steps.

You again need to provide all the mySQL login credentials and database name above as you did earlier for DSN configuration. Select the flag Show details. It gives you all the information what version it is and all the other details when you start creating local repository. Now, hit the Create button. You need to wait for some time for the repository to be created. Follow the next screen.

You should see that local repository was successfully created

You can check for the version of the repository as well by hitting Get Version. Now, it is time for the most important work. You need to launch BODS Designer to start your development activities. Go to All Programs>SAP Business Objects XI 3.2>sap Business Objects Data Services>Data Services Designer

Provide all the information you used in creating local repository a while ago.

Now, you get the screen layout. There are basically three important areas you need to undertand.

1) Local Object Library:- It contains all the necessary objects used for the development of jobs. 2) Project Area:- It contains all the jobs which are ready for execution or you are currently working on. 3) Workspace area: The bigger space, where you actually design your job. Start development Right on empty space in local object area/click on Create Project under Getting Started in the main page.

Create with any name like above

You can find it in the top left pane (project area).

Right click on the project name and select new Batch Job.

Give any name to the new job as shown.

The job is created. No, it is not!!! You need to create dataflow under it.

On the right hand side, you can see the list if icons. You click-once the dataflow and click-once on the workspace area (bigger area)

Name the dataflow as per your wish. It should start with DF_.

Now, you need to define the source structure. In this example, we are using the flat file as source. So, we will create flat file format. Go to formats tab in local object library as below:-

Right click on the flat file and select new.

You will get the File Format Editor as shown above.

Now, you need to define the structure of the input file.

In this example, the input file has 3 fields EMP_ID,EMP_NAME and EMP_DEPT. Click under the field name and add the field names. Under Data type choose relevant datatype like int for EMP_ID, varchar for EMP_NAME etc.

In the left hand side, click on Root directory folder to browse to the correct path where the input file is placed . Click on File name(s) and you should be able to browse to see the input file. Follow the next subsequent screens.

In this example, the input file is a text file which has 2 records as shown below:-

The text file contains the first row as header defining the field types. The next 2 rows contain data. Since, we already defined the flat file format structure with field names, we can ignore the first row header (shown in the next screen)

When you try to save and close the file format editor, it gives you the above warning. If you have defined the structure with field names in your file format editor, you should select no, else it will overwrite with input file provided in the file name. Here, you select no. Ignoring the row header Now, since we have already defined the file format with our field names, we do not require the row header provided in the input file. So, ignore the row header. See the next screen.

You find the flat file format created as shown above.

Now, you need to use this file format as source in your data flow. Drag and drop the file format in the workspace area and make it as source.

Click once on the Query icon on the right hand side and click once on the workspace.

Name the query and join it to the source file format.

Now, you need to define the target. In this example, we are loading to table. So, we need to create a datastore(logical connection to database).

Go to datastores tab in local object library and right click on the blank space.

You will get the above screen where you need to provide inputs. Datastore name:- as per your choice. Datastore type;-Database Database type:-mySQL( in this case, as we are using my SQL database for staging tables)

All over again, you need to provide all login credentials and database name as you provided earlier for creating local repository. If you are using another database for staging tables, you can use information provided by the DBA.

You see the datastore created. Now, you click once on the template table icon in the right hand side and click once on the workspace

You need to define the name of the target table as per your wish. Click on OK

Now, join the query transform icon to the target.

But, we have not still mapped the fields from source to target. Click on the name of the query.

You will find that, there are three fields in the source. You would like to map all the three fields from source to target

Drag and drop each field from left pane to right pane one by one. Now, try to validate that the design has any errors or warnings Click on validate current icon

If you get the following warnings [Source File:"EMPLOYEE.txt"(EMPLOYEE)] Job Server error (the Job Server may not be responding). The directory for the file <C:/EMPLOYEE.txt> cannot be validated to ensure that it is valid at design time. Ensure that the directory is valid by run-time. (BODI-1110017) It was expected. The job server was not configured.

Did you see the icon

Please remember that you have BODS server components installed on your machine and so you are responsible to configure Job server as well. Launch Server manager

Click on Edit Job server config.

Click on Add and then OK.

Provide Job server name as per your wish. Click on Add.

In the Repository Information section, provide the local repository details. Click on Apply.

In the associated repositories, the repository name will be reflected. Click on OK.

You can now see the name of the Job server configured. Click on OK.

Click on Restart in the window

Click on OK to restart Data Services service. Close the designer. Re-launch the BODS Designer.

Double-click the project where you have your job developed.

In the project area, right click on the job and select Execute.

You will see the Job server name listed that you configured earlier. Click on OK.

You find the job executed successfully!!! The good challenge is when job fails. Now, we see what records have been added. Go back to the dataflow.

Click on the small view lens Source first:-

on each source and target.

Target now:-

So, we find that data is loaded from flat file to database table.