SAP BODS - Beginners guide.docx

48
SAP BODS - Beginners guide By Alok Ranjan 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.

description

SAP BODS

Transcript of SAP BODS - Beginners guide.docx

Page 1: SAP BODS - Beginners guide.docx

SAP BODS - Beginners guide

By Alok Ranjan

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.

Page 2: SAP BODS - Beginners guide.docx

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’.

Page 3: SAP BODS - Beginners guide.docx
Page 4: SAP BODS - Beginners guide.docx

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.

Page 5: SAP BODS - Beginners guide.docx

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

Page 6: SAP BODS - Beginners guide.docx

Go to ‘System DSN’ tab.

Page 7: SAP BODS - Beginners guide.docx

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).

Page 8: SAP BODS - Beginners guide.docx

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  

Page 9: SAP BODS - Beginners guide.docx

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.

Page 10: SAP BODS - Beginners guide.docx

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.  

Page 11: SAP BODS - Beginners guide.docx

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.

Page 12: SAP BODS - Beginners guide.docx

You should see that ‘local repository was successfully created’

Page 13: SAP BODS - Beginners guide.docx

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

Page 14: SAP BODS - Beginners guide.docx

 

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.

Page 15: SAP BODS - Beginners guide.docx

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).  

Page 16: SAP BODS - Beginners guide.docx

 

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

 

Give any name to the new job as shown.

Page 17: SAP BODS - Beginners guide.docx

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)

Page 18: SAP BODS - Beginners guide.docx

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:-

Page 19: SAP BODS - Beginners guide.docx

 

Right click on the flat file and select new.  

Page 20: SAP BODS - Beginners guide.docx

 

Page 21: SAP BODS - Beginners guide.docx

You will get the File Format Editor as shown above.

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

Page 22: SAP BODS - Beginners guide.docx

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.  

Page 23: SAP BODS - Beginners guide.docx

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

Page 24: SAP BODS - Beginners guide.docx

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)

Page 25: SAP BODS - Beginners guide.docx

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.  

Page 26: SAP BODS - Beginners guide.docx

 

You find the flat file format created as shown above.

Page 27: SAP BODS - Beginners guide.docx

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.

Page 28: SAP BODS - Beginners guide.docx

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).

Page 29: SAP BODS - Beginners guide.docx

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)  

Page 30: SAP BODS - Beginners guide.docx

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.  

 

Page 31: SAP BODS - Beginners guide.docx

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

 

Page 32: SAP BODS - Beginners guide.docx

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.

Page 33: SAP BODS - Beginners guide.docx

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

Page 34: SAP BODS - Beginners guide.docx

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

 

Page 35: SAP BODS - Beginners guide.docx

 

Click on ‘Edit Job server config’.

Page 36: SAP BODS - Beginners guide.docx

 

Click on ‘Add’ and then ‘OK’.

Page 37: SAP BODS - Beginners guide.docx

Provide Job server name as per your wish.

Click on ‘Add’.

Page 38: SAP BODS - Beginners guide.docx

In the ‘Repository Information’ section, provide the local repository details.

Click on ‘Apply’.

Page 39: SAP BODS - Beginners guide.docx

In the associated repositories, the repository name will be reflected.

Click on ‘OK’.

Page 40: SAP BODS - Beginners guide.docx

You can now see the name of the Job server configured.

Click on OK.

Page 41: SAP BODS - Beginners guide.docx

Click on ‘Restart’ in the window

Page 42: SAP BODS - Beginners guide.docx

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.

Page 43: SAP BODS - Beginners guide.docx

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

Page 44: SAP BODS - Beginners guide.docx

 

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

Click on OK.  

Page 45: SAP BODS - Beginners guide.docx

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 on each source and target.

Source first:-

Page 46: SAP BODS - Beginners guide.docx

Target now:-  

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