Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Info Required

Former Member
0 Kudos

Hi Experts,

Can anybody tell me the exact difference between <b>Bapi</b>, <b>BDC</b> and <b>LSMW</b>, in terms of data migration and data transfer,etc... what ever you call or think so.......

I do want only relevant answers and good answers will be surely rewarded.

Thanks in advance .

1 ACCEPTED SOLUTION
5 REPLIES 5

Former Member
0 Kudos

hi raj,

Lsmw: it is basically for standard sap application.

BDC: it is basically for customized applications.

Lsmw: in lsmw mapping is taken care by sap.

BDC: in BDC we have to give mapping concept explicitly.

Lsmw:different techniques for migrating data : direct input, batch input recording, bapi, idoc.

BDC: call transaction and session method.

Lsmw:it is designed for functional consultants who do no coding.

BDC: it is for technical consultants.

Regards....

Arun.

Reward points if useful.

Former Member
0 Kudos

hi ,

hope this is useful to u...

Difference between BDC & BAPI

For one, Batch Data Communication (BDC) is older. Business Application Programming Interface (BAPI) came later, about 10 years ago (you can see this already from the name, which contains marketese like "business" ).

More important though, they are different technologies. With BDC you build the "batch input transaction" yourself, with an ABAP program which creates the "batch input session" ("Batch-Input-Mappe" in german). You then take that session, like an object, and "run" it on a system (most of the time, this is done on a local system by the administrators, after it has been tested for correctness).

With BAPI, a system (local or remote) exposes its interface to you through some kind of Remote Function Call (RFC). Practically, it tells you: "What do you want to do? Insert that data into Materials Management? Here is the function and the the parameters you have to use for each record". You only work with the Interface - the exposed function. How this function works does not have to interest you. You don't have sessions to "run", you fire your function calls filled with data, one after another and you're done.

BAPI can be run remotely. With BDC, you probably have to call the administrators of the remote system and send them the session you created for them to run. With BDC you go through the whole transaction in one BDC session, with BAPI you may need more than one "BAPI calls" to do this.

With BAPI you don't fill obcure field names with values, you just fill the parameters. You can use a BAPI from inside your ABAP program to let a "business object" do some clearly defined work for you, then you can continue with your code doing other things. You don't do this with BDC. With BDC you write a dedicated program that creates the "session", which is then executed separately.

regards

Srinivas

anversha_s
Active Contributor
0 Kudos

hi,

<u>LSMW and BDC are vastly different.</u>

BDC (Batch Data Communication) is a technology used for data transfer.

it is meant for transferring data thru SAP transactions itself. when u use BDC for data transfer,

the sequence of steps is the same as when u use standard sap transaction screens for data upload.

the only difference is that u can use different options for foreground/background processing.

LSMW on the other hand is a tool that helps migrate data from a legacy system (non-sap system ) to SAP system.

it offers u various options to use either batch input, direct input, BAPIs or idocs.

it involves a series of some 17-18 steps to migrate data.

LSMW creates a project to download the data in the system, several steps have to be implemented and it needs to have only few abap knowledge to implement them (the system'll generate all programs): only a good developer can create a bdc program.

A project can be created directly in every enviroment, bdc has to be created in development system and transport from dev to prod.

Every user can create a LSMW project, only developer can create a BDC program.

LSMW is me to more flexible and adaptable than BDC if some modifications have to be added after creating it.

I believe the problem on LSMW is the method to be used to load the data: if there are std methods (like BI or BAPI) there' no particular problem, but if there aren't you should register it, but sometimes these regitrations are not good and so you have to create an your own program.

So if there are std methods or it needs a simple BDC obtainable by registration I prefer to use LSMW.

<u>BAPI</u>

BAPI stands for Business API(Application Program Interface).

A BAPI is remotely enabled function module

ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..

You can make your function module remotely enabled in attributes of Function module but

A BAPI are standard SAP function modules provided by SAP for remote access.

Also they are part of Businees Objest Repository(BOR).

BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects.

You create business objects and those are then registered in your BOR (Business Object Repository)

which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA.

Regards

Anver

Former Member
0 Kudos

Hi,

LSMW:

The Data Transfer Workbench (or DX Workbench, transaction SXDA) is an integrated SAP tool that supports data transfer and analysis.

It does not have the built-in features for mapping for source structures to target structures, but it will allow you to integrate

Legacy System Migration Workbench (LSMW) objects as processing tasks within a run definition. The DX workbench has many features

for creating test data and performing data migrations - for example, logging of data migration runs. However, if you need to map or convert data, you should

use the LSMW. Or, you can integrate your LSMW objects as task within a more user-friendly data migration run, in which the

LSMW project steps "Read data", "Convert data," and "Start IDoc processing" are automated and use the features of both tools.

If you donot need logging and automated data migration runs, you can perform your data migration without the DX Workbench.

BDC:

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 be 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, via an ABAP program. Typically the input comes in the form of a flat file.

The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The transaction is then started using

this internal table as the input and executed.

o Prevent overwriting by using

Both LSMW and BDC is used for data download only, but the difference is in BDC you have to write logic in order to get the data,

where as LSMW you will have to follow step by step procedure to get the data. And other difference in LSMW you can get the data

through IDOC's and BAPI's apart from Direct Input and session methods.

LSMW is a time saving process.