Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Andre_Fischer
Product and Topic Expert
Product and Topic Expert

Authors


max-dirk.dittrich

andre.fischer

patrick.schmidt2

Updates



  • 22.03.2016 Added information how to make objects that reside in $TMP transportable.


Introduction


In this document we want to describe how to handle the software changes of a project that encompasses the development of

that is deployed on the SAP Gateway server using the Quality Gate Management (QGM) which is part of SAP Solution Manager.

The scenario described is also applicable to projects where SAP Fiori applications and the underlying SAP Gateway service are extended and where the changes need to be transported through a typical 3-system landscape.

A big plus for both scenarios is that the complete life cycle management of a SAP Gateway service and the corresponding consuming SAP Fiori like application can be managed using the well known SAP Change and Transport System of an ABAP system.

The only problem however is that service development and consumer application development are usually carried out by different developers. In addition complexity is added by the fact that during the development process of an OData service repository objects and customizing data are created in the SAP Gateway Backend and SAP Gateway Server whereas the development artefacts of the SAP Fiori like application are only created on the SAP Gateway Server.

As a result 1 customizing request and 3 workbench requests in 2 system landscapes have to transported in synch between the SAP Gateway server and backend systems as shown in the following picture.



This is where the Quality Gate Management (QGM) comes to the rescue. QGM allows for the creation of so called changes which can contain one or more workbench and customizing requests in different systems. With the help of QGM the workbench and customizing requests that have been assigned to those changes can be transported in synch and the process can be controlled and monitored centrally from SAP Solution Manager.

Please note:

If the objects that you want to transport cannot be transported since you might have created them in the development class $TMP, please have a look at the following post. How to change dev class $TMP for the repository objects of an OData service?.

Demo Flow


Step 1 - Create a change

Step 2 - Create workbench requests and customizing request

Step 3 - Gateway Service Builder - OData Service Creation

Step 4 - Gateway Service Builder - OData Service Implementation

Step 5 - Gateway Backend - Service Registration

Step 6 - Maintain Service - Service Activation on SAP Gateway Server

Step 7 - Maintain Service - System Alias Customizing

Step 8 - SAPUI5 Application Development

Step 9 - Transport changes via QGM

Step 1 - Create a change


The QGM supports the creation of transport request in different systems that are organized through a change request that spans different systems (e.g Gateway Server and Gateway Backend).


Step 2 - Create workbench requests and customizing request


In a second step three workbench requests for

  • the repository objects of the Gateway service

  • the service implementation and

  • the Fiori application


will be created.

In addition a customizing request is created for the customizing settings of the Gateway service as shown in the following screen shot.


Step 3 - Gateway Service Builder - OData Service Creation


When the OData service developer starts to create a new project in the Service Builder in the SAP Gateway backend system and assigns it to a development class the developer will be prompted to assign these changes to the transportable Workbench request (here: EH1K900309) that has been created using QGM before.


Step 4 - Gateway Service Builder - OData Service Implementation


The steps shown in the video are described in detail in the how-to-guide How to Develop a Gateway Service using Code based Implementation.

Step 5 - Gateway Backend - Service Registration


The service implementation ends with the generation of the runtime objects. In this step the repository objects such as ABAP classes are generated and the Gateway service and model are registered in the SAP backend system.



As a result the developer is prompted to provide a transportable workbench request. Here the same workbench request (here: EH1K900309) will be used that already contains the Service Builder project.


Step 6 - Maintain Service - Service Activation on SAP Gateway Server


In this step the developer activates the Gateway service on the Gateway Server (Hub). Here the developer is prompted to provide a workbench request (here: GW1K900063). Please note that this happens on the Gateway Server development system (here: GW1).


Step 7 - Maintain Service - System Alias Customizing


You now want to transport the customizing settings for the system alias(es) that are assigned to the Gateway Service. This can be done from within the customizing table maintance view.



The developer will be prompted now to provide a customizing request (here: GW1K900065) that has been created earlier.


Step 8 - SAPUI5 Application Development


The developer of the SAPUI5 app can now develop the app and publish it finally on the Gateway server which is also called the frontend server for Fiori like applications. The SAPUI5 developer can submit the app so that it is published in the SAPUI5 ABAP repository from within his Eclipse development environement. Here the developer will be prompted to provide a workbench request (here: GW1K900067).


Step 9 - Transport changes via QGM


Now QGM will be used to transport the three workbench requests and the customizing request in synch to the quality assurance system and finally to production.



The status of the transports can be monitored. If for example a request is missing this can be easily be monitored in QGM



Finally all requests have been transported to the production system.


Result - SAPUI5 App runs


Finally the SAPUI5 app runs and displays a list of products  .


Appendix - List of repository objects being transported



SAP Gateway Server


The following objects have to be transported between the SAP Gateway server systems:










































Object Transport Type PGMID OBJECT
Service Repository Object R3TR IWSG
Model Repository Object R3TR IWOM
ICF Node Repository Object R3TR SICF
System Alias Customizing R3TR TABU
Serivice Registation on the Hub Customizing R3TR TABU


SAP Gateway Backend


Objects to be transported between the SAP Gateway backend systems






















































Object Transport Type PGMID OBJECT
Service Builder Project Repository Object R3TR IWPR
Model Provider Class Repository Object R3TR CLAS
Model Provider Extension Class Repository Object R3TR CLAS
Data Provider Class Repository Object R3TR CLAS
Data Provider Extension Class Repository Object R3TR CLAS
Model object Repository Object R3TR IWMO
Service object Repository Object R3TR IWSV


Fiori like application


The repository objects of an Fiori like application are deployed on the so called Frontend Server which is the same as the SAP Gateway server






















Object Transport Type
ICF Service Repository Object
Info Object from MIME Repository Repository Object
BSP page Repository Object



12 Comments