Random logo generated by an AI...
Random logo generated by an AI...

This year I started on a new journey in the SAP biz. To get a better feeling for the SAP ecosystem, I wanted to experiment and mess around on my own. And to avoid disrupting others and to have full control without needing to ask for permissions, I decided to set up an SAP system locally. However, that turned out to be quite a challenge, especially when aiming for a proper (v)host setup. After numerous attempts, I eventually found a reliable way using Docker. Here’s a rough guide based on my experience.

Prerequisites

Before diving into the setup, ensure you’re properly equipped with all technical requirements:

  • Disk Space: At least 100GB, but I’d recommend 200+GB.
  • RAM: They suggest 32GB. I have 250GB, and it’s been running smoothly ;-)
  • CPU: A couple of fast cores.
  • Time: Everything SAP related requires patience and time.

Step 1: Start the SAP System using Docker

The easiest way to get started is by using the Docker image provided by SAP. You’ll find it at the docker hub sapse/abap-cloud-developer-trial. Before you can spawn a container, you should increase a couple of system limits by running the following as root:

sysctl -w kernel.shmmni=32768 
sysctl -w fs.aio-max-nr=18446744073709551615
sysctl -w vm.max_map_count=2147483647

Then, as described on the docker hub readme, run the following command to start a container:

docker run --stop-timeout 3600 -it --name a4h -h vhcala4hci -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 50000:50000 -p 50001:50001 sapse/abap-cloud-developer-trial:ABAPTRIAL_2022_SP01

Give it time. A lot of time… At some point it will tell you that it’s ready by printing something along those lines:

*** All services have been started. ***
***
*** To stop and be able to safely start again use Ctrl-C
*** Or use the stop command with timeout: docker stop -t 7200 ...
***
*** Have fun! ***

Step 2: Setting Up a Virtual Box with the SAP GUI

While I believe it would be possible to install the SAP GUI directly on your host, I recommend using a virtual environment to guard your host system. From my experiments I learned that SAP software loves to mess around in your file system and it will be virtually impossible to clean that up..

  1. Create a VM: I used a Debian virtual box for this purpose.
  2. Install Java: I’ve been successful with OpenJDK 17.
  3. Download SAP GUI for Java: Get it from SAP’s trial .
  4. Install on the VM: Copy the downloaded rar archive to your virtual machine, unpack it (eg. using unrar) and run the JAR file to start the installation:
     java -jar PlatinGUI-Linux-x86_64-7.80rev7.jar
    
  5. Start SAP GUI: cd into the install location (probably ~/SAPClients/SAPGUI/bin) and run:
     ./guistart /H/x.x.x.x/S/3200
    

    Replace x.x.x.x with the IP address that resolved to your host machine. Depending on your VM config, it might be something like 10.0.2.2 (VBox NAT) or maybe something starting with 192.168....

Step 3: Updating the License

Follow the procedure from the Docker Hub to update the license:

  1. Login on client 000 as SAP* with the password ABAPtr2022#01.
  2. Run Transaction SLICENSE.
  3. Get a license from minisap. Choose A4H, fill the form, and download the license.
  4. Back in the SLICENSE transaction in SAP GUI, click install and choose the downloaded file.
  5. Log off from the SAP* account (System -> Logoff) and start a new SAP GUI session. Login on client 001 as DEVELOPER with the same password ABAPtr2022#01.

And that’s it! You should now have a locally running SAP system. I recommend to stop the docker container using docker stop -t 7200 a4h and then commit the changes into a new image, ie.

docker commit a4h my-sap

Afterwards you can spawn a container of the my-sap image, properly setup with a valid license and stuff, even if you accidentally clean the old container.

This setup should allow you to experiment and develop in a controlled environment without affecting a main system. Happy coding <3


Martin Scharm

stuff. just for the records.

Do you like this page?
You can actively support me!

Leave a comment

There are multiple options to leave a comment: