The first wave of CRMs helped tidy up customer data and processes, but they didn't really make the customer experience much better. Nowadays, companies of all sizes are focusing on improving customers experience because it's been proven that happy customers are more likely to come back. If their experiences aren't memorable, they might choose a competitor next time.
Because of this, businesses are always brainstorming new ideas to make their products and services even better. But improving things like system stability and scalability is essential for these changes to work smoothly.
In the past, companies could tweak (through exits, BAdIs or, even by copying standard objects) their SAP systems however they wanted because they were usually kept in their own data centers. But things changed when SAP shifted to a cloud-based approach. Now, all Sales/Service Cloud customers share the same SAP baseline, so changes can't be handled any further as they were made in the past. That's where the Clean Core approach comes in—it's a new way of thinking about extending SAP's capabilities specifically for the cloud era.
Clean Core revolves around maintaining a clear separation between core functionalities and customizations, with the aim of achieving a modern, flexible, and cloud-compliant system. In the realm of SAP CX extensions, this translates to safeguarding the integrity of the core SAP CX products while allowing for tailored enhancements to meet specific business needs.
Think of it as organizing a toolbox where each tool serves for a unique purpose without clutter. Similarly, a Clean Core architecture ensures that the essential functionalities (for example, customer data management, order processing, or marketing automation) remain untouched by customizations. This not only ensures system stability but also facilitates seamless upgrades and future scalability.
Embracing the Clean Core concept offers several advantages for businesses leveraging SAP CX extensions:
Additionally, it could be pointed out the fact of making reduction in the TCO (Total Cost of Ownership) by using infrastructure and licenses in a much more efficient way.
Clean Core Extensibility is basically a way of extending SAP systems without messing with the core application. It's all about keeping your custom enhancements separate from the main SAP setup, so you can update your system without causing any issues. In simpler terms, when you add extra features or tweaks, they won't interfere with the basic functions of SAP that keep your business running smoothly.
For Sales and Service Cloud products, there are in-app (built-in) tools that help you customize things without getting too technical. But for more complex changes, you might need to consider side-by-side extensions. The In-App tools in v1 are mostly UI related. In terms of more complex extensions for v1, the way to go is through PDI development which has caused (to me) many issues. This PDI developments are introduced through a programming language called ABSL (ABAP Scripting Language) which, for being direct on my words, has nothing to do with ABAP and it is implemented through an SDK. Also, coding this has lots of restrictions in comparison to the coding we were used to develop those who have invested years with ABAP.
In v2, in-app extensibility is limited to fields and can't create full custom objects as possible in v1. So this could be solved by implementing a RAP or CAP solution in BTP and connecting it into the v2, for example, through a Mashup.
The concept of clean core extensibility can be distilledin this framework of best practices that a customer adopts when implementing SAP Sales/Service Cloud products:
Implementing a Clean Core approach within SAP CX extensions requires careful planning and execution. Here are some best practices:
Over the past decade, I've worked on several projects implementing C4C (now known as Sales/Service Cloud v1) where I tackled various challenging requirements. Looking back, if I would face similar tasks now, regardless of whether it's a v1 or v2 product, I'd opt for a side-by-side extension approach.
For instance, on a Service Cloud project, a client needed a feature where a main ticket would automatically close once all its sub-tickets were marked as 'Closed'. Surprisingly, neither v1 nor v2 had this feature when I last checked.
My approach today (for v2) would involve setting up a trigger using an Autoflow, which activates whenever a sub-ticket is closed. This trigger would then call a service on SAP's Business Technology Platform (BTP), developed using CAP. This service would then check if all sub-tickets are closed and, if so, it would also close the main ticket.
Also, my approach today (for v1) would involve setting up a trigger using Workflow Rules, which calls a PDI action that ends up calling almost the same CAP development from BTP. Although logic would be the same, the only adjustment inside CAP would consist on calling different endpoints.
However, when I encountered this requirement previously, the solution we implemented was a bit different. We created a Workflow Rule triggered when a ticket reached 'Closed' status. This rule would then execute an action developed using PDI, which would check if all sub-tickets were closed and decide whether to close the main ticket. This approach could have been tweaked by integrating the Workflow Rule directly into the PDI solution, triggered by an AfterSave event.
One of the big challenges we face is figuring out how to transition the army of tech experts who've been immersed in SAP CRM technologies like WebUI, BOL, and GenIL for decades into SAP CAP/RAP developers. This is the challenge that really gets me thinking and motivates me to take action.
I think the key lies in finding a balance between employees and employers. It's about consultants being proactive and open to learning new ways of doing things, while companies need to step up and offer opportunities for their teams to not just learn, but actually put their new skills into practice.
What do you think about this? Are you willing to jump into this new Era? Have you already done it? Do you agree with Clean Core principles? Have you already worked with this side-by-side context within SAP CX? I am interested to read your experiences, don't be shy!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.