Wednesday, July 20, 2016

Implementing a BaDI in C4C

When implementing SAP C4C we strive for maximal use of standard processes and limit the amount of custom development. However we do sometimes need to alter the flow just a little bit. Fortunately SAP has given us some enhancement spots for adding our own business logic.
In this blog I will demonstrate the step for implementing a BaDI or Enhancement Spot in C4C for the following use-case. My Customer wishes to change the default recipient of an email from a ticket based on the ticket type. So for customer created tickets this should be the Customer Contact, SAP Standard process, but for more internal tickets (that are customer oriented) the recipient should be the ticket owner.


Implementing Enhancements for C4C is done using the SDK or Cloud Application Studio. Here we create a new solution and in this solution we can add a new item. Here we choose for Extension and then for Enhancement Implementation.

In the next screen we specify which enhancement we want to implement. In this example we choose for WorkSPaceUIManageFeatures.

Now we have to use the (for me) new ABSL (ABAP Scripting Language) to implement our own custom logic. In this case we will read the ticket and based on the ticket type we will look for a specific partner function on the ticket. If found we will take the email adres of this partner and pass this back to C4C as the standard recipient for an email response.