Charles Evans, Chief Product Officer at IQX Business Solutions had the privilege to work alongside some of SAP’s technical product managers in Miami to do a deep dive on the SAP Cloud Platform (SCP). At IQX Business Solutions we are experimenting with the various services offered on the platform but this was a technical session on the different SCP offerings around customization and extensions along with details of the Cloud SDK and other available libraries to help you build out your solution.
Is the SAP Cloud Platform (S/4HANA) Important for SAP ERP?
You may ask, why bother looking into SCP when most companies are running on-premise ERP systems and are taking a very cautious approach to cloud systems? Cloud versions of SAP’s ERP system (S/4HANA Cloud) are no match for the on-prem versions, and with the way customers typically implement complex and costly customizations, the migration trend from on-prem to cloud isn’t going to be spiking anytime soon.
What IQX Business Solutions is seeing in the market, however, is how companies are looking for best of breed solutions. They may leverage SalesForce for their CRM capabilities, Workday for HR and other specific solutions that fill the gaps in the overall suite that manages their business. With that in mind, S/4HANA Cloud becomes a very viable option for customers that follow the same strategy.
With the ability to spin up a new instance using someone else’s hardware and infrastructure that provides a stable and scalable solution regardless of your use and size has great benefits. Limiting the use of the system to what S/4 HANA Cloud is really good at, makes it even easier. No longer do you have to put all your eggs in one basket (one ERP system). Selecting the systems that are designed exactly for your organizational requirements and give you the extensibility to customize and adapt to your nuanced requirements is the way forward.
What is the difference between SAP on-premise and S/4HANA Cloud?
Most other SaaS providers (e.g. SalesForce) have built their solution on a strong PaaS (Platform as a Service) with a development language integrated into the UI that provides almost unlimited customizations and add-ons. S/4HANA Cloud has options around UI and data model customization however when it comes to implementing new functionality, they only offer a few specific places where the developers can add their own ABAP code for specific events in the application. The ABAP code that can be used is only a subset of the full ABAP programming language and thus only a limited amount of customization is possible.
“Lean and Clean” is a statement that was heard multiple times throughout the session as the questions came up about customizing the solution in the same way it was done with on-prem ERP. To provide a solution that survived the rapid, cloud pushed and mandatory updates needed a lot of changes in the overall architecture. Providing a very specific set of extension points makes the solution very clean and without thousands and thousands of lines of custom ABAP inserted into various transactions and functions, the solution is lean and provides higher performance and reduced potential for bugs.
Now I will say how surprised I was at the level of customization that is possible within S/4HANA Cloud, with simple things like adding fields to an existing object all the way to creating custom business objects with their own UI and accompanying OData services. Sometimes customers just need an extra field on a business object or perhaps to change the field’s name so as to match the organization’s nomenclature. This is extremely easy in S/4HANA Cloud and can all be achieved through the Fiori based administration tools in a matter of clicks.
When more advanced customization requirements arise, there is still the ability to write some code in ABAP that will be called during two events that get executed when interacting with a business object – During Validation and Just Before Save. These events allow you to perform additional validations on new fields to meet your business requirements and to manipulate the data with things like calculated values just before the record is saved. This is where ABAP popped up. The code that is used to implement these two event handlers is a subset of ABAP but it wasn’t clear exactly what the limitations were. There is no SE80 or equivalent so custom programs and function modules can’t be created in the way they could on-premise. There is still access to the underlying data in the business objects and the syntax is almost identical but trying to customize S/4HANA Cloud in the same way as your older ECC system is not going to be very successful.
How customizable is something like S/4 HANA Cloud?
Simple customizations like adding fields, changing text and implementing validation/save events is possible through the UI in what they call In-App Extensions, but what if you wanted a better and more complex UI? What if you wanted complex functionality that interfaced with other systems? In-App extensions don’t provide that and that’s why SCP’s Side by Side extensions exist.
Side by Side extensions allow customers and partners to build apps on SCP that interface with these cloud systems (e.g. S/4HANA Cloud, Ariba, Field Glass, Concur) through a set of whitelisted APIs. As the apps are running outside of the cloud application, complex processes and UIs can be built without reaching the limitations of the in-app extensions. The apps are built as Fiori applications and can easily be integrated into the existing application launchpad for seamless integration.
What’s involved in developing Side by Side extensions for S/4 HANA Cloud?
SAP has put a lot of thought into the various customization requirements that would come up and have provided a very flexible solution to implement them using SCP. The challenge, however, is that SCP is a fairly new set of technologies that your typical SAP resources are not going to be familiar with. These are not brand new technologies and SCP has the ability to develop extensions using a number of different development languages based on whether you use their Cloud Foundry or Neo stack options.
The Neo stack provides the most complete set of services and is completely hosted by SAP. The Cloud Foundry stack provides the ability to host on other hosting platforms such as Google Cloud Platform (GCP), Amazon Web Services (AWS) and Azure. They are still rolling out to all the regions and the services offered are definitely behind what SAP offers with Neo.
The other big difference in the two stacks is the development languages that can be leveraged. Where Neo limits you to languages like Java, XSJS and HTML5, Cloud Foundry opens up the possibility to develop in a multitude of other, more popular languages like Java, Node.JS, Go, PHP, Python, Ruby etc. Cloud Foundry allows for BYOL (Bring your own language) and I’ve even seen people using .NET to develop extension apps.
Take a look at the availability of services and regions between Neo and Cloud Foundry here.
SAP has adopted a “lean and clean” methodology for their line of business cloud solutions like S/4 HANA Cloud where the core provides basic capabilities to customize without the overhead and concern of large amounts of custom code running in a “shared” environment. Complex extensibility is achieved through the creation of side-by-side applications running in their own process space on SCP.
The integration is clean from a technical perspective and seamless to end users. There are new technologies to learn and leverage but SAP offers the capabilities to extend solutions with a true cloud (and multitenant) approach. IQX Business Solutions look forward to the continued evolution of their cloud platform and the work they are doing to simplify the development and integration even further. Just like the early development of Fiori applications for on-prem ERP required the use of new technologies and new skills, side by side extensions for SAP’s new cloud offerings will require new teams and skills to get going.
As an organization, IQX has made that leap easier for customers using the on-prem or privately hosted SAP systems by providing a development platform that leverages the skills you already have in house, i.e. ABAP. Fiori continues to thrive as a way to improve both UI and UX to simplify business processes and delight users. If you’re not on SAP Cloud Platform or S/4HANA today but want to start delivering optimized Fiori business process applications, click here to learn how.