cancel
Showing results for 
Search instead for 
Did you mean: 

Delta Mechanism Type CALDAY for Generic Extractor

0 Kudos
889

Hi All,

I am a SAP BW Consultant, currently working on a project and there is a possible requirements to create generic datasource/ extractor for several table. Here, I just want to ask, whether the information that I share is proper to be sharing knowledge or there is still some not correct information which need to be corrected and I also want to ask some question about this topic.

~

So, the case is, I have a table with column AUFNR as a key, and two date columns, they are CREATE_DATE and CHANGE_DATE. As you can see in the picture attached, Create Day's column just to show when the Order Number is created and not one of the table's containing column. Let's suggest that the initialization was done on 01.01.2022 and normally there is two data records added to the generic extractor table. My concern show up, that is to pick CHANGE_DATE as delta type for CALDAY rather than pick CREATE_DATE.

~

This is the explanation that I want to confirm :

In the picture above, let's suggest, I pick CREATE_DATE as delta, on 06.01.2022, then, when delta on that day is running, 1 delta record was not fetched. The record is :

That is because the CREATE_DATE value 01.01.2022 as delta, so in the generic extractor table has the data with that same CREATE_DATE, when the initialization on 01.01.2022 was done and that record was mark as not delta, but we know that is wrong.

For avoid that kind of mistake, I prefer use the most update date column for become the delta, in this case, column CHANGE_DATE. As you can see, when delta is running on 06.01.2022, the delta record with CHANGE_DATE = 05.01.2022 was fetched.

Why delta on 06.01.2022 only fetch CHANGE_DATE = 05.01.2022 ? This is because, the setting I've used :

*Delta will fetch data from 2 days ago, but exclude today's data (curr. date), e.g. current date is 06.01.2022, so the delta will fetch data from 04.01.2022 to 05.01.2022.

For delta on 07.01.2022 only fetch data record for CHANGE_DATE = 06.01.2022, because CHANGE_DATE = 05.01.2022 data record was fetched on 06.01.2022 delta running.

For the explanation above, please tell me if there is still some incorrect information.

Now, we can move to some question from mine, they are :

1) The question is why SAP provide Lower and Upper Limit for generic extractor delta's mechanism ?

What I think is the Lower and Upper Limit act as delta data record's recover when the process chain error. For example, we have process chain that running on several days. For further detail, we can see picture below :

If the process chain on 02.02.2022 until 04.02.2022 was error, the process chain on 05.02.2022 can still fetch the delta from date 02.02.2022 and will sure get the delta if process chain on 05.02.2022 is finished succesfully.

2) What happen if I set Lowet Limit = 2 and Upper Limit = 1, with example current date 05.01.2022 ?

Whether there will be an intersection between Lower and Upper Limit? If yes, in this case that is useless, because we can just use Upper Limit = 1 and leave Lower Limit = <Blank> instead and still get the same result.

~

Please tell me the answer and feel free to correct the information I have given. Thanks for put on some time for seeing this post, hope you have a great day!

Best Regards,

Clement A. S.

Accepted Solutions (0)

Answers (2)

Answers (2)

appel_solar_dk
Active Participant
0 Kudos

Hi Clement

I'm a believer in trying things out when I want to learn something. Try it out it will be much more convincing and much faster than I try to make an explanation. It's easy to test these things and without risk so just do it.

Regards

Kristian

appel_solar_dk
Active Participant
0 Kudos

Hi Clement

A lot of good observations that you have made.

Fist about created date / changed date. A record will always have a created date, but it will depend on the application if change date is filled from the start! Often you will need two generic extrators one running on "created on" and the other on "change date". You also need to consider if the application can delete rows completely. If so you can't trust the generic delta and you must use full load (or maybe use a full load once a week to clean up depending on the impact). You really should look into using SLT instead (if the company have a license) it's so much better.

The lower / upper limit is in my understanding to give an overlap for safety reasons, it's not about failed processes as the last extraction date is written into a table (seen in Tcode RSA7).

E.g. you load at 3 AM you will get 3 hours of todays data, tomorrow you will not get the rest of today without having a one day overlap.

The lower and upper limits are generic, in some cases it could point to a document number (where you know the numbers are coming in sequential and you know that there isn't changes to documents).

Regards

Kristian

0 Kudos

Thanks so much for the reply Sir,

I aggree about use SLT instead of Generic Extractor, but in this project we don't have SLT connection as you said need a license first. When I post this information and question, I am in dilemma to pick the right delta field for table AFRU, as I know that there is not exist the most update field date in AFRU (Please refer to this discussion : https://answers.sap.com/questions/8513449/dillema-in-selecting-delta-specific-field.html). So, I rather choose pseudo delta now.

~

I am a little bit confuse about what one day overlap mean, whether it's mean after delta load at 3 AM yesterday, we still can fetch yesterday remain delta on today's delta load at 3 AM too, because lower/upper limit give or allow an overlap ?

Please explain more detail in what process or case, the overlap is use?

~

And can you answer my second question too as well?

2) What happen if I set Lowet Limit = 2 and Upper Limit = 1, with example current date 05.01.2022 ?

Big respect and appreciate for the next suggest and answer Sir?

BR,

Clement A. S.