注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

XINBO'S SAP BLOG

你所浪费的今天,是昨天死去的人奢望的明天。你所厌恶的现在,是未来的你回不去的曾经

 
 
 

日志

 
 

Factors in choosing suitable method for BDC  

2009-05-20 11:36:45|  分类: BDC |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

There are several factors which will influence your choice between a batch input session method, call transaction or a BAPI. I will try to list out some of them here.

First is to look for a BAPI. The reason is that BAPIs are supposed to be APIs provided by SAP that protect the interfacing with a particular application in SAP(say sales order). They encompass all the business logic of the corresponding online transactions. Advantages are that they are supported by SAP and their call interface is very stable. Disadvantage is that most of them are synchronous calls and if you are doing massive data conversions, this may be a resource drainer. Also, with BAPIs, you not only need to read the return messages for errors and take corrective action, but also, you need to code for storing the source data so that you want to reprocess it. Sometimes BAPIs may not provide all the features of an online transaction and so they may limited to what data they can store, like texts for instance. If your data requires you to store texts along with the object and the BAPI doesn't provide you with the parameters for passing the texts, then you may end up doing it in two steps.

Batch Input session and call transaction are essentially the same in the sense that they both go through screen flows as opposed to direct data updates. But the major difference between the two is that one is done in batches (good for mass uploads like conversions) and the other is not done in batches. Once a batch is submitted for processing, the system processes it just like a call transaction. Batch inputs are good for massive data loads where you want create several small chunks of such call transactions and process those batches when you have system resources available. They may also be good if you want to retain the transaction data for error reprocessing, but this will not be your source data record.

Call transactions are good only if you want to handle the return messages in your code and act accordingly. So, let us say you create a sales order using call transaction method, and as soon as you get the success message with a sales order number, you want to do something else, then a call transaction is useful. Similarly, if you have an error returned from the call transaction, then you want to report it(error notification), store the source record (may be in an error file or a table), or store the error transaction data (by inserting into a batch input session) for reprocessing. So a call transaction will give you the control after the transaction call is completed. If you want that control, you can use it. But remember that it uses up a lot of resources unless you take care of how it is processed. The latest mySAP enjoy transactions have a lot of controls and may not be suitable for call transaction method.

So what do you look at to decide?
1. Your data volume
2. Your frequency (one time vs. periodic interface)
3. Availability of the functionality you seek with the data you have. Do I have a BAPI that can achieve the desired results I want? Can I record the transaction to do a call transaction or batch input session?
4. Your error handling requirements. Do I need to notify? Do I need to persistently store my source records for any potential reprocessing? Do I need to log the results for audit requirements?

There are others that I can talk about like are there standard SAP programs for the data loads(SXDA, SXDB, LSMW etc)? or Are there IDOC function modules that suit the purpose? Are there regular function modules that I can use although not recommended as SAP can change them without notifying you, but again not insurmountable if you have a good upgrade methodology)

  评论这张
 
阅读(590)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017