Difference Between CALL TRANSACTION and SESSION METHOD

来源:互联网 发布:seo网站刷排名推广 编辑:程序博客网 时间:2024/06/06 04:24

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.
2. http://www.saptechnical.com/Tips/ABAP/DiffSessionCALLTRANSC.htm

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
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.

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