Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Disadvantages of Using BDCs in enhancements

Former Member
0 Kudos

Hi All,

Could anybody please tell me what are the possible disadvantages of using BDCs in a complex enhancement.

Thanks,

Anirban.

5 REPLIES 5

Former Member
0 Kudos

Depending on where the enhancement is in the standard code, you may run into different issues with doing a BDC from within an enhancement. If you are essentially dealing with the same data, then you may run into locking issues. If your BDC ends in errors, but not the transaction in which the enhancement is in, or vice versa, then you have mismatches. In some enhancements, you are not supposed to issue any commits, but your BDC will do that. So that will result in inconsistencies at the least or even core dump at worst.

Instead, create another program and submit that program via Job from within this enhancement. You can either work via memory export, import, or parameters and select-options or some other way to transfer the necessary values from the enhancement to this program.

Former Member
0 Kudos

Hello,

It is acceptable to use a BDC in enhacments, but i would recommend to try to use a standard function module to achieve what you need.

You could have several problems, like stopping in the middle of the bdc in case of error, or getting no log as a result of the bdc, slower data flow, etc.

Try to change the data you need manually or check if during the enhacement execution if there is a structure that could help to change what you need.

Hope this Helps!!!

Gabriel

Former Member
0 Kudos

Hi,

If you use BDC in a enhancement..It will issue a commit work to commit the changes..Which may result in data inconsistency in the calling program..

Thanks,

Naren

Former Member
0 Kudos

hi,

Most of the enjoySAP screens which has more of Oobject Oriented programming does not work with BDC. So it is better to go for standard BAPIs.

Sometimes, some of the standard tcodes are replaced with new tcodes in newer versions, so if you had developed a program with the old tcode, then you need to again program with the new tcode. To avoid this, better to use the func.modules or available BAPIs.

Regards

Subramanian

Former Member
0 Kudos

Hi,

One of the very common disadvantage of the BDC is that it doesnt take into account the configuration settings of the screen. Suppose you make any changes in the screen fields (e.g. you make some of the fields in the screen non editable or you make the fields invisible), in this case BDC will throw an error message beacuse the screen mentioned will now no more contain that field or the field will now no more will be an input field.

If at all there is change in the screen settings or transaction look and feel is changed or screen manouvering is changed in the transaction then the BDC will fail and will give error messages.

This is the major disadvantage of using a BDC

Reward points if found useful

Mayank Agarwal