Skip to content

nzamani/sap-nw-abap-trial-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SAP NW ABAP 7.52 SP01 Trial in Docker

UPDATE: Meanwhile, SAP has published a Docker Image, for details see SAP ABAP Platform 1909, Developer Edition: AVAILABLE NOW. SAP's official Docker Image is the preferred way to get the latest ABAP Dev Edition up and running easily.

Useful for setting up a local ABAP for own education. Not intended for production. After all, we're putting a fat monolith into Docker. However, using Docker still allows you to keep your host system clean of all the mess any installation can cause.

See my YouTube video for additional details: Installing SAP NW ABAP 7.51 SP02 into Docker

Check also my blog Installing SAP NW ABAP into Docker. There you'll find links to the whole blog series.

HINTS:

For additional details about NW ABAP 7.52 SP04 see the official SAP announcement by Julie Plummer.

Attribution

The Dockerfile is based on:

Instructions

  1. Install Docker

  2. Increase the Disc Image Size in your Docker preferences

    • Just add 100 GB to the existing value :-)
    • You may want to increase the Memory in Docker's advanced settings (I chose 6 GiB)

    IMPORTANT: if you skip this step you may get an error during installation!

  3. Set vm.max_map_count to avoid intsallation error

    For NW ABAP 7.52 the installation tries to set vm.max_map_count in case it assumes it's value is too low. However, if that's the case you'll get an error similar to sysctl: setting key "vm.max_map_count": Read-only file system. So before starting the installation it’s important to set the value for vm.max_map_count to something equal to or higher than what the installation needs, otherwise the installation will try to increase the value and you’ll get the same error again and again... For me the value 1000000 worked just fine. Here is how you can change the value:

    • Linux:

      sysctl -w vm.max_map_count=1000000
    • macOS wit Docker for Mac (FYI see also here):

      screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
      sysctl -w vm.max_map_count=1000000
    • Windows and macOS with Docker Toolbox

      docker-machine ssh
      sudo sysctl -w vm.max_map_count=1000000

    Finally, check via sysctl vm.max_map_count and exit via crtl+a and ctrl+d.

    For additional details see here, here, and SAP Note 900929 which even recommends to use the maximum possible value of 2147483647 for the sake of simplicity (in a slightly different context).

  4. Install Git

    On Windows I suggest to install Git Bash as well (you'll be asked during the installation process).

    Hint: Installing git is actually not really needed. Alternatively, you could also copy/download this Dockerfile etc. to your machine.

  5. Clone this repo

    git clone https://github.com/nzamani/sap-nw-abap-trial-docker.git
    cd sap-nw-abap-trial-docker
  6. Download SAP NW ABAP 7.52 SP01 Trial from SAP (search for 7.52), then:

    • create a folder sapdownloads inside the clone
      • mkdir sapdownloads
    • extract the downloaded rar files into the folder we just created (just extract the first rar file), i.e. assuming you have unrar installed (else use your tool of choice)
      • unrar x TD752SP01.part01.rar ./sapdownloads

    Hint: SAP wants to know who downloads the NW ABAP Trial version. Thus, you will have to logon with your own account before you can start the download. Creating an account is free, so is the download. The account can be the same account you use for the SAP Communitiy / SCN.

  7. Build the Docker image

    • Without Proxy

      docker build -t nwabap:7.52 .
    • Behind a Proxy

      docker build --build-arg http_proxy=http://proxy.mycompany.corp:1234 --build-arg https_proxy=http://proxy.mycompany.corp:1234 -t nwabap:7.52 .

      Hint: In a proxy environment your docker build command (see above) will fail in case you don't set the proxy as mentioned above or in case you use wrong proxy settings. Also consider that you might have to set the proxy manually for some software installed in the container.

  8. Create/Start a container with one of the following commands:

    • Use this if you want to map the default SAP ports as they come on localhost (preferred)

      docker run -p 8000:8000 -p 44300:44300 -p 3300:3300 -p 3200:3200 -h vhcalnplci --name nwabap752 -it nwabap:7.52 /bin/bash
    • Use this one if "random" ports on localhost are fine for you

      docker run -P -h vhcalnplci --name nwabap752 -it nwabap:7.52 /bin/bash

    Hint: You could also use --rm to make the container is removed after you exit your cli/terminal, i.e.:

    docker run -p 8000:8000 -p 44300:44300 -p 3300:3300 -p 3200:3200 -h vhcalnplci --rm --name nwabap752 -it nwabap:7.52 /bin/bash
  9. Now start the installation of SAP NW ABAP 7.52 Trial

    • Auto install via Expect script (suggested for simplicity)

      /usr/sbin/uuidd
      ./install.exp
    • Or the standard way

      /usr/sbin/uuidd
      ./install.sh

    Your installation has been successful if you see the followong message: Installation of NPL successful

    Hint: This installation will take about 20-30 minutes. Once done your SAP is running. Next, stop the system and exit the container.

Starting and Stopping the NW ABAP 7.52 Trial

  1. Starting the container + SAP NW ABAP Trial (use this from now on instead of docker run ... from above)

    docker start -i nwabap752
    /usr/sbin/uuidd
    su npladm
    startsap ALL
  2. Stopping SAP NW ABAP Trial and container (ALL can be omitted)

    su npladm
    stopsap ALL
    exit
    exit

    Hint: After the second exit the Docker container is stopped.

Important Post Installation Steps

  1. Updating License

    • Open SAP GUI and logon

      • User: SAP*
      • Password: Down1oad
      • Client: 000
    • Open Transaction SLICENSE

    • From the Screen copy the value of field Active Hardware Key

    • Go to SAP License Keys for Preview, Evaluation, and Developer Versions in your browser

    • Choose NPL - SAP NetWeaver 7.x (Sybase ASE)

    • Fill out the fields. Use the Hardware Key you copied from SLICENSE

    • Keep the downloaded file NPL.txt and go back to the SLICENSE

    • Delete the Installed License from the table

    • Press the button Install below the table

    • Choose the downloaded file NPL.txt

    • Done - happy learning. Now logon with the dev user.

    You can now logon to client 001 with any of the following users (all share the same password Down1oad, typically you would work with DEVELOPER):

    • User: DEVELOPER (Developer User)
    • User: BWDEVELOPER (Developer User)
    • User: DDIC (Data Dictionary User)
    • User: SAP* (SAP Administrator)
  2. Generating Test Data

    Execute the following to generate some test data:

    • Report: SAPBC_DATA_GENERATOR
    • Transaction Code: SEPM_DG
  3. Suggestion: Activate the good old ping service

Logfiles

Assuming you have started your container (not necessarily the NW ABAP in the container) and switched to user npladm:

docker start -i nwabap752
/usr/sbin/uuidd
su npladm

Afterwards, type alias to see some shortcuts SAP has created for us:

alias

One of them is cdDi which you can execute in you CLI:

cdDi

Then, after hitting ls -ahl you know there is a directory work:

cd work

This folder contains important log files for us, i.e. dev_icm and dev_w0:

vi dev_icm
vi dev_w0

Check their content (i.e. with vi) in case you're facing issues with your NW ABAP which you can't explain. For example, in case your NW ABAP has started successfully, but you cannot access the ping service via HTTP/HTTPS, you might find an issue in one of these files.