{"id":15148504,"url":"https://github.com/sap-samples/abap-platform-rap630","last_synced_at":"2025-10-29T14:34:59.096Z","repository":{"id":208161024,"uuid":"720179899","full_name":"SAP-samples/abap-platform-rap630","owner":"SAP-samples","description":"This repository contains the material for the RAP hands-on workshop called RAP630 - Use ABAP Cloud for developer extensibility.","archived":false,"fork":false,"pushed_at":"2025-05-28T09:19:39.000Z","size":12808,"stargazers_count":39,"open_issues_count":1,"forks_count":11,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-06-20T23:35:33.959Z","etag":null,"topics":["abap","abap-restful","rap","rap-workshop","sample","sample-code"],"latest_commit_sha":null,"homepage":"","language":"ABAP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SAP-samples.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-11-17T18:53:59.000Z","updated_at":"2025-05-29T19:03:05.000Z","dependencies_parsed_at":"2024-09-21T20:00:58.236Z","dependency_job_id":"5699d1a3-8b1b-4313-8753-b7c395943a56","html_url":"https://github.com/SAP-samples/abap-platform-rap630","commit_stats":null,"previous_names":["sap-samples/abap-platform-rap630"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SAP-samples/abap-platform-rap630","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP-samples%2Fabap-platform-rap630","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP-samples%2Fabap-platform-rap630/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP-samples%2Fabap-platform-rap630/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP-samples%2Fabap-platform-rap630/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SAP-samples","download_url":"https://codeload.github.com/SAP-samples/abap-platform-rap630/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP-samples%2Fabap-platform-rap630/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264619373,"owners_count":23638445,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abap","abap-restful","rap","rap-workshop","sample","sample-code"],"created_at":"2024-09-26T13:04:09.728Z","updated_at":"2025-10-29T14:34:59.090Z","avatar_url":"https://github.com/SAP-samples.png","language":"ABAP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![REUSE status](https://api.reuse.software/badge/github.com/SAP-samples/abap-platform-rap630)](https://api.reuse.software/info/github.com/SAP-samples/abap-platform-rap630)\n\n# RAP630 - Cloud ERP Extensibility\nhttps://github.com/SAP-samples/abap-platform-rap630/tree/main\n\n## Description\n\nThis repository contains the material for the RAP hands-on workshop called _RAP630 - Use ABAP Cloud for developer extensibility_ where _Developer Extensibility_ is used.  \n\nDeveloper extensibility as defined by SAP basically encompasses two activities \n\n1. Develop custom code to implement your own business logic.   \n\n   Here you can make use of existing API's from SAP that have been released for that purpose.\n   \n3. Extend an existing RAP Business Object so that additional business functionality is added.\n\n   Such an extensible RAP business object will usually reside in another software components or it is an existing extensible RAP BO that has been delivered by SAP or a SAP partner.  \n   By extending the funcitionality of an existing RAP Business object its functionality can be adapted to your specific business requirements.\n\n   ![S4 HANA Cloud Extensibility Options](images/Scenario_Overview.png)\n\n## Overview\n\nThis session introduces attendees to the ABAP RESTful application programming model (RAP) and how this can be leveraged how\n- to build extensions (own code) in SAP S/4HANA BTP ABAP Environment and  \n- to extend an existing RAP Business Object.   \n\n## 📋Requirements for attending this workshop \n[^Top of page](#)\n\n\u003e You need the latest version of the ABAP Development Tools for Eclipse (ADT) on your laptop or PC as well as the access to an appropriate ABAP system* to carry out the practical exercises of this workshop.  \n\u003e   (*) The supported ABAP systems are SAP BTP ABAP Environment, SAP S/4HANA Cloud, Public Edition.   \n\u003e In order to run the workshop on an on prem system use the [on-prem]([https://github.com/SAP-samples/abap-platform-rap630/tree/on-prem) branch.  \n\u003e The [openSource RAP Generator](https://github.com/SAP-samples/cloud-abap-rap) must be imported into the relevant system.   \n\u003e \n\u003e **In the SAP ABAP Environment Trial systems the RAP Generator has already been imported for your convenience.**  \n\n\u003cdetails\u003e\n  \u003csummary\u003eClick to expand!\u003c/summary\u003e\n\nThe requirements to follow the exercises in this repository are:\n1. [Install the latest Eclipse platform and the latest ABAP Development Tools (ADT) plugin](https://developers.sap.com/tutorials/abap-install-adt.html)\n2. [Create an user on the SAP BTP, ABAP environment Trial](https://developers.sap.com/tutorials/abap-environment-trial-onboarding.html) (_Read exception below_)\n3. [Create an ABAP Cloud Project](https://developers.sap.com/tutorials/abap-environment-create-abap-cloud-project.html)\n\n\u003e\u003e ⚠ **Exception regarding SAP-led events such as \"ABAP Developer Day\" and \"SAP CodeJam\"**:   \n\u003e\u003e → A dedicated ABAP system with pre-generated packages for the hands-on workshop participants will be provided.   \n\u003e\u003e → Access to the system details for this on-site workshop will be provided by the instructors during the session.    \n\u003c/details\u003e\n\n## Code of solution\n\nThe code of the source BO can be found in this repository\n[ZRAP630](https://github.com/SAP-samples/abap-platform-rap630/)\n\nwhile the code for the extension project can be found here\n[ZRAP630_EXT](https://github.com/SAP-samples/abap-platform-rap630-ext)\n\n## Slides\n[Presentation](https://github.com/SAP-samples/abap-platform-rap630/blob/main/slides/RAP630_RAP_Extensibility_2405.pdf) \n\n## 🛠 Exercises\n[^Top of page](#)\n\n## Exercises\n\nIn the _Getting Started_ section you will learn what needs to be prepared in order to work through this script.\n\nThe first aspect of developer extensibility is how to use RAP business objects that have been C1-released by SAP or SAP partners for the use in ABAP Cloud development.   \n\nIn _Exercise 1_ you will learn how you can leverage the released RAP business object `I_BankTP`. You will learn how you can use a new wizard in ADT that lets you generate a custom UI on top of a released RAP business object without having to write a single line of code. An additional (optional) task is to call the same released RAP business object from within a class which shows how released RAP business objects can also be used in application jobs.\n\nThe second aspect of developer extensibility is the option to extend an extensible RAP business object that has been delivered by SAP or a SAP partner.  \n\nIn _Exercise 2_ you will _extend the behavior_ of the base RAP business object that has been generated in the _Getting Started_ section. You will learn how extend the behavior of the base RAP BEO by validations, determinations and side effects. \n\nIn _Exercise 3_ you will then continue to _extend the data model_ with additional fields. \n\n\u003e Since with the latest release 2408 an **_Extension Field Wizard_** has been delivered we have to different scripts for ABAP Environement systems and on premise systems (SAP S/4HANA 2023). \n\nIn _Exercise 4_ you will continue to _extend the behavior_ of the base RAP business object by adding an action. Since actions can only added via an extension to fields that have been added itself via an extension, adding an action via an extension must be performed after Exercise 3.   \n\nSo let us start and have a look at the _Getting Started_ section.\n\n- [Getting Started - Mandatory, please check](exercises/ex0/)\n\nYou can the continue and build custom code that leverages released API's\n\n   -  [Exercise 1 - New App on stack (Developer Extensibility)](exercises/ex1/)\n\nFinally you will learn how to extend a RAP Business object   \n\n   - [Exercise 2, 3 and 4 - Extend a RAP business object (behavior and data model)](exercises/ex2/README_235.md)\n\n## Online Help\n\nhttps://help.sap.com/docs/abap-cloud/abap-rap/develop-rap-extensions\nhttps://help.sap.com/docs/SAP_S4HANA_CLOUD/6aa39f1ac05441e5a23f484f31e477e7/1b345c53060846b091f55ea901e21ae7.html\n\n## Download and Installation\n\nThe packages **ZRAP630_SOL** and **ZRAP630_SOL_EXT** that contain the solutions of this workshop can be downloaded via abapGIT into an *SAP BTP, ABAP Environment* system or into the *SAP S/4HANA Cloud, ABAP environment* system.\n\n\u003e Please note that these packages have already been installed in the SAP BTP, ABAP Environment Trial systems !   \n\u003e So there is no need to install them on an ABAP Environment trial system.   \n\n\u003cdetails\u003e\n  \u003csummary\u003eClick to expand download and installation steps.\u003c/summary\u003e\n\n  The steps to download and install the package of the base RAP business object can be found here:   \n   \n1. Create a package **'ZRAP630_SOL'** with **'ZLOCAL'** as the superpackage.  \n2. Link this package with the URL of the RAP630 GitHub repository `https://github.com/SAP-samples/abap-platform-rap630`.\n3. Use the branch `main`.\n4. Pull changes.\n5. Use mass activation to activate the objects that have been imported in step 3.\n6. Publish the service binding `ZRAP630UI_SHOP_O4_SOL`.\n\n   After you have performed the aforementioned steps you can continue to download the solution package of the extension project **ZRAP630_SOL_EXT**.\n\n   Since these are stored for technical reasons in another Github repository **abap-platform-rap630-ext** you have to\n   to download the source from that repository 'https://github.com/SAP-samples/abap-platform-rap630-ext'.\n   \n   \n\u003c/details\u003e\n\n## Known Issues\n\u003c!-- You may simply state \"No known issues. --\u003e\n\n## How to obtain support\n[Create an issue](https://github.com/SAP-samples/\u003crepository-name\u003e/issues) in this repository if you find a bug or have questions about the content.\n \nFor additional support, [ask a question in SAP Community](https://answers.sap.com/questions/ask.html).\n\n## Contributing\nIf you wish to contribute code, offer fixes or improvements, please send a pull request. Due to legal reasons, contributors will be asked to accept a DCO when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses [the standard DCO text of the Linux Foundation](https://developercertificate.org/).\n\n## Code of Conduct\nPlease read the [SAP Open Source Code of Conduct](https://github.com/SAP-samples/.github/blob/main/CODE_OF_CONDUCT.md).\n\n## License\nCopyright (c) 2023 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](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsap-samples%2Fabap-platform-rap630","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsap-samples%2Fabap-platform-rap630","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsap-samples%2Fabap-platform-rap630/lists"}