CodeJam for End-to-end SAPUI5 Application Development

Friday, June 3rd to Saturday, June 4th, Passau, Germany

IMG_1466.jpg

It’s CodeJam time again, and for 38 participants from MSG Systems in Passau, Germany, it was their chance to get up to speed with end-to-end application development.  We started in ABAP with the development of a custom OData service, and then finished in JavaScript with a SAPUI5 app running in the browser that consumes the custom OData service.

IMG_1464.jpg

Most of the people attending this CodeJam were already experienced ABAP developers, but were new to the concepts of OData; so we spent the first half day going through the origins and foundational principles of OData.  Then after explaining the structure of ABAP classes used to define an OData service, people were comfortable enough with the coding side of things that we were able to go “off piste”.  Here, we looked at the inner workings of the OData classes and how you can construct and reuse your own.

The result was that the developers were able to construct custom OData services, ready for consumption in SAPUI5.

IMG_1463.jpg

38 die-hard developers gave up their Saturday to learn about SAPUI5.

IMG_1462.jpg

On Saturday, we changed hats – we took off our ABAP hat and put on our JavaScript hat.  However, some of the developers there had never worked with JavaScript before, so “changing hats” was quite a culture shock!

Due to the fact that a significant proportion of the developers had never worked with JavaScript before, before diving into the details of SAPUI5, it was necessary to take the first hour or so to explain not only the most important programming principles used in JavaScript, but also specifically to contrast how the principles used in JavaScript differ from the principles used ABAP.

First of all, JavaScript is a dynamically typed language, so imagine the fun and games you’d have if you had to write an ABAP program in which every variable is declared like this:

field-symbols: <some_variable_name> type any.

That would make life pretty interesting, but that’s how it works in JavaScript!

After that, the next challenge was to start using a concept that has no parallel in ABAP whatsoever!  This is the idea that the principal unit of JavaScript functionality (the function) is just a data object that happens to have an executable part: that is, JavaScript functions can be created and destroyed dynamically, passed as parameters to other functions and received as the return value from calling a function.  These attributes make a JavaScript function what is known as a “1st class citizen”, and ABAP does not even have such concept…

After the people new to JavaScript had recovered from these programming culture shocks 🙂 , we were able to look at SAPUI5…

Culture shocks aside, by the end of the Saturday session, everyone had successfully created a working SAPUI5 application that consumed the OData service created the previous day.

Unfortunately, we ran out of time long before we ran out of content, but nonetheless, it was a great time of learning, discussion, networking and hacking.

Chris W

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

  1. Shreyas Pandya

    Hi Chris,

    I really wish in future I could be a part of a CodeJam lead by you 🙂 .

    I Love all your SCN contents specially the blog on

    JavaScript for ABAP Developers

    This blog is a goldmine for anyone who’s looking to form a very strong base in JavaScript and SAPUI5.

    Whenever SAP adopts a new UI technology in their portfolio, my personal observation is that, it’s always your blogs and contents that really make a deep impact on our Limbic Brains and that definitely acts like a the bench-marking materials of learning foundations for the platform.

    I still can’t forget the extra-ordinary concepts you explained in the “Web Dynpro Online Training Series”.

    Do you have any plans to make a similar video series for SAPUI5 and JavaScript as well in future? We all would really love to see something similar from an expert like you.

    Regards,

    Shreyas Pandya

    (0) 

Leave a Reply