Skip to Content
Technical Articles
Author's profile photo Alban Leong

Setting up SLT from ABAP 7.52 SP04 (Dev Edition) to HANA Express 2.0 SPS04

Previously in 2017, I’ve wrote a blog series about connecting the SAP NW AS ABAP 7.51 (Dev Edition) with a HANA Express instance running on the same computer as a sidecar DB but the data replication was done through a custom program and it has to be executed manually.

At that time, I recalled that I was not able to get the SLT (SAP Landscape Transformation) replication server to work locally as it would obviously be the most ideal scenario since it replicates data over to HANA automatically in real-time.

Fast forward a couple of years and with the newly available ABAP 7.52 SP04 Dev Edition, I am now able to successfully set up SLT in LTRC and have data replicated over to a HANA Express instance in real-time automatically.

Systems used in this set up (did I mention that they are provided by SAP completely FREE):

  1. A running SAP NW AS ABAP 7.52 SP04 (Developer Edition) instance – You can get the complete download and installation steps in these two blog posts by Julie Plummer  https://blogs.sap.com/2019/07/01/as-abap-752-sp04-developer-edition-to-download/ https://blogs.sap.com/2019/10/01/as-abap-7.52-sp04-developer-edition-concise-installation-guide/
    Note: My instance however, was installed using the super easy method using Vagrant as described here in this blog by Alexander Tsybulsky https://blogs.sap.com/2018/09/22/installing-netweaver-as-abap-7.52-sp-01-developer-edition-with-vagrant/
  2. A running SAP HANA Express 2.0 SPS04 instance – You can download and install the free version here https://www.sap.com/cmp/td/sap-hana-express-edition.html

Here are the general steps that was taken and I hope this’ll help anyone that’s also looking to set up something similar but have yet to try it.

  1. Create new RFC in SM59
  2. LTRC: Create a new Configuration
  3. LTRC: Add a new table to Data Provisioning
  4. Validation

Create new RFC

Before executing LTRC, you first need to create a new RFC to be used in the configuration set up in transaction SM59.

Note: Since the DEVELOPER user id that came with the server has an almost GOD-like access, I’ve just simply used that in this RFC. Of course, in a real-production / corporate environment, you’ll want to use a system user with very specific roles for SLT such as SAP_IUUC_REPL_REMOTE

LTRC – Create a new configuration

Once you have the RFC set up, the next step is to set up the SAP LT replication server. The transaction code to execute is LTRC.

Click on the “New” icon

Enter a Configuration Name and a Description

Select the RFC connection that was created in the earlier step as the “Source System”

Enter the details of your SAP HANA Express instance.
Note: Again, I am just simply using the default “SYSTEM” user id here (not best practice in the real world)

I used these settings as I felt they met my requirements.If you’d like to know more about these settings, you can refer to the Sizing Guide [PDF] – See page 15 and I followed the use-case for a SMALL set up

Once it is configured and set up, you should have a similar set up to my screen below and at this point, over in HANA, you should also have a new Schema created with the Configuration Name “NPL_TO_HXE“.

LTRC – Add a new table to Data Provisioning

In the ‘Table Overview’ tab, click on ‘Data Provisioning’

For this example, I used the table SBOOK as a test as I am able to later regenerate new entries easily using another SAP standard program

Once the ‘Data Provisioning’ step is done, you should get the following screen and if you press “Refresh” after a few moments, the replication step should be completed with details such as the Logging Table and Current Action should say “Replication”

I quickly used HANA Studio on Eclipse (yes, I still do…) to view the data and as you can see below, the table SBOOK is now replicated over to HANA Express under the Schema NPL_TO_HXE.
Note: Take a note to the column FLDATE as the delivered ABAP system has SBOOK entries in 2017 but that will change once we use the data generator program and generate new entries

Validation

In order to validate / test that the replication works in real-time, I ran the program SAPBC_DATA_GENERATOR in SE38 to get new records generated

Once the generator program completed, I went back to LTRC to look at the status.
At first, you should see that there are 1 table in the “Not Loaded” column together with a ‘-‘ in the Loaded column in the SBOOK row. This indicates that the updated table SBOOK has not been loaded over to HANA.

After a few short moments (seconds literally) and a “Refresh”, it showed a 1 table in the “Loaded” column with now an “X” in the Loaded column in SBOOK row.

And finally, if I look into the data contents of SBOOK in HANA this time through SAP Web IDE, I can see that the FLDATE column now contains 2019 entries and no longer 2017 entries. Woo hoo!

That’s it! Hope you’ve found it helpful / interesting in your journey to learn more on ABAP and HANA development!

Previous blog post:

https://blogs.sap.com/2017/10/28/replicating-data-into-hana-using-abap-adbc-native-sql/

 

UPDATE Jan 3rd 2020:

After using and having this run for a few days and adding more tables for replication (7 to be exact), I can confirm Uwe Fetzer comment below that you need to change the background work processes up from 2 to 4 in order for it to work without any issues. Thanks Uwe Fetzer!

Assigned Tags

      23 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Uwe Fetzer
      Uwe Fetzer

      Thank you Alban for this blog post, works like a charm after I've increased the number of batch processes in the system profile to four. Else the replication always failed to start the calculation job.

      Question: after playing around with the replication I've wanted to clean up the HANA instance but I'm not able to delete the schema because of insufficient privileges although I'm logged in with user SYSTEM.

      Do you have an idea on how to delete the schema?

      Author's profile photo Uwe Fetzer
      Uwe Fetzer

      Found the answer: you can't delete the schema itself, but you can delete the replication user with the same name in HANA Cockpit. The schema will be deleted automatically if you chosse "cascade"

      Author's profile photo Alban Leong
      Alban Leong
      Blog Post Author

      Hey Uwe, glad you found the post useful and yes, like you mentioned, as long as you delete the User, the following objects as you've listed will get deleted as well.

      For the benefit of the others reading the blog, the instructions to "clean up" the SLT configuration can be found on the following OSS note https://launchpad.support.sap.com/#/notes/0001905420

      And you can simply execute the DROP USER statement in the SQL Console on Web IDE as well.

      DROP USER NPL_TO_HXE CASCADE;

      Author's profile photo Julie Plummer
      Julie Plummer

      Hi Alban,

      This looks great. I will add a link to this from the FAQs.

      Thanks and best wishes,

      Julie.

      Author's profile photo Alexander Tsybulsky
      Alexander Tsybulsky

      Great and clear article, thanks ! 🙂

      P.S. I think maybe I'll try to automate this kind of configuration one day too 🙂

      Author's profile photo Alban Leong
      Alban Leong
      Blog Post Author

      Glad you liked the post -

      Again, many thanks for your work around the Vagrant script. That is truly amazing.

      Author's profile photo kyo choi
      kyo choi

      Nice blog. 

       

      Just a curiosity what type of server/PC are you using?  Currently I ran it on my old laptop with 16GB RAM and it seems to be lagging to run both Netweaver server 7.5 SP4 and HANA Express Server at the same time.

      Author's profile photo kyo choi
      kyo choi

      Nevermind, when I ran the HANA Express Server without the Netweaver Server the problem disappeared. I'll have to adjust the memory to run them at the same time.

      Author's profile photo Alban Leong
      Alban Leong
      Blog Post Author

      I have a 32GB RAM machine (Dell XPS15) which I'd recommend to have at a minimum if you want to run both the ABAP server and HXE simultaneously. My allocations are 8GB to the ABAP server and 12GB to HXE which leaves 12GB for Windows.

      Author's profile photo kyo choi
      kyo choi

      Thanks for sharing the information.  I made the entire thing work using 6GB for ABAP server and 8GB for HXE using my old laptop with 16GB.  

      Author's profile photo Idi Kurniawan
      Idi Kurniawan

      Hi Alban,

      I just want to confirm, for the HXE installation, did you install the database server only or database + XS Advanced applications?

      Author's profile photo Alban Leong
      Alban Leong
      Blog Post Author

      Since I was able to allocate 12GB of RAMS - I installed database + XSA.

      Author's profile photo Abdelrahman Rahmo
      Abdelrahman Rahmo

      Hi Alban,

      Thanks for the blog. I am new to SAP and was following your blog to integrate SAP 7.52 SP04 developer edition with HANA XE 2.0. At LTRC step it is failing to activate with below error;

      Database error 21 with PRE access to table TBTCO

      [ASE Error SQL21][SAP][ASE ODBC Driver][Adaptive Server Enterprise]WARNING - Fatal Error 697

      When i open the code in debug mode found the below query is failing for CLASS lcl_tbtco_access METHOD lif_tbtco_access~get_active_job_data_by_name

      FIND '%' IN iv_jobname.
      IF sy-subrc = 0.
      SELECT * FROM tbtco INTO CORRESPONDING FIELDS OF TABLE et_job_data
      WHERE jobname LIKE iv_jobname
      AND ( status = if_dmc_job_facade=>gc_status_running OR
      status = if_dmc_job_facade=>gc_status_released OR
      status = if_dmc_job_facade=>gc_status_ready OR
      status = if_dmc_job_facade=>gc_status_scheduled ).
      ELSE.
      SELECT * FROM tbtco INTO CORRESPONDING FIELDS OF TABLE et_job_data
      WHERE jobname = iv_jobname
      AND ( status = if_dmc_job_facade=>gc_status_running OR
      status = if_dmc_job_facade=>gc_status_released OR
      status = if_dmc_job_facade=>gc_status_ready OR
      status = if_dmc_job_facade=>gc_status_scheduled ).
      ENDIF.

      searching for the local variable iv_jobname (/1LT/IUC_LOAD_MT_001%)

      I even tried to make a select query on table TBTCO for the same value /1LT/IUC_LOAD_MT_001% it is also failing with same error. It seems job was not created in TBTCO table.

      Could you please help to resolve if you have come across this error.

      Note: While installing i used the different hostname. HANA XE db and SAP 7.52 are working fine with the setup.

      Author's profile photo kyo choi
      kyo choi

      Can you check the size of the instance?  I usually use 120GB for following step italicized in bold.  Also you maybe able to adjust them using the DBACOCKPIT.

       

      PREPARATION
      1.
      Ensure you have the following hardware:
      x86_64 Processor based hardware
      Required: at least 4
      GB RAM plus about 8 GB swap space;
      Recommended:
      at least
      8
      GB RAM plus about 8 GB swap space;
      About 100 GB free disk space for server installation
      Abou
      t 2 GB free disk space for client installation
      English
      SAP AS ABAP requires that you configure English (LANG=en_US.UTF
      -
      8) as the
      operating system langua
      Author's profile photo Mohammad Saif
      Mohammad Saif

      Hi Alban Leong,

      Hope you are doing well.!

       

      Thanks for the post, it's really helpful 🙂

      Would you please tell me, how to maintain databased/data in SAP NW AS ABAP 7.52 SP04 Developer Edition) instance, as it's fully blank. I need data for practice.

      Thanks in advance.!

      Best Regards,

      Saif

      Author's profile photo Alban Leong
      Alban Leong
      Blog Post Author

      HI Saif,

       

      Glad you found the post helpful. The ABAP instance should have come with some data preloaded but you can generate more data in the sample tables that SAP has provided. There are two main "models" available with data for developers to interact with - they are:

      1. Flight Model - https://help.sap.com/doc/saphelp_nw70/7.0.31/en-US/cf/21f304446011d189700000e8322d00/content.htm?no_cache=true
      2. EPM (Enterprise Procurement Model) - https://www.sap.com/documents/2012/09/2a404253-5b7c-0010-82c7-eda71af511fa.html

      To generate data for these two models, you can run program SAPBC_DATA_GENERATOR for the Flight Model or run transaction SEPM_DG for EPM.

       

      HTH!

      Author's profile photo Bala Guruswamy
      Bala Guruswamy

      Hi Alban,

      Great blog! Can this be tried out with the help of Hana Trial account i.e. moving the data from

      ABAP 7.52 to Hana trial accounts-  Cloud Foundry or Neo?

      Thanks,

      Bala

      Author's profile photo Alban Leong
      Alban Leong
      Blog Post Author

      Yes - it should certainly be possible - take a look at this
      https://sap.github.io/cloud-s4ext/week-4/unit-3/

      Author's profile photo Axel Moschuering
      Axel Moschuering

      Hi Alban, hi all,

      thank you for your excellent blog(s).

      I have set up the SLT Replication as described and it runs beatifully.

      However, I noticed a difference in the number of records in the HXE System to the NPL System.

      Count on NPL delivers 1.304.509 records whereas count in HXE delivers 1.304.701 records.

      Any ideas what I did wrong.

      (I tried to insert a screenshot, but this does not work somehow....)

      Best wishes,

      Axel

       

       

      Author's profile photo Alban Leong
      Alban Leong
      Blog Post Author

      Hi Axel - glad that you liked the blog post - (apologize for the late response) but as for your issue on the difference number of records, unfortunately, I am not sure what would cause that issue and was wondering if you were able to figure it out since it's been awhile.

      Author's profile photo Axel Moschuering
      Axel Moschuering

      Hi all,

      after a longer pause I came back to my test landscape and I finally I figured it out...

      There were entries for the table SBOOK in client 000. These added up to the replicated data from client 001...(obviously replication is client-independent ?!?).

      So no mystery here anymore....

      Just to let you know....

      Thank you all and best wishes,

      Axel

      Author's profile photo Alban Leong
      Alban Leong

      Hey Axel Moschuering thanks for clearing up the mystery and glad that it's resolved!

      Author's profile photo Bijay Shrestha
      Bijay Shrestha

      Hi Alban,

      I have recently downloaded ABAP 7.52 SP4 which comes with DMIS 2011 SP16 and HANA Express 2.0.. I have configured SLT between these two systems. It looks everything good in my NPL system but I don’t see the schema and table in HANA Studio. I have found couple of SAP notes that mentions few changes in DMIS 2011 SP15 and higher compared to <SP15. For example DD* tables are not required anymore and you don’t see in Table ‘IUUL_REPL_HEAD’ and others. I am not sure what I’m missing here that I don’t see Schema NPL and tables in HANA Studio. In LTRC I see it says the table has been created, proxy table, target table all good. No errors in SM21 or ST22.

      I have assigned roles 'SAP_IUUC_REPL_ADMIN' and 'SAP_IUUC_REPL_REMOTE' to the user in ABAP system and using user 'SYSTEM' for HANA. Any ideas???