{"id":15148527,"url":"https://github.com/sap-samples/abap-platform-rap640","last_synced_at":"2025-10-24T03:32:02.816Z","repository":{"id":237313085,"uuid":"792399521","full_name":"SAP-samples/abap-platform-rap640","owner":"SAP-samples","description":"This repository contains the material for the hands-on session RAP640 - Mitigating Missing Released SAP APIs in the 3-tier Extensibility Model.","archived":false,"fork":false,"pushed_at":"2024-11-14T15:27:13.000Z","size":30665,"stargazers_count":19,"open_issues_count":6,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-30T22:51:27.257Z","etag":null,"topics":["abap","abap-restful","rap","rap-workshop","sample"],"latest_commit_sha":null,"homepage":"","language":null,"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":null,"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}},"created_at":"2024-04-26T15:34:32.000Z","updated_at":"2025-01-24T21:44:15.000Z","dependencies_parsed_at":"2024-09-21T20:01:14.461Z","dependency_job_id":"e5a0a1d1-81ae-4352-bb73-79d707ab0bb6","html_url":"https://github.com/SAP-samples/abap-platform-rap640","commit_stats":{"total_commits":115,"total_committers":4,"mean_commits":28.75,"dds":0.5217391304347826,"last_synced_commit":"083920e535afc558f6701f48991271b7e7ee3de6"},"previous_names":["sap-samples/abap-platform-rap640"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP-samples%2Fabap-platform-rap640","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP-samples%2Fabap-platform-rap640/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP-samples%2Fabap-platform-rap640/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP-samples%2Fabap-platform-rap640/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SAP-samples","download_url":"https://codeload.github.com/SAP-samples/abap-platform-rap640/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237910078,"owners_count":19385829,"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"],"created_at":"2024-09-26T13:20:19.379Z","updated_at":"2025-10-24T03:32:02.810Z","avatar_url":"https://github.com/SAP-samples.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"[![REUSE status](https://api.reuse.software/badge/github.com/SAP-samples/abap-platform-rap640)](https://api.reuse.software/info/github.com/SAP-samples/abap-platform-rap640)\n\n# RAP640 - Using ABAP Cloud to Build Extensions for SAP S/4HANA Cloud, Private Edition - Mitigating missing released SAP APIs\n\u003c!-- Please include descriptive title --\u003e\n\n\u003c!--- Register repository https://api.reuse.software/register, then add REUSE badge:\n[![REUSE status](https://api.reuse.software/badge/github.com/SAP-samples/REPO-NAME)](https://api.reuse.software/info/github.com/SAP-samples/REPO-NAME)\n--\u003e\n\n## Description\n\u003c!-- Please include SEO-friendly description --\u003e\n\nThis repository contains the material for the hands-on session **RAP640 - Mitigating Missing Released SAP APIs** which is about mitigating missing released SAP APIs when building apps, services, and extensions with the ABAP Cloud development model on SAP S/4HANA Cloud Private Edition and SAP S/4HANA. \n\n**Table of Content**\n- [Requirements for attending this workshop](#requirements-for-attending-this-workshop)\n- [Overview](#overview)\n- [Exercises](#exercises)\n- [Solution Package](#solution-package)\n- [Known Issues](#known-issues)\n- [How to obtain support](#how-to-obtain-support)\n- [Further Information](#further-information)\n\n\n## 📋Requirements for attending this workshop \n[^Top of page](#)\n\nTo complete the practical exercises in this workshop, you need the latest version of the ABAP Development Tools for Eclipse (ADT) on your laptop or PC and the access to a suitable ABAP system - i.e. at least release 2022 of SAP S/4HANA Cloud Private Edition and SAP S/4HANA.\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. [Adapt the Web Browser settings in your ADT installation](https://github.com/SAP-samples/abap-platform-rap-workshops/blob/main/requirements_rap_workshops.md#4-adapt-the-web-browser-settings-in-your-adt-installation)\n3. Have SAPGUI installed since you have to start transaction ACO_PROXY.\n\n\n\u003c/details\u003e\n\n## System access (workshops provided by SAP)  \n\n\u003e ℹ️ **Regarding SAP-led events such as \"ABAP Developer Day\" and \"SAP CodeJam\"**:   \n\u003e → A dedicated ABAP system for the hands-on workshop participants will be provided.   \n\u003e → Access to the system details for the workshop will be provided by the instructors during the session. With these system details you can connect via ADT to the system as described in the following how-to-guide.   \n\n[How to connect with ADT to a preconfigured appliance system](https://github.com/SAP-samples/abap-platform-rap-workshops/blob/main/how_to_connect_with_adt_to_preconfigure_appliance.md)\n\n## 🔎Overview\n[^Top of page](#)\n\n\u003c!-- #### Current Business Scenario --\u003e\nLearn about the current business scenario and the clean core extensibility model based on the clean core level concept\n \n\u003cdetails\u003e\n  \u003csummary\u003eClick to expand!\u003c/summary\u003e\n \n### About the Business Scenario \n  \nIn this hands-on workshop, we will guide you through the development of a custom wrapper for the ABAP Cloud enablement of an classic API (a  BAPI) for creating purchase requisitions, then a custom RAP BO and UI service on top of it to develop a transactional, design-capable, Fiori Elements-based list report app using RAP. Finally, you'll use your custom API wrapper in your custom RAP BO to integrate your custom app with the standard professional SAP Purchase Requisition app.\n\nThe resulting app will look like this:\n\n\u003cimg src=\"images/shoppingcart01.png\" alt=\"Shopping Cart  App\" width=\"100%\"\u003e\n  \nTo set the business context, the scenario is the following: This demo scenario shows a custom and SAP Fiori elements-based shopping cart app built on-stack with RAP. The custom app is integrated with the standard Purchase Requisition app in SAP S/4HANA Materials Management using a custom wrapper on top of the classic API `BAPI_CREATE_PR`.\n\n### About building custom wrappers\n\nYou will learn how to apply the [ABAP Cloud API Enablement Guidelines for SAP S/4HANA Cloud Private Edition and SAP S/4HANA](https://www.sap.com/documents/2023/05/b0bd8ae6-747e-0010-bca6-c68f7e60039b.html) to consume a classic API. You will learn how to mitigate missing released SAP APIs when working with ABAP Cloud on these two products.\n\n\u003cimg src=\"images/3-tier-extmodel.png\" alt=\"3-tier extensibility model\" width=\"80%\"\u003e\n\nLearn more: [Understand the sample scenario how to mitigate a missing released SAP API](exercises/GettingStarted/README.md)\n  \n\u003c/details\u003e\n\n\n## 🛠Exercises\n[^Top of page](#)\n\nFollow these steps to build a custom wrapper for the ABAP Cloud enablement of an non-released SAP API for creating purchase requisitions, then a custom RAP BO and a UI service on top of it for a transactional, draft-enabled Fiori Elements list report app. Finally, you'll use your custom API wrapper in your custom RAP BO to integrate your custom app with the standard professional SAP Purchase Requisition app.\n\n\n#### Main Exercises\n\n| Exercises | -- |\n| ------------- |  -- |\n| [Exercise 1 - Implement a Wrapper for the \"Create Purchase Requisition\" (BAPI_PR_CREATE) function module](exercises/ex1/README.md) | -- |\n| [Exercise 2 - Create a Shopping Cart Business Object](exercises/ex2/README.md) | -- |\n| [Exercise 3 - Create Value Help, Enhance the Behavior Definition and Behavior Implementation of the Shopping Cart Business Object](exercises/ex3/README.md) | -- |\n| [Exercise 4 - Integrate the Wrapper into the Shopping Cart Business Object](exercises/ex4/README.md) | -- |\n| [Exercise 5 - Integrate with classic BOR events](exercises/ex4a/README.md) | -- |\n\n\n#### Optional Exercises \n\n| Exercises | -- |\n| ------------- |  -- |\n| [Exercise 6 - Provide Authorizations to Users for Non-Released Authorization Objects checked by the \"Create Purchase Requisition\" (BAPI_PR_CREATE) function module](exercises/ex5/README.md) | -- |\n\n\n## 📤Solution Package\n[^Top of page](#)\n \nYou can import the solution package **`ZRAP640_SOL`** into your system* - i.e. at least the release 2022 of SAP S/4HANA Cloud Private Edition and SAP S/4HANA.\n\n\u003e ℹ️ **Regarding SAP-led events such as \"ABAP Developer Day\" and \"SAP CodeJam\"**:     \n\u003e The solution package **`ZRAP640_SOL`** is already imported into your dedicated system used during these events.\n\n🚧 _More information coming soon_  \n\n## 🔁Recordings\n[^Top of page](#)\n\nWatch the replay of a webcast on cloud API enablement held during SAP's Devtoberfest in 2023. \n\n📹 \u003ca href=\"http://www.youtube.com/watch?feature=player_embedded\u0026v=MThRxtNEHS0\" target=\"_blank\"\u003eCloud API Enablement on SAP S/4HANA and SAP S/4HANA Cloud Private editions\u003c/a\u003e \n\n\n## ⚠Known Issues\n[^Top of page](#)\n\nNo known issues. \n\n\n\n## 🆘How to obtain support\n[^Top of page](#)\n\n[Create an issue](../../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\n## Further Information\n[^Top of page](#)\n\nYou can find further information here:\n - [Blog Post on how to mitigate missing released SAP APIs in SAP S/4HANA Cloud](https://blogs.sap.com/2023/05/24/abap-cloud-how-to-mitigate-missing-released-sap-apis-in-sap-s-4hana-cloud-private-edition-and-sap-s-4hana-the-new-abap-cloud-api-enablement-guide/) | SAP Community\n - [Detailed document on ABAP Cloud API Enablement Guidelines](https://www.sap.com/documents/2023/05/b0bd8ae6-747e-0010-bca6-c68f7e60039b.html) | Guide\n - [ABAP RESTful Application Programming Model (RAP)](https://community.sap.com/topics/abap/rap) | SAP Community page   \n - Most frequently asked questions: [ABAP Cloud FAQ](https://community.sap.com/topics/abap/abap-cloud-faq) | [RAP FAQ](https://blogs.sap.com/2020/10/16/abap-restful-application-programming-model-faq/)    \n - [RAP640 Tutorials Group: Mitigate Missing Released SAP API in the 3-tier Extensibility Model](https://developers.sap.com/group.sap-s4hana-extensibility-wrap-api.html) | SAP Developers' Center\n - [Various hands-on workshop materials on ABAP Cloud, including RAP and embedded analytics](https://github.com/SAP-samples/abap-platform-rap-workshops/blob/main/README.md) \n\n\u003c!--\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--\u003e\n\n## License\nCopyright (c) 2024 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\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsap-samples%2Fabap-platform-rap640","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsap-samples%2Fabap-platform-rap640","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsap-samples%2Fabap-platform-rap640/lists"}