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.
Showing results for 
Search instead for 
Did you mean: 

how lsmw advantageous than normal bdc?

Former Member
0 Kudos


how lsmw advantageous than normal bdc?


Former Member
0 Kudos

Hi Rajesh,

C this link.



Former Member
0 Kudos

hi this will help u.

BDC is the way to transfer data by writing a batch input program which can use either session or call transaction method.

LSMW used to transfer data without/less code.

What type of data we transfer using LSMW?

LSMW is best suited for transferring master data.

Actually BDC and LSMW are not comparable at all.

for example LSMW itself can use BDC as a way of mass data transfer.

BDC is a mass data transfer technique via screen logic of existing SAP Data entry transactions. It behaves as if you are manually making thousand of entires into sap system as a background job. And that is probably the reason why BAPI's are preffered over BDC's.

On the other hand LSMW is a tool to facilitate DATA migration from other legacy systems ... It contains step by step procedure for data migration.

Like Managing Data Migration Projects , Creating Source Structures , Mapping Source structures wid Target structures , etc etc

LSMW internally might well be using the following techniqes for data transfer..


2. Direct Input / BDC

4. BAPI's

LSMW is an encapsulated data transfer tool. It can provide the same functionality as BDC infact much more but when coming to techinical perspective most the parameters are encapulated. To listout some of the differences :

LSMW is basicaly designed for a fuctional consultant who do not do much coding but need to explore the fuctionality while BDC is designed for a technical consultant.

LSMW offers different techinque for migrating data: Direct input ,BAPI,Idoc,Batch input recording. While bdc basically uses recording.

LSMW mapping is done by SAP while in BDC we have to do it explicitly .

LSMW is basically for standard SAP application while bdc basically for customized application.

Coding can be done flexibly in BDC when compared to LSMW.

with regards,

Hema Sundara

reward if u find it helpful.

Active Contributor
0 Kudos

•LSMW is basicaly designed for a fuctional consultant who do not do much coding but need to explore the fuctionality while BDC is designed for a technical consultant.

•lsmw u can apply 4 different techniques DI/BI, recording, bapi and idoc where as in bdc those r limited

•LSMW is automated process ie most of the logic is desinged by the system itself

• Part of R/3 and thus independent of individual platforms

• A variety of technical possibilities of data conversion:

• Data consistency due to standard import techniques:

Batch input

Direct input

BAPIs (Business Application Programming Interfaces)

IDocs (Intermediate Documents)

The import technique to be used in an individual case depends on the business object.

• Generation of the conversion program on the basis of defined rules

• Clear interactive process guide

• Interface for data in spreadsheet format

• Creation of data migration objects on the basis of recorded transactions

• Charge-free for SAP customers and SAP partners

Kanagaraja L

Former Member
0 Kudos

hi rajesh,

BDC is a technology for run the transaction without manually input. It is used as data inbound into SAP system. SHDB can record the screen process you want.

LSMW is a tools for data migration. It support several way to inbound data into SAP system, include BDC, and IDOC, BAPI and direct input.

Difference between macro and subroutine :

Macro is the same conception as it in C or C++.

just a replacement for the the code you call it.




data: t type c.

WRITE: / 'The result of &1 &2 &3 is', &4.


output 4 3 3 3.

output 4 3 3 3.


this is a macro, but it will be fail in compile, because Macro is only a replacement for the code.

so using the Macro, the above code is equal to below:


data: t type c.

WRITE: / 'The result of 4 3 3 is', 3.

data: t type c.

WRITE: / 'The result of 4 3 3 is', 3.


As a replace, the T has been redelare, so it failed.

But for subroutin, it will transfer the parameter, and run the code in subrountine. So the above restriction on Macro won't happen in Subroutine.

Difference between change request- customizing request :

workbench request is for application, project, FM, Function group, all the ABAP work object in system. You can bind a request to them using workbench request and transport them to other system.

Customizing request is all the setting in system.

E.G. a consulant do some configuratin on table TXXX in IMG, he don't want to reconfigure again in other system. Then he bind this setting in customizing request, and transfer it to target system.

I hope u r clear abt lsmw and change request.

I will provide some basic dif between subroutine & Macro

In macro u have to pass only 9 parameters.

where in sroutine u can pass any number.

In macro u can pass operators also suppose if u want to do 4 basic math operations.

u can pass operator as a parameter.

4 + 3 or 4 -3 or 4 * 3 etc.

where in rotuines u can't pass this operator symbols as parameters.

In macro there is no concept like internal & External, where as u know that in subroutines u have internal routines and external routines.

Reward if helpful.

Thank you,