Design option to delete the records from Info provider with flat file source system.
. Business Scenario:
In BW implementations, there is a lot of importance to the data extraction from legacy systems through flat files. We extract the master data and transaction data in structured format from ECC systems to BW. However when we are moving the operational systems from legacy tools to ECC, we can see lot of data extraction from external systems.
In phase of moving our applications from legacy to ECC systems, we need to extract historical as well as every day transactions to BW through flatfiles. Most of the time, we need to bring the data from legacy applications to BW as full loads until and unless the source applications are capable to generate deltas. When the tools are not capable to provide the deltas as like as ECC systems, we build the DSO layer as the staging layer. The DSO that we use in the staging layer help us to generate the after images and before images to the next layer. But at the same time a single DSO is not alone capable to identify the deleted records from the source files that we receive.
Here is the solution that helps us to generate the delta records fom staging layer of DSOS to next layer.
The below picture gives the data flow overview:
. Sample data
In order to understand the business scenario better, the below example is discussed with some sample data and behavior of delta mechanism.
Note: Sample data provided is only for requirement understanding; it does not contain any data from the client (Actual Data).
Sample Transaction Data in the first load:
Company Code
|
Profit Center
|
G/L Account
|
Debit/Credit Amount
|
6. Appendix A
*&———————————————————————*
*& Report ZGL_ZTVARVC_UPDATE_INS_ELIM
*&
*&———————————————————————*
*&
*&
*&———————————————————————*
*this program will update the Table ZTVARVC->LOW field value to timestamp Value for Insight Elim.
REPORT zgl_ztvarvc_timestamp_set.
DATA: lv_timestamp TYPE /bic/oiztimestmp.
CONCATENATE sy–datlo sy–timlo INTO lv_timestamp.
*else
DATA wa_tab TYPE ztvarvc.
wa_tab–name = ZNAME.
wa_tab–TYPE = ‘P’.
wa_tab–NUMB = ‘1’.
wa_tab–SIGN = ‘I’.
wa_tab–OPTI = ‘EQ’.
wa_tab–low = lv_timestamp.
modify ztvarvc from wa_tab.
IF SY–SUBRC = 0.
COMMIT WORK AND WAIT.
ENDIF.
7. Appendix B
DTP filter on
TIMESTAMP between ZIS_D601 & ZIS_D701.
DATA: s_ztvarvc TYPE ztvarvc.
SELECT SINGLE * INTO s_ztvarvc FROM ztvarvc
WHERE name = ‘INSIGHT_ELIMS_TIMESTAMP’.
IF sy–subrc = 0.
DATA temp TYPE /bic/oiztimestmp.
temp = s_ztvarvc–low.
l_t_range–iobjnm = ‘ZTIMESTMP’.
l_t_range–fieldname = ‘/BIC/ZTIMESTMP’.
l_t_range–sign = ‘E’.
l_t_range–option = ‘EQ’.
l_t_range–low = temp.
APPEND l_t_range.
ENDIF.
Good workaround. We ve similar scenario will try to implement it.. Thanks for sharing.
Regards
Shabnam
After a long time had a good document to read..I really appreciate the time and effort you put in to make this doc.
Something concrete rather than presenting just the Basics of BW.
Thanks for sharing this with us..Expect more such documents and blogs from your side.
Regards,
AL
Thanks for sharing this with us
Regards
Sandeep
Good presentation with real scenario. Thanks for sharing Anil.