Skip to Content
Product Information
Author's profile photo Olga Dolinskaja

How to bring your ABAP custom code to SAP BTP ABAP Environment

Imagine you have an ABAP custom code application, which you think, would perfectly fit into the Cloud. What do you need to do to transfer your ABAP custom code to SAP Business Technology Platform (BTP) ABAP Environment – formerly known as SAP Cloud Platform ABAP Environment?

The following picture demonstrates how the technical transfer of ABAP custom code from your on-premise SAP system to SAP BTP ABAP Environment looks like.

At the step 1 you analyze your ABAP custom code for Cloud readiness with SAP Fiori App Custom Code Migration. The App runs in the SAP BTP ABAP Environment, executes remotely (based on ABAP Test Cockpit) Cloud readiness checks on the ABAP custom code in your on-premise SAP system, and provides the analytical presentation of the ATC check results with comprehensive filtering and navigation capabilities. During analysis you can focus on your ABAP custom code scope for Cloud, get familiar with ABAP language version Cloud, released objects for Cloud and find out, which issues can be fixed in a semi-automated way using Quick Fixes in ABAP Development Tools in Eclipse. For more details see also the blog How to check your ABAP code for SAP BTP ABAP Environment.

After the analysis is done, it’s time to transfer your ABAP custom code to SAP BTP ABAP Environment. The technical infrastructure for this is the abapGIT (www.abapgit.org). At the step 2 you use the abapGIT client in SAP GUI to export the ABAP custom code from your on-premise SAP system and store it in the Git Repository.

At the step 3 you use the abapGIT plugin in ABAP Development Tools in Eclipse to import your ABAP custom code from the Git Repository to SAP BTP ABAP Environment:

Finally, you can adapt the imported code in your ABAP system in SAP BTP ABAP Environment (step 4). The recommended way to do so is again using the Cloud readiness checks and ABAP Test Cockpit. That means you check your code with the ATC locally in your ABAP system in the SAP BTP ABAP Environment to get the custom code adaptation worklist. To automate the adaptation of the findings you can use the mass-enabled Quick Fixes for Cloud in ABAP Development Tools in Eclipse. See also the blog Semi-automatic custom code adaptation for SAP BTP ABAP Environment.

Further information

For more information and detailed step-by-step instructions see also the sap.com tutorial Use abapGit to Transform ABAP Source Code to the Cloud.

Assigned Tags

      20 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Ashok Kumar M
      Ashok Kumar M

      Excellent blog

      Author's profile photo Javier Andres Caceres Moreno
      Javier Andres Caceres Moreno

      Good article

      Author's profile photo Amey Mogare
      Amey Mogare

      Excellent & quite helpful article! Could you please also share some information about how to transfer Z-tables and their data from a ECC6.0 EHP4 system to SAP HANA database service on SCP?

      Warm regards,

      Amey

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Amey,

      SAP Cloud Platform ABAP Environment as PaaS currently offers no business tables into which data transfer would be relevant. The question of data transfer only arises for customer specific tables and this would then be application specific by the customer / partner via the connectivity we offer (ODATA, plain http, RFC from SAP Cloud Platform ABAP Environment to an on premise system).

      Best Regards,

      Olga.

      Author's profile photo Swathi Vuddala
      Swathi Vuddala

      Excellent Blog! exactly what I was looking for...Please help to understand how we can call custom ABAP code on SAP Cloud Platform from S/4 HANA On Premise system.

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Swathi,

      there are different possibilities: over (plain) HTTP Services, OData Services. The RFC support for this direction is not yet there but is planned for future versions of SAP Cloud Platform ABAP environment (evtl. Q3 2020).

      For the calls from SAP Cloud Platform, ABAP environment to on-premise systems you can use HTTP Services, OData services and you can call RFC-enabled function modules.

      Regards,

      Olga.

       

      Author's profile photo Swathi Vuddala
      Swathi Vuddala

      Hi Olga

      Thank you for clarification.

      Regards

      Swathi V

       

       

      Author's profile photo Monica Figueroa
      Monica Figueroa

      Hi Olga, thanks for such good information..

      I have a query, this procedure is strictly required to add own ABAP code in SAP Cloud Platform ABAP Environment ???

      What happens or what are the consequences of, for example, developing ABAP custom code directly in the Cloud system???

      Also, to create a new Z development (custom code) in SAP Cloud Platform ABAP Environment, what is the correct procedure ?? can you just develop the new code, new tablesm new dynpros, etc... directly in the system ?? just as it would be done on an On-Premise platform ??

      Thanks again for your valuable information.

      Regards.

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Monica,

      this blog is about how to migrate a custom code application from on-premise to Cloud, it doesn’t touches the ABAP development in the Cloud.

      Of course you can develop in SAP Cloud Platform ABAP Environment as you have done it on-premise in any ABAP system. You just need to consider some restrictions like e.g. using only ABAP language statements which are released for Cloud (ABAP Laguage Version 5), using only released APIs to access SAP standard code inside of the Cloud-based ABAP system, and not using the technologies, which are not released for Cloud like Dynpro. For more information please visit SAP Cloud Platform ABAP Environment community.

      Especially I recommend Learning Journeys there to start with ABAP development in the Cloud.

      Best Regards,

      Olga.

      Author's profile photo Monica Figueroa
      Monica Figueroa

      I see... thank you very much for this information.. I really appreciate it..

      Regards!!!!

      Author's profile photo Francisco LopezM
      Francisco LopezM

      Hi Olga, Thank you for this blog! Very useful.

      At the moment I haven't been able to establish abapGIT with an enterprise GitHub account. Looking into the details, it seems it is not yet developed (SAML or similar log in) and there are no plans to do it.

      Do you know if using a github regular account to transfer and store company source code files, might have compliance implications? - I've been asked this question lately by customers.

       

      Kindest Regards.

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Francisco,

      SAP has since years GitHub Enterprise Accounts and delivers productive installations based on them, we have also multiple GitHub Enterprise installations in-house. What exactly is the problem with it? SAML single sign-on is on the features list:  https://github.com/pricing

      Regards,

      Olga.

      Author's profile photo Francisco LopezM
      Francisco LopezM

      Hi Olga.

      Thank you for answering.

      To my understanding, you can't connect ABAPgit to a GitHub Enterprise account, and therefore the customer's (or SAP) repositories. Authentication is directed to "www.github.com" and it's a hard-coded feature until now.

      I wanted to know if you have found a workaround to this topic or if there is no compliance implication to using our own github accounts instead of enterprise ones, because you will be pulling source code files of an on-premise system, to a GIT server (not enterprise) and from there pushing to cloud.

      Here is the link to the SAML issue with ABAPGit: https://github.com/larshp/abapGit/issues/1257

       

      Regards.

      Author's profile photo Andre Becker
      Andre Becker

      Hello Francisco,

      we heavily using our internal GitHub Enterprise infrastructure for testing the capabilities of abapGit. I don't know what you exactly mean with "Authentication is directed to “www.github.com” and it’s a hard-coded feature until now"?

      Before exporting some SAP sources to a public GitHub account you should definitively contact legal beforehand.

      SAP has different GitHub Enterprise offerings, residing in different network segments. Not all are available from SAP Cloud Platform ABAP Environment.

      Last but not least it's not possible anymore to use your GitHub User and Password. This is independent of the enterprise accounts and is enforced on all GitHub offerings. Instead, you'll have to create a personal developer token for your user (see https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token#creating-a-token). This token can then, in turn, to be used with abapGit. Other authentication mechanisms are not supported.

      Regards,

      andre

      Author's profile photo Prasenjit Singh Bist
      Prasenjit Singh Bist

      Simply stated never easy to port it will become a separate project.

      Author's profile photo Atul Mohanty
      Atul Mohanty

      Hi Olga,

      Thanks for the detailed information with the steps migrating ABAP custom code from on premise system to SCP ABAP Environment.

      I have three questions.

      (1) I was trying to use Gitlab repository with AbapGit to move custom code to SCP. However while configuring the same in eclipse, I am getting error and eclipse is not recognize the Gitlab repository. Can you advise if its only Github repository is only allowed for this migration ?

      (2) Is it the only way using AbapGit (step 2, 3) to move the custom code to SCP ? Or there is any alternate way to step 2 & 3 in your blog ?

      (3) Can we push back the ABAP code to On Premise system S4 HANA systems from SCP ? If yes, is it only above 1909 version .

      Could you please clarify.

      Regards,

      Atul Mohanty

       

       

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Atul,

      (1) Only GIT repositories should be used for custom code transformation

      (2) Only abapGit plugin should be used for steps 2 & 3

      (3) You can push back ABAP code from ABAP environment in the Cloud to the on-premise system using the same abapGit plugins (for ADT and SAP GUI respectively). It is not restricted to the SAP S/4HANA 1909 version on-premise, this way will also work for ERP systems and lower SAP S/4HANA versions. But you must test your custom code with ATC after on-premise import.

      Kind Regads,

      Olga.

      Author's profile photo Atul Mohanty
      Atul Mohanty

      Hi Olga,

      Thanks for the quick clarification.

      On point 1, you mentioned ,Only GIT repositories should be used for custom code transformation. 

      You mean GIT repositories   only with https://github.com/ and not with any other GIT platform like gitlab.com.

      Could you please confirm.

      Regards,

      Atul Mohanty

       

       

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Atul,

      abapGit plugin for ADT in Eclipse and SAP GUI works only with Github. Sorry I have overseen Gitlab in your message. Gitlab is not supported.

      Regards,

      Olga.

      Author's profile photo Atul Mohanty
      Atul Mohanty

      Hi Olga,

      Thank you very much for clarifying my queries.

      Regards,

      Atul Mohanty