On Saturday 23rd of June 2018 it was time for SAP Inside Track in Rome. Once again I was lucky enough to have been invited to speak, and I will write a blog about the very same evening of the day the event occurred whilst it is all still fresh in my mind.
Table of Contents
No description of an SAP event would be complete without the food review and the night before we went to dinner in “Flavioalvelavevodetto” which I am told translates into English as “Flavio – I told you so!”.
That was good it is always nice to meet new people (and drink with them). The irony is that when I was in Hamburg two weeks ago I had a pizza in the evening, and now I am in Rome I had a hamburger.
The other good thing about Rome of course is it being stuffed full of monuments. On the way back to the hotel we passed this huge great pyramid and I asked it if it was lost and maybe it should be in Egypt, but it didn’t deign to answer me. And they accept cards as payment for things, which is one up on Hamburg.
Me – Test Driven Development
I have given this speech several times now, I can give it a rest now for a while, and I like to think I have been refining it each time based on the – very sensible – questions and comments I get each time. That is how you can tell if a speech has gone well – if no-one comes up to you afterwards with questions or observations it possibly means no-one felt the speech was in any way relevant to them.
I had to cut the speech down slightly from 45 minutes to 30 minutes for this event, and that makes you think about what is the most important thing you are trying to convey. As a mental exercise I thought – if I only had five minutes then what would I leave in?
The two points I would make would be these:-
- Whilst the creation of unit tests gives you automatic regression tests so you know the instant a change breaks anything, the primary benefit is that changing your code to make it testable makes it SOLID and thus less likely to break in the first place. So, paradoxically, the more tests you write the less you need them, as creating tests makes the code better even if you never run the tests (which is just as well as your colleagues probably won’t run the tests when changing a test enabled program).
- 5% of a programs life cycle is development, 95% is maintenance. So if you take two months to write the program rather than one (due to all the extra test code) then that extra month pays for itself in the form of eighteen years’ worth of not having to debug all day long and have users and your boss shout at you when changes go into production and break everything. As the quote says about “quick and dirty” – “the dirty stays with you long after the quick is gone”.
Talking to Apps
The first point here was the difference between UI and UX, two terms which are often used interchangeably. The UI is how the mechanics of how a user interacts with a device – computer, car, pogo stick, whatever. The UX is how much fun (or otherwise) they have whilst using that interface. Yet 99% of people perceive UX as all about how the screen looks.
Then there was an example of the CATS timesheet entry process, moving from pieces of paper to Excel to the SAP GUI and finally to talking to your phone and telling the “chatbot” how many hours you had spent working on what project that day or week. Conversely the manager could query such information (to approve it for example) by asking their phone questions.
There was a demonstration of the latter working. Well it did work but I couldn’t help but notice that the Google assistant was not able to respond to about 50% of the instructions verbally given to it, but as soon as the presenter put the phone down and started talking about something else, well then it could suddenly hear him and started trying to respond. In summary I think we have a long way to go before we get to the situation described in the 1981 ELO song “Yours Truly, 2095”. Though the technology will get there before 2095 I am sure.
The third speaker moved on to how this was built technically – there is a tool called “Dialogflow” or API.AI which is used to build chatbot type things on Google. As might be imagined to a developer that sort of thing is fascinating – you start of configuring “intents” which are things the user might be asking for, ir giving instructions about, and then you have “training phrases” (training because of the machine learning that automatically makes the chatbot better over time) in which you map elements to the final destination e.g. a WBS element for a project or the actual SAP field for the duration.
New BI Launchpad / Universal Viewer
This was a remote session from India. Ashok from SAP wanted to tell us about the new Fiori BI Launchpad and the Unified Viewer. Both are in beta mode with limited functionality at the moment.
The BI Launchpad looked just like the normal Fiori Launchpad to me, with tiles, the only difference being all the tiles related to reports in various BOBJ and other reporty technologies as opposed to transactions. You can also change your setting to have them configured as a big ALV type list or a folder structure (the latter being what a lot of users really feel most at home with).
In this radical new technology SAP also seem to have invented the new concepts of batch job monitoring a la SM37, and the workflow inbox.
Also it was crystal clear that the new UI design at SAP does not like the idea of having lots of menu commands across the top of the screen, which is what we have been used to in the SAP GUI or what you get with Word or Excel, for instance. Instead the way to go is to have 95% of the area at the top of the screen filled with blank space, have one menu command if you are lucky, and then three dots in a row which if you press them give you a context menu of all the other available commands. In other applications I have seen this design pattern even if the context menu only has one entry. What was that about UX again?
The unified viewer comes out of the fact that SAP has a very large number of different technologies for producing reports due to a mixture of acquisitions and in-house developments e.g. the many faces of BOBJ, Lumira and so on. I think the idea of the unified viewer is to try and standardise the appearance of about two dozen different report technologies as far as such a thing is possible. Thus far it only actually unifies two – Lumira and Web Intelligence – but the general idea is clear.
Dynamic Maintenance Management
Next was Daria from SAP. She has been working for the last two years on an IOT project for a big train company in Italy. To put it very simply the trains have loads of sensors all over them and transmit a vast amount of data to the SAP IQ “Data Lake” in near-real time (up to 10 minute lag). The relevant parts of that huge data lake are forwarded to HANA where the “HANA Rules Platform” evaluates them, issuing warnings if something is wrong already or about to break down in the immediate future, or using machine learning to make predictions about when a component is likely to break down rather than just saying “replacement the self-sealing stud bolt every six months”.
We are doing something very similar at my company, and I know all the big mining companies in Australia are also travelling down this road (or train track).
Oh and by the way one the slides here had PARDIGM SHIFT at the top so naturally the audience did a Mexican wave.
Get Your Hands Dirty
Francesco, Sebastiano and Simona are three consultants from Techedge (who hosted this SIT). They each did a third of the presentation and each one of them slipped in at some point that they were all really young and thus liked doing things in an agile way. They were really young, I will grant them that, but hopefully us dinosaurs can still be agile if we really try, though thinking about it, based on a lot of the reactions to my talking to people about TDD, maybe not. Anyway I like them, I went out to dinner with them the night before!
Anyway the first third was all about “SAP Activate” which is a methodology designed to get companies going with S/4 HANA at a fast speed. It seemed to be a variation on the “agile not waterfall” approach as far as I could see.
Then there was another discussion about chatbots as general thing, as they were going to be sued to solve the problem at hand.
The second third described that problem – which was that the consulting company used a tool called ASANA internally to organise all their agile things like burndown lists and the like, but for external customers the same data was presented in the form of a Google spreadsheet. So that is two applications which have to be manually updated for each change and that is a bad thing so a way was needed to update them both at once to make sure the data in each was always the same.
The third third was all about using a chatbot inside Slack which used the standard tool to update ASANA and a custom built thing which used the Google spreadsheet API to update the spreadsheet. The updates happening in response to telling the Slack chatbot what had changed.
Transaction F110 in S/4 HANA
This was a remote session from Brazil where SAP Mentor Marssel Vilaca took us through what the F110 transaction looks like in S/4 HANA. In case you do not know that is the transaction that processes vendor open items due for payment and sends that information to the bank, or prints cheques, or whatever. It is known as the automatic payment program and I have been all too horribly familiar with it since 1997 during which time it has not changed even 0.1% as far as I can see.
In the presentation it was mentioned that is not a very intuitive transaction and I can quite clearly say that is a very true statement. Thus I was very interested to see if S/4 HANA had done something with it to make it more obvious what is going on during a payment run.
I took three things ways from this:-
- The customising for the payment program is done via the NetWeaver Business Client
- Printing things from this transaction does not work anymore in the traditional way but there is an OSS note to tell you what to do
- The Fiori App to replace transaction F110 may possibly have slightly less screens due to displaying the data from several tabs all at once, but otherwise looks 100% identical to the way it did the day I first saw it in 1997, albeit in a much nicer GUI. I suppose that is inevitable – all the fields could be needed, and there are a fair few of them.
Before the event ended we had a have a group photograph especially as we had been sent one from the ABAP Code Retreat (or something) which was happening simultaneously in Warsaw. There used to be only one SAP event in Europe per year now we have at least one a month and today two happening at once!
Once again this was a wonderful event with a very high quality of speakers, and I am glad I went. I wold especially like to thank fellow Mentor Alessamdro Iannacci for giving me lifts to and from the hotel to the main event (and the beer event).
Next week I am off to Freiburg in Southern Germany for the abapGit meet-up. I am sure that is going to be fascinating as well.