Skip to Content

Summary

In this blog I will describe step by step how to set up a transport landscape in SAP Cloud Platform integrated with SAP’s enhanced Change and Transport System (CTS+). The procedure is derived from the very useful how-to guide ‘How To… Configure HCP for CTS’. I will reference the chapters of this guide in the blog and extend the explanations of the guide where needed. On top of that I created short video clips of each and every step of the setup.

 

Prerequisites

You need:

  • Access to a (global) account within SAP Cloud Platform (CP) in which you are allowed to create new accounts for development, test (optional) and production use or
  • Access to an already existing account structure in SAP CP with the above mentioned accounts for development, test and production
  • It is not possible to setup several accounts within a trial account. You need a ‘real’ SAP CP global account
  • Access to a SAP NetWeaver 740 (support package level >= 10) system which will act as the coordinating CTS (or CTS+) system. If you are already use CTS+ for other application types you should use this system if it is already on SAP NetWeaver 740
  • Optional: if you plan to integrate your SAP CP landscape into higher level change management tools like Change Request Management (ChaRM) or Quality Gate Management (QGM) this central CTS system has to be a SAP Solution Manager 7.2 system (SolMan 7.1 is not sufficient!)

 

Target Landscape

I will setup a three account (system) landscape with the account roles development, test and production. Enhanced CTS allows more complex landscapes as well, e.g. additional pre-production account, several production accounts, sandbox accounts, etc.

The development content will be exported from the development account, attached to a transport request and added to the import queue of the test system. When the import to the test system is performed the development artifacts are deployed to the test account in SAP CP and the transport request is added to the import queue of the production system. On import the content is deployed to the production account.

 

Step 1: Set up your SAP Cloud Platform accounts

The account structure within your SAP CP global account strongly depends on requirements concerning security, isolation vs. dependencies of development projects, resource sharing vs. separation etc. Separate accounts e.g. allow individual configuration of integration to backend systems or of the used identity provider. Therefore you might require more than the three accounts I will be using here.

Now let’s start with the configuration of the SAP CP accounts:

  • Log on to your global SAP CP account
  • Go to the overview page of your global account (showing the already existing accounts)
  • Click on the ‘New Account’ button
  • Enter a name and description for the new account
  • Decide whether you would like to use the beta features of SAP CP. They are not required for the CTS+ integration but you might need them for your development project
  • Click on Save
  • Perform further configuration tasks like adding new members (users), setting up services or connectivity. For the CTS+ integration there are no further configuration steps required

Repeat the above steps for all accounts in your landscape, in my case for development, test and production account. Please see the corresponding videos:

I have now created three accounts within the global SAP CP account:

 

Step 2: Set up HTTP connections from CTS system to SAP CP accounts

This step refers to chapter 5.1 (‘Configuring an HTTP Destination’) in the How-To guide.

Currently the CTS+ integration of SAP CP is based on loose coupling. That means that you have to export your development artifacts from your source (= development) account into a multi target application archive (MTAR) file on file system. How this is done in detail differs from development type to development type.

Then from the CTS system you have to create a transport request (or use an existing one, which has not yet been released) and attach this archive file to the transport request. When you now release the transport request it is added to the import queue of the next target system(s), in my case the test system. If you trigger the import into the target system the CTS system calls a service in the respective SAP CP account via an HTTP connection. Therefore I have to setup an HTTP connection for each and every target system (= account) in my landscape. In my example I need the connections for the test and the production system. I do not need a connection for the development account (therefore the dotted line in the target landscape picture).

Now let’s set up the HTTP connection for the test system:

  • Log on to your CTS+ system (SAP Solution Manager 7.2 or SAP NetWeaver 740)
  • Start transaction ‘SM59’ (Configuration of RFC connections)
  • In the displayed list select ‘HTTP Connections to External Server’ and press the ‘Create’ button (white leaf of paper)
  • in the field RFC destination provide a name for the destination, e.g. ‘CAT_DESTINATION’ (I plan to name the representation of my test account CAT). Please observe that the name will be converted to upper case automatically. You will need the name of this destination later on.
  • Enter some meaningful description (like ‘Destination for SAP CP Test Account’)
  • Switch to the tab ‘Technical Settings’ (if not already there)
  • The target host name depends on which datacenter hosts your account. To check that log on to the respective SAP CP account and look at the HTTPS address of that page. It should contain something like ‘account.eu1.hana.ondemand.com’ (eu1 standing for a Europe based datacenter). For the configuration of the CTS HTTP connection you have to replace ‘account’ by ‘slservice’. So the complete Target Host Name would be ‘slservice.eu1.hana.ondemand.com’
  • The field Service No. must stay empty
  • The Path Prefix follows the pattern /slservice/slp/basic/<target_account_name>/slp. You have to replace <target_account_name> by the technical name of your account, which can be found on the overview page in the Account Information area (something like ‘a123xyz1’)
  • Press enter once and confirm the information that HTTP connections may not be secure
  • If your CTS system accesses the internet via a proxy enter the proxy configuration
  • Switch to the tab ‘Logon & Security’
  • Choose ‘Basic Authentication’ and enter the credentials of a member of your SAP CP account who has the ‘Developer’ role in the target account
  • I would like to encrypt the communication via SSL (secure socket layer). Therefore I set SSL to ‘active’
  • Remember the Certificate List displayed, as it will be needed it in the next step
  • Save the connection

Please see the video on creating the HTTP connection to the test system.

Repeat these steps for all your target accounts. In my example I have to do it for the production account (see video).

 

Step 3: Import SSL Certificate

This step refers to chapter 5.2 (‘Import SSL Certificate’) in the How-To guide.

In order to establish an encrypted communication from the CTS system to the SAP CP accounts the CTS has to validate the server identity of the SAP CP server. This is done with the root certificate which has been used to sign the SAP CP server certificate. Therefore this root certificate has to be imported into the CTS system. You get the root certificate e.g. by exporting it from a browser (shown here for Internet Explorer) or by downloading it from https://www.digicert.com.

  • Start your browser (here Internet Explorer 11)
  • Navigate to Tools (gear-wheel icon) -> Internet Options
  • Choose the tab ‘Content’
  • Press ‘Certificates’
  • Go to the tab ‘Trusted Root Certification Authorities’
  • Select ‘Baltimore Cyber Trust’
  • Click ‘Export…’
  • In the Certificate Export Wizard click ‘Next’ and then select ‘Base-64 encoded X.509 (.CER)’ as export format and click ‘Next ‘ again
  • Enter a filename and click ‘Next’
  • Check the summary screen and click ‘Finish’
  • The root certificate has now been exported

The next step is to import the certificate into your central CTS system.

  • Log on to your CTS system and start transaction STRUST
  • Switch to change mode
  • Double-click on the SSL client you have specified in the HTTP connection definition (here ‘SSL client (Standard)’
  • Click on the button ‘Import Certificate’ (bottom  left in the right part of the screen)
  • Enter the path and filename of the previously exported certificate and confirm by pressing the enter key
  • Click on ‘Add to Certificate List’ and verify that ‘Baltimore Cyber Trust appears in the Certificate List

Here is the video on the certificate import.

 

Step 4: Test HTTP connection

After you have imported the root certificate you can check if the HTTP connections work:

  • In your CTS system start transaction SM59
  • Open the list of HTTP connections
  • Double click on one of your your connections to SAP CP
  • Click on ‘Connection Test’
  • This should deliver an HTTP Response value ‘200’ (= OK)
  • Repeat this check for all connections

I have also created a video for this check.

I now established the connections from the CTS system to the SAP CP accounts:

 

Step 5: Configure the Transport Organizer Web UI

This step refers to chapter 5.3 (‘Configuring the Transport Organizer Web UI’) in the How-To guide.

The transport request used in the CTS+ integration of SAP CP are created and maintained with an ABAP Web Dynpro application, the Transport Organizer (Web UI). This application is made available via the Internet Connection Framework (ICF) and has to be activated when using CTS+ for the first time. If you already use CTS+ for other application types (besides SAP CP) you do not have to activate the Transport Organizer Web UI again.

  • In your central CTS system start transaction SICF
  • Enter ‘SERVICE’ in the field ‘Hierarchy Type’ (if not already there)
  • Enter ‘CTS*’ in the field ‘Service Name’
  • Click on ‘Execute’ (green tick with clock)
  • In the tree structure in the lower part of the screen right click on the entry ‘CTS_ORGANIZER’
  • From the context menu select ‘Activate Service’. If this entry is greyed out and cannot be selected it means that the service is already active
  • Confirm that you really want to activate the service
  • Repeat the above steps for the entry ‘CTS_OBJECTLIST_BROWSER’

This video shows the above steps.

 

Step 6: Configure SAP CP as Application Type

This step refers to chapter 6 (‘Configure HCP as Application Type’) in the How-To guide.

Now I will define an application type serving as a unique identifier for the SAP CP content I will transport via CTS+.

  • Log on to your CTS+ system and start transaction STMS
  • Click on ‘System Overview’ icon (one orange box above two green ones)
  • From the menu select Extras -> Application Types -> Configure
  • If the entry ‘HCP’ is not yet there click on ‘New Entries’
  • Enter ‘HCP’ in the field ‘Application ID’
  • Enter a meaningful description like ‘Multi-Target Application (MTA) on SAP CP’
  • For ‘Support Details’ enter ‘BC-NEO-INFR’. This is the SAP support component to use when creating an incident at SAP
  • Save your entry
  • Confirm the question to distribute the configuration change immediately
  • Click the ‘Back’ button (green arrow to the left)
  • You should now see ‘HCP’ in the list of application types

This procedure is documented in a video.

 

Step 7: Create the development account representation in the CTS system

This step refers to chapter 7.1.1 (‘Configuring the Development system (Export system)’) in the How-To guide.

Sources and targets for transports are identified in the CTS system by three letter acronyms (System ID or SID) which have to be unique within the transport domain managed by the CTS system. In our example I will use CAD (Cloud Account Development), CAT (Cloud Account Test) and CAP (Cloud Account Production). I will start with the system representing the SAP CP development account.

  • Log on to your central CTS system and start transaction STMS
  • Click on ‘System Overview’ icon (one orange box above two green ones)
  • From the menu select SAP System -> Create -> Non-ABAP System
  • Enter your development SID in the field ‘System’ (in our example ‘CAD’)
  • Enter a meaningful description like ‘SAP CP development account’
  • Select the flag ‘Activate Transport Organizer’. This allows to call the Transport Organizer Web UI for this system
  • The Client specified here should be the one used for transporting (normally the one you are currently logged on to). Please observe that all users who should be authorized to attach SAP CP content to transport via CTS+ have to have a user in this client. The users need the authorizations as specified in the template role SAP_CTS_PLUS. Please do not use the role directly but copy it to a role in the customer name range (‘Z_*’). Also take a look at SAP note 1003674 for recent updates on authorizations
  • Save your system definition
  • Confirm the question to distribute the configuration change immediately
  • Your system should now appear in the list of systems

Please also see the corresponding video.

I have now created the representation of the development account in the CTS system:

 

Step 8: Create the test and production account representation in the CTS system

This step refers to chapter 7.1.2 (‘Configuring the Test and Production System (Import Systems)’) in the How-To guide.

I will now setup the target systems for the transports, in my example the test and the production accounts.

  • Log on to your CTS+ system and start transaction STMS
  • Click on ‘System Overview’ icon (one orange box above two green ones)
  • From the menu select SAP System -> Create -> Non-ABAP System
  • Enter your development SID in the field ‘System’ (in our example ‘CAT’)
  • Enter a meaningful description like ‘SAP CP test account’
  • In the frame Target System Settings activate the flag ‘Activate Deployment Service’
  • Activate the Method ‘Other’ and deactivate all other Methods
  • Save your system definition
  • Confirm the question to distribute the configuration change immediately
  • You are automatically taken to a screen showing the deployment methods for different application types (currently none)
  • Click on ‘New Entries’
  • In the field ‘Application ID’ choose ‘HCP’ (as defined in step 6 above)
  • Set the ‘Deploy method’ to ‘HTTP-based Deployment (application specific)’
  • In the field ‘HTTP destination’ specify the destination you created in step 2 for your test account (in our example ‘CAT_DESTINATION’). Please double-check the correct spelling and correct case (all upper case)
  • Leave the other fields empty and save your setting
  • Confirm the question to distribute the configuration change immediately
  • Click the ‘Back’ button (green arrow to the left)
  • You should now see the newly created deployment method for your test system
  • Click the ‘Back’ button again
  • Your new test system ‘CAT’ should now be listed

The creation of the test account representation is shown in this video.

Repeat the above steps for your other target accounts, in omy example for the production account, this time using another SID, e.g. ‘CAP’ and the HTTP destination for the production account (in this example ‘CAP_DESTINATION’. Please also see this video.

I have now representations for all our accounts in the central CTS system:

 

Step 9: Define Transport Routes

This step refers to chapter 7.1.3 (‘Transport Landscape: Defining Transport Routes’) in the How-To guide.

I will now create the transport routes connecting the three systems / accounts I have setup in the previous steps.

There are two types of transport routes: consolidation and delivery. The consolidation route is used for a connection where development artifacts are exported from one (development) system and imported into a consolidation (respectively test) system.

The delivery routes are used for all subsequent connections in your landscape. When you import a transport into a system with an outgoing delivery route the transport is automatically added to the queue of the target system.

In my example I will setup a consolidation route between the development and the test system and a delivery route between the test and the production system.

The transport routes can be created using a graphical editor (described here) or by entering the required data into dialog windows.

  • Log on to your CTS+ system and start transaction STMS
  • Click on ‘Transport Routes’ icon (three small boxes connected by a curved line)
  • You now see the currently configured transport landscape. The newly created systems (CAD, CAT and CAP) should be visible on the top of the screen
  • Switch from display to change mode by clicking on the corresponding icon (pen and glasses)
  • Click on your development system (here CAD) and then click in the area below where the transport routes are shown
  • Repeat this for your other systems (in our example CAT and CAP). Try to arrange your system from left to right in the sequence your planning to connect them by transport routes, typically development – test – production
  • Switch to ‘Add Transport Route’ clicking on the corresponding icon (an orange box trying to get between to green boxes)
  • With the mouse pointer (now shown as a pencil) draw a line between the development system (CAD) and the test system (CAT)
  • In the automatically opening dialog window select ‘Consolidation’
  • In the field ‘Transport layer’ enter a four letter name starting with ‘Z’, e.g. ‘ZHCP’
  • Press Enter (or click on the green tick)
  • Enter a short description for the transport layer, e.g. ‘MTA Transport in HCP’
  • Confirm by clicking on the green tick or pressing Enter
  • You should see the newly created transport route from your development system (CAD) to your test system (CAT)
  • Now draw a line from your test (CAT) to your production system (CAP)
  • In the automatically opening dialog window select ‘Delivery’
  • Confirm by clicking on the green tick or pressing Enter
  • You should see the newly created transport route from your test system (CAT) to your test system (CAP)
  • If there are more systems in your landscape (like preproduction or sandbox environments) repeat the above steps as necessary. Normally you would use delivery routes for connecting the additional systems
  • Save the configuration
  • Confirm the question to distribute the configuration change immediately

The above sequence is shown in this video.

I have now configured the transport routes of my landscape:

 

Step 10: Final Checks 

As an optional step I ran the ‘Check Transport Tool’ of CTS.

  • Log on to your CTS+ system and start transaction STMS
  • Click on ‘System Overview’ icon (one orange box above two green ones)
  • Double-click on one of your systems (e.g. ‘CAT’)
  • Switch to the tab ‘Transport Tool’
  • Click on the check button (balance with green and orange box). The system performs several tests, which will take a few seconds
  • Expand the tree with the check results. You should only see green ticks
  • If you see errors or warnings check the corresponding message and take corrective measures accordingly

 

Congratulations! You did it!

I have now setup a typical three account / system landscape with a development, a test and a production environment.

In upcoming blogs I will show

  • how to use this environment when developing different types of artifacts
  • how to do the same kind of integration for a SAP HANA database running of SAP Cloud Platform
  • how to use higher level transport tools like Quality Gate Management (QGM), Change Request Management (ChaRM) or central Change and Transport System (cCTS)

Stay tuned!

 

 

To report this post you need to login first.

13 Comments

You must be Logged on to comment or reply to a post.

    1. Harald Stevens Post author

       

      Hi Robert,

      the examples shown in this blog are based on SAP Cloud Platform Neo, the proprietary platform hosted in SAP datacenters. However, some newer SAP Cloud Platform Services (like IoT) are based on Cloud Foundry which in turn will also run on AWS. The basic concept of Multi-Target-Applications (MTAs) also applies to Cloud Foundry, so that future expansion of the CTS+ integration of SAP CP services will also (indirectly) cover AWS (and potentially other IAAS providers hosting SAP CP on Cloud Foundry).

      To answer your question: currently no, in the future (indirectly) yes.

      Another topic would be if you run other CTS+ enabled solutions (e.g. SAP AS Java) on AWS servers. This would be available already today.

      Kind regards
      Harald

      (0) 
  1. Sankar Kalapatapu

    Hi harald,

     

    I have read your blog and it is helpful. I want to know why backend system is used especially in chapter 5.1 where in if we have two cloud platform accounts.

    For suppose in my case, I have two seperate SAP CP Accounts which doesnt have any link. Now i want to transfer / transport my UI5 Appl and HANA Modelling pkg / schema from SAP CP Acc 1 to SAP CP Acc2. At this point of time as well, do i need to go to backend system and create a destination or is there any other way for Cloud to cloud transfer of data ?

    Thanks,

    Sankar

    (0) 
    1. Harald Stevens Post author

       

      Hi Sankar,

      thanks for tuning in 😉

      Of course you have the very basic option of exporting and importing your artifacts via your frontend. However this is very error-prone, cannot be automated and works differently for different services / run-times (if at all). For your example (UI5 and HANA content) it should work.

      Another option would be setting up a continuous integration landscape as described in http://www.sap.com/developer/tutorials/ci-best-practices-intro.html. However, in this case you also need some kind of backend like a Jenkins server to automate building and deployment of your artifacts.

      Last not least we have begun to develop a native cloud based transport service which will enable moving artifacts between SAP CP accounts without a backend. Unfortunately we only just started the development and is too early to predict when it will be available. I hope to be able to show a lab preview at TechEd in Las Vegas or in Barcelona.

      Having said this, CTS+ with an ABAP backend system is currently the easiest option if you already have a fitting backend system.

       

      Kind regards
      Harald

       

      (0) 
  2. Srinivas Sistu

    Hi Harald,

    Thank you for the detailed and interesting blog.

    Is it possible to use CTS+ to transport SAP SCI content? Can we Manage / transport iFlows and other artefacts created using SAP HCI / SAP SCI across Dev Test and Prod HCI/SCI Systems?

    Regards,

    Srinivas

    (0) 
    1. Harald Stevens Post author

       

      Hi Srinivas,

      sorry for the delay in answering: I was hoping to directly tell you that HCI/CSI has been MTA/CTS+ transport enabled, but it seems we have to have a little more patience…

      I can tell you that much: our development is working on the topic and is quite far but it is still too early to specify a fixed release date. Currently the plan is to release this functionality in Q3/2017.

      I will update this blog, once the availability to customers is through.

      Kind regards
      Harald

       

      (0) 
        1. Harald Stevens Post author

          Hi Srinivas,

          I am happy to inform you (and other interested people) that SAP Cloud Platform Integration is now also enabled for CTS+ integration. We have released the option to export SAP CP Integration content as MTA. Please see the SAP Documentation

          This MTA archive can then be attached to a CTS+ transport request.

          Kind regards
          Harald

           

           

          (0) 
  3. Herbert van Zomeren

     

    Hi Herald,

    Do you already have an update if it is possible to use CTS+ for transporting SAP SCI content?

    And I try to follow your blog but I’m not sure about step 6 Configure SAP CP as application type.

    We have Solution Manager 7.2 with 7.4 sp-level 14 but when I try to add new entries I only can choose for application type BOLM, BPC, HDBLM, Microsoft~Sharepoint, Microsoft~SharepointAPP, SUP and XMII. I don’t see HCP as you told in your blog. What am I missing?

    Best regards,

    Herbert

    (0) 
    1. Harald Stevens Post author

      Hi Herbert,

      I am happy to inform you (and other interested people) that SAP Cloud Platform Integration is now also enabled for CTS+ integration. We have released the option to export SAP CP Integration content as MTA. Please see the SAP Documentation

      This MTA archive can then be attached to a CTS+ transport request.

      Concerning your second question: if HCP is not yet present as application type in your system (as it you would expect when configuring it for the first time), you have to create it. Basically you do it by pressing the ‘New Entries’ button, as described in section 6. However, in the field ‘Application ID’ you cannot use the value help (which will only display some predefined entries) but manually enter ‘HCP’ in the field. This will force the creation of a new application type upon saving.

      Kind regards
      Harald

       

      Kind regards
      Harald

       

       

      (0) 
      1. Herbert van Zomeren

         

        Hi Harald,

        Thanks, we have enabled Solutions Lifecycle Management on our SAP Cloud Platform account but by reading SAP documentation we also have to create a new HTTP destination in Solutions Lifecycle Management.

        But how do we do this? What do we have to fill in? CTS+ is configured on our onpremise ABAP system but want to test it with the option to export SAP CP integration content as MTA.

        Kind regards,

        Herbert

        (0) 
  4. Michael Sullivan

    Hello Harald,

    Thank you for a very informative blog.

    Do the accounts that are set up for the DEV, TEST and PRD environment represent separate instances of the HCP or do they represent a sort of “partitioning” within a single instance where each “partition” represents an area where a separate version of the content can be stored and executed?

    Your example contains a typical landscape design that would be found with an on premise type implementation.  However, if a customer is implementing S/4HANA in the Public Cloud, there is only a Q and P system in the landscape.  What would the landscape for the HCP look like when the HCP development is aligned with S/4HANA in the Cloud?

    Thanks,

    Mike

     

    (0) 

Leave a Reply