SAPの自動化を考える(準備編) | ハイパーオートメーションを支える技術

今回はAlmaLinuxにSAP NetWeaver AS ABAPをインストールする手順の紹介が主です。
SAP自動化については次回から詳しく述べていきます。

SAPとその自動化ツール

自動化を考える上で、その対象としてERPを操作することが多いです。
ERPは「Enterprise Resource Planning」の略で、組織が多様化したビジネスプロセスを統合できるように「統合プラットフォーム」を提供するアプリケーションです。
そのERPのシェアで一番高いのはドイツSAP SE社のERPである「SAP ECC | SAPS/4 HANA」です。
SAPは「Systems, Applications, and Products」の略で、グローバル市場で最も主要なERPビジネスアプリケーションとして知られており、各RPAベンダーもSAP向けに個別の機能を提供しています。

https://www.uipath.com/ja/solution/sap-gui
https://www.blueprism.com/japan/products/blue-prism-accelerators-for-use-with-sap-erp/

実はSAP社自体もRPAのような自動化ツール「SAP Process Automation」を持っており、自動化のツール選択で悩むところです。
https://www.sap.com/japan/products/process-automation.html

ではハイパーオートメーションの観点ではどのツールを使うのがよいかなどを述べていきたいと思いますが、まずはSAP検証環境を準備したいと思います。

SAP NetWeaver AS ABAP Developer Edition 7.52 SP04 on AlmaLinux 8

SAP NetWeaver Application Serverをインストールします。
SAP NetWeaver Application Serverは主な目的としてはSAPで使われている「ABAP」という言語の開発環境のサーバー側として使われることが多いです。

また、今回はOSは「AlmaLinux 8」への導入となります。
CentOS 8は、2021年12月31日でサポートが終了しており、RHEL 9のリビルドとしてのCentOS 9をリリースしないことがアナウンスされているため、RHELのダウンストリーム(Downstream)であるAlmaLinuxが今後増えていくと考えているためです。
あくまで検証目的なので、ちょっと実験的に環境構築してみたいと思います。

サーバーインストール準備

AWSのEC2でインスタンスを起動する

今回はAWS環境にて構築したいと思います。まずはAlmaLinux OS 8のイメージを使ってインスタンスを作成します。

必要なハードウェア要件は以下のとおりです。

  • x86_64 Processor based hardware
  • At least 4 GB RAM plus about 8 GB swap space
  • About 100 GB free disk space for server installation (インストール完了段階で約50GBの使用量になります)

ホスト名を変更する

$ sudo hostnamectl set-hostname primesap
$ sudo vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.31.33.73 primesap

SELinuxを非強制にする

$ sudo vi /etc/selinux/config
#SELINUX=enforcing
SELINUX=permissive
$ sudo /sbin/reboot

必要なパッケージを導入する

$ sudo dnf -y install wget csh libnsl libaio
$ wget https://forensics.cert.org/centos/cert/8/x86_64/unrar-5.4.0-1.el8.x86_64.rpm
$ sudo rpm -ivh unrar-5.4.0-1.el8.x86_64.rpm 

インストール資材を転送する

SCP/SFTPなどで圧縮・分割されているインストール資材をサーバーに転送します。

$ ls -al
total 14248664
drwxrwxr-x. 3 ec2-user ec2-user       4096 May 31 01:50 .
drwx------. 4 ec2-user ec2-user        152 May 30 14:32 ..
-rw-rw-r--. 1 ec2-user ec2-user 1450000000 May 30 14:59 TD752SP04part01.rar
-rw-rw-r--. 1 ec2-user ec2-user 1450000000 May 30 15:12 TD752SP04part02.rar
-rw-rw-r--. 1 ec2-user ec2-user 1450000000 May 30 16:04 TD752SP04part03.rar
-rw-rw-r--. 1 ec2-user ec2-user 1450000000 May 30 15:26 TD752SP04part04.rar
-rw-rw-r--. 1 ec2-user ec2-user 1450000000 May 30 15:39 TD752SP04part05.rar
-rw-rw-r--. 1 ec2-user ec2-user 1450000000 May 30 15:52 TD752SP04part06.rar
-rw-rw-r--. 1 ec2-user ec2-user 1450000000 May 31 01:11 TD752SP04part07.rar
-rw-rw-r--. 1 ec2-user ec2-user 1450000000 May 31 01:24 TD752SP04part08.rar
-rw-rw-r--. 1 ec2-user ec2-user 1450000000 May 31 01:38 TD752SP04part09.rar
-rw-rw-r--. 1 ec2-user ec2-user 1450000000 May 31 01:50 TD752SP04part10.rar
-rw-rw-r--. 1 ec2-user ec2-user   90622541 May 31 01:51 TD752SP04part11.rar

転送が完了したらunrarコマンドで展開します。

$ unrar x '*.rar'

UNRAR 5.40 freeware      Copyright (c) 1993-2016 Alexander Roshal


Extracting from TD752SP04part01.rar

Extracting  readme.html                                               OK 
Creating    server                                                    OK
Creating    server/TAR                                                OK
Creating    server/TAR/x86_64                                         OK
(略)
Extracting  client/JavaGUI/PlatinManual750_5-80002496.ZIP             OK 
Extracting  client/JavaGUI/PlatinGUI750_5-80002496.JAR                OK 
All OK

インストーラーのシェルのパーミッションを変更します。

$ chmod 755 install.sh 

SYBASEライセンスファイルを更新する

実は初期インストール資材に入っているSYBASEライセンスファイルは有効期限が切れているため、新しいライセンスファイルが追加でアップされています。

これをダウンロードして展開し、所定のフォルダ(server/TAR/x86_64)に配置することで、インストール時に自動的にライセンスファイルが置き換えられます。

$ ls
client  install.sh   SAP_COMMUNITY_DEVELOPER_License  TD752SP04part01.rar  TD752SP04part03.rar  TD752SP04part05.rar  TD752SP04part07.rar  TD752SP04part09.rar  TD752SP04part11.rar
img     readme.html  server                           TD752SP04part02.rar  TD752SP04part04.rar  TD752SP04part06.rar  TD752SP04part08.rar  TD752SP04part10.rar

$ unrar x License.rar 

UNRAR 5.40 freeware      Copyright (c) 1993-2016 Alexander Roshal


Extracting from License.rar

Creating    License                                                   OK
Extracting  License/info.txt                                          OK 
Creating    License/SYBASE_ASE_TestDrive                              OK
Extracting  License/SYBASE_ASE_TestDrive/SYBASE_ASE_TestDrive.lic     OK 
All OK

$ cp License/SYBASE_ASE_TestDrive/SYBASE_ASE_TestDrive.lic /home/ec2-user/sapimage/server/TAR/x86_64

サーバーインストール実行

インストールを実行する

最初に「almalinuxはテストされていません」と出ますが、今回はそのままyesでインストールを進めます。

$ sudo ./install.sh 
Hostname primesap assumed to be SAP compliant
Your distribution 'almalinux' was not tested. Do you want to continue? y
You have chosen to continue with install in non tested distribution
and we encourage you to share your experience with the SAP community
Error: /sbin/uuidd: not executable file
Do you want to continue regardless of the missing dependencies? yes/no: y
 
#============================================ 
# 
# Installing SAP Developer Edition  
# 
#============================================ 
 
 
You are about to install the SAP Developer Edition
Please make sure you have carefully read and understood the documentation
 
 
To install this TestDrive you have to accept 

the SAP COMMUNITY DEVELOPER License (DEV).

SAP DEVELOPER CENTER
MASTER SOFTWARE DEVELOPER LICENSE AGREEMENT

Please scroll down and read the following SAP Developer Center Software Developer License Agre
ement (?Developer Agreement?) carefully. By clicking ?I Accept? or by attempting to access or 
use the SAP Software, You agree that this Developer Agreement forms a legally binding agreemen
t between You (?You? or ?Your?) and SAP AG, for and on behalf of itself and its subsidiaries a
nd affiliates (as defined in Section 15 of the German Stock Corporation Act) (?SAP?) and You a
gree to be bound by all of the terms and conditions stated in this Developer Agreement. If You
 are trying to access or download the SAP Software on behalf of Your employer or as a consulta
nt or agent of a third party (either "Your Company"), You represent and warrant that You have 
the authority to act on behalf of and bind Your Company to the terms of this Developer Agreeme
nt and everywhere in this Developer Agreement that refers to ?You? or ?Your? shall also includ
e Your Company. If You do not agree to these terms, do not click "I Accept", and do not access
 or use the SAP Software.
 
Do you agree to the above license terms? yes/no:y
 
 
Now we need the passwords for the OS users.
Please enter a password which will be used
for all operating system users.
 
Please enter a password:(任意のパスワード)
Please re-enter password for verification:(任意のパスワード)
 
 
Now we begin with the installation.
Be patient, this will take a while ... 
 

extracting data archives...
extracting /home/ec2-user/sapimage/server/TAR/x86_64/dbdata.tgz-*
sybase/NPL/sapdata_1/
(略)
Removed directory /root/.sapinst/primesap/1408.

Configure profiles for 4GB physical memory
Profile /sapmnt/NPL/profile/NPL_D00_primesap: changing PHYS_MEMSIZE from 1536 to 2048
Profile /sapmnt/NPL/profile/NPL_D00_primesap: changing abap/shared_objects_size_MB from 200 to 386
Configuring strong TLS according to SAP Note 510007
Profile /sapmnt/NPL/profile/DEFAULT.PFL: adding ssl/ciphersuites = 135:PFS:HIGH::EC_P256:EC_HIGH
Profile /sapmnt/NPL/profile/DEFAULT.PFL: adding ssl/client_ciphersuites = 150:PFS:HIGH::EC_P256:EC_HIGH
Checking syb Database
Database is running
-------------------------------------------
Starting Startup Agent sapstartsrv
OK
Instance Service on host primesap started
-------------------------------------------
starting SAP Instance ASCS01
Startup-Log is written to /home/npladm/startsap_ASCS01.log
-------------------------------------------
/usr/sap/NPL/ASCS01/exe/sapcontrol -prot NI_HTTP -nr 01 -function Start
Instance on host primesap started
Starting Startup Agent sapstartsrv
OK
Instance Service on host primesap started
-------------------------------------------
starting SAP Instance D00
Startup-Log is written to /home/npladm/startsap_D00.log
-------------------------------------------
/usr/sap/NPL/D00/exe/sapcontrol -prot NI_HTTP -nr 00 -function Start
Instance on host primesap started
Installation of NPL successful

おおよそ20分程度でインストールが完了します。

停止確認を行う

正常停止できるか確認する。SAPサービスの起動停止はインストール時に作成されるnpladmユーザーを利用して実施します。

$ sudo su - npladm
Last login: Tue May 31 15:11:40 UTC 2022 on pts/0
primesap:npladm 2> stopsap all
Checking syb Database
Database is running
-------------------------------------------
stopping the SAP instance D00
Shutdown-Log is written to /home/npladm/stopsap_D00.log
-------------------------------------------
/usr/sap/NPL/D00/exe/sapcontrol -prot NI_HTTP -nr 00 -function Stop
Instance on host primesap stopped
Waiting for cleanup of resources
..........
stopping the SAP instance ASCS01
Shutdown-Log is written to /home/npladm/stopsap_ASCS01.log
-------------------------------------------
/usr/sap/NPL/ASCS01/exe/sapcontrol -prot NI_HTTP -nr 01 -function Stop
Instance on host primesap stopped
Waiting for cleanup of resources
..
stopping database NPL ...
stop database completed successfully
Checking syb Database
Database is not available via R3trans
-------------------------------------------
primesap:npladm 3> exit
logout

起動確認をする

一度サーバーを再起動させます。

$ sudo /sbin/reboot

npladmユーザーになり、「startsap all」でSAPが正常起動するか確認します。

$ sudo su - npladm
Last login: Tue May 31 15:17:05 UTC 2022 on pts/0
primesap:npladm 4> startsap all
Checking syb Database
Database is not available via R3trans
-------------------------------------------
starting database NPL ...
Log file: /sybase/NPL/startdb.log
parse level 0: identified message 'Database 'master' is now online.'
parse level 1: identified message 'Database 'tempdb' is now online.'
parse level 2: identified message 'Database 'sybsystemprocs' is now online.'
parse level 3: identified message 'Recovery complete.'
Recovery Complete
startdb completed successfully
Starting Startup Agent sapstartsrv
OK
Instance Service on host primesap started
-------------------------------------------
starting SAP Instance ASCS01
Startup-Log is written to /home/npladm/startsap_ASCS01.log
-------------------------------------------
/usr/sap/NPL/ASCS01/exe/sapcontrol -prot NI_HTTP -nr 01 -function Start
Instance on host primesap started
Starting Startup Agent sapstartsrv
OK
Instance Service on host primesap started
-------------------------------------------
starting SAP Instance D00
Startup-Log is written to /home/npladm/startsap_D00.log
-------------------------------------------
/usr/sap/NPL/D00/exe/sapcontrol -prot NI_HTTP -nr 00 -function Start
Instance on host primesap started

自動生成されるユーザー一覧

インストール時に以下のSAPユーザーが作成されます(OSユーザーではありません)。

usernameclient(s)passworddescription
DEVELOPER001Down1oadDeveloper User
BWDEVELOPER001Down1oadDeveloper User
DDIC000/001Down1oadData Dictionary User
SAP*000/001Down1oadSAP Administrator

クライアントインストール

インストール資材の「50144807_6\BD_NW_7.0_Presentation_7.50_Comp.2\PRES1\GUI\WINDOWS\Win32」にあるSAPGUIインストーラー「SetupAll.exe」を実行します。

起動するとインストールオプションの選択画面になるので、今回は「SAP GUI for Windows 7.50 (Compilation 2)」を選択します。

インストール先フォルダを選択します(デフォルトで問題ありません)。

インストールが完了するまで待ちます。(約2分程度かかります)

SAPサーバーについて名前解決ができるようにhostsファイルに追記します。

スタートメニューから「SAP Logon」を選択します。

初期は何も接続情報がないため「新規アイテム」を選択します。

そのまま「次画面」を選択します。

「アプリケーションサーバ」「インスタンス番号」「システムID」を入力し「次画面」を選択します。

作成したアイテムを選択します。

インストール時に自動作成されたSAPユーザーを利用してログインを実行します。

正常にMenu画面が表示されたら、接続完了です。

次回に向けて

無事、AlmaLinux8環境にSAP NetWeaver AS ABAPをインストールすることができました。では、次回はこの環境を利用して、SAPの自動化を実際にやってみたいと思います。