for this subject, I got 2 articles for reference:
1. http://wiki.sdn.sap.com/wiki/display/ABAP/Difference+Between+CALL+TRANSACTION+and+SESSION+METHOD
- Call transaction does the Data consistency check with the help of screen logic. The Call Transaction processes the data more quicker than with batch input sessions.
- 'CALL TRANSACTION USING ' does not automatically support interactive correction or logging functions. Sessions Method support stopping ,going back and correcting sessions that contain errors, and provides log details.
- With 'CALL TRANSACTION USING 'you can go for update the database both Synchronously and Asynchronously but Sessions method does Synchronous Database updates.
- The system executes a database commit immediately before and after the 'CALL TRANSACTION USING' statement whereas for the sessions method it goes for Asynchronous processing. During processing, no transaction is started until the previous transaction has been written to the database.
- Sessions Cannot be generated in Parallel. The batch input program must not open a session until the preceding session is closed.
Call Transaction method | Classical or session method |
In this method, the ABAP/4 program uses the call transaction <T-code > using <bdc_tab> mode <mode> update <update > method. | In this method, ABAP/4 program read the external data that is to be entered to the SAP system and stores the data in the batch input session. When the prgm has finished creating the session, we can run the session thro the TC SM35. This method involves FM like BDC_OPEN,BDC_INSERT,BDC_CLOSE |
In ‘Call Transaction’, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling. | Whereas in Batch Input Sessions, the ABAP |
Synchronous Processing | Asynchronous Processing |
We can update the database both synchronously and asynchronously. We can specify the mode in the program.
| Synchronous Database update. During processing, no transaction is started until the previous transaction has been written to the database. |
No batch input processing log
| Detailed Log will be generated for all the sessions |
While execution it starts from the first.
| While executing it wont start from the first. It will start from the place where it ends with error. |
Faster than session method | Not as fast as call transaction method |