Difference Between CALL TRANSACTION and SESSION METHOD

本文对比了ABAP编程中CALL TRANSACTION与Session方法的不同之处,包括数据一致性检查、错误处理方式、同步与异步数据库更新的区别,以及批处理输入会话的日志记录与错误处理机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值