SAP ABAP Data Transfer Techniques and Methods
One of the most important things that you shall be required to do as a SAP ABAP programmer is to perform data transfer or data migration from a legacy system to SAP system. Getting the right data migration is the most important part of the “go live” phase.
There are several data migration techniques in SAP ABAP. Let discuss briefly some of the important data transfer techniques.
SAP BDC – SAP Batch Data Communication
SAP BDC programs are the most important methods of data transfer technique or migration in SAP, where data is transferred by writing a batch input program, and implemented using a session method or a call transaction method. BDC helps in mass data transfer, in which several thousands of data entries related to a transaction have to be transferred into an SAP system from a legacy system. BDC works by automating the process of manually transferring data from legacy system to SAP system. Here, you are only required to transfer a data related to a single transaction at first, using the right data format.
On running the SAP BDC program, and after using batch input transaction code SM35, it automatically transfer all the remaining data entries that run into several thousand lines by using the same format that has been established. The entire process takes place in the background, and the whole data transfer happens one-by-one as though you are doing it manually – except that the SAP system takes care of everything. All that you have to do is to properly establish the framework for the very first data transfer.
While BDC is an old technique of data migration used by the SAP R/3 system, you must understand that it is a 1-way transfer. Data is transferred from legacy system to SAP system and not from SAP system to legacy system. The data reads only in form of a text file or a flat file, and fed by the ABAP program into an internal table called the BDCDATA. Now, this internal table, BDCDATA is taken as the format for the input and executed in the background.
There are two methods of BDC – call transaction method and Batch Input session method. In call transaction, all transactions are triggered during the time of processing and the ABAP program must itself handle the error handling. It allows for real-time interfaces, custom error handling and logging features.
In Batch Input Session methods, a session is created which has all the transactional data. This session can be viewed, scheduled and and also processed by making use of the transaction SM35. It has in in-built error processing mechanism.
Batch Input (BI) – Batch input uses the BDC approach but do not need an ABAP program to format the BDCDATA. The data is formatted using predefined structures and saved in a flat file. The Batch Input (BI) program reads the file and then implements the transaction in the header record of the file.
Direct Input (DI) – This is exactly the same as Batch Input method of data transfer with one crucial different – instead of processing screens, here all the fields are validated and data is directly loaded into tables by making use of standard function modules. Direct Input (DI) method of data transfer is much faster than BDC programs and best for loading large volumes of data. The problem in this method is not available for all types of applications.
LSMW – Legacy System Migration Workbench
LSMW tool enables an encapsulated method of data transfer which facilitates Data Migration from legacy systems to SAP system. LSMW works best for master data, one doesn’t require to use much coding while using LSMW. Even a non-specialist in ABAP who is using the SAP system can easily use this method. This method is preferred by functional SAP consultants rather than technical consultants for data migration. LSMW has the same functionality as a BDC program, but lacks in complexity and it used only for simple transactions that do not require much input or effort from an ABAP programmer.
BAPIs are other great methods used for large scale data migration and is an excellent alternative to BDC. BAPIs are standard programming interfaces that provide access to different business processes and data used in the SAP system. An ABAP programmer can define his own interface using a BAPI and successfully implement them to conduct large scale data migration from legacy system to SAP system.