Hi guys,
I'm working on extracting finance and inventory modules into an SQL database from ECC using BODS.
Problem comes when using delta extractors type AIE (after images only) like GL_10 or GL_4 since we must use Table comparison in our dataflow so BODS knows whether records have to be inserted or updated.
This is simple, in BODS we have two dataflows, Init and Delta.
The init dataflow does not need anything other than Source extractor, query transform, key generation and target SQL table:

As the logical primary key of this table would be all columns except the amount and quantity columns, we have added an additional surrogate key as the primary key, and we fill it using the key generation object. This will basically generate a unique ID for each record.
The init load will just extract all records and will assign a unique key to each.
The delta dataflow is a little different. Since AIE extractors bring only after images, we need to use table comparison to understand whether the source record already exists in the target, and if it is different, BODS will update the target table record with the new value. If we don't use table comparison, changed records coming from the delta will be inserted rather than updated, and we will end up with duplicated data.

It works fine from a technical perspective, delta records are inserted if new, or updated if represent changes. Problem, big problem, is performance.
With GL line items, we currently have a scenario where delta loads are taking more than 24 hours to process 2000 records. This is not acceptable.
So guys the question is, is there any other way to get the delta functionality for AIE working other than using table comparison?
Thanks
Request clarification before answering.
Thanks Dirk.
I'm already using row by row which seems to be the most appropiate method for my scenario since the target table is much larger (100+ million records) than the incoming source (1 o 2K).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Which Comparison method are you using?
See
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Sorry Ravi but I think you are wrong. Check this blog:
https://wiki.scn.sap.com/wiki/display/EIM/Dataflows+for+each+Extractor+Delta+Process+Type
The approach used in BODS depends on the type of delta each of the extractors have. Just think about it, if you have an extractor that delivers only after images, how the map CDC operation could now which rows to update or insert in the target.
Map CDC works with extractors that deliver before and after images.
Anyone with knowledge on BODS + SAP extractors?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Andres, No need to use table comapariosn when using ODP extractor.
Please refer below link and use CDC extraction mode. Go throught the below link and refer to the 3.SAP EXTRACTOR topic and change your dataflow accordingly.
https://blogs.sap.com/2017/03/13/extracting-data-from-sap-ecc/
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.