SAP ABAP Platform 1909, Developer Edition, on Ubuntu VirtualBox Guest

SAP released the SAP ABAP Platform 1909 as Developer Edition in February 2021 and provides the ABAP Platform on SAP HANA 2.0 as a Docker image. This blog post explains how you install the SAP ABAP Platform 1909, Developer Edition, on a Ubuntu VirtualBox guest machine and access it from another one. The second Ubuntu VirtualBox guest machine contains Eclipse and the SAP GUI for Java.

Ubuntu 20.04: "SAP ABAP Platform 1909" Docker container is starting
Ubuntu 20.04: “SAP ABAP Platform 1909” Docker container is starting

>> SAP no longer provides the Docker image. <<

System landscape and requirements for SAP ABAP Platform

Two VirtualBox guest machines with Ubuntu 20.04 run on macOS Big Sur as host system. One Ubuntu system contains the ABAP Platform and the other one Eclipse and SAP GUI for Java.

Both guest machines use bridged networking and have its own IP address. The Ubuntu system with the ABAP Platform gets a fix IP from the router so that the system is always reachable under the same IP, e.g. 192.168.183.xx.

The host system should provide at least 200 GB disk space and 32 GB RAM because the ABAP Platform requires at least 16 GB RAM and 150 GB disk space.

System landscape: Ubuntu guest machines run on macOS Big Sur
System landscape: Ubuntu guest machines run on macOS Big Sur

Prepare Ubuntu 20.04 as VirtualBox guest machine

First, you will have to set up both guest machines with Ubuntu 20.04. This article “How to Install Ubuntu 20.04 on VirtualBox” guides you through the Ubuntu installation if you need support.

After that, you will need to prepare one guest machine for running Eclipse and SAP GUI. My post “Ubuntu: How to install SapMachine, Eclipse with ADT, abapGit, and SAP GUI for Java” will support you here.

Next, you will have to install docker on the other guest system, and this article “How to Install Docker on Ubuntu 20.04” will help you.

ABAP Platform Setup Instructions

You will find a good instruction on Docker Hub for installing the ABAP Platform. But before you execute any run command consider my tips for avoiding trouble.

ABAP Platform: Docker run error
ABAP Platform: Docker run error

Execute the following commands before you use the command docker run.

sudo sysctl vm.max_map_count=2147483647
sudo sysctl fs.aio-max-nr=18446744073709551615

After that, use the following docker run command. It ensures that the container ports are mapped to the ports of the operating system. Furthermore, you accept the license with “-agree-to-sap-license“, and that is very convenient because you do not need to accept the license anymore when you stop and restart the container.

docker run --stop-timeout 3600 --sysctl kernel.shmmni=32768 -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 -agree-to-sap-license

In the case, you will run into trouble this command is helpful:

docker rm -f a4h # --> Caution: All configuration and development will be deleted <--

It removes the container, and you can run it again with docker run.

After you started the container successfully, you can stop and start it with these commands:

#stop container, alternative: ctrl + c
docker stop --time 7200 a4h

#start container
docker start -ai a4h # --> Wait around 10 minutes before logon <--
#Consider SAP's recommendation: After all the services are successfully started, it is a good idea to wait until CPU load goes down and amount of used of Memory stops from growing before you attempt to logon to the system.
#If you do not wait long enough, the system will be not available

Additional tasks for accessing

First, adjust the hosts file (/etc/hosts) on the Ubuntu system where you will use Eclipse, SAP GUI for Java, and the Fiori Launchpad.

# On the Ubuntu system with Eclipse and SAP GUI
192.168.xxx.yyy	vhcala4hci

If you do not know the IP of your guest machine where the ABAP Platform is running, you will get the IP with the command ifconfig.

# Docker
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ...

# Guest network/IP where SAP ABAP Platform 1909 is running
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.xxx.yyy  netmask 255.255.255.0  broadcast 192.168.xxx.yyy
        ...
SAP ABAP Platform 1909, Developer Edition: Fiori Launchpad
SAP ABAP Platform 1909, Developer Edition: Fiori Launchpad

Alternatively, you can set “vhcala4hci” as hostname of the Ubuntu machine (/etc/hostname) where the ABAP platform is running. That means that the ABAP machine is also available under “https://vhcala4hci” for any device in your local network. Another alternative offers your router where you can set the fix IP address and a hostname for the ABAP machine.

Unfortunately, no browser will trust the self-signed SSL certificate of your SAP ABAP Platform and you need to accept the warnings (Advanced > proceed to website). For more convenience you can download the certificate (TC STRUST > edit mode > SSL server standard > export) and install it on your operating system .

SAP Trust Manager: Create, re-new or export SSL certificate
SAP Trust Manager: Create, re-new or export SSL certificate

Then set up the firewall ufw and allow the required ports on the Ubuntu system where the SAP ABAP Platform 1909 is running. The article “UFW Essentials: Common Firewall Rules and Commands” will support you.

To                         Action      From
--                         ------      ----
3200                       ALLOW       Anywhere                              
80                         ALLOW       Anywhere                  
3300                       ALLOW       Anywhere                  
8443                       ALLOW       Anywhere                  
30213                      ALLOW       Anywhere                  
50000                      ALLOW       Anywhere                  
50001                      ALLOW       Anywhere              

Finally, you will need the connection string for the SAP GUI:

conn=/H/192.168.xxx.yyy/S/3200&clnt=001&user=developer&lang=EN
#developer, sap* password: Ldtf5432, SID A4H

Now, you are able to add a connection to the SAP ABAP Platform 1909, Developer Edition, to Eclipse.

ABAP Platform in Eclipse 2020-12
ABAP Platform in Eclipse 2020-12

Get a new SAP license key

If the SAP license is expired, you can generate a new license key:

  • Get the hardware key (transaction code SLICENSE)
  • Go to https://go.support.sap.com/minisap/#/minisap and select the system “A4H – SAP NetWeaver AS ABAP 7.4 and above (Linux / SAP HANA)”
  • Enter your name, e-mail-address and the hardware key.
  • Go back to the SAP GUI (SLICENSE) and install the new license (button “Install”).
SAP ABAP Platform 1909, Developer Edition: New License
SAP ABAP Platform 1909, Developer Edition: New License

If you get an error message that the system number is wrong, change the system number in the .txt-file and install it again (system no.: 000000000800729691).

If the license has been expired, you cannot login with user DEVELOPER via SAP GUI and renew the license as described above. With the user SAP* it should be possible (password: Ldtf5432).

SAP ABAP Platform 1909, Developer Edition: Error in license check
SAP ABAP Platform 1909, Developer Edition: Error in license check

But you can renew the license with the following steps (detailed description: How to install a new license in your SAP ABAP Platform Developer Edition):

  • Go to https://go.support.sap.com/minisap/#/minisap and select the system “A4H – SAP NetWeaver AS ABAP 7.4 and above (Linux / SAP HANA)”
    Hardware Key: J1851296352
  • Use the docker command for copying the license into the container:
    docker cp A4H.txt a4h:/opt/sap/ASABAP_license
  • Stop the running container
    docker stop –time 7200 a4h
  • Start the container (license will be installed)
    docker start -ai a4h

Get a new HDB license

Thank you, Massimo O., for your support in this matter. 🙂

  • Go to https://go.support.sap.com/minisap/#/minisap and select the system “HDB – SAP HANA Platform Edition (64GB)”
    Hardware Key: B1002322283
  • Use the docker command for copying the license into the container:
    docker cp HDB.txt <CONTAINER ID>:opt/sap/HDB_license (you get the container id with this command: docker ps)
  • If you want to check whether the license has been copied, you can log into the running container:
    sudo docker exec -it <CONTAINER ID> /bin/bash
  • Stop the running container
    docker stop –time 7200 a4h
  • Start the container (license will be installed)
    docker start -ai a4h

Shell script for starting SAP ABAP Platform 1909

After Ubuntu is running, I execute the following shell script. It updates Ubuntu, sets the limits, and starts the docker container a4h.

# Update Ubuntu
# You need to enter the root password
sudo apt update && sudo apt upgrade && sudo apt autoremove
echo -e "\n--> Ubuntu is up-to-date\n"

# Set the limits
sudo sysctl vm.max_map_count=2147483647
sudo sysctl fs.aio-max-nr=18446744073709551615

echo -e "\n--> Limits adjusted\n"

# Start the docker container
echo -e "Starting the docker container a4h\n----------"
docker start -ai a4h
# --> Wait around 10 minutes before logon <--

Further information
[1] SAP ABAP Platform 1909, Developer Edition: AVAILABLE NOW
[2] Docker: ABAP Platform, Developer Edition

2 Replies to “SAP ABAP Platform 1909, Developer Edition, on Ubuntu VirtualBox Guest”

Leave a Reply

%d bloggers like this: