How to Stop replication of BP with role Prospect from CRM to ECC?
Requirement:
Requires below filter on BUPA (Business Partner):
Filter Criteria: (BUPA_MAIN) Business Partner with role Prospects should not be replicated from CRM to ECC.
As-is-process:
Presently, there are no restrictions on business partner replication from CRM to ECC. Thus, as stated above, the filter need to apply while replication of BP from CRM to ECC, so that Prospect replication should be restricted.
To-be-process:
In the new environment only BP that are not prospect should be replicated from CRM to ECC.
Solution:
To achieve this requirement we have different approach available, In this document I explained solution no. 2 as an alternative solution to achieve the above requirement, SAP Note: 1834681 also available to solve the requirement as I mentioned below:
1. SAP Note 1834681 – How to set filter for BP upload from CRM to ECC.
SAP Note: 650569 – Deleting publications for several clients that are in use.
2. Create a custom FM via copying standard FM BUPA_MWX_BDOC_BPS_FILL_CENTRAL and replace your custom FM ZBUPA_MWX_BDOC_BPS_FILL_CENTRA with BUPA_MWX_BDOC_BPS_FILL_CENTRAL in transaction CRMC_BUT_CALL_FU .
Development Steps:
Please find below steps to achieve this requirement:
Step 1: Go to Tcode crmc_but_call_fu:
Step 2: Goto tcode SE37 and Create a custom FM via copying standard FM BUPA_MWX_BDOC_BPS_FILL_CENTRAL .
Step 3: Now replace ZBUPA_MWX_BDOC_BPS_FILL_CENTRA and with BUPA_MWX_BDOC_BPS_FILL_CENTRAL in transaction CRMC_BUT_CALL_FU .
Step 4: Now put a logic below in custom FM to check the entries in ct_bp_extern structure if the BP is prospect then delete the entry from the structure.
Logic to Delete the Entry in the structure if BP is a Prospect:
******************************
DATA: lt_extern TYPE TABLE OF bus_ei_extern WITH HEADER LINE,
ls_extern TYPE bus_ei_extern,
lt_central_datarole TYPE TABLE OF bus_ei_central_data,
ls_central_datarole TYPE bus_ei_central_data,
lt_roles TYPE TABLE OF bus_ei_roles,
ls_roles TYPE bus_ei_roles,
lt_bupa_role TYPE TABLE OF bus_ei_bupa_roles,
ls_bupa_role TYPE bus_ei_bupa_roles.
IF ct_bp_extern[] IS NOT INITIAL.
lt_extern[] = ct_bp_extern[].
LOOP AT lt_extern INTO ls_extern.
READ TABLE ls_extern–central_data–role–roles INTO ls_bupa_role INDEX 1.
IF ls_bupa_role–data_key = ‘BUP002’.
CLEAR ct_bp_extern[].
ENDIF.
ENDLOOP.
ENDIF.
*********************************
Dear Narendra,
As far as my knowledge concerns, it is a standard functionality. Only BP who are having "Sold to party" role will get replicated.
Role - "Sold to party" mark the classification "B" automatically while creating a BP and in PIDE setting we can mention Classification "B" with account group -sold to party.
In that case only role with "sold to party" will get replicated only.
Please correct me, if i am wrong.
warm regards,
Dinesh
That's actually a very good point, I was about to say that you can make the BUPA_MAIN intelligent and use the IS_CUSTOMER or IS_PROSPECT attribute in publication (SMOEAC) as filter criteria, if you are using the standard role cathegory sold-to or prospect the segment FRG0040 will be automatically updated otherwise you need fo find a suitable spot to inform, but anyway, having an alternative is allways welcome 😉
Hi Dinesh,
Yes you are right we can achieve this way too. but due to limited access of R/3 system, I had to opt this solution. As mentioned by Luis we can do it through SMOEAC also but as we dont want to disturb the current setting I did in this way and Just shared this alternate solution.
Thanks
Narendra
Just another question, why are you using the FM BUPA_MWX_BDOC_BPS_FILL_CENTRAL? I udnerstand this FM is obsolete according to the note 757955?