Would it surprise you to know that SAP Hybris Cloud for Customer (C4C) is now run by over 550 companies globally?
For these customers, spanning approximately 25 industries, C4C customization is crucial to cater for their different backgrounds and requirements. Cloud for Customer customization can be delivered with In-App extensions and Out-App extensions. In this first blog, we will provide an insight into what can be achieved with In-App extensions and in the second blog, (issued mid-June 2016), we'll cover Out-App extensions.
Customers with In-App modifications have a wide range of possibilities to gain control over their system and to shape it according to their needs. First of all, C4C can be accessed from a web browser. When it was first introduced, this interface was based on Microsoft Silverlight technology and currently this is still used by consultants, during project implementation. Most business users today access C4C via the HTML5 user interface.
As SAP’s global user experience strategy is now based around SAP Fiori UX and SAP Screen Personas, a new Fiori-style UI called ‘Responsive User Interface’ was released for C4C (with the 1505 version). You should be aware that currently all three interfaces are supported, although we expect Silverlight to be retired shortly leaving HTML5 and Response UI as the main choice for customers. In time, we expect all customers will need to adopt the Responsive UI version, which will run for all device types and form factors including desktop, table and smartphone. The retirement of Silverlight will depend upon some functions being made available in HTML5 / Responsive UI, which are not there today.
I will now explain the various options available to customize C4C and the appropriate use cases for these different approaches. The following table contains a high level overview of it.
Table 1: Used interfaces in different use cases
Tools are provided to allow the end-user to personalize their own workplace, change the layout settings of a screen, hide labels and field names, add fields and mashups, personalize queries and edit tabs on an editor screen. This capability can be useful in helping to build user adoption. This can be controlled during project implementation if there is no desire to provide this capability.
The key user
The key user is capable of configuring and adapting views without coding. The key user is able to create interactive dashboards based on their custom reports. They can create KPIs, key figures and add to custom data sources. Reports can be created on (custom) data sources, which can be simple, combined or joined data sources. The key user is able to add fields to a screen and add new fields to a report or to the Enterprise Search. Embedded reports can be created on the UI. New screens and tabs also can be built without coding. Most of these activities are done using the Silverlight interface.
The developers are able to extend and customize SAP Cloud for Customer with the SAP Cloud Application Studio, which is an integrated development environment (IDE) based on Microsoft Visual Studio. Using the studio allows you to manage the entire lifecycle of customer-specific solutions, such as develop, deploy, and testing of specific add-on functionality.
Advanced Business Script Language (ABSL)
Developers using the Advanced Business Script Language (ABSL) define business objects and business object extensions to implement the business logic. In ABSL, you cannot directly access tables, so we recommend business objects. Developers define elements and nodes of elements in a business object and can add business logic as actions, events and validations to model the state and the behaviour of real world business objects, such as a sales order, an opportunity, or a product. It is possible to create SOAP or OData web services to provide data for external usage.
We can also integrate external web services and consume them from ABSL. After the data model has been defined by creating a new business object, we can create new screens based on it or create a tab on an SAP view or just create an embedded component on an SAP view to display new fields. If an existing SAP business object was extended, we can add extension fields to screens, forms, reports or to the Enterprise Search.
Another interesting, useful feature is the Mashup. We can add URL Mashups, HTML Mashups, and Data Mashups to screens. Example scenario for URL Mashup usage can be a button on a view and when user clicks on the button, a new browser window will appear and navigate to the web service where the URL points and show the result in the new browser window. Note, the URL is defined in the mashup, and parameters can be passed to the URL dynamically. Another example scenario for an HTML Mashup is displaying a dashboard with BW information in the C4C view or displaying Google maps in C4C view - so a customer`s address is shown on the map. Here, we embed an HTML web page directly into a C4C view. A Data Mashup displays data from both internal and external sources on a C4C UI element, for example in a C4C table.
The Public Solution Model (PSM)
SAP Cloud Application Studio provides access to a system repository to reach SAP content that is released with the Public Solution Model (PSM), such as business objects, data types, enhancement options, inbound service interfaces (SOAP and OData) and reusable UIs. Custom in-app extension solutions reuse SAP content, which accelerates development. I would emphasize that we cannot modify SAP content.
Many times we get the question whether we are able to modify an SAP screen and the answer is that we cannot modify existing SAP UI elements, but we can add new fields and tabs or embedded components to SAP screens (if it is allowed by SAP on that specific view). You should be aware that SAP reserve the right to make future changes to PSM entities to meet technical or business requirements which might require modification of your in-app extension. SAP uses a depreciation mechanism and gives time for customers to update their solutions in case any issues arise.
The C4C landscape contains development, test, and productive tenants. After the custom solution has been assembled and downloaded from the development tenant (to upload to other tenants) the solution is in maintenance mode. Developers can make changes to the solution by creating a patch however, we can only make restricted changes to the solution to ensure there is no loss of data, inconsistencies or errors on a customer's production tenant. (For instance, this means that we cannot delete/rename business objects or parts of it, and can only add new elements to it.) That is why it is important that we finish the project with as few transports as we can. In an ideal landscape, the development tenant is connected with each and every other on premise system we need during the project.
Summary & further reading
This was a high level overview to show how an end user, a key user and a developer can customize C4C. Don't forget to look out for our second blog later this month, where we'll explore C4C customization with Out-App extensions.
If C4C is new to you and you'd like to read more about existing SAP sales solutions, check out our SAP Options for Field Sales Optimisation blog. If you have already used CRM for years and wonder how C4C can fit into your ecosystem, read Stick or Twist? The dilemma facing the SAP CRM installed base blog and 4 Key benefits of standard integration for SAP C4C blog.