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:
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:
Pull phase of the image deployment finished:
Configuration and the virtual image to execute linux images are saved in the default Docker root folder.
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:
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:
Indicates that you agreed to the SAP Developer Center Software Developer License Agreement.
Do not try to update AS ABAP license
Do not try to update HDB license
Allows you to bypass hostname check
Allows you to bypass sysctl and limits check
Start only AS
Start only DB
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!