Recommended approach for Business Partner migration
I'm trying to find a best approach for legacy-to-SAP CRM BP upload, but I'm finding it difficult to get a consensus, probably because it depends on the scenario.
Our situation here is:
- CRM 2007, ECC 6.0, and IS-Banking Solutions for Financial Services 5.0
- CRM replicating BPs out to ECC and IS-Banking
- relatively small data-set for one-time BP migration
- 90% of transformations to be completed in legacy system
So far I've identified the following methods:
1 - External Data Transfer (EDT) with transfer category 013 for financial services (as opposed to 015 for general BP?). Within this process, Direct Input is used with BAPIs and/or IDocs therein. There are a few limitations with EDT as documented in the IMG.
2 - LSMW with BAPIs from Business Object BusinessPartnerFS (or general BP Bus. obj. BusinessPartner?)
3 - LSMW with XIF-related IDocs such as CRMXIF_PARTNER_SAVE
4 - ABAP development with BAPIs identified earlier
Which approach is the generally accepted practice for one-time system migrations? Any major disadvantages/advantages related to your recommendation?
Related - What is the Business Data Toolset and is it relevant for this situation?
Must say - you have really weighed the options very well
Of all these options, the best one is
LSMW with XIF-related IDocs such as CRMXIF_PARTNER_SAVE
1. You leave bulk of the processing to the middleware and inbound.
2. More importantly, all the datasets for business partner are supported in this format.
3. Error handlling is easier - its much easier to trace the failed records through the failed idocs.
Why the others aren't so good -
For business partners ( transfer type 15), EDT is based on the BDT framework. Known issues are performance, lack of flexibility ( you need to create a sender structure - and in case you need to change the scenario a little, then the sender structure will have to be recreated).
Some datasets are not supported in EDT for BP. e.g. IBAN only, status.
ABAP development with BAPIs
Lot of effort in making your Z report. You need to be very careful about filling the structures correctly, doing the error handling, managing performance etc. Also, in case there are issues in this, there aren't too many SAP notes to help you since you have written a custom program.
Instead of taking these pains, let the inbound fill the structures, manage performance, etc. This will also be using the standard tools, so there will be SAP notes to help with errors if any.
I'd suggest the IDOC approach here - its flexible, robust, supports all datasets - and leaves you with less responsibility!
BDT - Business Data Toolkit - is a framework that allows you to build your application on it. BAsically, it provides a template consisting of events that will be executed in a sequence. As an application, you need to register your moduels in these events , and maintain your application specific customizings in the BDT tables. The BDT framework will read the customizing at run time and prepare your application screen, it will call your application modules in sequence to take care of data reading, modification, checks nad save. Its quite an enjoyable topic (!!) but it won't help much in this case.
(The EDT for Business Partner is built on the BDT framework. )
Hope this helps.