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.
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.
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.
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 ...
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 .
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 # password: Ldtf5432, SID A4H
Now, you are able to add a connection to the SAP ABAP Platform 1909, Developer Edition, to Eclipse.
Get a new 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”).
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 <--
 SAP ABAP Platform 1909, Developer Edition: AVAILABLE NOW
 Docker: ABAP Platform, Developer Edition