Skip to Content

To BDC or not to BDC

We are just wrapping up attendance at SCM2010 in Orlando and the sun has decided to show it’s luminous face on the last day, just to demonstrate that the sun does shine in Florida! We’ll be returning to single digit temperatures in the Pacific Northwest as the East coast gets slammed with yet another blanket of snow.

Our trip to SCM2010 has been very interesting, not least because it gives us the opportunity to talk to a wide variety of SAP users and professionals. During my conversations I have once again encountered the concept of using BDC recordings to perform batch creates and updates of data in SAP systems and in some cases I have encountered SAP system users who believe that they may be using BDC recordings but really can’t be sure.

For those unfamiliar with BDC recordings a quick internet search will provide you with plenty of commentary and advice on BDC recordings and much of it is available on SDN also. In any case, BDC recordings so far as I can tell, have at least been available since 4.6c, about the time that I first became involved in SAP systems. In dog years that’s a geriatric 70 years ago and in the lifetime of an SAP system that’s a good few releases ago. Nonetheless, BDC recordings still seem to be a popular means of pushing the creation and change of data in batch mode into SAP. BDC recordings have the added feature of being able to be packaged as transactions for execution by users. When looking through SAP documentation though it is interesting to note that the humble BDC recording is a programmers tool. In fact in SAP Help, it falls quite categorically into BC Basis Programming interfaces. Consequently, the ability to create a BDC is almost invariably limited to technical resources.

Any given SAP system may have a prescribed configuration for say the use of VA01, a order creation transaction that is familiar to most users, programmers and administrators and also the benchmark transaction for the determination of what constitutes the SAP workload measure – a SAP, in the SAP quicksizer. Though VA01 is used by SAP business users to enter orders, it can also be purposed with the help of transaction SHDB, to create a BDC recording of VA01 which can then in turn be used to mass create orders using a datafile input rather than human keystrokes in realtime. That’s a cool feature you might say, for mass data creation, you could potentially use that capability to do any number of mass activities on your system, what could be the flaw?

The first challenge with this approach, is that it is relevant to system configuration at a point in time, if your system configuration changes or if you have a variety of scenarios in even the basic (or not so basic) process of creating a sales order, then you need to create multiple BDC recordings to handle all possible combinations. Additionally, you need to have the involvement of multiple players in the creation of the BDC object. Whilst a business user may be lucky enough and technically proficient enough to execute SHDP and create their own recording, it is unlikely that they have a developer key, which is required to convert the BDC into a program for execution by other users. Additionally, even if this user can do this, the ability to proliferate the availability of the Z transaction which references a BDC recording, needs to be made available through the security provisioning process associated with user profile maintenance in SAP security. From a very simple and straightforward requirement you end up with having to herd the cats so to speak to take your conceptually basic requirement to something widely available and usable by a broader business user community, possibly with some technical limitations – I won’t go into this on this occasion, but error handling and reliability of successful completion of all runs is the first glaring problem area here.

WIthin the SAP ecosystem you have alternatives though, quite properly so, these are not limited to programming based solutions. SAP Partner products afford business users as well as SAP technical resources alike, the ability to create BDC like recordings on client side workstations without needing to install or configure anything on the SAP host system. Using a considerably simplified three step process, business users, without the participation of technical resources can immediately leverage their existing SAP security profiles, credentials and system access to leverage virtually any SAP transaction to create client side scripts using third party tools to build a structured batch data load/change process or sub process with or without guided procedures. Additionally, the batch enabled transaction can now be directly accessed from within MS Excel and provide realtime feedback on the successful execution of the script and also facilitate complex If Then, Loop and Skip if Not Found/Relevant logic through some rudimentary yet powerful configurable logic and conditional configuration on the client software.

For end users and business users who wish to own and manage their mass data creation and change processes more intimately and in realtime, these are essential approaches to improving operational efficiency and effectiveness.  From there on out, it is simply RECORD, MAP, RUN!

You must be Logged on to comment or reply to a post.
  • BDC was the de-facto data migration / interfacing technique when I started as an ABAPer. It is a simple thing to do – and hence a lot of projects resorted to BDC to get things done quickly. I remember joking about mode “P” in BDC – which is a regular mode “A” (All screens) code, but then you keep a paperweight on enter key to keep things going fast, but still be able to keep an eye on things 🙂

    Unfortunately – as SAP evolved, many of the newer controls became un-friendly to BDC. And it is an absolute nightmare to maintain – config changes, GUI changes, weather changes..any thing that changes will hurt BDC. And the largest testing and retrofitting effort in most upgrade projects were on BDC programs.

    • Vijay
      a great response, you hit the nail on the head in terms of how long this solution has been out there and the fact that it had some little quirks that needed to be ‘coped’ with. Given the direction that the UI seems to be taking using BDC seems to be becoming less and less attractive.
  • Actually, BDC existed all the way back to SAP R/2 on the mainframe. The tcode SHDB did not exist back then; you had to code all the screen flow logic from scratch.

    Vijay is correct though. Changes in the transaction flow can cause issues with the BDC program. There are ways of handling the newer transactions and controls in recordings though. ECATTs for example are capable of recording the newer transactionss.