Skip to Content
Author's profile photo Andreas Eissmann

Development by Design*

*This blog post is cross-posted from SAP Mentors Quarterly Q4 to make it visible in SAP Business ByDesign space. Many thanks to Otto Gold for his great work!

General overview and “Hello World!” for the ABAP and Java folks

Development for SAP Business ByDesign is currently a hot and frequently discussed topic. How can you learn it and what are the reasons you should do so? This article provides some answers.

SAP’s recent enterprise solution for small and medium businesses, SAP Business ByDesign (BYD), is gaining traction. The On-Demand solution has brought along an all new software development kit (SDK) and programming languages. It’s time for a brief introduction and a pointer to further ressources.

Why should I care

Why you should care? The number of BYD customers is growing exponentially. The solution is young and gives room for custom add-ons. The recently launched SAP Store ( provides a platform to easily market and sell your solutions world-wide and, at the same time, a stimulating buying experience for potential customers. And last but not least, rumors say that the SDK will eventually become the common platform to develop not only for BYD, but also for other SAP On-Demand solutions, such as Sales OnDemand that share BYD’s platform – same environment, just other business objects…The SDK, coined “BYD Studio”, is built upon Microsoft Visual Studio (second part of that blog) as the IDE. It allows the development of custom add-ons and supports the process of deploying builds to the SAP-hosted runtime infrastructure. With the current release 3.0, SAP deliveres a variety of new features and a boost in stability and performance to the SDK. And given the pace of improvements since my first hands-on experiences in November 2009, it will not take long for more features to be delivered.


Many of our readers are hardcore ABAPers (does Javers make any sense to you by the way?), but with

ByDesign new opportunities are coming. That`s why you can understand the pictures around as an

illustration of the ByD “hello world!” application. This picture show the “final application”at runtime.

Check others for the development steps and languages.

What languages do I have to speak

There are three separate programming languages: BODL (for business objects), ABSL (for business logic) and SAPRuby (for the UI). Yes sir, no more ABAP or Java. But don’t be afraid, those new languages are rather simple to learn. The first important fact to know: there are no classes – only business objects. And as they don’t offer static methods, you always need a business object instance to execute your code, which requires some rethinking. Secondly, there is no direct database access. If you want to retrieve any data, you have to use queries and get back business object instances. Thirdly, there is no inheritance. Instead, the SDK offers associations, which reduces the number of runtime data at a given time. For example, consider the three business objects business partner, customer, and supplier. With inheritance, all three would contain the same basic data (name, address, …). In BYD, only business partner contains such basic data, while the other two objects have an association to it. For me personally, this was the biggest change I had to get used to when designing an application architecture. Here is another example. Products can be used in Sales Orders. Now imagine you want to create a Product Bundle that can be used in a Sales Order just like a single Product. With inheritance, this is straightforward: Product Bundle would inherit from Product. So, how do you do that with associations? Remember that you cannot simply add your new object to a Sales Order, as it is not of type Product. Instead, you have to modify Sales Order first to accept your new object. This might seem complex and time-consuming, but is actually an advantage with respect to security. What if behavior of your new object is exactly not what the developer of Sales Order assumed? After getting used to these three key facts, development with the SDK is easy. Thanks to numerous wizards, e.g. to auto-generated UI’s, approval tasks, data sources, reports, or even web services, development is also very fast.


BODL (Business Object Description Language) is used to define business objects (e.g. ServiceOrder,

Employee, Customer etc.), which is typically the first step in the development process. The

objectoriented language is syntactically similar to C# or other high-level programming languages.


After writing the BODL part, you have to activate the business object and create

scripts for your actions and (if desired) for events. You do this with Advanced Business

Script Language.

Where should I go from here

So where to look out for further information? As the SDK is currently available to selected “Solution Partners” only, the main source of information, the SAP Business Center (, is only available to eligible users. However, there are alternative ressources available. I recommend Thomas Schneider’s book “SAP Business ByDesign Studio – Application Development” (ISBN 1592293670) in case you are interested and don’t have access to the business center. Also, check out Jon Reed`s blog and podcasts ( and also my own blog on SCN ( I am also planning to launch a ByDesign development website with tutorials and how-to’s. If you are interested in joining forces, please send me an email or contact me via twitter (@andeiss). I am proud to be part of SAP’s cutting-edge technology and hope I can motivate many more people to develop for BYD and to create a large and vivid community.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Hi Andreas.

      Thanks for this overview, actually i'm a Java and ABAP programer, and i'm trying to get into de ByD's world, you know, there ir a lot of stuff i can understand, i'm trying to do some Customer Specific Solutions, for example, i'm trying to extend a BO to make it call another BO, for example, i want to make automatical billing, or process a pay from a payments document.

      I dont know if i explained well, but i hope you can guide me.


      Author's profile photo Former Member
      Former Member

      Hi, as you may have seen in my blogs, I explain this exact scenario.

      Author's profile photo Former Member
      Former Member

      Hi Judson, Thanks for the answer, I'll check it =)

      Author's profile photo Andreas Eissmann
      Andreas Eissmann
      Blog Post Author

      Hi Arnulfo,

      thank you for your comment. How Judson already mentioned, I think you will find an answer in his blog:[published]~objecttype~objecttype[blogpost]

      If you have further questions, don`t hesitate to contact me/us again via SCN, twitter or email.


      Author's profile photo Former Member
      Former Member

      Hi Andreas, thanks for the answer, I  think I'm gonna bother you both for a while =).

      Thanks again

      Author's profile photo Former Member
      Former Member

      Bug us all you want. You can also get to me via email or twitter.

      Author's profile photo Former Member
      Former Member

      Thanks =)