Skip to Content
Technical Articles

SAP ABAP Platform 1909, Developer Edition – installation on WINDOWS OS

Today an SAP ABAP Platform 1909 SP 02 (04/2020), Developer Edition was released. It is a continuation of what I call a miniSAP system. Basically, the SAP system that ABAP developers can practice on their own hardware just by themselves. It is just ABAP part of what was formerly known as SAP Basis. There are no SAP application modules as we know them available at all.

There are official blogs and many other materials available here as SAP community pages on this topic. However, in this blog, I just want to recap my installation and few errors I encounter on the way to get the system installed.

The official blog – SAP ABAP Platform 1909, Developer Edition: AVAILABLE NOW and instructions – ABAP Platform, Developer Edition By SAP SE

What is needed

1 DockerHub account:

Unlike the previous installation of the NW Developer Edition which were provided via installation media this time the ABAP Platform comes as a docker image. If you do not have an account at DockerHub register here – DockerHub.

2 Download Docker Desktop 3.1.0:

https://www.docker.com/products/docker-desktop The Docker Desktop WIN OS installation file is about 500MB of size. Once installed it occupies about 2.5GB.

The Docker Desktop doesn’t allow you to change its installation folder nor drive. If you really need to change it there is an workaround to to do it via changing system path setup, see e.g. here.

There can be Docker initialization failure due to its service not running, just click on Start to get it started.

If possible on your hardware get WSL2 installed via following up on link provided by the Docker Desktop:

More information about WSL2 install can be found at Microsoft pages. Here’s how the WLS2 install looks like:

Installation

Now let’s start with the installation, 1st with a pull phase. Once the Docker Desktop is installed, open the command prompt via Admin access and run the below command to get the image downloaded:

docker pull store/saplabs/abaptrial:1909

Next is extracting phase, it is extracting to a folder:

x:\Users\<user_name>\AppData\Local\Docker\wsl\data\ext4.vhdx

Pull phase of the image deployment finished:

Configuration and the virtual image to execute linux images are saved in the default Docker root folder.

x:\ProgramData\DockerDesktop

Docker image is running by a process called vmmem – as seen in WIN’s Task Manager:

A common error in the pull phase is that there is a message “Retrying in x seconds” message shown and nothing happens. In this case, it can be that you do not have enough space on your drive. Try to free up at least 100GB as a compressed image has 23.52GB and decompressed 62.4GB.

Next is to run the container via command:

docker run --stop-timeout 3600 -i --name a4h -h vhcala4hci -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 50000:50000 -p 50001:50001 store/saplabs/abaptrial:1909

 

In case you get an error like below just add an optional parameter -skip-hostname-check to the above command.

ERROR: the following system limits are below recommended values:

  (sysctl kernel.shmmni = 4096) < 32768

  (sysctl vm.max_map_count = 65530) < 2147483647

  (sysctl fs.file-max = 2616662) < 20000000

  (sysctl fs.aio-max-nr = 65536) < 18446744073709551615

Hint: consider adding these parameters to your docker run command:

  –sysctl kernel.shmmni=32768

Hint: if you are on Linux, consider running the following system commands:

  sudo sysctl vm.max_map_count=2147483647

  sudo sysctl fs.file-max=20000000

  sudo sysctl fs.aio-max-nr=18446744073709551615

Cannot continue because of insufficient system limits configuration!

If you want to continue without recommended limits,

run again with the parameter -skip-limits-check

 

In case the docker run command stops with output like below:

flag provided but not defined: -sysctl

Usage of /usr/local/bin/abaptrialinit:

  -agree-to-sap-license

        Indicates that you agreed to the SAP Developer Center Software Developer License Agreement.

  -no-asabap-license-update

        Do not try to update AS ABAP license

  -no-hdb-license-update

        Do not try to update HDB license

  -skip-hostname-check

        Allows you to bypass hostname check

  -skip-limits-check

        Allows you to bypass sysctl and limits check

  -start-as

        Start only AS

  -start-db

        Start only DB

  -start-wrk

        Start only Worker

 

The following things need to be checked:

– How much memory container uses:

docker exec -it a4h free -h

– What disk space is allocated to Docker container?

docker exec -it a4h df -h /

– Is the database (HDB) running?

docker exec -it a4h su - hdbadm -c "sapcontrol -nr 02 -function GetProcessList"

In case you getting issue related to ports usage like below:

docker: Error response from daemon: Ports are not available: listen tcp 0.0.0.0:8443: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

Most likely your host OS using the port (in this case port no 8443). Thus you need to remove that process that uses that port from your host OS. You can get the help of what IP address or ports are used by container by command:

            

docker inspect a4h

Finally, the following command worked:

docker run --stop-timeout 3600 -i --name a4h -h vhcala4hci -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 50000:50000 -p 50001:50001 store/saplabs/abaptrial:1909 -skip-limits-check

The final success message is like following:

After setup of SAP Logon Pad entry it is possible to login to the system:

Enjoy the very first version of miniSAP on the SAP HANA database!

 

31 Comments
You must be Logged on to comment or reply to a post.
  • Thanks for the guide,

    Unless you login to Dockerhub you won't see system resource requirements to use this docker image and fail like me by thinking 75GB free space would be enough to install a trial system. So I will post it here,

    Requirements

    Linux

    • 4 CPUs
    • 16GB RAM
    • 150GB Disk

    Windows

    • 4 CPUs for Docker Desktop
    • 16GB for Docker Desktop
    • 170GB disk for Docker Desktop

    macOS

    • 4 CPUs for Docker Desktop
    • 16GB for Docker Desktop
    • 170GB disk for Docker Desktop
  • Hi Martin,

     

    I am using Mac. Able to download the Docker Desktop but it is not showing the installation guide given above. But I can see it is installed on my Mac.

    Is it possible to provide instructions to Mac also?

     

    Thanks

    Sunitha

    • Hi Sunitha,

      Are you registered to https://hub.docker.com/ ? you need to be in order to have an access to docker image and to accept SAP License. Once you are registered you need to login to docker desktop with you account.

      cheers

  • Hi Martin,

    great writeup. I've come this far that I can log onto the SAP A4H System.

    (Running on Windows Linux Subsystem running on Docker running on Win10x64 running on VMWare ...).

    But.. then I was wondering how to exchange data (e.g. Flat Files, Transports via File).

    Is there a simple way to add a network share which points to a directory (like /usr/sap/trans )?

    Thanks & best,

    Robert.

    • Hi Robert,

      haven't explored possibility how to expose file system of ABAP server to user of host OS yet. Neither other way around explore share drive of host OS to ABAP server.

      However I just tried that simple call of below method works.

      cl_gui_frontend_services=>gui_upload

      So as workaround there can be a small ABAP program that read file from user and saves it to ABAP server file system.

      cheers.

  • Hello Martin,

     

    Amazing solution to test this release. Could you please elaborate on the command below on how to include the  -skip-hostname-check and –sysctl kernel.shmmni=32768 and  -skip-limits-check

    docker run --stop-timeout 3600 -i --name a4h -h vhcala4hci -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 50000:50000 -p 50001:50001 store/saplabs/abaptrial:1909

    I tried all the combination, but as docker is something new, i did not get the valid command.

    • Hi Marius, a run command that worked for me was following:

      docker run --stop-timeout 3600 -i --name a4h -h vhcala4hci -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 50000:50000 -p 50001:50001 store/saplabs/abaptrial:1909 -skip-limits-check
  • Great blog.  Thanks.

     

    However would you let me know what is the initial PW for developer user?  I've tried the old, Down1oad but it didn't work.

  • Hi!

    I am in W10 and I could install all without errors but when I try to logon on vía SAP GUI I am getting the following error

    System ID A4H

    Inst. Num 00

    Application Server localhost.

    Has anyone had the same error?

    Thanks,

    Magalí

     

    /
    • Hi Magali

      is you installation correctly running? I mean do you get an message like "all services have been started" in command prompt where does it run?

      If so perhaps it is just about ports. Please see setup instruction on hub.docker.com how to configure the ports.
      For SAP should listen on the 3200 for GUI connection. The port needs to be listed in the docker run command that you used to start up the SAP instance like this one:

      docker run --stop-timeout 3600 -i --name a4h -h vhcala4hci -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 50000:50000 -p 50001:50001 store/saplabs/abaptrial:1909 -skip-limits-check
  • Hi quick question: do you have to create a new A4H  container every time / every day you want to play around with the ABAP platform? And consequently delete the existing A4H container before creating a new one?

    found it - existing container A4H can be re-started via command:  docker start -ai a4h

    all services have been started - HAVE FUN!

    Next challenge is to get it started with SAPGUI

    I put in 127.0.0.1 vhcala4hci in my hosts file

    and in my sap logon parameters: application server - vhcala4hci / instance number - 00 / system ID - A4H

    error message: rabax during sap gui logon (location vhcala4hci _A4H_00-W6)

    same result if I use localhost. What could be the reason for this?

    • Hi Mike,

      yes, no need to clone docker image every time one wants to run it. In this way all development done in the system would be lost. Although it is possible to push the code into git services like github or similar.

      So I just gracefully stop my instance when I do not need it like below:

      Stop ABAP server:

      >>su - a4hadm
      >>/usr/sap/hostctrl/exe/sapcontrol -nr 0 -function StopSystem

      Stop HANA DB:

      >>su - hdbadm
      >>./HDB stop

      stop docker container:

      >>docker stop a4h

      if I want to start the ABAP Platform I start up docker Desktop and then in host OS shell I start it like:

      >> docker start -ai a4h

      cheers

       

      • Danke Martin,

        from now on I will stop/start my instance the way you suggest.

        I could not solve my SAP Gui logon issue (the RABAX error). I decided to delete the image all together and start from scratch. Don't ask me how, but now the logon with SAP Gui works. Midnight magic? Anyway I humbly accept this good fortune.

        Eclipse 20-12 also 'logs on' to A4H - nice!

        my 16GB memory is at 99%  - CPU ( I5 - 8th generation) varies from 50% to 100%

         

    • hi Mike,

      having the same issue - rabax when trying to connect using SAP GUI.. so basically you deleted the whole thing and started over? - anything else you remember you've done?

      Cheers,

      Dan.

  • Hi - what's the password for the a4hadm OS user in the container? I'm hoping to register it's SAP control credentials in my HANA cockpit installation.

    • Hi Luis,

      I'm not aware what the password is. When I use my ABAP platform 1909 container I just switch to that user via command:

      su - a4hadm

      and it logs me in automatically. Based on this I sense that password is not needed.

      cheers

      m./

  • hi Martin,

    unfortunately, this is not working for me.. 16GB, Docker w/ WSL2 - ends up causing a rabax state when I try to login. Other people had similar issues, do you know anything about this?

    Cheers,

    Dan.

    • Hi Daniel,

      according "rabax state" discussion in blog I assume it is because of memory available. You saying you have 16Gb but probably something else is occupying part of it and then sap has not enough of it..

      Perhaps try to investigate whether there is nothing else that may occupy the memory.

      cheers

      m./

  • hi Martin,

    yeah, I think maybe this is a scenario not really well covered by the folks who created the image - anyways, I've added this into the docker image review section, maybe authors will make a note for future developers.

    setup instructions are very helpful, but there is an issue many are facing regarding memory, very likely on Docker Desktop (Windows, 16GB) - I have traced a good solution for rabax state when trying to utilize SAP GUI. Docker (WSL2) will allocate 80% OS memory on default settings, which is roughly 13GB when running 16GB host OS memory - this creates an issue with uuidd service. Below document from Microsoft explains how to increase this limit.

    https://docs.microsoft.com/en-us/windows/wsl/wsl-config#configure-global-options-with-wslconfig

    Using 14GB (created filed .wslconfig and added memory=14GB seems to have resolved that issue in particular. (maybe you can also add as a note in your blog)

    Cheers,

    Dan.