본문 바로가기

SAP BC인프라

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

SAP ABAP Platform 1909 SP 02 (04/2020), Developer Edition이 20년4월에 릴리즈 되었다. 미니SAP시스템으로 모듈프로그램은 없다. 기본적으로 ABAP개발자들이 본인하드웨어 인프라를 통해 개발이 가능하도록 제공해주는 것이다. 

 

The official blog – SAP ABAP Platform 1909, Developer Edition: AVAILABLE NOW and instructions – ABAP Platform, Developer Edition By SAP SE

 

Page Not Found | Docker Hub

 

hub.docker.com

 

DOCKER를 통해 설치하는것이 SUSE리눅스기반 컨테이너 가상화를 제공해줌으로써 빠르게 설치가 가능하다.

 

 

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:

Installation

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 amitlaldocker/abaptrial:1909 <- 여기로 docker 이미지 pull을 한다

Next is extracting phase, it is extracting to a 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 a compressed image has 23.52GB and decompressed 62.4GB.

Next is to run the container via command:

docker run --stop-timeout 3600 -it --name a4h -h vhcala4hci   --sysctl kernel.shmmni=32768 --ulimit nofile=1048576:1048576 -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 50000:50000 -p 50001:50001 amitlaldocker/abaptrial:1909 -skip-limits-check -agree-to-sap-license

 

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

 

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? HDB는 인스턴스 02번이다.

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 -it --name a4h -h vhcala4hci   --sysctl kernel.shmmni=32768 --ulimit nofile=1048576:1048576 -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 50000:50000 -p 50001:50001 amitlaldocker/abaptrial:1909 -skip-limits-check -agree-to-sap-license

The final success message is like following:

 

#개발 라이센스 적용

# 약 15분이상이 소요되며, 
    '*** Have fun! ***' 이 메시지가 보이면 sap 서버 start성공인데...

  ## 이런 에러를 만날 것이다
      !!! HDB license has expired !!!
      ---
      그러면 아래에서 라이선스 다운받아야한다
         https://go.support.sap.com/minisap/#/... 
      로그인 안해도 되면, 이메일 과  HDB HW key가 꼭 필요하다
      SAP S/4 HANA를 위한 라이선스 키는 2개가 필요한데…
      DB 를 위한 HDB.txt와  SAP application을 위한  A4H_Multiple.txt 파일 이다
      다운로드는 같은 곳에서(위 URL) 받지만 선택 값을 다르게 입력 한다
      지금은 DB 를 위한 HDB.txt만 필요하므로 위 URL에서 다운로드 받아 ubuntu(VM)에     copy(예:/home/guru/)하고 ,  파일permission확인 한다 
              서버선택 : HDB - SAP HANA Platform Edition (64GB)
              , 개인정보 입력, HW key입력 하면 HDB.txt 다운 받음
       이제 ubuntu에 copy한 파일을 아래 명령으로 docker의 SAP폴더로 copy  한다
       $sudo docker cp /home/guru/HDB.txt a4h:/opt/sap/HDB_license

  ##* 참고로 A4H_Multiple.txt 파일은
              서버선택 : A4H - SAP NetWeaver AS ABAP 7.4 and above (Linux / SAP HANA)
              , 개인정보 입력, HW key입력 하면 A4H_Multiple.txt 다운 받아짐
        ubuntu에 copy한 파일을 아래 명령으로 docker의 SAP폴더로 copy명령
           $sudo docker cp /home/guru/A4H_Multiple.txt a4h:/opt/sap/ASABAP_license

 

##SAPGUI 화면에서 error 확인하자
    SAP GUI로 001 client 는 정상 접속이 안되지만 , 000 client 관리자는 접속된다. 
    따라서 , SAP 로그인 창에서 아래와 같이 입력하고 접속한다 
        Client:  000
        User:  SAP*
        Password: Ldtf5432

      그러면 아래에서 라이선스 다운받아야한다
         https://go.support.sap.com/minisap/#/... 
       SAP application을 위한  A4H_Multiple.txt 파일 이다
      선택 값을  입력 하고 
              서버선택 : A4H - SAP NetWeaver AS ABAP 7.4 and above (Linux / SAP HANA)
              , 개인정보 입력, HW key입력 하면 A4H_Multiple.txt 다운 받아짐
  t-code넣는 란에 'SLICENSE'를 입력하고 라이선스 확인화면으로 가면…   아마도 만료된 라이선스가 보일것이다(적색 신호등).     우리에게 중요한것은 HW key 이다   HW key 다시 확인하고(SAP GUI그대로 두고) , 
        라이선스 다운 받은 내역을 아래 명령어로 넣는다
    이제 다운받은 라이선스(A4H_Multiple.txt)파일 copy 하고(아래 명령어)
        $   docker cp /home/guru/A4H_Multiple.txt a4h:/opt/sap/ASABAP_license
    라이선스를 update 실행해 준다 ,아래 명령어
        $  docker exec -it a4h /usr/local/bin/asabap_license_update

    다시 SAP GUI의  t-code넣는 란에 'SLICENSE'를 입력하여 정상적인 라이선스(녹색신호등) 확인
   SAP GUI 관리자(SAP*) 로그 아웃 하고, ABAP개발을 위해서 아래 정보로 재 로그인 한다 
        Client:  001
        User:  DEVELOPER
        Password: Ldtf5432     
  정상적으로 로그인이 될 것입니다

 

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!

 

출처 : SAP ABAP Platform 1909, Developer Edition – installation on WINDOWS OS | SAP Blogs