Daedalian ABAP Source Code (aka Throw us Old Folks a Bone)

SAP Architect Matthew Montano continues his series on the Vortex Consulting blog:

In my experience, there are generally two circumstances where we end up reading SAP ABAP source code. The first–we need to improve custom functionality and so have to understand how it was built. The second is when the red siren light is flashing–and we’re on an open-ended, 24-hr. emergency conference call about missing invoices, reviewing code that was copy-and-pasted from an acquisition 15 years ago and trying to understand what broke.

In neither circumstance should ABAP source code read like a new installment of Dan Brown’s The Da Vinci Code.

So why do developers author code that might only make sense to themselves?

SAP ABAP is an optimized language. Consultant hours are expensive. Given that bytes are essentially free and obnoxiously clean code with extensive comments makes no impact on system performance, there is no reason that any code can’t also make some friends.

Image shows ABAP source code writing

The vast majority of the ABAP source code that is authored is solving a business problem (that theoretically hasn’t been addressed by SAP already, which I have plenty of thoughts on…but that’s a different post). So if the code is trying to solve a problem, there’s a good possibility that the underlying business requirement (or those nasty assumptions) has changed, so chances are very good that a business user (aka a functional consultant) will need to read it at one point.

Your average SAP consultant probably has some development experience from when they learned BASIC on their Apple II or Commodore 64 in the 1980s. The younger ones might have learned Borland Turbo Pascal on an MS-DOS clone in the mid-90s. Most of us can stumble through nothing more than a complex Excel formula.

But too much ABAP source code I see is missing any narration of what the requirement is and how that requirement is being addressed, especially when using complex ABAP commands.

ABAP Source Code Quote

Whatever your organization’s approach to solution documentation and change management may look like, there shouldn’t be a single line of ABAP code that is written (or changed) without a clear reference to an Object ID, requirement, or change number. I’m a functional consultant–not a crime scene forensic detective. I’m not even adverse to seeing wholesale chunks of the functional specification straight in the ABAP source code.

Does the code use one of those fancy new ABAP constructors such as “dereferencing generic references”? That’s all and well–but could you throw old dudes like me a bone as to what the code is intended to do? (I guarantee any other senior level consultants involved will appreciate the gesture.)

(Using an “if” or “case” statement? Why not tell us what you are IFing or CASEing?)

And I’ll go ahead and offer one more tip while we’re here. This one starts with a question: What is with variable names turning into a game of “trick the parents” by using the fewest number of letters possible? ABAP variable names can be 30 characters long. Go ahead and use a few so everyone involved knows what purpose the variable serves.

Customized ABAP source code is almost assuredly the result of a long and often expensive process of requirements and specification reviews and approvals. That code will be subject to testing and probably changed several times by other teams. Given its placement within SAP, it’s doing something important–if not critical–for the business, and it will likely get changed by developers you’ll never meet. ABAP source code should reflect this very important role in SAP solutions and not be treated like an unfortunate afterthought.

If you need help upgrading your ABAP development standards, consider reaching out to Vortex Consulting. Our consultants have decades of experience developing and implementing SAP solutions that get the job done today and are well aligned for your organization’s future growth and evolution. Email us here or call us directly at 1.888.627.3640.

About the Author: Matthew Montano is a Vortex Consulting SAP architect with more than 25 years of experienceSAP Architect Matthew Montano in Electronic Data Interchange, Supply Chain Integration, and Third-Party Logistics. His passion for good documentation and streamlined work process has yielded measurable results for clients in the consumer packaged goods, life sciences, manufacturing, and transportation industries across both the United States and Canada. Check out his previous posts here: Why Years of SAP ERP Experience Makes Me Question if You Really Need That Custom Code  /  Time Zones in SAP: Let’s Dig In

Time Zones in SAP: Let’s Dig In

SAP Architect Matthew Montano continues his series on the Vortex Consulting blog:

“Can you figure out why all these EDI 214 Transportation Carrier Status messages were failing?” I was asked almost 20 years ago.

The EDI message was failing a validation in SAP because the carrier was indicating they were arriving before they left. But the EDI message contents seemed correct and the carrier was creditable and clearly not trying anything of disrepute.

This was a rabbit hole. And I like rabbit holes.

In the real world there was a delivery to an address which should have taken about 40 minutes of driving time. The truck was known to have left at 9:50 local time and the carrier claimed they arrived at 9:30 local time. What? How can you arrive before you leave? I know my client was hiring very punctual carriers, but that might be too good.

Anyone who lives near a time zone boundary or has experience flying internationally knows exactly how this happens. But, in this particular scenario of a delivery entirely within the U.S. state of Tennessee, SAP’s ECC (and S/4HANA to this day!) did not know how this could happen.

Why the world uses time zones was probably something we all learned in elementary school. Some of us might remember pictures of old, complicated train schedules. Then, for many of us, back when long-distance phone calls were expensive, we learned again the importance of time zones when calling family members so as not to accidentally wake them from a slumber and ensure we were calling after 6pm for the evening discount rates.

Map that shows SAP time zones

As we aged, depending on your vintage, we entered the working world, and scheduling meetings with colleagues around the world may have involved some coordination. But even that has become mostly transparent with Google Calendar or Microsoft Outlook.

Then again–missing a meeting is one thing, not posting a financial document in SAP S/4HANA is another.

Time zones are used extensively, but not consistently, throughout SAP S/4HANA. While the system time zone is the SAP default used for recording date/time stamps, the explicit recording of time zones are found in Business Partner Addresses and carefully recorded in many transactions. As we discovered 20 years ago, care is required when working with time zones in SAP, especially when recording and validating crucial business transactions.

It may be easy to presume that time zones are firmly just in the realm of Logistics, but, in fact, they are very important in the other areas of SAP. In a global company scattered around across the world, how do you handle financial period closes? There is a definitive answer.

So what was happening to those trucks in Tennessee? SAP ECC thought Tennessee was in a single time zone–U.S. Central Time. But as anyone who lives in Tennessee (or Florida or Kentucky) knows, the state is in more than one time zone. So the carrier was reporting their departure and arrival in “local time” and SAP ECC was correctly raising an error. It didn’t know any better!

In diving further down the rabbit hole one could easily assume that SAP has the country of France, with its clear footprint at the center of Western Europe, in one time zone. But in actual fact, SAP does correctly capture that France, given the multiple French dependencies scattered around the world, is actually a part of many different time zones. (France is considered to have more time zones than any other country.)

So today, in 2024, what’s the issue and why are we talking about it? Well, SAP does actually provide the ability to configure that 13 U.S. states (and 4 Canadian provinces) are in multiple time zones. The problem? When it comes out of the box, S/4HANA doesn’t know this.

SAP S/4HANA time zones quote

But there is more! The rabbit hole is actually much deeper. Although designated time zones and their boundaries might not change often, politicians are in control of it all. And then add another layer to the discussion by considering daylight saving time–which countries observe it, which don’t, and which have changing views on the matter. Just look at the currently proposed Sunshine Protection Act and you’ll be reminded that our use of daylight saving time could certainly change in the future. Heck, Mexico ended daylight saving time within the last two years.

SAP is built to handle all of these changes, but once again not necessarily out of the box. Care and discipline is required in ensuring your SAP system doesn’t do crazy things like arbitrarily declaring a carrier as a fraud. This is a core competency of the team at Vortex Consulting. With over 25 years of SAP experience, we’re well versed in the intricacies of optimizing SAP performance and ensuring reporting malfunctions like those around time zones are avoided. Send us a message to learn more about how we can support your business.

 

About the Author: Matthew Montano is a Vortex Consulting SAP architect with more than 25 years of experienceSAP Architect Matthew Montano in Electronic Data Interchange, Supply Chain Integration, and Third-Party Logistics. His passion for good documentation and streamlined work process has yielded measurable results for clients in the consumer packaged goods, life sciences, manufacturing, and transportation industries across both the United States and Canada. Keep checking in for his “Musings with Uncle Matthew” series on the Vortex Consulting blog.

SAP GT Demystified: SAP Model Company

This may be a strange thing to open with, but stick with me… Laziness–at least a bit of it–can be a good thing. In my view, a healthy dash of laziness coupled with a pinch of procrastination usually leads to the quest of searching for the simplest solution, therefore fostering efficiency. And several great minds have talked about the fact that depicting the solution to difficult problems with simplicity is an expression of deep understanding.

SAP Model Company Business ModelTo avoid falling for the urge to reinvent the wheel during SAP implementations, isn’t there a way to utilize previous learnings, other people’s experiences? That’s where the SAP Model Company comes into the picture. It can be the seed or foundation for your SAP endeavor based on two flavors:

SAP Model Company by Industry 

The focus rests on the industry that the company operates in, be it Chemicals, Pharmaceuticals, Mining, or in another vertical altogether. All of them have best practices that are unique to the specific industry, which set them apart and require years of experience on the part of the SAP implementer. The respective SAP Model Company has that experience already “baked in” and can be a guiding light in the maze of the vast SAP functionality.

SAP Model Company by Line of Business 

These model companies are based on a department or part of any generic enterprise, like Finance, Shared Services, or Supply Chain Planning. They help you by putting a baseline into the sand that is rooted in the best practices and the experience collected from thousands of successful SAP implementations.

SAP Model Company Building Blocks

Photo credit: SAP

 

I also want to encourage you to watch this helpful 2-minute video from SAP, which lays out a compact and precise vision of the SAP Model Company.

Now, you might be wondering, how does it relate to a Global Template? Well, even a Global Template can benefit itself from a template. As I pointed out earlier, a little laziness could be the secret sauce in your Global Template recipe!

After having covered the basics, let me share my personal view of the SAP Model Company:

Don’t ignore a valid accelerator. (In some regards, your business needs are not as unique as you think!)

Of course you think your business is different than others. The common rules don’t apply, and certainly no one else could dictate how your business is run. Really? What would be wrong in learning from the findings that thousands of successful world class businesses have made? Why not gain from their experience? Don’t be arrogant when it comes to a helping hand–the SAP Model Company deserves a thorough thought!

Use it in a way that is suited for your business.

You may be a smaller company that can use the template as is. A typical example would be a Venture Capital firm that bought an idea and operationalizes it with the help of the world-class SAP software. While not having the appetite to overinvest in IT capabilities, use of the SAP Model Company gives reasonable assurance that you’re on the right track.

Or, you may represent a large-sized company that only uses it as a seed to tailor their own template. Think long and hard about what the right way is, as it will be nearly impossible to turn around for a complete do-over at a later stage!

Even if you think it does not fit, it will still have value.

Should you decide not to use the SAP Model Company for your Global Template or SAP deployments, you can still learn from it. There is so much experience there that it can serve at least as a guiding light! Analyze and understand the pieces and functionality that are utilized in the SAP Model Company that is most relevant to you, your industry, and your line of business. Use that knowledge as an accelerator, as well as a logical boundary for implementing what’s truly needed.

Have your own Global Template in mind!

While the SAP Model Company is a good starting point, never get lazy in your thinking! Have your strategy and road map in mind and assess how it furthers your goals, makes life easier, and helps bring value to the business. Let me state the obvious–while your business is probably not vastly different from some others in the field, a “one size fits all” solution will not be appreciated. Now is the right time to do cherry-picking, to shed the wasteful or flashy “bling” and create a solution that fits like a well-tailored suit! 

This brings us to the end of today’s post on SAP Model Company. In our next chapter of the Global Template series, we will talk about Business Process design. As always, thanks for your valuable time today! If you have questions about Global Template that you’d like to see addressed in future posts, we invite you to reach out via Twitter. 

How to Start your S/4 HANA Journey: Operations First

From guest author Sven Wierzbicki. The fourth in our blog series on “How to Start your SAP S/4HANA Journey.”

You confront your challenges head on. You do not shy away from open heart surgery. You trust your ability to initiate and manage fundamental change. Welcome to the S/4HANA implementation option of “Operations First.

Most companies, even the ones that had a rough SAP R/3 implementation, will finally get to the happy place where they have a stabilized ERP platform that meets the needs of their business operations. Can you call them out for trying to stay in their perceived “ROI zone?” 

These companies may feel much more at home with options to implement BW/4HANA or S/4HANA Central Finance before turning their operations upside down. 

There is, however, a different school of thought that exists. It subscribes to the idea to go after supporting the fundamentals of the business in the most advanced way possible. In the end, it does not matter how they arrive at the conclusion. What matters is that they right-size the effort to implement S/4HANA, by one of two options:

  • Shorten the period of parallel operations: When a company is centralized in its nature, it may make sense to strive for a shorter period of overlap between the R/3 sunset horizon and rise of the new S/4HANA star. If palatable, the idea of a big bang, or a small series of big bangs, should be the centerpiece of the digital transformation road map.
  • Or, extend the period of parallel operations: When the diversity of operations, the geography, or the limited appetite/funds dictate to refrain from doing “big bites,” an S/4HANA seed approach may be better. Acknowledge that you cannot do it all at once, and pick the right representative/business to be the seed for the future business template in S/4. Implement in reasonable chunks–with bigger steps–once experience gains traction.

Regardless of which way you go, never bite off more than you can chew. Doing so only sets you up for disappointment. Embracing the new functionality should be exciting for your business–especially those seen in Finance. Success should be experienced all along the journey!

So, which steps can you take to right-size your “Operations First” effort to implement S/4HANA? Let’s explore some key elements to avoid diving into an abyss:

  • Deployment Strategy – Build a road map that is custom fit to your company’s means and capabilities. Don’t shy away from tackling the S/4HANA journey; do, however, avoid overstretching your IT and business organization. Find a suitable seed business that fits your needs and go to the starting block. Do not wait too long, as there is still the R/3 sunset looming; you do not want to be pressured into a decision that may force your hand!
  • There is No Upgrade – We all like good news. That’s why it’s tempting to listen to relentless ‘experts’ claiming to have the tools “to make the upgrade easy.” The thing is, there is no true upgrade for the Business Suite. Yes, the technical HANA DB can be upgraded, but the functionality must be implemented anew. You may not need to reinvent the wheel–but see this upgrade as an opportunity to shed some of the snakeskin that is too tight, that you have outgrown!
  • Change is Inevitable – While it is undeniable that the knowledge of the S/4HANA product and its application to your business plays a big role, the Change Management aspect is even more important. You need to create a readiness for the project, within the C-suite, business, and IT organization, and choose a partner that you can trust. You will find that a well-prepared organization is, in the end, more important than a technical approach to the journey!

In closing, I want to reiterate that Vortex can be the trusted partner on your S/4HANA journey. Why? Because of the experts who can address the points raised above: 

  • Strategic Advisors who work with your senior management and help to build the S/4HANA roadmap and your Global Template based on real-life experience
  • Operations Experts in warehousing, manufacturing, supply chain finance, and more; who have worked in these key industries before becoming SAP consultants
  • IT Experts who translate business needs into programming of interfaces or add-ons, create BI applications, and much more

This concludes our blog series on choosing an approach to your organization’s SAP S/4HANA upgrade. Click through the links below to read the other blog posts in the series. We hope you find these insights helpful as you consider your best step forward. To learn more about how Vortex can be your main resource in this vital investment, contact us at 1.888.627.3640 or sales@vortexconsulting.net. 

#1: How to Start Your SAP S/4HANA Journey: Three Unique Approaches

#2: How to Start Your SAP S/4HANA Journey: Insight First

#3: How to Start Your SAP S/4HANA Journey: Central Finance First