Wednesday 28 March 2012

Update Generic Extractor Parameters Directly

Sometimes we face a need to adjust generic extractor parameters directly in the production environment. For instance Safety Interval Upper Limit can be technically adjusted in the source development system and then transported to all environments including production. However, when the generic extractor is used in production on a regular basis and if the table it is based on is constantly updated it becomes difficult to re-initialize the relevant datasource without a complete stop of the Production environment. In the case like this we need to have an option of adjusting extractor’s parameters directly without its reactivation.

Case Description:

If the Safety Interval Upper Limit has to be increased, for instance, from 30 minutes to 60 minutes, according to the standard procedure we have to make the change in the Development environment (Transaction Code RSO2), transport it all the way to production and re-initialize the delta process.
Safety Interval Upper Limit may need to be increased when processing vast data volumes, specifically in cases when 30 minutes is not a sufficient time gap between the table record creation and the Commit performed in the database. When this setting is not high enough we may be losing delta records during extractions.

However, re-initialization is not a good option in cases when the extractor’s underlying table is updated permanently with new entries. In such scenarios we risk either losing data or receiving duplicates.

Of course, if business allows stopping Production environment for some time, we may be able transporting the change using a standard process. For that we need to do the following steps in the production source system when table update processes are inactive:

1. Run appropriate delta extraction to empty the delta queue.

2. Transport the extractor change.

3. Empty the extractor’s underlying table.

4. Re-initialize corresponding datasource.

5. Resume production environment processes.

However, in some production environments interruptions are not allowed even for a few minutes.

Solution to Apply in Production:

Instead you may correct the safety intervals directly in production as follows:

1. Use transaction SE16 to maintain the ROOSOURCE table.

2. Select the entry with the relevant DataSource.

3. Set the DELTASAFE2 field to 3600 instead of 1800.

This procedure allows adjusting extractor parameters without interrupting transactional production environment.

Please Note: Not every parameter of an extractor can be adjusted directly like this without harming existing delta processes.

No comments:

Post a Comment