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: 

lsmw, bapi, bdc- session, bdc-calltransaction

Former Member
0 Kudos

Hi Experts,

Can you please tell me which method should be used to upload data

1. lsmw

2. bapi

3. bdc-session

4. bdc-calltransaction

which method should be used when?, why?, advantages?

I know the process of doing all this but my question is which method should be followed and when, what will be the advantages and disadvantages.

points will be rewarded.

Thank you.




Active Contributor
0 Kudos


1. LSMW - no programming requried,

whereas in call transaction & bdc session,

programming required.

2. A BAPI is faster because it is updating the DB "directly" through ABAP code.

3. in call transaction,

no session concept

(data is updated AS SOON AS we run the prgoram)

where as in lsmw, and session,

SESSION is generated (in both cases)

Only after when we run this session,

does the data get updated.

4. In call transaction program,

we have to handle error list and take action.

whereas in lsmw, & session,

(since session is run)

flexibility is there to check and control errors.


Ferry Lianto

0 Kudos

Hi Experts,

If some one ask me to load 7,000 records into database, which method do you prefer and why. Is the selection of method dependent on amount of records.

points will be rewarded.

Thank you,



0 Kudos

Hi Experts,

Does the method of conversion depend on amount of data.

If I want to load 10,000 records which method I should choose and why.

points will be rewarded.

Thank you,


0 Kudos


To decide which method shukld use, we have to understand the differences first.

for 10000 records i will go for session method

Session method.

1) synchronous processing.

2) can tranfer large amount of data.

3) processing is slower.

4) error log is created

5) data is not updated until session is processed.

Call transaction.

1) asynchronous processing

2) can transfer small amount of data

3) processing is faster.

4) errors need to be handled explicitly

5) data is updated automatically

Session method is to populate the data by filling BDC structure

and keep as session to process from SM37 to post in appropriate Transaction.

Call transaction method is to post the data directly into the Transaction from an Executable program.

Session method SAP defined Function modules.



0 Kudos

Thank you for the answers. points were given.

Former Member
0 Kudos


definitely it depends upon the amount of data to be uploaded.

Depending upon requirement you have to select a particular method.

Generally BDC's are used to upload data through custom transaction codes where as LSMW is used for Standard tcodes and applications.

If we need to upload data only single time LSMW is used.

BDC-SESSION is used to upload large amount of data well as small amount of data. Error log will be provided default.

BDC-Call transaction : used to upload small amount of data.we can update the database synchronously as well as asynchronously.

A BAPI is remotely enabled function module i.e. 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 Business Object Object Repository(BOR).

For 7000 record use BDC or else use LSMW. It will be very easy

if helpful reward points.