Skip to content
Vitaly Kozyura edited this page Jul 8, 2025 · 21 revisions

Business Logic Extensibility for CAP using the CDS-Oyster Code Sandbox

Welcome to the Extensibility Hands-On Workshop at re>≡CAP 2025.

Overview

Description - In this workshop, you'll learn how to implement business logic extensions using CDS-Oyster for SAP Cloud Application Programming Model.

We will explore the CDS-Oyster plugin and how it enables customers to write and deploy untrusted code to a multi-tenant SaaS application. Key concepts include creating bound and unbound actions, implement CRUD event handlers and testing and debugging them locally.

If you want to learn more in depth about CAP Extension capabilities, you can switch to the branch reCAP2024 of this same repository, where you will find a workshop on the overall extensibility concept of CAP.

Exercise

Starting with the Incidents Management sample, we will walk through the following use case

  • A multi tenant application (Incidents) is hosted leveraging MTX-S capabilities
  • Customers can subscribe to the application
  • A Tenant wants to extend the use case with simple customer status management
  • Incidents for Gold Status customers must be created using high priority
  • For convenience, the UI should have easy means to promote customers to Gold Status - and promote all concerned incidents with it
  • Also, there should be a means to easily promote single incidents

Exercises

Please proceed to the First Exercise

Requirements

To follow the exercises in this repository, you will need the following:

  • Access to SAP Business Application Studio or a local VS Code installation.
  • A web browser, preferably Google Chrome.

License

Copyright (c) 2025 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0, except as noted otherwise in the LICENSE file.

Obtaining Support

Support for the content in this repository is available during the actual time of the online session for which this content has been designed.

Clone this wiki locally