News and Articles

Old School May be Cool…but Please Quit Programming that way

This was a fun article for me to write. I reflected on how I started on the apple IIe. For me, linear programming was a foundation built over decades. I did not however, have much problem transitioning to object oriented programming. That happened many years ago. The vectorized programming of R and Python was challenging but extremely rewarding and I never really have looked back since. This small article is for a very specific audience though. That is, my SAP compatriots. If you do not work with SAP feel free not to read any further. No really…it would be a waste of your time.

If you are still reading, then you are the SAP community and possibly an SAP developer. This community is entrenched in not only repeating previously successful processes, but following the SAP official lead. I am going to ask you to stop that. The world of development and visualization has changed so much in recent years that you have likely not have the joy of embracing that change. Perhaps you are waiting for SAP to invite you to new and non-conformist development ways? Well, that’s not likely to happen. SAP wants you to do it their way, they want you to plan on Hana for advanced analytics and Fiori for application interfaces. Neither of which is truly necessary. They want you to look to them for your next push forward; they want to charge you for it.

Let’s just look at one small example. If you are writing ALV reports, or have written an ALV report in the past year, you are missing out on the great opportunity to separate the SAP system from a presentation layer. ALV reports and traditional reports within the SAP system should be consciously avoided. There are many tools that provide a presentation layer for your SAP system. Some of these presentation layers are even free depending on your environment. My go-to presentation layer is PowerBI.

Case Study Example

Imagine that you want a report to show the scheduled background jobs for the next few weeks in your SAP system. The transaction code SM37 doesn’t work because periodic jobs only show up for the next scheduled run. You want to see how much activity is going to happen in the next few weeks. You have a suspicion that things aren’t balanced as well as they could be.

This program is easy in SAP and takes roughly an hour to write. However, if you have to build the presentation layer now you have very significantly increased your work; in the end, you still have a mediocre ALV report. By abstracting the presentation layer, you can quickly finish the report and push the raw data to PowerBI.

I created a report for just this scenario to show how much more effective this report is over an in-SAP report. In this simple report, a few things jump out right away.

First, why are there scheduled jobs going back more than six years? This report quickly highlights that a clean-up is in order.

This report is interactive and by drilling down into the year 2017 and the month of July you can see some quick metrics for the upcoming month. I didn’t build that interactivity, that comes naturally with a presentation layer as advanced as PowerBI.

Drilling one more level down we can see all the jobs for the 17th of July, 2017. What is quickly surprising is that there are 516 background steps and the duration estimate is 4,320 minutes. Seems kind of high, let’s keep drilling in to see which jobs are the largest consumers.

At the time level of the report we can sort and see which hours are the biggest consumers. These are 8:00 P.M., 9:00 P.M. and 5:00 P.M. in that order. But the discovery we make that would have been much harder to see is that two jobs with a duration of 15 and 10 minutes respectively are scheduled to run every 5 minutes. Visually, the bar chart shows this immediately. See all those double jobs scheduled every five minutes?

This report tells us two things quickly. One, we need to get those old jobs that have been sitting around the system for over five years cleaned up. Second, the 15 and 10 minute jobs that run every 5 minutes is clearly erroneous and adding significant time to our background schedule. At first glance, I would think at the very most it should be scheduled hourly (reducing our workload to 1/20th what it once was). A visual representation of our report makes it much easier for us to interpret and understand quickly what is going on. An ALV report simply doesn’t compare.

In conclusion, why would we want to write antiquated ALV report in SAP when creating a report in this way is so much more effective and faster? This example I provided took me four hours, soup to nuts…including this write-up.

Please stop ignoring a more dynamic presentation layer.

Leave a Reply

Your email address will not be published. Required fields are marked *