In this issue:
You Complete Me, abap2UI5
It's been too long since I've mentioned abap2UI5. That is a crying shame, because this project deserves all kinds of accolades: it bridges conceptual gaps for SAP ecosystem members who are deeply invested in ABAP, it has an insanely good documentation site, and the crew actively engages the community with knowledge and sharing. Mad respect to the team.
Here are a couple of tidbits you may find interesting.
Remember all those times you wrote ABAP-to-Excel code? Bring that stuff right on through to abap2UI5 apps.
Get your Build Work Zone on, and go ahead and bring it to Mobile Start, too. Learn how.
A great breakdown of the technical innards of abap2UI5.
It actively cooperates with other great open-source projects, like UI5 Linter.
I encourage ABAPers who haven't yet developed their UI5 chops to give it a try. From a skill standpoint, you can't get away without understanding some basic UI5 concepts - but having them anchored in ABAP will ease the journey considerably.
abap2UI5 is a work of art. Passion, attention to detail, and consistent commitment make this one of the star pieces of the ABAP open-source world. I would love to hear real-world stories of working apps built with it. PM
ERP Build-a-Bear Horror Story
Back in the early 2000s, at my first SAP gig, I saw the company CIO giving a project kick-off presentation to the business people. While talking about “why SAP?” he said: “The problem with best-of-breed is that it just didn’t breed—har har har!” Well, guess what, Bill. Best-of-breed regained its reproductive functions and now we are talking about composable ERP and even composable enterprise.
For the business people using ERP systems, the concept of composable ERP sounds super awesome. You get to cherry-pick your functionality and end up with the best possible solution. What’s not to love, right?
For everyone else, this idea is a flippin’ nightmare. The users imagine the composable ERP as an upgraded Iron Man or, at minimum, a neat Lego set. But the reality is not even Frankenstein’s monster because that was actually quite well integrated. No, it is more like a creature from Leviathan that ate all the ship’s crew and is walking around with the heads and limbs sticking out wheezing “kill meeee”. As this excellent article put it: “each department brings their own body part along like some macabre Build-a-Bear workshop”. And every bear needs care and feeding by IT department after it’s brought to life.
As we learned from the Grug developer, “complexity is bad”. And complex systems fail—badly. This doesn’t mean that everything needs to be primitive, but ignoring questions of scale, data volume, and data quality would be dangerous. Certain things should not be “de-composed” (think SAP core modules), and others need to be carefully evaluated. You’re probably already struggling to maintain master data in an organized manner in SAP alone. Now imagine bringing more moving parts into the fold. Yikes. To quote my visionary manager, composable ERP just “never going to be good”. JP
AAncos AAsks: What About AI?
Antonio de Ancos Cid of AAncos writes (in English translation): "One cannot…deny that Artificial Intelligence has brought changes in our way of working". Most folks don't appreciate the pace of improvement in AI. If you tried out GitHub Copilot a year or two ago and gave up, you’ve missed out. For example, Antonio test-drives the new hawtness Bolt, and in the description of the video he says "You tell it what you want and the magic is done." That's a phase change.
Antonio also hits a couple of points that drive home the need to keep your learning up to date. "If you do not have the necessary knowledge…you will hardly be able to analyze whether it is valid or not", and "Knowing how to use these types of tools can make your job easier, but you will never be able to avoid learning." Until AI can think exactly the same way you do and write perfect code to match, you must be able to review and revise. You can't do those things unless you truly understand.
I work on projects to enhance internal enterprise systems. I can't think of it as the business of software. It's the software of business. Bolt and Cursor and their cousins are crushing general-purpose web development. My challenge is to go easy on the techie Kool-Aid and zoom in on what my business customers need.
Sometimes Kool-Aid and business needs are the same! Sometimes I convince an Important Person that this Kool-Aid is delicious! But other times I go running off to AI nerd land with no easy path back to customer value, and I have to wait - impatiently - to nerd at another problem. That's the way it should be. PM
Hungarian Notation: Just Why?
Like our famous cicadas here in the US South, the debates about Hungarian Notation (HN) in ABAP emerge every 10 years or so and make a lot of noise. This year’s brood Why is Hungarian Notation Harmful caused as much stir as 2015’s Polemic Scripture Against Hungarian Notation , adjusted for the community participation index.
To me, HN is part of a bigger question of code quality, including cleanliness and the good ol’ “reducing WTFs per minute”. Better code modularization (smaller methods) and inline declarations (ABAP 7.4 and higher) should’ve already yeeted HN out of existence by now. Yet, here we are.
As we get older, we usually learn that things are not as black-and-white as they may seem when we’re young. It’s the same with HN. I don’t think I’ll stop using p_…
for parameters any time soon. These are very clearly defined, and it’s helpful to see them clearly in the code. I’m not some zealous “anti-HN warrior”. But lv_
or ls_
and such – just why? What joy does that bring?
Some comments mentioned that HN is enforced by the senior developers and local ABAP guidelines. (Boy do I have a read for you on this!) Two suggestions:
Development guidelines need to be reviewed every year to ensure they align with modern coding practices. Many things have changed, even in ABAP, over the past decade, but I bet not all guidelines have kept up. When was the last time yours were updated? When you went live with SAP in 2007?
The person recommending something needs to be able to explain its specific benefits or, respectfully, sit down and shut up. If anyone asked me why HN should be avoided, I’d give them the best answer from this old post: “vUsing adjHungarian nnotation vmakes nreading ncode adjdifficult”. JP
Crystal Ball: 2025 Edition
It’s this time of year again, folks, when I dust off my trusty crystal ball and look inside with a mix of worry and excitement. (How did it do last year? You decide.) Here is a freshly crystallized batch of enterprise software predictions for 2025.
The AI honeymoon is over. In 2025, it will become clear that the dreamy new companion also eats all the pizza and leaves dirty socks on the floor.
“We’ll fix the code your AI wrote” will become a lucrative consulting opportunity.
SAP’s marketing department will cause a worldwide ChatGPT service outage when they overheat the servers trying to come up with a new slogan for SAPPHIRE. May I suggest going back to “Run simple”?
Some misguided SAP customers will adopt what they believe are microservices. They will be featured in the new In memoriam segment of a user group conference keynote.
The SAP Community platform will release an update restoring functionality that used to be available in 2012. This will be celebrated by the entire Community. All 18 people. Except maybe that guy.
Some dictator’s slippery fingers will trigger an apocalyptic event, plunging the world into a dystopian “Waterworld meets Mad Max” reality. SAP’s corporate cruiser Hasso 2.0 will engage in an epic naval battle against Larry Ellison's super-yacht Musashi off the coast of Trinidad and Tobago. Survivors will refer to it as “The Great ERP Sea War.” 2 years later it will be renamed as “The Best ERP Showdown, Public Cloud Edition, powered by HANA, and for some reason SAP Build”. JP
Dear SAPta Claus
I am writing to you with my Christmas wish list. Yes, I know it's late - due to a project emergency I don't have time to make up a fake excuse. I hope that your reindeer feed supply chain issues have been resolved. Please have Rudolph submit a ServiceNow request if the team is still hungry.
I have been a very good boy this year.
I only laughed four times when people said "short dump" or "we need to check the PP configuration".
I diligently log out of Teams meetings before shouting "WHAT THE EVER-LOVING F**K" about broken corporate processes.
I almost wrote unit tests for a mission critical app! (But then I didn't.)
My wish list is as follows:
An app that completely obliterates "in today's fast-paced world", "in the ever-evolving landscape of technology", and similar AI slop from ALL my social media feeds.
An SAP roadmap presentation that makes any kind of sense whatsoever.
An official Red Ryder, carbine action, two-hundred shot range model air rifle!
My goods receipt processing is currently offline, so I apologize if your sleigh is held up at my receiving dock.
Cordially,
PM
Watch this festive Nerdletter Talk edition for the details of these stories that were too juicy for the press. We are sooo on the Naughty List! 8-]
Where is your Elf on The Shelf? Probably watching our latest Nerdcast episode where SAP Press book author Aleksandar Debelic returns to discuss the cool tech stuff for SAP practitioners.
Looking for last minute Christmas / New Year / Festivus gifts? Our Boring merch shop got you covered! We have everything for friends, enemies, coworkers, and elephants of all colors.
Nothing warms up the nerd hearts like a cup or two of hot chocolate. Thank you for your readership and support in 2024 and we’ll see you in 2025!
I don't think I have enough likes to give about killing off HN and having folks consider using meaningful naming. I've had some success with this, but it is amusing how pervasive it is. So much of what is done is just because "well that's how the previous people did it".