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