2020 Feb 20 5:51 AM
Hi,
When a functionality is not available from BAPIs, some time there are other FMs that can be used to fulfill our requirement. But in case the FM is not released (AFAIK, usage of not released FM will not supported by SAP), is it better to go for BDC or go with the not released FM?
Thank you.
2020 Feb 20 7:45 AM
Hi Suwandi, that's a great question and I'm quite sure that every seasoned SAP professional has their own view here.
I'd say that BDC is the safest approach if you don't have officially released BAPI. When you call a transaction with BDC there is just no way you get your data inconsistent. Of course many transactions are no BDC-friendly and there is a question of performance as there is screen processing overhead in BDC processing. Therefore you should cautious when mass processing with BDC.
In my view using non-released functions is the least favorable approach as you can never tell for sure how these functions work and interact. You can only try and guess. Sometimes it's good enough but the risk is still there. Also SAP might change the behavior of these functions without any notice and your solution might get corrupted without any of your knowledge. I'm quite sure hardly anybody does full regression test after SAP system update.
The bottom line, I'd recommend the following order:
Dominik Tylczynski
2020 Feb 20 6:06 AM
So, you are asking for the pros and cons of the two technologies. Don't you know them?
With the list of pros and cons, you have to compare them to your own requirements (acceptable performance versus acceptable technical debt = IT independence from SAP support versus etc.), and you choose between the two.
2020 Feb 20 7:45 AM
Hi Suwandi, that's a great question and I'm quite sure that every seasoned SAP professional has their own view here.
I'd say that BDC is the safest approach if you don't have officially released BAPI. When you call a transaction with BDC there is just no way you get your data inconsistent. Of course many transactions are no BDC-friendly and there is a question of performance as there is screen processing overhead in BDC processing. Therefore you should cautious when mass processing with BDC.
In my view using non-released functions is the least favorable approach as you can never tell for sure how these functions work and interact. You can only try and guess. Sometimes it's good enough but the risk is still there. Also SAP might change the behavior of these functions without any notice and your solution might get corrupted without any of your knowledge. I'm quite sure hardly anybody does full regression test after SAP system update.
The bottom line, I'd recommend the following order:
Dominik Tylczynski
2020 Feb 20 2:42 PM
Hi,
Sometime the limitation of the BAPI is as that the field that we want to update is not available in the BAPI's parameter. But this some time can have a work around by passing the parameter in some way, then at the correct point inside the BAPI (hopefully there's a BADI) create an implicit enhancement to get the parameter and update to the internal structure of the BAPI. I wonder how is the support of SAP if we are using this way.
Thank you.