The company's analysts want to combine transactional data with historical or current master data. Master data should not be inconsistent when looking at different data sets and it must be available at all times. Therefore, you need to regularly load master data to the centrally defined InfoObjects of SAP BW bridge. Thereafter, load transactional data to SAP BW bridge with the implemented consistency checks.
Suppose you have already created the DataSource, InfoObject and transformation. To load data, you need an additional BW bridge object: The data transfer process (DTP). This allows you to add filter criteria and some error tracking properties. For each combination of source, target, and restriction, you create a separate DTP.
![The image shows the purpose of the Data Transfer Process (DTP). It transports records from source data to a target. You can specify a filter condition. In the bottom of the image, you see 3 source records. At the top, you see separate tables for attributes and texts. After applying filter, each of them contains 2 rows. The image shows the purpose of the Data Transfer Process (DTP). It transports records from source data to a target. You can specify a filter condition. In the bottom of the image, you see 3 source records. At the top, you see separate tables for attributes and texts. After applying filter, each of them contains 2 rows.](/service/media/topic/cf955e06-1884-48b6-89f4-0a90f56d2b78/DSPBW1_13_en-US_media/DSPBW1_13_en-US_images/MD_DTP_img.png)
In this unit, you will learn how to correctly load master data into the SAP BW bridge. A new record overwrites an existing one with the same key value. You need to avoid that the most recent change is overwritten by an older one. It is therefore important to keep the order of changes.
For SAP BW bridge as a target, Operational Data Provisioning is the central infrastructure for data extraction and data replication from SAP (ABAP) applications. It encompasses the Operational Delta Queue (ODQ) which ensures that the target applications (called subscribers) retrieve the data from the delta queue In the correct order and continue processing the data.
![The image shows why the order is important when loading master data: The image shows an example loading categories of a product. It shows a source table in which the category changed from A to B and then to C. In the image, the data load is split into two packages, and record B of package 1 is slower than record C of package 2. Value C will be overwritten and value B will be the value stored at the end. The image shows the wrong value B in the target table. The image shows why the order is important when loading master data: The image shows an example loading categories of a product. It shows a source table in which the category changed from A to B and then to C. In the image, the data load is split into two packages, and record B of package 1 is slower than record C of package 2. Value C will be overwritten and value B will be the value stored at the end. The image shows the wrong value B in the target table.](/service/media/topic/cf955e06-1884-48b6-89f4-0a90f56d2b78/DSPBW1_13_en-US_media/DSPBW1_13_en-US_images/MD_Load_in_wrong_order_img.png)
However, SAP BW bridge could split large sets of records into different subsets called packages. In this case, you must make sure that these packages are not loaded in parallel for the same target. This is a setting on the DTP.
![The image shows the same example loading categories of a product. It shows a source table in which the category changed from A to B and then to C. When the data load is split into two packages, you can avoid the issue by loading different packages in sequence. The image shows the correct value C in the target table. The image shows the same example loading categories of a product. It shows a source table in which the category changed from A to B and then to C. When the data load is split into two packages, you can avoid the issue by loading different packages in sequence. The image shows the correct value C in the target table.](/service/media/topic/cf955e06-1884-48b6-89f4-0a90f56d2b78/DSPBW1_13_en-US_media/DSPBW1_13_en-US_images/MD_Load_in_good_order_img.png)
However, if the different packages contain separate key values, you can load in parallel. To achieve this, you can either define different DTPs with different filters or use the group by extraction setting. With this setting, all values of the same semantic key are handled in the same package
![The image shows the same example loading categories of a product. It shows a source table in which the category changed from A to B and then to C. When the data load is split into two packages, you can also avoid the issue by defining a semantic extraction key for splitting packages. The image shows the correct value C in the target table. The image shows the same example loading categories of a product. It shows a source table in which the category changed from A to B and then to C. When the data load is split into two packages, you can also avoid the issue by defining a semantic extraction key for splitting packages. The image shows the correct value C in the target table.](/service/media/topic/cf955e06-1884-48b6-89f4-0a90f56d2b78/DSPBW1_13_en-US_media/DSPBW1_13_en-US_images/MD_Extraction_group_by_img.png)