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

Former Member
0 Likes
487

Hi Friends,

I have a small query ie in BDC which method is preferable ie call transaction or batch input method and correct explanation. its, urgent.

regards,

desha.

5 REPLIES 5
Read only

Former Member
0 Likes
465

Hi,

Check out page three. Step 2. It may give you an idea.

http://www.sappoint.com/abap/bdcconcept.pdf

Batch input Session Method:

1.Asyncrounous Processing.

2.Synchrounous database udpates.

3.Transfer of data for multiple transaction.

4.Batch input log will be generated.

5.Best suited for bulk data transfer.

Call transaction Method

1.Syncrounous Processing.

2.Synchrounous and Asynchronous database udpates.

3.Transfer of data for individual transaction.

4.No log get generated.

5.Not recommended for bulk data transfer.

<b>Reward points</b>

Regards

Read only

Former Member
0 Likes
465

Hi,

based on scenario we will choose which one is better..

Call transaction:

1.Synchronous Processing

2.You can update the database both synchronously and asynchrounously.

3.Transfer of data for individual transaction

4.No batch input session is created.

5.Faster than other batch input techniques.

6.No automatic error log and restart capability is available here.

7.Not recommended for bulk data transfer

Session.

1.Asynchronous Processing

2.Synchronous database updates

3.Transfer of data for multiple transaction

4.Batch input sesssion is created here.

5.Automatic error handling and efficient restart capability incase of error transaction.

6.SAP's standard approach for data transfer

7.Highly recommended for Bulk data transfer.

8.Execution is slower than CALL TRANSACTION.

Direct Input

1.No screen are processed

2.No session is created

3.Data is transferred using standard FM

4.Restart capability is available incase of error provided that the transaction is executed in background

Reward all helpful answers..

Regards,

Omkar.

Read only

0 Likes
465

Hi Omkar,

Why we should not use CALL TRANSACTION for bulk data ?

Regards,

desha.

Read only

0 Likes
465

It will not create any error logs for errors...but session method will create error logs for each every transacttion.In Call transaction finding of an error is very difficult if the file is big.Compare to this session is very sesy

Read only

Former Member
0 Likes
465

Hi,

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.

Batch Input

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.

The most important aspects of the session interface are:

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.

The most important features of CALL TRANSACTION USING are:

Synchronous processing

Transfer of data from an individual transaction each time the statement CALL TRANSACTION USING 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 .

I hope now u can decide which is best.

Pls reward all helpful points.

Regards,

Ameet