Integration of ABAP world in SAP Build

Estimated read time 16 min read

As you might have heard the big announcement from Michael Ameling in this year’s Tech Ed , we are now bringing ABAP world and SAP Build together. If you missed , please check out his blog , where he has provided a little bit of history and the context of integration.

This Blog would cover how these  two worlds SAP Build and ABAP are coming together. We will show how if you are a Build developer or ABAP developer or if you want to extend your ERP solutions with ABAP you would be able to so now .

Why 

Before we get into developing a package from Build, it would be great to know the reasons for this and the improvements it would bring to the developer community.

1> SAP Build envisions to become  the Entry point for all developers whether you are a professional developer who love to  code or you are a business user or citizen developer who would like to build applications with minimum to no coding  .
With Build Process Automation we provide a way to automate business processes and  workflows etc. With Build Apps we help you  developer wonderful mobile and web apps . With Build Code we enable professional developers to create wonderful applications using java and java script . 
Now with ABAP also integrated, professional developers would now would also be able to work on ABAP packages directly from Build 

2> Fusion Development – We know that development work cannot be done in silos. We need complete capabilities offered so that developers could decide how best to achieve a business outcome. With this thought, here in Build when you are working on ABAP , you will not be just developing ABAP packages , but also be actively using it across all Build development products in a seamless integration

With Build Code , you would be able to integrate ABAP services developed via Build via Service Center. You can also directly create a Build Code application from an ABAP service binding. This also integrate the backend RAP services with frontend Fiori Applications.
You could also wrap the ABAP RAP service bindings as an Action and integrate in Build Process or Build Apps if you wish to automate or build mobile apps with a ABAP Cloud service built in Build .

This ABAP integration is not just for BTP ABAP Cloud  , but even S/4 HANA Public Cloud systems could be accessed and worked upon from Build 

3> ERP Extensibility – SAP Build positions itself to be the Extensibility solution. Through SAP BUILD Extensibility Wizard  , users can now  extend Custom Process , Custom Field and Custom Logic covering both on stack and side by side extensibility. With ABAP integration , this extensibility feature becomes even more powerful. 
Users can now build and extend ABAP services directly from S/4 HANA applications via SAP Build and integrate it to develop their custom extensions .

Now you know the reasons , let’s now get into development. But before that make sure you complete the following pre requisites 

Prerequisites: 

You’ve subscribed to one of the services in SAP Build. For more information, see What Is SAP Build?.You have downloaded one of the latest milestone from here and install ADT from the customer update site (https://tools.hana.ondemand.com/latest). Make sure you have selected Eclispe+Command in Link Handlers settings for ADTYou’ve created a destination in the SAP BTP cockpit . Please follow the following steps for BTP ABAP and S/4 HANA public Cloud SAP BTP ABAP Environment Entitle SAP BTP ABAP Environment to your Global Subaccount ; https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/getting-started-with-customer-account-in-abap-environment?locale=en-US&version=Cloud Create a Service Instance : https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/creating-abap-system?locale=en-US&version=Cloud Setup Destination in BTP to connect from BTP to ABAP System

           

Field Value Required Comments

NameDestination Instance nameYThis would be shown while displaying ABAP systemsTypeHTTPY Description N Urlhost-url-steampunk-systemYUrl from Service KeyProxy TypeInternetY AuthenticationSAMLAssertionY Audiencehost-url-steampunk-system Enter the URL of the system and add -webKeyStoreLocation N KeyStorePassword N AuthnContextClassRefurn:oasis:names:tc:SAML:2.0:ac:classes:x509YThis is needed if Previous Session can be used.(Not Reachable via cloud sdk code)urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSessionUpdate additional properties:

Property Value Comments

abap_enabledTrue HTML5.DynamicDestinationabap_true_destination HTML5.Timeout60000 WebIDEEnabledtrue WebIDEUsageodata_abap,dev_abap nameIdFormaturn:oasis:names:tc:SAML:1.1:nameid-format:emailAddressNeeded for verifying the user

It should look like :

      b.  S/4 HANA Public Cloud 

         Prerequisite : You should have a connection to S/4 HANA Public Cloud system. 
         Create a Destination as above with same properties. Only changes are :
               In the url section suffix -api after the system host For ex: my3xxxxx-api.s4hana.ondemand.com
               In audience section add the exact system url without -web or -api.

 4. Establish a communication system to establish connectivity from ABAP system to BTP

In the SAP BTP cockpit, download your subaccount-specific trust certificate by navigating to Connectivity –> Destinations –>  Download Trust.In the SAP Fiori launchpad of your ABAP environment system, create a communication system by using the Communication Systems app. See How to Create Communication Systems.Update Technical Data

       BTP ABAP Environment  

Navigate to Destination ServiceCheck “Use Default Instance”.Update Name by selecting the name of destination configured in Step 3 configured above.Navigate to Identity ProviderChoose SAML Assertion Provider and update the details:User Id Mapping Mode: UserNameSAML Bearer Issuer: Upload the Destination trust certificate downloaded above, copy the CN value and paste in the input field.Save the above changes.

       S/4HANA Public Cloud 

Navigate to GeneralCheck for Inbound onlyNavigate to Identity ProviderChoose SAML Assertion Provider and update the details:User Id Mapping Mode: UserNameSAML Bearer Issuer: Upload the Destination trust certificate downloaded above, copy the CN value and paste in the input field.Save the above changes

5. You have connected to ABAP System from ADT :

BTP ABAP Cloud  SAP S4HANA CLOUD 

 

Build your first ABAP service in Build 

ABAP project creation :

In BTP , for any of Build Subscription , click on “Go to Application” , it will open a Build Lobby page 

Click on Create Button , it will open a Creation Wizard , select “Build an Application” and then “ABAP Cloud” from the given options:

On Selection of ABAP Cloud :  Project Creation wizard would appear :

The System Dropdown would show the list of Destinations which you have connected to BTP ABAP Environment or S/4 HANA Public Cloud  . Make a selection of the Destination which is pointing to your desired ABAP System.

If the destination is valid you will see the System Id and System Client below the System’s Dropdown

For a valid System you have two options :

a> You can use a preexisting package which you have already created via ADT 

On Clicking on next you would be directly moved to Build ABAP project creation dialog , details below

b> You can create a new package for a given superpackage :

On Clicking  of next , you will be asked to either enter a preexisting Transport Request  or enable creation of new Transport Request :

If you know the Transport Request , you could select it from the drop down. 
If not , then you could provide the description , a new Transport Request would be generated at the time of package creation.

After clicking on next , Build ABAP Project Creation Dialog would appear . 

This  is Build ABAP Project, This will map and point to the ABAP package which you are creating for a given system. This way you will have a Build ABAP project always referencing to an ABAP package.

In a new tab you will get a prompt to open ADT :

On Selecting “Open Eclipse” another prompt would come to run Eclipse Command , please select OK.
It wil then go to your installed ADT and asked to select an ABAP project 

It will then Open ABAP Repository Object Generator Wizard for ODATA Ui Service 

If you have a reference object , you can select and press Next and proceed or if you want start fresh , you could Cancel.  
You will find the package is created in ADT for your system 

You can now work on the ADT package as you would have done earlier.

ABAP Project navigation

In Lobby page you will also have a Build ABAP Cloud project with the name provided above already created :

 If you click on the ABAP project which you have created it will navigate and open the same referenced ABAP package in ADT 

ABAP Project reference object mapping 

 You can also map existing SAP BUILD ABAP Cloud project to an existing Service Binding object for future reference . 
Click on the Build ABAP project , it would open a Project Details pane . You can click on the Reference Object Name dropdown, if you have an existing Service Bindings for the the ABAP package , you will see them in the list.
Select one .

After the property is updated , it will now update the navigation link. It will now point to the Service Binding which you have selected. Clicking on the project would open the Service Binding Object in ADT :

 

Conclusion 

Now you have build your first ABAP package via build. You can now build any service bindings. As part of fusion development these services could be used across all Build products. If you have a need for extension using these Service , you can use it too. 
More on these in subsequent blogs .

Stay tuned for many exciting developments in this area. We are just getting started.

 

 

 

​ As you might have heard the big announcement from Michael Ameling in this year’s Tech Ed , we are now bringing ABAP world and SAP Build together. If you missed , please check out his blog , where he has provided a little bit of history and the context of integration.This Blog would cover how these  two worlds SAP Build and ABAP are coming together. We will show how if you are a Build developer or ABAP developer or if you want to extend your ERP solutions with ABAP you would be able to so now .Why Before we get into developing a package from Build, it would be great to know the reasons for this and the improvements it would bring to the developer community.1> SAP Build envisions to become  the Entry point for all developers whether you are a professional developer who love to  code or you are a business user or citizen developer who would like to build applications with minimum to no coding  .With Build Process Automation we provide a way to automate business processes and  workflows etc. With Build Apps we help you  developer wonderful mobile and web apps . With Build Code we enable professional developers to create wonderful applications using java and java script . Now with ABAP also integrated, professional developers would now would also be able to work on ABAP packages directly from Build 2> Fusion Development – We know that development work cannot be done in silos. We need complete capabilities offered so that developers could decide how best to achieve a business outcome. With this thought, here in Build when you are working on ABAP , you will not be just developing ABAP packages , but also be actively using it across all Build development products in a seamless integrationWith Build Code , you would be able to integrate ABAP services developed via Build via Service Center. You can also directly create a Build Code application from an ABAP service binding. This also integrate the backend RAP services with frontend Fiori Applications.You could also wrap the ABAP RAP service bindings as an Action and integrate in Build Process or Build Apps if you wish to automate or build mobile apps with a ABAP Cloud service built in Build .This ABAP integration is not just for BTP ABAP Cloud  , but even S/4 HANA Public Cloud systems could be accessed and worked upon from Build 3> ERP Extensibility – SAP Build positions itself to be the Extensibility solution. Through SAP BUILD Extensibility Wizard  , users can now  extend Custom Process , Custom Field and Custom Logic covering both on stack and side by side extensibility. With ABAP integration , this extensibility feature becomes even more powerful. Users can now build and extend ABAP services directly from S/4 HANA applications via SAP Build and integrate it to develop their custom extensions .Now you know the reasons , let’s now get into development. But before that make sure you complete the following pre requisites Prerequisites: You’ve subscribed to one of the services in SAP Build. For more information, see What Is SAP Build?.You have downloaded one of the latest milestone from here and install ADT from the customer update site (https://tools.hana.ondemand.com/latest). Make sure you have selected Eclispe+Command in Link Handlers settings for ADTYou’ve created a destination in the SAP BTP cockpit . Please follow the following steps for BTP ABAP and S/4 HANA public Cloud SAP BTP ABAP Environment Entitle SAP BTP ABAP Environment to your Global Subaccount ; https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/getting-started-with-customer-account-in-abap-environment?locale=en-US&version=Cloud Create a Service Instance : https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/creating-abap-system?locale=en-US&version=Cloud Setup Destination in BTP to connect from BTP to ABAP System           Field Value Required CommentsNameDestination Instance nameYThis would be shown while displaying ABAP systemsTypeHTTPY Description N Urlhost-url-steampunk-systemYUrl from Service KeyProxy TypeInternetY AuthenticationSAMLAssertionY Audiencehost-url-steampunk-system Enter the URL of the system and add -webKeyStoreLocation N KeyStorePassword N AuthnContextClassRefurn:oasis:names:tc:SAML:2.0:ac:classes:x509YThis is needed if Previous Session can be used.(Not Reachable via cloud sdk code)urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSessionUpdate additional properties:Property Value Commentsabap_enabledTrue HTML5.DynamicDestinationabap_true_destination HTML5.Timeout60000 WebIDEEnabledtrue WebIDEUsageodata_abap,dev_abap nameIdFormaturn:oasis:names:tc:SAML:1.1:nameid-format:emailAddressNeeded for verifying the userIt should look like :      b.  S/4 HANA Public Cloud          Prerequisite : You should have a connection to S/4 HANA Public Cloud system.          Create a Destination as above with same properties. Only changes are :               In the url section suffix -api after the system host For ex: my3xxxxx-api.s4hana.ondemand.com               In audience section add the exact system url without -web or -api. 4. Establish a communication system to establish connectivity from ABAP system to BTPIn the SAP BTP cockpit, download your subaccount-specific trust certificate by navigating to Connectivity –> Destinations –>  Download Trust.In the SAP Fiori launchpad of your ABAP environment system, create a communication system by using the Communication Systems app. See How to Create Communication Systems.Update Technical Data       BTP ABAP Environment  Navigate to Destination ServiceCheck “Use Default Instance”.Update Name by selecting the name of destination configured in Step 3 configured above.Navigate to Identity ProviderChoose SAML Assertion Provider and update the details:User Id Mapping Mode: UserNameSAML Bearer Issuer: Upload the Destination trust certificate downloaded above, copy the CN value and paste in the input field.Save the above changes.       S/4HANA Public Cloud Navigate to GeneralCheck for Inbound onlyNavigate to Identity ProviderChoose SAML Assertion Provider and update the details:User Id Mapping Mode: UserNameSAML Bearer Issuer: Upload the Destination trust certificate downloaded above, copy the CN value and paste in the input field.Save the above changes5. You have connected to ABAP System from ADT :BTP ABAP Cloud  SAP S4HANA CLOUD  Build your first ABAP service in Build ABAP project creation :In BTP , for any of Build Subscription , click on “Go to Application” , it will open a Build Lobby page Click on Create Button , it will open a Creation Wizard , select “Build an Application” and then “ABAP Cloud” from the given options:On Selection of ABAP Cloud :  Project Creation wizard would appear :The System Dropdown would show the list of Destinations which you have connected to BTP ABAP Environment or S/4 HANA Public Cloud  . Make a selection of the Destination which is pointing to your desired ABAP System.If the destination is valid you will see the System Id and System Client below the System’s DropdownFor a valid System you have two options :a> You can use a preexisting package which you have already created via ADT On Clicking on next you would be directly moved to Build ABAP project creation dialog , details belowb> You can create a new package for a given superpackage :On Clicking  of next , you will be asked to either enter a preexisting Transport Request  or enable creation of new Transport Request :If you know the Transport Request , you could select it from the drop down. If not , then you could provide the description , a new Transport Request would be generated at the time of package creation.After clicking on next , Build ABAP Project Creation Dialog would appear . This  is Build ABAP Project, This will map and point to the ABAP package which you are creating for a given system. This way you will have a Build ABAP project always referencing to an ABAP package.In a new tab you will get a prompt to open ADT :On Selecting “Open Eclipse” another prompt would come to run Eclipse Command , please select OK.It wil then go to your installed ADT and asked to select an ABAP project It will then Open ABAP Repository Object Generator Wizard for ODATA Ui Service If you have a reference object , you can select and press Next and proceed or if you want start fresh , you could Cancel.  You will find the package is created in ADT for your system You can now work on the ADT package as you would have done earlier.ABAP Project navigationIn Lobby page you will also have a Build ABAP Cloud project with the name provided above already created : If you click on the ABAP project which you have created it will navigate and open the same referenced ABAP package in ADT ABAP Project reference object mapping  You can also map existing SAP BUILD ABAP Cloud project to an existing Service Binding object for future reference . Click on the Build ABAP project , it would open a Project Details pane . You can click on the Reference Object Name dropdown, if you have an existing Service Bindings for the the ABAP package , you will see them in the list.Select one .After the property is updated , it will now update the navigation link. It will now point to the Service Binding which you have selected. Clicking on the project would open the Service Binding Object in ADT : Conclusion Now you have build your first ABAP package via build. You can now build any service bindings. As part of fusion development these services could be used across all Build products. If you have a need for extension using these Service , you can use it too. More on these in subsequent blogs .Stay tuned for many exciting developments in this area. We are just getting started.     Read More Technology Blogs by SAP articles 

#SAP

#SAPTechnologyblog

You May Also Like

More From Author