SAP application built using the ABAP RESTful Application Programming Model (RAP). This app allows team members to send "Kudos" to each other, fostering a culture of appreciation.
This project demonstrates a high-velocity development workflow using Generative AI and the Model Context Protocol (MCP).
The MCP server acted as a specialized knowledge bridge, providing GitHub Copilot with real-time access to the latest SAP documentation and development standards.
- Syntax Correction: When the initial draft failed to save data, the MCP server identified the missing mapping for block and the requirement for numbering : managed in the Behavior Definition (BDEF).
- Compliance Checks: It ensured the code adhered to strict(2) mode, which is the SAP best practice for modern RAP applications to ensure future-proof extensibility.
- Annotation Guidance: MCP provided the exact @Semantics and @UI annotations needed to enable automatic timestamping and a rich Fiori Elements user experience without manual UI coding.
- Boilerplate to Logic: It helped transition from simple CDS views to a functional Draft-enabled application by correctly placing draft actions and determinations.
- abapGit Ready: Entirely serialized for easy distribution.
- Managed RAP BO: Handles the full CRUD lifecycle with minimal custom coding.
- Draft Support: Progress is automatically saved, allowing users to resume later.
- Status & Criticality: Visual indicators in the UI based on the Kudos status.
- Custom Actions: Includes an ApproveKudo action to demonstrate business logic extension.
- ABAP 7.5x+ / ABAP Cloud
- RAP Framework (Managed Implementation)
- OData V4 via Service Bindings
- Development Tools: ADT, GitHub Copilot, MCP Server for SAP.
You can easily pull this project into your SAP system:
- Open ABAP Development Tools (ADT).
- Open the abapGit Repositories view.
- Click the + icon to link a new repository.
- Enter the URL of this GitHub repository.
- Create a new package (e.g., ZTEAM_KUDOS) and click Pull.
- Activate all objects in the following order:
- Database Table (zteam_kudos)
- Data Definition (ZI_TeamKudos_R)
- Behavior Definition
- Service Definition & Service Binding
The core logic utilizes a managed implementation with explicit field mapping to bridge the technical database layer with the user-friendly UI layer:
mapping for zteam_kudos { Uuid = uuid; SenderName = sender; ReceiverName = receiver; Message = message; Status = status; CreatedAt = created_at; }
BTP trial can be taken from:
MCP server used is hosted at:
Update the ADT tools from:
ABAPgit can be taken from:
Github Copilot can be installed as a plugin:
Main CDS
Draft Table
