Skip to Content
Technical Articles

Reusing Alerts Webservice for custom application

Utilities Introduction

When the Utilities Extension of SAP C4C is enabled, C4C can serve as a Utilities Service and Call Center Solution to be run on top of SAP IS-Utilities (IS-U). This being said, C4C for Utilities is dependent on SAP IS-U system for it’s core processes and frequent calls for pre-process validations, data retrieval and post-notifications are required to keep business users updated in the C4C screen.

A number of business processes that may need to be handled outside C4C standards functions are:

  • Validate technical master data (premise, installations..) used before Move In/Out process
  • Inform business user about unaccounted utilities reading for a premise/installation
  • Check Utilities factory calendar before doing Utilities Actions
  • Check customer eligibility for alternative payment plans such as budget billing
  • Display warning message when check for customer worthiness fails.
  • Notify customers that contact details are not updated for several months

 

Problem

SAP has provided a number of standard C4C <-> S/4HANA integrations to cover validations and data retrievals but certain client-specific requirements will arise which aren’t covered by standard. Creating a new custom webservice proves to be have a lot of effort considering that we would need custom developments on the 3 systems (C4C, S/4HANA and middleware).

 

Solution

The standard Alert Webservice can be reused to do validations and data retrieval from S/4HANA. This specific webservice has extendable input parameters which are passed to S/4HANA to give details to do the specific process. It also has a standard return and message output to retrieve the response from S/4HANA.

 

Standard Alert Process Flow

The Alerts Webservice is one of the Utilities webservices provided by SAP. By standard, it retrieves Alerts from S/4HANA based from the “Launch Object” passed. The Launch Object i basically the identifier on which screen is the webservice being called.

Other information are also passed from C4C which is dependent on the relevant information for the Launch Object.

This is then sent on to S/4HANA (passing through a middleware) and a corresponding S/4HANA webservice is used.

 

Custom Implementation

To use the standard Alert webservice on custom processes, we will use the Utilities Alert WSDL in Cloud Application Studio similar on what we do on External Webservice Integration. This webservice can then be called via ABSL scripts. This saves us a fraction of a time doing implementation rather than creating an all-new webservice and setting this up on 3 systems.

Key concept here is calling the same Alert Webservice in C4C. This will run through the same path for both the middleware and S/4HANA system, but a different process will be triggered based on the “Launch Object” fed in the C4C script. A custom process/action can then be used in S/4HANA and a corresponding Alert response will be fed back to C4C.

 

Implementation Steps:

C4C

  1. Retrieve Alerts Webservice from Communication Arrangement.

Communication Arrangement Path: ERP Utility Management Integration -> Utilities Alerts Get

  1. Add External Webservice Integration to Cloud Application Studio Solution.

  1. Setup Custom Communication Arrangement for custom webservice.

  1. Add ABSL logic to initiate Custom Alerts webservice call. By updating the launch object with a custom value (i.e. CHECKPREMISE), this will be used as an identifier for a specific process when it reaches S/4HANA. Notice that you can add multiple inputs for the webservice call by adding the on the IT_FIELD_VALUE.

  1. Append succeeding ABSL logic based from data retrieved from Custom Alerts Webservice (Needs S/4HANA and middleware to get response below). Based from the response, you can display warning messages or default screen values.

 

Middleware (PO/CPI)

  • Implement standard Iflow for SAP Utilities Alert Get Webservice
  • See details of Standard Iflow here.

https://cloudintegration.hana.ondemand.com/package/SAPHybrisCloudforCustomerforUtilitiesB2CSolutionIntegrationwithSAPERP?section=Overview

 

S/4HANA

Option 1: Via BADI implementation

  1. Ensure IS-UT component is available in S/4HANA system. Latest version as of the writing is IS-UT 804 in SAP package SAPK-80401INISUT.
  2. Setup webservice ISU_C4C_UTIL_ALERTS_GET
  3. Implement BADI ISU_C4C_UTIL_ALERTS_BRF – PRE_METHOD
  4. Append ABAP logic on the BADI filtering on the launch object used. (i.e. “CHECKPREMISE” in the variable lc_premise_val).

Note: If BRF+ will not be used, set X for cv_skip to skip the standard call for the BRF+. This decreases ABAP lines called in runtime and improve performance.

Option 2: Via Business Rule Framework Plus (BRF+)

  1. Ensure IS-UT component is available in S/4HANA system. Latest version as of the writing is IS-UT 804 in SAP package SAPK-80401INISUT.
  2. Setup webservice ISU_C4C_UTIL_ALERTS_GET
  3. Implement BRF+ to process custom C4C Launch Object
  4. Maintain table ISU_C4C_ALERTS_R

 

Implementation Testing

When Alert Get webservice has been enabled and codes has been activated, triggering the webservice will display the payload on the Webservice Message Monitoring

Payload:

Response Payload:

Output: Depending on how the response has been used, we can display the same messages in      the C4C screen.

Conclusion

This simplified custom webservice implementation greatly reduces the number of maintained webservices between C4C and S/4HANA. This also cuts the implementation process by a huge margin. Note that by adding/changing the Launch Object parameter, we can further reuse the webservice and apply a different logic per Launch Object.

1 Comment
You must be Logged on to comment or reply to a post.