. 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:
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.
DATA: lv_timestamp TYPE /bic/oiztimestmp.
CONCATENATE sy–datlo sy–timlo INTO lv_timestamp.
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.
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.