SAP Tech Bytes: Call ABAP services from SAP Conversational AI chatbot
I just completed my first Tech Byte as a Developer Advocate!! 😀
SAP Conversational AI is really cool, and you can see how to create chatbots with both basic and advanced features in these tutorials. Still, I wanted to start working on more SAP scenarios, like:
- Using the SAP Conversational AI Enterprise Edition
- Using destinations from within chatbots
- Embedding a chatbot in S/4HANA and Fiori launchpad
- Principal propagation from BTP to S/4HANA backend .
So I started with a simple case:
- Create ABAP CDS views and OData on-premise services
- Expose the services to SAP BTP via the Cloud Connector
- Create destinations in SAP BTP
- Consume those services (via the destinations) from within SAP Conversational AI, using the chatbot “system alias” feature to reference difference services from different versions of the same chatbot.
You can see me do it in the following video:
And if you want to do it yourself, instructions are included in this tutorial (from SAP Tutorial Navigator):
Why the Tutorial/Video Is Cool?
First, I always wanted to learn what it was like on the for those on the ABAP side of the house. So I got to learn how to install the ABAP developer edition, use Docker, create CDS views, and expose them as OData services. This was surprisingly easy – I could create the CDS views and service definitions and service bindings, then delete them, then re-create them, and I never had a problem. Special thanks to Mamikee Kanneh and her video series, including Getting Started with ABAP Development – Part 1.
Second, it forced me to not be afraid of the Cloud Connector (though do be careful using it).
Third, I learned how to use destinations in SAP Conversational AI Enterprise Edition, one of the key SAP BTP integration features.
Fourth, I got a chance to create chatbot versions and environments, and better understood how they relate to each other. More importantly, I learned about system aliases, how they enable the consumption of SAP BTP destinations, and let you assign different backend systems to different chatbot versions/environments.