Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
In this scenario, when a CR is submitted in MDG and assigned to processor by workflow, the assignment of the workflow is notified by directly mentioning the processor in the MS Teams channel to which the processor is subscribed.
#1 Requirement
There are many references on how to send MDG workflow notifications by e-mail, but there was no case to send notifications through MS Teams, so I tried to make it through personal study.
#2 Solution
To make this scenario work, the following components were needed.
SAP Buseinss Workflow(MDG Ruled based Workflow)
SAP Event Mesh
SAP Cloud Integration
Node.js application
Postman (For test)
Each role is described below.
1. SAP Buseinss Workflow(MDG Ruled based Workflow)
Get MDG's CR number, user ID, and user email, and sends a queue to the SAP Event Mesh. In this case, by adding step and task to RBW's Workflow Template, all Dialog steps send queues to the Event Mesh. Of course, there is a method called Sub-Workflow, Calling Method in RBW, but this method is good in that you don't have to fight for a long time with RBW's Decision Table.
The task sends a queue to the Event Mesh via ABAP classes and methods with data in JSON format. JSON contains CR number, user ID, and Email.
2. SAP Event Mesh
Two queues are required. One is a queue that receives messages sent from S/4HANA On-premise. One is a Queue for receiving messages sent from CPI, which will be described later, and sending notifications to channels using MS Teams Webhooks.
MS Teams does not allow chatting with specific users through API. That's why I use posts to channels rather than chat directly to the user. SAP Event Mesh supports webhooks, so posting to channels is easy.
3. SAP Cloud Integration
Receives the Queue and makes a REST API POST call, converts the JSON data into a form suitable for Ms Teams Webhook, and returns it to the Event Mesh Queue.
4.Node.js Application
Called from CPI's iFlow, it processes JSON data in a format suitable for the webhook and returns it.
CPI also has a way to edit JSON (Groovy), but I personally made a simple API because JSON processing in JavaScript was convenient.
#4 Conclusion
As shown in the video below, the mention reaches the user.
It was not feasible in this scenario because I have no knowledge in the MS ecosystem, It seems possible to create an MS Teams Bot and notify only that user via chat.