on 02-23-2015 3:47 AM
Hello,
I have implemented BUPA_ADDR_CHECK to perform some validations on CRM and ECC. I wanted to know if there is a way to prevent the Middleware replication to not perform the check again in ECC when the data goes across?
Kind regards,
Gaurav
Hi Gaurav,
AFAIK there is no parameter in the BAdI BUPA_ADDR_CHECK that indicates a BP is created through replication. From my point of view this is exactly the point of this BAdI anyway. Each BP address should be checked regardless of how the business partner is created. Think for example of a situation where there is a bug or an customizing error in CRM. The BP address would still be checked and the issue would become obvious.
What is the reason you want to suppress the address check if the BP is replicated? Performance? I wouldn't expect a great performance penalty of the address checks.
If you nevertheless want to suppress the checks for replicated BPs you could, for example, implement a check on the RFC user used by the CRM middleware.
Best,
Christian
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Christian,
Two reasons I wanted to avoid the check -
1. In the BAdI impplementation we are doing an external address check that is priced per check. The BAdI is implemented in both CRM and ECC so for data coming in via middleware I want to avoid doing the check again in ECC.
2. This one seems more link a bug because it does not happen on SAP_AP 700 0031 SAPKNA7031 SAP Application Platform
but happens on
SAP_AP 700 0030 SAPKNA7030 SAP Application Platform. The problem is that when I update an address the address dependent communication data like phone is also passed to the BAdI.
I was exploring the parameters IV_CHANGE_BAS and IV_CHECK_ADDRESS to see if they have different values when coming from CRM middleware flow. But no luck.
Thanks,
Gaurav
Hi Gaurav,
If you have to pay for the address validation it makes sense to only execute it once. Agreed
If there is a difference between different releases you should check table CRMC_BUT_CALL_FU. In this table the executed function modules are customized. Maybe a new function module is used in the newer release.
Finally, if everything else fails you still have the option to only execute the checks if it has not been triggered by the RFC user used by the CRM middleware.
Christian
Hi Gaurav,
if everything else fails you could also do the following:
1.) extend the address object with a custom field (e.g. Z_ADDRESS_CHECKED)
2.) fill this field whenever the address is checked by the external service
3.) only execute the check in the BAdI if the custom field is empty.
Best,
Christian
Hi Gaurav,
true. However, there a quite some docs on SDN describing how to replicate custom fields. This should also be easily possible with the address object. If you, for example, create a custom include with the same name in CRM and IS-U (and probably also in the address structure used in the middleware, haven checked thi yet) the standard should already take care of the replication. In almost all cases it simply performs a move corresponding between the structures....
Christian
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
5 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.