Data loading from SAP ECC Extractor to SAP HANA using BODS
Purpose of this document is to showcase the functionality of SAP Business Objects Data Services to extract data from predefined SAP ECC datasources(Extractors) and load it in SAP HANA.
What are Extractors(Datasources) –
- Extractor is a new object type available in SAP Application Datastores starting with Data Services 4.0
- This object type represents SAP Business Suite Content.
- There are two ways to consume the extractors: with the Operational Data Provider (ODP) interface or without.
Types of Extractors –
1 Application Specific-
These are SAP- predefined extractors.
This is predefined combination of different logical fields.
E.g. LO,FI etc.
2 Cross Application-
These are created when none of the SAP- predefined extractors meeting the business requirement.
Generic Data Sources will be created from :
Database views or SAP query
Functional areas or via a function module
Steps to release the datasource(Extractor) from SAP ECC system :
Login to SAP ECC systems.
Use below TCODE to release the datasource(extractors) from ECC :
- RSA5 – To view all supported datasources.
- RSA6 – To view all activated datasources.
LBWE – Activate/Maintain datasource
SBIW – Delete/fill setup table
RSA3 – to view the specific extractor data(Provide extractor name in datasource)
Create Datastores in SAP BODS :
Create two separate datastore connection for SAP ECC and HANA :
ETL steps to load Extractor data in SAP HANA :
Import the source extractor in SAP Application Datastore
Below is the structure for source columns :
Create/import metadata in HANA.
Import the target table (below is the target table structure) :
Create a Batch Job.
Create a Dataflow and add it to the Batch Job.
Add the extractor to the Dataflow.
Open the extractor.
Make sure the Initial load drop down list box has the value Yes ( As we are doing Full refresh here) :
Add a Query transform to the Dataflow and connect it to the extractor.
Add the target table to the Dataflow and connect it to the Query transform.
Open the Query transform and map the fields you want to retrieve.
Open the target table and check the “Delete data from table before loading” checkbox for initial load.
The resulting Dataflow should look something like this…
Delta load :
- Extract only the changed rows from the source.
- It is also called incremental extraction.
- This method is preferred because it improves performance by extracting the least number of rows.
- When using Business Content Extractors, you have to check to see if the extractor you are using has delta recognition capabilities.
- When you use an extractor that has delta recognition capabilities, it has the following two fields:
- I for INSERT
- B for before-image of an UPDATE
- U for after-image of an UPDATE
- D for DELETE
These two columns are used to process delta load :
DI_SEQUENCE_NUMBER – is used to determine the order in which the rows are processed. This is very important since there can be many updates to a single row and the updates on the target need to be applied in the same order as they were applied in the source.
DI_OPERATION_TYPE – is used to determine how to process the rows, as described in previous slide.
Execute T code in ECC : VF02( to create delta record for billing condition in ECC as we are doing this job for Billing Condition datasource 2LIS_13_VDKON )
Select the ITEM, go to condition tab and make the change in any of the attribute.
Execute T code in ECC : RSA7( to view the delta records) .
In BODS, Make sure the Initial load drop down list box in extractor source has the value No ( As we are processing Delta load here) :
Execute the batch job in BODS.
Provide the extractor name and verify the data and count in ECC using TCODE : RSA3
- With this job, we can conclude that SAP Business Objects Data Services can be used to extract data from ECC datasources(Extractors) and data can be easily loaded to HANA.
- This can be effectively used in scenarios where predefined datasources needs to be used to load standard extractors data to different targets as per the business requirement.