Application Development and Automation 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: 
Read only

bdc methods

Former Member
0 Likes
674

hi friends,

Will you please tell , what is major difference between call transaction method and session method in bdc . And in which condition we shold go for it .

regards,

ankush pashine.

6 REPLIES 6
Read only

Former Member
0 Likes
597

Hi,

In ‘Call Transaction’, the transactions are triggered at the time of processing itself 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. Whereas in

Batch Input Sessions, the ABAP program creates a session with all the transactional data, and this session can be viewed, scheduled and processed (using Transaction SM35) at a later time. The latter technique has a built-in error processing mechanism too.

difference between batch input and call transaction in BDC

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

Regards

Read only

amit_khare
Active Contributor
0 Likes
597

Refer the links -

Regards,

Amit

Reward all helpful replies.

Read only

Former Member
0 Likes
597

Hi,

call transaction

usually used for small amount of data

immediate updation of the data base

error log should be handled manually and if it is background

we have to store them in the application server....

and after that we have to see those records..

asynchronous updation of the database

so it is some what faster than session method

data is small go call transaction and you should be able to handle the errors

session

usually used for large amount of data

error log wil be generated and in the sm35 we can see

the updation of the data base will be successful once we run the session

in the sm35 tcode

so no need of error handling

synchronous updation which is slower that asynchronous as it will wait for the response from the data base of sucess.

if data is small gofor call transaction and you should be able to handle the errors

and if the updation needs immediate

if data is large go session method

thanks & regards,

Venkatesh

Read only

Former Member
0 Likes
597

Hi,

<b>main difference between batch input and call transaction in BDC</b>

Session method :- synchronous processing,can tranfer large amount of data,error log is created

Call transaction:- asynchronous processing,can transfer small amount of data, errors need to be handled explicitly

<b>when to use</b>

session method to be used when the data is in large amount

batch method is used when the data is in small amount

Regards

Naresh

Read only

varma_narayana
Active Contributor
0 Likes
597

Hi Ankush..

Whenever we transfer Large amount of data we will Prefer using the Session method: bcoz

1. Process is divided into two steps Generate session and process session.

2. Error log is generated.

3. Only processing transactions can be run in Background using RSBDCSUB.

Whenever you want to process a transaction and based on the Result you want to process another transaction we must use Call transaction method. Bcoz

1. It will return SY-SUBRC after each Call transaction unlike session method.

2. We can handle the messages using BDCMSGCOLL

3. Supports asynchronous proecessing.

4. Errors can be handled using Session method

<b>reward if Helpful</b>

Read only

Former Member
0 Likes
597

Hi Ankush,

Batch Input and CALL TRANSACTION are both data transfer methods. Batch Input usually are used to transfer large amount of data. For example you are implementing a new SAP project, and of course you will need some data transfer from legacy system to SAP system. If there is no standard batch input program, direct input program, you would need to write your own data transfer program and it is going to be batch input program. CALL TRANSACTION methods is real-time method, whenever you run the program CALL TRANSACTION can be triggered. CALL TRANSACTION is used especially for integration actions between two SAP systems or between different modules. Users sometimes wish to do something like that click a button or an item then SAP would inserts or changes data automatically. Here CALL TRANSACTION should be considered. You use CALL TRANSACTION and you do everything automatically, collect necessary data, call transaction and so do database update. If any error occurs, show the user them.

<b>Batch Input</b>

With the Batch Input method, an ABAP program reads the external data that is to be entered in the R/3 System and stores the data in a “batch input session”. The session records the actions that are required to transfer data into the system using normal SAP transactions.

When the program has generated the session, you can run the session to execute the SAP transactions in it. You can explicitly start and monitor a session with the batch input management function (by choosing System - Services - Batch Input), or have the session run in the background processing session.

It offers management of sessions, support for playing back and correcting sessions that contain errors, and detailed logging. Your program prepares the data and stores it in a batch input session. A session is a collection of transaction data for one or more transactions. Batch input sessions are maintained by the system in the batch input queue. You can process batch input sessions in the background processing system.

Your program must open a session in the queue before transferring data to it, and must close it again afterwards. All of these operations are performed by making function modules calls from the ABAP program.

<u><b>Session Interface</b></u>

Asynchronous processing

Transfer data for multiple transactions

Synchronous database update. During processing, no transaction is started until the previous transaction has been written to the database.

A batch input processing log is generated for each session

Sessions cannot be generated in parallel. The batch input program must not open a session until it has closed the preceding session.

CALL TRANSACTION

In the second method, your program uses the ABAP statement CALL TRANSACTION USING to run an SAP transaction. External data doesn’t have to be deposited in a session for later processing. Instead, the entire batch input process takes place inline in your program. With CALL TRANSACTION USING, the system process the data more quickly than with batch input sessions. Unlike batch input sessions, CALL TRANSACTION USING does not automatically support interactive correction or logging functions.

Your program prepares the data and then calls the corresponding transaction that is then processed immediately.

<u><b>CALL TRANSACTION USING</b></u>

Synchronous processing

Transfer of data from an individual transaction each time the statement <b>CALL TRANSACTION USING</b> is called

You can update the database both synchronously and asynchronously. The program specifies the update type.

Separate LUW (Logical Units of Work) for the transaction. The system executes a database commit immediately before and after the CALL TRANSACTION USING statement.

No batch input processing log

<b>Check these link:</b>

http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm

http://www.sap-img.com/abap/question-about-bdc-program.htm

http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/

http://www.planetsap.com/bdc_main_page.htm

<b>For BDC:</b>

http://myweb.dal.ca/hchinni/sap/bdc_home.htm

https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&;

http://www.sap-img.com/abap/learning-bdc-programming.htm

http://www.sapdevelopment.co.uk/bdc/bdchome.htm

http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm

http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm

http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html

<b>Reward Points if Useful</b>

Regards

Gokul