‎2007 Sep 04 5:46 AM
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.
‎2007 Sep 04 5:49 AM
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
‎2007 Sep 04 5:51 AM
‎2007 Sep 04 5:53 AM
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
‎2007 Sep 04 5:53 AM
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
‎2007 Sep 04 5:57 AM
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>
‎2007 Sep 04 5:59 AM
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 doesnt 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