Introduction to Data Migration
During the implementation process, data migration from the legacy system is a key component of any successful SAP installation. Getting the data right and in the right places within SAP makes all the difference in having a successful SAP go-live.
There are several options that are available when migrating data from your legacy system. This article will discuss these options and the differences between them. It will also give suggestions on when to use each option.
BDC Programs – Batch Data Communication
BDC programs can be used to transfer data by writing a batch input program which can use either a session method or a call transaction method.
BDC is a mass data transfer technique which uses screen logic of existing SAP Data entry transactions. It behaves as if you are manually making thousand of entries into your SAP system as a background job. For this reason, some people actually prefer BAPI’s over BDC’s.
Batch Data Communication (BDC) is the oldest batch interfacing technique that SAP provided since the early versions of R/3. BDC is not a typical integration tool, in the sense that, it can only be used for uploading data into R/3 and so it is not bi-directional.
BDC works on the principle of simulating user input for transactional screen by way of an ABAP program. The input comes typically in the form of a text file or flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table called BDCDATA. The transaction is then started using this internal table as the input and executed in the background.
When using a Call Transaction, the transactions are triggered at the time of processing and so the ABAP program must do the error handling. It can also be used for real-time interfaces and custom error handling & logging features.
On the other hand, a Batch Input Sessions is where the ABAP program creates a session with all the transactional data, and this session can be viewed, scheduled and processed (using transaction SM35 – Batch Input: Session Overview at a later time. This technique has a built-in error processing mechanism as well.
Batch Input (BI) – These programs still use the classical BDC approach but do not require an ABAP program to be written to format the BDCDATA. The user simply formats the data using predefined structures and saves it in a flat file. The Batch Input (BI) program then reads the file and invokes the transaction mentioned in the header record of the file.
Direct Input (DI) – This type of program works exactly similar to BI programs except instead of processing screens they validate fields and directly load the data into tables using standard function modules. This makes Direct Input (DI) programs faster than BDC programs and are ideal for loading large volumes of data. However, these programs are not available for all application areas.
LSMW – Legacy System Migration Workbench
LSMW is an encapsulated data transfer tool that facilitates Data Migration from other legacy systems and is best suited for transferring master data. It is used to transfer data without writing code or with minimal coding required. Thus, LSMW is basically designed for a functional consultant rather than a technical consultant.
The LSMW tool contains step by step procedures during the data migration process including:
- Managing Data Migration Projects
- Creating Source Structures and Fields
- Mapping Source and Target Structures
- Specifying Import Files
- Reading & Converting Data
- Creating Batch Input Sessions
LSMW can provide the same functionality as a BDC program where most technical parameters are encapsulated in a series of steps.
SXDA – Data Transfer Workbench
The SXDA – Data Transfer Workbench (DX Workbench) is also an integrated SAP tool that supports data transfer and analysis. While it does not have the built-in features for mapping source and target structures, it does allow you to integrate LSMW – Legacy System Migration Workbench objects as processing tasks within a run definition.
The DX workbench has many features to create test data and for performing data migrations such as for logging of data migration runs. However, you should use LSMW if you need to map or convert data.
It is interesting to know, however, that you can automate and use the features of both tools by integrating your LSMW objects as task within the more user-friendly data migration run. This includes the LSMW project steps “Read data”, “Convert data,” and “Start IDoc processing”.
If you do not need logging and automated data migration runs, you can perform your data migration without the DX Workbench.”
Conclusion and Summary
Following is a side by side comparison of the differences between the technical BDC program and the LSMW step by step method for migrating legacy data into SAP. Choosing which option is best will depend upon your internal and external resources and the type of data that needs to be migrated into SAP.
|Execution:||SM35 Batch Session or Call Transaction||SM35 Batch Session|
|Error Handling:||Manually in BDC with call transactions||Handled in SM35|
|Coding Requirements:||Requires significant programming||Minimal coding required|
|Migration Methods:||BDC exclusively||Direct Input, BAPI, IDocs, BDCs|
|Data Mapping:||Programatically||Within SAP LSMW|
|Process:||SHDB Recording||Step by Step Process|
SAP – LSMW Documentation