The Boring Enterprise Nerdletter #6: Learning, Graph, ATC, Coqui, Sustainability, Fusion
Hi there!
January is a tough month. The holiday season is over. We have reached season 7 of GOT and Winter has come. But we don’t need to go down that path and end up like the worst finale in the history of television. There is still so much to explore and learn!
So, step away from that 9th Zoom meeting of the day and snuggle up with the new issue of Nerdletter, carefully curated for you.
After all, Winter is not the only thing that is coming. Spring will be here before we know it. Stick around!
-Jelena and Paul
Learning Frustrations of SAP Developers
Radoslaw Chudziak’s excellent blog post Learning Frustrations of an SAP Developer went practically viral on SAP Community recently. Keeping up with all the stuff SAP has been coming up with is like trying to keep your feet planted on two ice floes that are rapidly drifting apart. There are multiple IDEs, 3 co-existing ABAP Programming models, HANA, UI5, Cloud, you name it.
Constant learning is a given for the developers but, as the blog post correctly points out, the learning content does not align with real-life expectations:
The bottom line is that we have to deliver real world solutions which are more complex than all these “develop SAPUI5 app in 5 minutes” or using the famous Flight data model. We also work under time pressure as per estimates and don’t really have time to dive into standard SAP code for a few days to figure out how to do stuff.
I have written before about the new SAP Learning site which is prettier than Learning Hub but is lacking content. And it’s not just the question of content volume, it’s about content quality. One of the adult learning principles is “Adults are Practical”, we need to apply immediately what we are learning. And this is where SAP-sponsored content frequently fails to deliver beyond the simplest examples.
In the past, SAP professionals relied a lot on the community-generated content. But with the diminishing participation of active contributors in SAP Community and the unfortunate transformation of SAP Mentors program, we can no longer rely on the kindness of strangers. SAP needs to step up and provide simpler and more practical learning content, based on specific business scenarios that correspond to reality. JP
I Graph, You Graph, WE ALL GRAPH
I work a lot with SAP and Microsoft. Both companies offer a service called "Graph": SAP Graph and Microsoft Graph. Since SAP's Graph service just came out of its beta, I thought now would be a good time to compare/contrast.
For both of these services, think of the "Graph" as a programmable interface to a boatload of related data. SAP's related data is business-y: SalesQuote->Customer, Product->Division. Microsoft's is productivity-ish: Event->Attendees, Mail->Recipients. In both cases, the graphs are hiding complexity from the programmer - a Customer might have bits and pieces from both S/4HANA and Sales Cloud, depending on the query.
SAP Graph:
OData v4 protocol - can't swing a dead cat without hitting OData in SAP lately
Only read access at this particular moment, full CRUD coming soon
Out of the box it supports S/4HANA, S/4HANA Cloud, Sales Cloud, SuccessFactors data sources - focus is business applications
Extensible with custom OData sources
Microsoft Graph:
OData v4
Full read/write/delete/query support
Out of the box it supports Microsoft 365, Windows 10, Enterprise Mobility - focus is productivity applications
Extensible with Microsoft Graph connectors
It's probably too early to tell how much love and use the SAP Graph will get, given its newness and proximity to software that not all customers are using yet. But that doesn't mean people aren't taking a look - see Gregor Wolf, coming through with some example code to learn from. APIs are central to everything, so I'm mildly optimistic about a course for growing this service's usefulness over the years. PM
Sustainability: The New Buzzword Frontier?
SAP Executive board member Thomas Saueressig recently announced several SaaS tools that are designed to help customers achieve their sustainability goals. SAP Sustainability Control Tower is the solution primarily designed for environmental, social, and governance (ESG) reporting. Two other solutions (SAP Product Footprint Management and SAP Responsible Design and Production) seem almost like twins. Hopefully, none of them is evil.
Just before our Nerdletter release, SAP doubled-down with a Forbes article that writes: “SAP wants to make sustainability profitable and profitability sustainable” and “sustainability is the new frontier of digital transformation”.
As a cynical Gen-Xer, I usually feel skeptical about the corporate sustainability announcements. It is great that SAP acknowledges the importance of this subject (who doesn’t though?), but how are these solutions making a difference exactly? On the product pages, we should find more customer testimonials and specific data rather than just SAP product managers' blog posts.
Among all software vendors, SAP is in the best position to talk about sustainability and climate change with their customers and partners: they have the ears of the C-suite of the world’s largest companies. Hopefully, SAP will lead the sustainability conversations with the customers and don’t just hang the “mission accomplished” banner after the release of a few apps. JP
Making Myself Trilingual
When I learn about an interesting new AI tool I am forced to play around with it. I heard about Coqui (pronounced "ko-kee") on Hacker News a couple weeks ago, with its really neat ability to take your voice, clone it, and make it speak a foreign language while matching the accent and patterns of a native speaker. I couldn't resist, so I tried it out.
We Boring Enterprise Nerds are working on a website, and one of the fun little things we did was write bios for one another. I wrote this for Jelena:
She’s the fearsome ABAPosaurus: the smartest, kindest, funniest dinosaur you’ll ever meet. Jelena speaks honestly, and will never hesitate to let you know when things need fixing. When she’s not slinging slick ABAP she’s writing books, speaking at conferences, and winning SAP Community awards. SAP Mentor Alumna. Parent. Might curse you out in Russian.
So I spoke into Coqui and had it give me a French version and a Brazilian Portuguese version. This is my own voice, transmuted into the accent and rhythm of a native speaker, saying wonderful things about Jelena. PM
If A Woodchuck Could Check ABAP Code
ABAP developers should already be familiar with the ABAP Test Cockpit (ATC) tool. These days, many SAP customers have multiple ABAP development system in their landscape, such as ECC, S/4HANA, CRM, MDG, and others. Such landscapes can greatly benefit from a central ATC system where all the code can be checked remotely and consistently.
In a nutshell, a central ATC system can be a “barebones” instance that has nothing but Basis and ABAP in it. Since it’s independent from any other systems, it can be easily upgraded to the highest ABAP version. Thus, even your ECC code could be checked for Cloud-compatibility. Best source of practical information on central ATC is this blog series by SAP Community expert Bärbel Winkler, which I highly recommend reading. (By the way, her content on climate change science is also excellent.)
ATC can be supplemented by the open-source ABAP code check tools, such as ABAP Open Checks and ABAP Lint. The latter is more platform-gnostic and can also be used with VSCode and other tools. Both tools exist thanks to the effort of ABAP Legend Lars Hvam Petersen.
With the increase in security concerns these days, some companies are realizing the need to check for more serious threats than using FOR ALL ENTRIES with an empty table. This can be done with Code Vulnerability Analyzer (CVA), which is explained in great detail in this blog post. It’s important to note that even though CVA runs within ATC, it is a separately licensed SAP product. Why it is not included with SAP ATC for free is the question that SAP customers and user groups should be asking out loud. JP
Data Fusion: A No-Illusion Inclusion Solution
I've enjoyed using Google Cloud Platform for years. It feels so thought-out. A few years ago I built some SAP + GCP mashups, including a Sheets to BW add-on and a Google Home SAPUI5 voice control app. Having business data appear in nice consumer-grade experiences is the highlight of any SAP-plus-random-cloud-platform activity.
For the last few years, those hyperscalers have realized in earnest that making it easier to get SAP data into their platform opens tons of doors. Microsoft Azure has SAP connectors for Power Platform, AWS' marketplace and partner ecosystem have many solutions, and GCP has the SAP Table Batch Source plugin for Cloud Data Fusion.
Google is taking it up a notch in the data and analytics department. Alongside the generic capabilities of the Batch Source plugin, they now have accelerators for Order to Cash and Procure to Pay scenarios. These accelerators include "Pipelines" that come pre-defined with SAP standard tables and fields marked for easy ingestion into Data Fusion and ending up in BigQuery. Why does that matter?
Because data mapping SUCKS.
Software should be inherently composable at the data level. For enterprise software and its continued march to the cloud, these Cloud Data Fusion accelerators and things like it are aimed at the right target. PM