My key takeaways form #sitFRA 2015
Last weekend I attended the first #sitFRA (#sitFRA). Hendrik Neumann, Tobias Trapp and Christian Braukmüller put together an amazing agenda (http://sitfra.cbasis.com/agenda/, thanks again for the organization). What really surprised me when first looking at the agenda was the number of sessions related to ABAP. Despite of all the new technologies out there about half of the sessions were somewhat related to ABAP. In contrast to previous SAP Inside Tracks I mainly attended sessions related to ABAP. In this blog I want to summarize my key takeaways of the event.
BOPF – The must use framework for transactional applications
For me the most impressive session of the day was given by Oliver Jaegle, Martin Fischer and Sascha Hack. In three 8 minute sprints Oliver and Sascha created a complete task management application using the BOPF framework (BOPF SCN Sitemap). The application included features like a Web Dynpro UI, locking and transaction handling, validations as well as some actions for tasks. The demo showed how powerful the BOPF framework and the tooling around it already is. When creating a new transactional application, using BOPF is IMHO definitely the way to go.
An interesting feature of the BOPF I always missed is the BOL & GenIL connector. I definitely have to give this a try. If it enables the integration of BOPF objects into SAP CRM and the consumption of BOPF object in the CRM WebUI it would be a significant simplification for the creation of custom BOL objects. Furthermore, the connectors to SAPUI5, Gateway and Floor Plan Manager would allow all these different technologies to work on a central business object model created using BOPF.
Core Data Services (CDS)
The core data service introduced with NW 7.40 (cf. New Data Modeling Features in SAP NW ABAP 7.4 SP5 and ABAP News for 7.40, SP08 – ABAP Core Data Services (CDS)) are basically a family of domain specific languages to define database artefacts. All these features are available for any database. At sitFRA Uwe Fetzer showed in his session some of the features of the DDL part of CDS to define database views including some advanced features like associations. While he was severely slowed down by the slow network connection his example nicely demonstrated the power of the DDL.
One interesting feature of the DDL is, that it simply generates “standard” DDIC elements. These is a quite important feature as it enables the consumption of views defined via the DDL without the need to learn any additional ABAP language features. IMHO this will largely simplify the adoption of the DDL in the development departments of customers.
Furthermore, the possibility to add additional semantic information to the data model (e.g. association information or annotations) as well as the exploitation of these information in tools (e.g. when browsing the data model) creates a very powerful framework for data modelling.
Christ Swanepoel showed in his session what in the future might be possible using CDS. He demonstrated a prototype that enabled the unit testing of views create using the DDL. This feature would be a large step in order to enable the testability of SAP applications. However, the key point Chris made was, that once the customers come into the picture, everything gets unstable. This was demonstrated very effectively by Jens Weilerand Jasmin Gruschke
DSL in ABAP
Another topic that really impressed me was the ABAP DSL Workbench. Peter Langner show a tool he created to enable the creation of domain specific languages. While creating DSLs is quite a common topic in dynamic languages like Ruby or Closure I was really impressed by the fact that something like this was possible in ABAP. Peter also showed some real use cases to which he had applied his tool. The most impressive one was the parsing of the output of a legacy AS400 program (IBM System i – Wikipedia) into a table format that could then be used for data migration (see picture below, sorry for the bad quality). While there are certainly a bunch of tools that could be used to solve thisparticular task it nevertheless shows the possibilities offered by the the ABAP DSL Workbench.
Unfortunately, the tool is currently not freely available. However, Peter is looking for further use cases for the ABAP DSL Workbench.
Be Smart
Last but not least Tobias Trapp provided nice food for thought is his session “Don’t try to be smart – be smart.” The key message was just because it is possible to use generic constructs like e.g. RTTI or cluster databases it is not always a good idea to do so. Instead one should aim for readable and maintainable code. While this might seem obvious the packed room showed that this is a very important thing to always keep in mind.
Besides the session there were, as always, interesting discussions, good food as well as the opportunity to meet lots of nice people. So see you all at #sitHH, #sitMUC and #sitNL.
Christian
p.s.:Tammy Powlas wrote a nice SAP BusinessObjects Lumira analysis of the tweets that were sent out during event (Watching SAP Inside Track Frankfurt using Twitter).
Hi Christian,
This is a great read, and it's no surprise (for me) you're the first to publish a recap of sitfra. Nor is it a surprise that you focus on the ABAP sessions, as most of them were pretty good!
Another session I really liked (which you forgot to mention 😉 ) was the one by Thomas Fiedler and yourself about TDD in ABAP. Do you possibly have time to write another blog post, looking back on your experience as a speaker? 🙂
One of the most interesting talks for me however was the BRF+ one by Christian Lechner. Actually it's so good I'd like to point everyone to his own blog posts of 6 months back, where he explains the whole scenario and solution: Handling of Applications with the BRF+ API (Part 1) and Handling of Applications with the BRF+ API (Part 2)
Finally thanks for the sitnl shout out! This classic SAP Inside Track will be held on Nov 21st, as Twan van den Broek announced during the event.
Cheers, Fred
Hello Christian,
great summary of the #sitFRA sessions.
Are you sure? But nevertheless, DCL is currently stopped unfortunatelly (moved to a later release, for some reasons...)
Hi Uwe,
now that you mention it I might have misinterpreted the following slide from the DSAG Technologietage.
As the DCL part was located inside the HANA box I thought it was HANA-only. However, when I look at the slide now it could also mean that the whole CDS functionality will be available on all DBs. Which, of cause would be great news!
Christian
There's no note in the documentation, that this is HANA only: ABAP Keyword Documentation
(currently everything in ABAP, except AMDB and CDS parameters, is AnyDB)
OK. Thanks for the hint. I'll update the blog accordingly.
Christian
Hi Christian,
thanks for writing the blog! And even more thanks for helping making sitfra possible and such an successfull event! Without the contribution of the community and especially speakers like yourself the day would not have been possible!
Cheers
Hendrik