Wednesday, September 27, 2017

Odata Provisioning in SAP Cloud Platform Integration

In Todays world there are quite some ways of designing and consuming API's. Most of the API's do not follow a uniform pattern. OData solves this problem by providing a uniform way to expose, structure, query and manipulate data using REST practices and JSON or ATOM syntax to describe the payload. OData also provides a uniform way to represent metadata about the data, allowing computers to know more about the type system, relationships and structure of the data.

SCP-IS is now capable of Provisioning Odata services from existing data sources such as SOAP, REST and Odata Services which could be further consumed by mobile APPs or an FIORI App. In this blog, we will see how we could create an OData model definition, implement the OData service which includes binding to a data source (SOAP Web Service), go through the steps to create an Odata Service which we could query and get the list of Continents.

Wednesday, September 20, 2017

Support your SAP Hybris business the way it deserves!

We have all seen that “comfort-zone-where-the-magic-happens-slide” and in my opinion the same applies for CRM related software implementation. The picture would then look more like this;


At Acorel we like magic (some people sometimes even call our consultants magicians) so we definitely want to be there when it happens. If your organization takes SAP Hybris seriously, you want us to be there!!

Why is support so important with SAP Hybris solutions?

Proper support is key for any SAP solution, but for SAP Hybris solutions like SAP Hybris Cloud for Customer and SAP Hybris Marketing Cloud there are topics that makes great support even more crucial;
  • Two-speed architecture 
  • Mandatory release cycles
A term often used by McKinsey (Gartner calls it Bimodel IT) to describe the difference speeds of development needed for backend and frontend applications. Where the backend should be stable and does not require frequent adjustments, the frontend (processes closer to the customer) demand frequent and sudden adjustments that need to be implemented ’yesterday’.

Wednesday, September 13, 2017

Using Serializable Objects in ABAP

For a project I was working on I had to build generic logging functionality in ABAP. There were two important requirements:
  • No noticeable effect on performance 
  • Re-usable in different scenarios.
With the first requirement in mind I decided to build an RFC enabled function module that I could approach via an asynchronous RFC call. That seemed a fine idea at the time, but not when you consider that no generic types are allowed in RFC modules and you can’t use object references in the interface parameters. These limitations seriously compromised my possibility to meet requirement number two as re-usability often goes hand in hand with the passing of generic data types.
I complained about these restrictions by one of my esteemed colleagues and he asked me, why don’t you use serialized objects to pass data to your function module. As I hardly knew what he was talking about I decided to dive deeper in to this subject, ultimately leading to a satisfactory solution and to this blog.

Serialization 


Before I continue I would like to explain how you can serialize (and de-serialize) objects in ABAP.
I will first hit you with the definition of serialization, which hopefully will make a bit of sense in combination with the requirements above.

“Serialization is the process of translating data structures or object states into a format that can be stored or transmitted and reconstructed later when the resulting series of bits is reread according to the serialization format, it can be used to create a semantically identical clone of the original object”.

That is interesting stuff and just what I needed, a way to transmit an object instance and once transmitted a way to reconstruct it again and by doing so overcoming the limitations of my RFC function module.

Wednesday, September 6, 2017

GDPR, more than just a legal thing

GDPR (General Data Protection Regulation) is the 'new' European Union law on data protection of European Citizens.
Considering the digitization of information over the past decades and the increased power of the internet, it should come as no surprise that governments act on behalf of the citizens to protect their privacy.



The GDPR protects EU citizens through a set of rights around personal data with a law violation penalty of up to 4% of the annual global turnover or €20.000.000. This indicates the seriousness of the 'new' law.

The GDPR describes actions and principles which companies must implement, such as:

Data Protection Officer
A Data Protection Officer (DPO) is required for companies processing large amounts or privacy-sensitive personal data. The DPO can be either a staff member or an external service provider, and is responsible to oversee that data protection laws are not violated.

Breach Notification
If (by accident or deliberately) protected personal information is 'leaked', this is to be reported pro-actively within 72 hours to the respective owners of the data (the individuals).

Data Portability
Individuals have the right to request their data to be transported between companies, for instance when they switch telecom or utilities provider.

Right to Access
Individuals have the right to receive the data that has been gathered around such an individual. This concerns both characteristic data on the individual itself as well as records of interaction or other transactional facts.

Right to be Forgotten
Companies should proactively 'forget' (erase) data that is no longer relevant to the original purpose. Individuals also have the right to request a company to 'forget' them. This implies that the information as described in the 'Right to Access' should be erased. This is a tricky one, as other laws might require the company to keep the information. The 'other laws' such as tax laws usually win.