Open-source project: SAP/styleguides – Clean ABAP

A highly valuable resource for the ABAP developer is the clean ABAP guide available on GitHub.com under SAP/styleguides. The guide helps the ABAP developer in writing clean code.

What is clean code?

The bible of the clean coding movement is the book Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin. The opening quote of the book states:

Writing clean code is what you must do in order to call yourself a professional. There is no reasonable excuse for doing anything less than your best.

Robert C. Martin

In the foreword of the book, the following summary of clean code is given:

… Yet attentiveness to detail is an even more critical foundation of professionalism than is any grand vision. First, it is through practice in the small that professionals gain proficiency and trust for practice in the large. Second, the smallest bit of sloppy construction, of the door that does not close tightly or the slightly crooked tile on the floor, or even the messy desk, completely dispels the charm of the larger whole. That is what clean code is about.

James O. Coplien

As you understand from the quotes above, we need to focus on the details in order to write clean, professional code.

Clean ABAP

There are numerous open-source projects and style guides available for writing clean code in different programming languages. The open-source project SAP/styleguides concerns itself with ABAP, the high-level programming language created by the software company SAP.

The Clean ABAP guide gives the developer recommendations on a number of basic topics, such as naming, constants, tables, strings, booleans, and conditions. The guide also digs deeper into more advanced topics, such as OOP best practices, error handling, and testing.

The guide is written in a dense way, without lengthy discussions. It is very much to the point and provides a number of useful examples on patterns and anti-patterns. For quick reference, there are also cheat sheets available.

The project license is CC BY 3.0. For a human-readable summary of the license, see the summary by Creative Commons.

Conclusion

Writing clean code is an essential characteristic of a professional ABAP developer. There are many useful patterns and recommendations presented in the SAP/styleguides project. I think that every ABAP developer should be familiar with the guide and its concepts.

For the developer who has worked for several years with ABAP, I particularly recommend the sub-section Modern ABAP Language Elements which gives a neat summary of newer ABAP syntax.

Start reading about and applying clean code concepts today! I promise that the quality of your code will improve a lot.

Disclosures

I’m an active contributor to SAP/styleguides.

The link to the book Clean Code: A Handbook of Agile Software Craftsmanship is an affiliate link. As an Amazon Associate I earn from qualifying purchases.

SAP Fiori 3: The next level of SAP’s design system

SAP launched the first version of its design system Fiori back in 2013. The first version was limited to self-service scenarios targeting the casual user. In 2016, Fiori 2.0 appeared on the scene, expanding the scope to targeting the power user. SAP is now presenting version 3 of Fiori, and I’ve just attended a MOOC on openSAP covering the topic. The course is Intelligent Enterprise User Experience with SAP Fiori 3, and it’s available free of charge. In this post, I will summarize my main takeaways from the course.

User experience goals

With Fiori 3, SAP wants the user experience to be:

  • Consistent
  • Intelligent
  • Integrated

Let’s have a look at these three goals in more detail.

Consistent

Consistency means that Fiori 3 should provide a harmonized look and feel across the SAP product portfolio. Since SAP has expanded its product portfolio through several acquisitions (e.g. SAP Fieldglass, SAP Ariba, SAP Concur), the UX of the different systems is not consistent.

I think it is great that SAP addresses this topic by harmonizing the design and providing a new visual theme. The reworked home page also looks promising, with the tiles we know from previous Fiori versions being replaced by cards. The cards are much more flexible and interactive than the tiles. Also having a common shell bar for all products will definitely help the user who is currently working in several SAP products.

Intelligent

SAP has lately been pushing the “Intelligent Enterprise”, which consists of the intelligent suite, the digital platform, and intelligent technologies. Fiori 3 is an important part of this vision and will provide natural language interaction as well as machine intelligence to make the UX intelligent.

SAP CoPilot is a digital assistant with conversational UI. According to Gartner: “There is a big, disruptive platform paradigm shift coming now. Conversational AI platforms (CAPs) will be the next big paradigm shift in information technology.” I think it is interesting to see the digital assistant concepts which we are familiar with from our private lives now being applied to enterprise software.

Another interesting approach to provide an intelligent UX is proactive business situation handling. This means that the system captures a current business situation and its circumstances. The user is provided with an explanation of the situation and its impact on the business. The system also provides possible actions ranked by preference, together with explanations of the proposals. Making the system act proactively in this way sounds very promising to me.

Integrated

The integration provided by SAP Fiori 3 is at the UX level, integrating content from different products into a single screen (the home page). This approach has several advantages, like:

  • Eliminating time-consuming cross-product navigation
  • Collecting items from different systems in a universal inbox for efficient processing
  • Informing users of changes as they occur by handling notifications across devices, enabling users to respond immediately
  • Consolidated task area collecting everything users need to do in a single place
  • One digital assistant across all products

Final thoughts

I think that Fiori 3 is an important part of the intelligent enterprise vision of SAP, and I welcome the initiative. It’s important to know that Fiori 3 won’t be introduced as a big bang approach, but rather will be launched step by step. SAP expects that the first innovations, e.g. the theme, the look, and the header, will become available in many of the products towards the end of 2019.

If you found this blog post interesting, I would encourage you to attend the course Intelligent Enterprise User Experience with SAP Fiori 3, which takes somewhere in the range of three to five hours to complete. Please share your thoughts in the comments section.