Not sure why, but I felt today was a good day as any to address a topic I have been trying to get to for some time: the increasing use of BDCs in standard application programs.

What is a BDC?

A BDC, which stands for Batch Data Conversion, was a technique developed by SAP to allow a developer to quickly develop a routine to mimic a user entering data using a standard transaction, but in an automated fashion. This was one of those tools that made our implementations so much easier. For those companies that were not familiar with the tools, they would develop elaborate custom programs to upload legacy data, whereas consultants that were familiar with the BDC technique performed data recordings and then developed simple apps that uploaded the data and submitted it to the BDC. We used to have a standard turnaround time of one day for a BDC conversion program, whereas we estimated 5+ days for a custom-built conversion program. OK, now onto the debate.


When performing code reviews, one subject that always creates discussion is the data dictionary. The typical programmer pays little attention to the database layer and when writing a program that requires a custom table, probably gives very little thought to the design of the database. However, as many professionals coming from other enterprise application domains will attest, the definition of a table is not a quick decision. There are many books that discuss about the best way to design a database (table, fields etc.). Yet in the SAP space, because of the desire to make application development as simple as possible, little thought is given to the database design. In a typical client installation we see a growing number of custom Z tables and unfortunately, many are designed poorly. Having said that, let's focus on when to define a domain and when to define a data element.

Go To Top