{"id":15148573,"url":"https://github.com/sap-samples/cloud-abap-rap","last_synced_at":"2025-04-12T19:42:14.922Z","repository":{"id":38791513,"uuid":"265066428","full_name":"SAP-samples/cloud-abap-rap","owner":"SAP-samples","description":"This repository contains several examples how to develop with the ABAP RESTful Application Programming Model (RAP) in SAP BTP, ABAP environment.","archived":false,"fork":false,"pushed_at":"2025-03-13T11:06:16.000Z","size":4062,"stargazers_count":240,"open_issues_count":17,"forks_count":61,"subscribers_count":35,"default_branch":"main","last_synced_at":"2025-04-03T23:09:12.371Z","etag":null,"topics":["abap","abap-environment","abap-restful","odata","rap","sample","sample-code","sap-btp","sap-btp-abap"],"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":"2020-05-18T21:27:35.000Z","updated_at":"2025-03-22T19:58:57.000Z","dependencies_parsed_at":"2025-02-28T05:00:21.770Z","dependency_job_id":"d827cdac-4857-4b44-acae-46c6c32eea6b","html_url":"https://github.com/SAP-samples/cloud-abap-rap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP-samples%2Fcloud-abap-rap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP-samples%2Fcloud-abap-rap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP-samples%2Fcloud-abap-rap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP-samples%2Fcloud-abap-rap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SAP-samples","download_url":"https://codeload.github.com/SAP-samples/cloud-abap-rap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625271,"owners_count":21135511,"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-environment","abap-restful","odata","rap","sample","sample-code","sap-btp","sap-btp-abap"],"created_at":"2024-09-26T13:20:30.914Z","updated_at":"2025-04-12T19:42:14.899Z","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/cloud-abap-rap)](https://api.reuse.software/info/github.com/SAP-samples/cloud-abap-rap)\n\n# Description\n\nThe basic idea behind the *RAP Generator* is to ease the life of the developer since it helps you to create most of the boiler plate coding that is needed to implement a RAP business object using the *ABAP RESTful Application Programming Model (RAP)* so that you as a developer can start more quickly to implement the business logic.  \nAs of SAP S/4HANA 2022 and in the ABAP environements of SAP S/4HANA Cloud and SAP BTP ABAP Environment there is also an ADT-based generator available which currently only supports one table but will be optimized in future releases.\n\n**RAP generates RAP**  \nTechnically the RAP Generator consists out of a RAP business object `ZDMO_R_RAPG_ProjectTP` that is used to generate other RAP business objects.  \nThe RAP Generator works similar like the well known **Key user tools** in SAP S/4HANA and uses a Fiori Elements UI. The Fiori Elements UI can be started from within ADT by opening the service binding `ZDMO_UI_RAPG_PROJECT_O2`. There you have to double-click on the entitiy *Project* which starts the Fiori Elements UI without the need to install any additional tool.     \n\nThe SAP Fiori elements preview based UI provides value helps for the data that has to be entered and it provides validations and determinations that provide the heavy lifting of specifying which table field is used for which purpose (for example, a field called *local_last_changed_at* or a field based on the data element *abp_locinst_lastchange_tstmpl* will be proposed by the RAP Generator to be used as the etag of an entity).\n\nOnce the repository objects are generated, the UI offers an ADT link that lets you conveniently navigate back into ADT to continue to work on your objects.\n\n## What's New \n- The RAP Generator allows to generate a basic I-view layer beneath the R-view layer as being used in SAP S/4HANA\n- The generation and deletion process now leverages the background processing framework (BGPF)\n- You can now generate extensible RAP business objects\n   - The generator generates the required additional repository objects (include structure, extension include view, ...)   \n   - The generator performs the required C0- and C1-release state\n- The generator creates _SAP object types_ and _SAP object node types_\n\n# Requirements\n\nThis sample code does currently work in:\n\n- SAP BTP, ABAP environment\n- SAP S/4HANA, ABAP environment\n- SAP S/4HANA 2023\n- SAP S/4HANA 2022\n- SAP S/4HANA 2021\n\n# How to Guides\n\n- [How to create a managed RAP BO based on tables with UUID based key fields](how_to_managed_uuid.md).\n\n# Download and Installation\n\n## How to Install the RAP Generator\n\n### SAP BTP ABAP Environment and SAP S/4HANA Cloud ABAP Environment\n\n1. Create a package **'ZDMO_RAP_GENERATOR'**.\n2. Link this package with the URL of the RAP Generator repository `https://github.com/SAP-samples/cloud-abap-rap`.\n3. Use the branch `abap-environment`.\n4. Pull changes.\n5. Use mass activation to activate the objects that have been imported in step 3.\n6. Publish the service binding `ZDMO_UI_RAPG_PROJECT_O2`.\n\n### SAP S/4HANA 2021, 2022 or 2023\n\n1. Create a package **'TEST_RAP_GENERATOR'**.\n2. Start the report `ZABAPGIT_STANDALONE`. You might have to download the [source code](https://raw.githubusercontent.com/abapGit/build/main/zabapgit_standalone.prog.abap) of this open source tool.\n3. Create an an online repository with the package and with the URL of the RAP Generator repo\n   `https://github.com/SAP-samples/cloud-abap-rap` or create an offline repository and download the source code as a ZIP file from `https://github.com/SAP-samples/cloud-abap-rap`. Make sure that you use the appropriate branch `on-prem-2022`, `on-prem-2021` or `on-prem-2023`.   \n4. Pull changes.\n5. Use mass activation to activate the objects that have been imported in step 3.\n6. Publish Service binding `ZDMO_UI_RAPG_PROJECT_O2`\n\n# Known Issues\n\nThe sample code is provided \"as-is\".\n\nKnown issues are listed here: [Issues](../../issues)   \n\n## SAP BTP ABAP Environment, SAP S/4HANA ABAP environment and on premise releases\n\n...\n\n## on_premise_2021\n\n- When using the RAP Generator in on-premise systems, you have to make sure that the latest SAPUI5 libraries are installed. If you don’t have the latest version of the SAPUI5 libraries installed you will get no dialogue when choosing the **New Project** button in the RAP Generator.\nIf the latest SAPUI5 libraries cannot be installed, you can use an implicit enhancement in method `get_sapui5core_resources_url( )` of class `CL_ADT_ODATAV4_FEAP` as described in the following [blog post](https://blogs.sap.com/2022/04/16/how-to-use-the-latest-sapui5-library-for-the-fiori-elements-preview-in-adt/).\n\n# How to Obtain Support\n\nIf you have problems or questions, you can post them in the [SAP Community](https://answers.sap.com/questions/ask.html) using either the primary tag or \"[ABAP RESTful Application Programming Model](https://answers.sap.com/tags/7e44126e-7b27-471d-a379-df205a12b1ff)\".\n\n# Contributing\n\nYou can add proposals for enhancements as issues.\n\n# License\nCopyright (c) 2023 SAP SE or an SAP affiliate company. All rights reserved. This file 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%2Fcloud-abap-rap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsap-samples%2Fcloud-abap-rap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsap-samples%2Fcloud-abap-rap/lists"}