As long term SAP on premise users, implementers and maintainers, many of us are used to the almost limitless flexibility of SAP solutions. As long as you have the requisite, time, and money, virtually anything is possible thanks to the array of development tools available and direct access to the application code.
Of course this also creates its own issues. Allowing this level of customisation can also slow down agility and innovation as upgrading a system becomes a significant task. With the move into the Software as a Service (SaaS) market SAP has had to be a lot more protective of its solution and limit the options to deviate from the standard. This is in order to maintain control and deliver innovation and enhancements on a regular (currently quarterly) basis and in a non-disruptive way. There are however still a number of ways to alter the solution to meet business needs. In this blog post I will look at some of the options available to you within SAP Cloud for Customer.
Scoping and fine tuning
Whilst the scoping and fine tuning of SAPs Cloud solutions is part of the project implementation phase, it also allows configuration changes as the system and business evolves. This process is the closest equivalent to the SAP on-premise Implementation Guide (IMG) but offers a more prescriptive and less flexible approach, much as one would expect from a SaaS product.
My colleague Thierry Crifasi has already written in detail on this topic in his blog post The implementation of SAP Cloud for Customer: Forget all things SAP – Part I, Configuration
In a similar manner to the on-premise SAP products, users of the system can make personalisation changes in the UI layer to help personal productivity. The scope of this is limited and includes minor screen layout changes, background image personalisation and specific settings such as date and time notation. For company wide screen layout changes an administrator or key user can affect this via the Adaptation mode.
Adapt and extend
A SAP Cloud for Customer administrator has a number of capabilities available to them which can be utilised directly in the system at runtime. This includes simple layout changes, creating new fields, incorporating delivered mashups and creating new mashups. This is achieved by utilising the "Adaptation mode" of the solution and there are many tutorials available either directly from within the solution or on the web. Some examples are below.
Add new fields and include in reports
SAP is also looking to give administrators the ability to create their own business objects and associated screens, a capability only previously afforded to developers. This will essentially allow them to create a database table in the application and provide screens by which this data can be read and populated. So this really is a significant option for the administrator to have at their disposal.
This gives SAP Cloud for Customer customers many options to make the product their own and adapt the solution to the intricacies of their organisation and business processes.
However, there are of course situations that demand more, whether this is some custom business logic or validation behind a new or existing business object, or integration with a specific 3rd party during a specific user action or even some more complicated layout and screen customisation. This is where the SAP Cloud Application Studio comes in.
SAP Cloud Application Studio
The SAP Cloud Application Studio is a Software Development Kit (SDK) that allows developers to adapt and enhance the solution capabilities of SAP’s Cloud solutions. It is used for all products based on the SAP Business by Design Platform which includes SAP Cloud for Customer, SAP Cloud for Travel & Expense and SAP Business by Design. As a SAP Cloud Solutions Partner, Bluefin Solutions has access to this development kit enabling another level of extension to the solution during the initial implementation or an ongoing system evolution. There are however limitations with what can be achieved with the SDK and this is an adjustment for someone who is used to developing in on premise SAP solutions. Customers are also able to access the SDK, but this needs to be agreed as part of the sales process with SAP.
The SDK provides access to the Public Solution Model which contains the released business content of the SAP Business by Design core solution. This business content includes the data types, business objects and other components that SAP have released to the developer community, and provides a lot of re-use capability. And whilst the SDK allows for many enhancements including web service integration, approvals, data loads, mobile UI screens, and more, it is highly controlled via the use of wizards and a layer of scripting languages - Business Object Definition Language (BODL) and ABAP Scripting Language (ABSL). This allows SAP to keep a tighter control of the core application and whilst giving the developers a restricted capability, does mean that development is often much simpler.
Below is an example business object as seen in the Cloud Application Studio. The business object is the route to most enhancements, whether extending an SAP standard object, or creating a new custom object. As already mentioned, the creation of a business object will essentially create a table in the cloud application with the table fields defined by the elements declared in the business object. The business object is then the basis for creating UI screens (whether for mobile or desktop), events, action scripts, interfaces and associations to other business objects that enable you to build your extension scenario.
With the SDK one can develop customer-specific enhancements for a single given installation, or a multi-customer extension that can be re-used within multiple installations. SAP partners have the option of developing extensions specifically for selling on the SAP store. Alternatively, partners can develop an application in the SAP HANA Cloud Platform that extends, or integrates with the Cloud application.
SAP HANA Cloud Platform
SAP HANA Cloud Platform (HCP) is an in-memory Platform-as-a-Service (PaaS) offering from SAP which enables customers and developers to build, extend, and run applications on SAP HANA in the Cloud. It provides the ability to integrate with, and extend, SAP Cloud products as well as develop standalone applications. It offers services such as UI5 app development, HANA native app development, NetWeaver Gateway and Connectivity services to SAP and non-SAP back-ends, all from the Cloud.
An example of an application that has been developed to integrate with SAP Cloud for Customer is the SocialPort application from rFactr which helps a sales force manage social interaction as part of the sales process. As the platform matures and more partners and organisations develop on it then this will open more possibilities to an SAP Cloud for Customer implementation, whether this is an integrated complimentary application or an extension to the solution.
SAP Cloud for Customer will still allow an organisation to make it their own, albeit not at the same level as an on-premise solution. The business case for moving to the Cloud should be made around reducing TCO, increasing speed of innovation and ensuring scalability and therefore the provision of Software as a Service should ensure that this can be delivered consistently and in a non-disruptive way. The SAP Cloud for Customer product strikes a balance here with SAP protecting the core solution but still providing the framework for personalisation, customisation and development. The shift that we are seeing however is that SAP partners and customers alike will need to look more and more to complimentary products rather than customising the core solution.