Skip to Content

You might have noticed that there are now two options to transport SAP HANA objects via ABAP: SAP HANA transport for ABAP and the enhanced Change and Transport System (CTS+).

If you do not know about these options, yet, please refer to the following documentation and presentations:

After having gone through these options, you might now ask yourself: Can I use SAP HANA transport for ABAP to transport my SAP HANA objects via CTS?

The answer is: yes, you can – but you should only do so for a special use case.

At first, please think about your SAP HANA systems. How are they set up?

Do you use SAP HANA systems in a stand-alone set-up? Then you should use CTS+ for transporting your SAP HANA objects (or native transports via SAP HANA application lifecycle management).

Details about these options are provided in here: http://help.sap.com/saphelp_hanaplatform/helpdata/en/88/f1de06b2be4239b71e3aed03e1a617/frameset

Do you use ABAP systems with an SAP HANA database as primary database? Then you should use the SAP HANA transport for ABAP.

But let’s have a closer look at the different types of SAP HANA applications that might exist on your systems:

  • Do you develop SAP HANA applications which are closely related to ABAP development objects or rely on them? Then SAP HANA transport for ABAP is the right choice. You can have the ABAP and SAP HANA objects in one transport request. You can assign the SAP HANA packages to the ABAP package that you already use for your ABAP development. Transaction SCTS_HTA offers both, the synchronization (and, with this, the transport) of complete packages or of individual (changed) objects.
  • Do you develop native SAP HANA applications (using the SAP HANA repository) which do not have any relation to tables or views that exist on the ABAP side, but nevertheless run on the SAP HANA Database of and existing ABAP system? Then you have two options: you can use CTS+ or SAP HANA transport for ABAP. Both options are valid:
    • CTS+ is a good option, if you already work with CTS+ for other applications or come from a single SAP HANA system and now consolidate your systems. The developers working on the SAP HANA applications can continue working in the way they did in the past. They might only have to get used to a new SID. With CTS+, you can use change recording which is part of SAP HANA application lifecycle management. Each developer can work on his changelists.
      From a configuration perspective, you don’t need a separate transport track in transaction STMS. You can re-use the existing ABAP landscape and just add the parameters required for CTS+.
    • HTA is a good option if you started with ABAP development, then you moved on to some SAP HANA for ABAP applications and now you also want to create a native SAP HANA application. You can continue to use the transport mechanisms that you already know: SCTS_HTA for synchronizing the SAP HANA objects, SE09 for managing the transport requests. In this case, there is no need to configure change recording or CTS+. In fact, you should not enable change recording on the SAP HANA side (in SAP HANA application lifecycle management) if you want to use SAP HANA transport for ABAP to transport your modified SAP HANA objects. Keep in mind that with SAP HANA transport for ABAP, you can transport changed objects, but there is no way to find out who changed which object whereas in change recording in HALM, changelists are user-specific. In addition, with SAP HANA transport for ABAP, you always transport the active version of an object that is currently stored in the repository. If you used change recording and HALM, then you would transport the version of the object that is stored in the released changelist.

Decide on the option that suits you best and then stay with it and only use this transport option for your system landscape. Do not use several transport options for one development system. If you have to change the way you transport for one or the other reason, make sure that you do this in a safe way. This means that, if you move away from using change recording in SAP HANA application lifecycle management (HALM), always close all open changelists and transport them (via CTS+ or in native mode – whatever you were using). If you decide to stop using SAP HANA transport for ABAP, make sure that all objects are synchronized. In any case – for any switch of the transport mode – make sure that all transport requests are released and imported into all systems of your landscape.

And what if you decide to switch from CTS+ to HTA?

Follow these steps:

  1. Make sure that all of the systems that belong to the ABAP on HANA system landscape are on NW7.40 Sp11 at least
  2. Clean up your CTS+ imports:
    • Make sure that no-one creates new transport requests any more (by informing people and to be safe on a technical level by setting system specific permissions for this CTS+ landscape so that only the administrators involved in the migration can still work on the transport requests for this landscape)
    • Release or delete all open transport requests in DEV
    • Import all transport requests into all systems of your landscape
  3. Delete the CTS+ configuration
  4. Make sure that the transport landscape for the ABAP systems where you would like to use HTA is set up – there is no additional configuration required for HTA
  5. Make sure that all people involved have the require permissions (mainly for transaction SCTS_HTA as this is a new transaction needed for HTA)
  6. Now you can start using HTA

Consider the following before you switch:

  • Be aware that there is no continued import history. As there will be new SIDs in use, you will have one import history for the CTS+ times and another one for HTA.
  • Old transport requests 8created during CTS+ usage) cannot be imported any more – even if you attach them manually to an import queue or use the same SID because the deploy method used for HTA is different from CTS+
To report this post you need to login first.

2 Comments

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

  1. Santosh Chawala

     

    Karin,

    Thanks for this blogpost which we found very useful.

     

    Scenario we are working on is as follows , and we would like to understand potential options and its implications.

     

    Currently we have,

    • SAP BW on HANA instance which has HANA DB and ABAP Stack using different SIDs (call it landscape A), This landscape uses SAP HTA for transports
    • SAP Native HANA DB for which we are using CTS+ for transporting/managing changes (call it landscape B)

     

    We are working on a project to merge both landscapes. Merge option chosen is having a new schemas for landscape B on landscape A.

    Landscape B will not need any ABAP development or synchronizing whereas landscape A will need that.

     

    What would be the SAP recommended option in this case, is it using CTS+ or HTA or both? Can you help us provide pros and cons for these 3 options?

     

    Santosh

    +31655127070

     

    (0) 
  2. Karin Spiegel Post author

    Hi Santosh,

    I assume that we talk about SAP HANA repository content (so SAP HANA 1.0) for both landscapes, right? (and not HDI)

    And to make sure that I got the facts correctly: you plan to delete landscape B so that the SIDs of this landscape don’t exist any longer, right?

    So about the different options:

    CTS+ only this would mean that you transport ABAP and SAP HANA parts of landscape A in separate transport requests. There is then no option to keep control on dependencies between ABAP and SAP HANA parts. It might happen that activation in SAP HANA does not succeed because of missing dependent objects.
    When using this option, you would need separate transport routes for the HANA parts (be it one for landscape A and one for B or one for both). As the real SIDs are already needed for the BW landscape, this would mean that you have to invent new SIDs for your systems. This is possible, but you should keep in mind that you use SIDs that have nothing to do with the real SID of your systems

    HTA only: this option allows avoiding activation errors if SAP HANA and BW objects are transported together and have dependencies. See here for details: https://help.sap.com/viewer/9d6aa238582042678952ab3b4aa5cc71/7.5.6/en-US/4a833585fcb34f2cbdf08afc12d259fd.html and here https://help.sap.com/viewer/9d6aa238582042678952ab3b4aa5cc71/7.5.10/en-US/f528a676edce48869f60e0291d004f47.html

    HTA and CTS+: in this case, you also need to invent SIDs – most probably for the former Landscape B systems. When choosing this option, you have to be very careful when you synchronize objects in HTA. This transaction does not differentiate between objects ‘controlled by HTA’ or ‘controlled by CTS+’ or something alike. There is no such mechanism. You can synchronize in principle all objects which are part of the repository. If you accedentially transport an object that should normally transported via CTS+ via HTA, this will cause issues in TMS – see above in the blog where we described that you should always make sure that you really stopped using one transport method before starting to use the next one.

    I personally would go for HTA only

    If you decide to go for any option that involves inventing SIDs, I would not recommend to re-use the SIDs of the former landscape B to avoid any hick-ups and confusion with the old CTS+ transport requests that were created while landscape B was in use for transports.

    Hope this helps
    Kind regards
    Karin

    (0) 

Leave a Reply