Wednesday, February 17, 2021

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

Note: The blog is cross posted on my blog at SAP Community.

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 an official blogs and many others 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.

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 previous installation of the NW Developer Edition which were provided via installation media this time the ABAP Platform comes as 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 command prompt via Admin access and run below command to get the image downloaded:

docker pull store/saplabs/abaptrial:1909

Next is extracting phase, it is extracting to 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 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

 

Following things needs 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 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 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 a help of what IP address or ports are used by container by command:

             docker inspect a4h

 

Finally, 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


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 SAP HANA database!