6
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【SAP】NW AS ABAP Developer Editionで開発環境を作る(1)

Last updated at Posted at 2020-10-31

##はじめに
個人でABAPを書いたりCDSビューを作ったりする環境、みなさんはどうしていますか?私は現在、とあるABAP環境をサブスクしています。当然ながら毎月料金がかかるので、自分だけの環境があればいいなと思っていました。

そんなとき、こんな動画に出会いました。
SAP ABAP Trial in Docker | Windows Setup Guide [Tutorial]
Docker環境があったのでやってみることにしました。動画も10分弱と短く、手軽に始められそうです。

###NW AS ABAP Developer Editionとは?
ASEというデータベース(HANAではない!)で稼働するABAPアプリケーションサーバで、ABAP開発ツール、Fiori Launchpad、Cloud Connector、ロール、サンプルアプリケーションなどが使用できるということです。
参考:AS ABAP 752 SP04, developer edition: NOW AVAILABLE

##やったこと
せっかくなので、トライアル環境でどこまでできるか色々と試してみました。

##NW AS ABAP Developer Editionをインストール
###環境
動画では、DockerがインストールされたWindows端末を使って説明していました。
私が使用した環境はAWSのEC2上のUbuntu(18.04)です。WindowsでもLinuxでも手順に変わりはありません。

<構成>
image.png

###ハードウェア要件
こちらのブログにハードウェア要件が記載されています。100 GB free disk spaceというのが鬼門で、EC2のインスタンスにボリュームを追加せざるを得ませんでした。

  • x86_64 processor based hardware
  • at least 4 GB RAM and about 8 GB swap space
  • about 100 GB free disk space for the server installation
  • about 2 GB free disk space for the client installation

###インストールの流れ
手順については動画GitHubを見れば大体わかります。ただ、動画になかった超ベーシックなところで迷ったので、そこを中心に記載します(ステップ1~2)。あとは動画を見ながら手を動かせばスムーズにいくと思います。(繰り返しですがディスク容量には余裕をもって!)

####1. Gitリポジトリをクローン
任意のフォルダを作成し、Gitリポジトリをクローンします。リポジトリにはNW AS ABAPをインストールするためのDockerfileなどが入っています。

####2. SAP NetWeaver AS ABAP Developer Editionのインストーラをダウンロード
こちらからSAP NetWeaver AS ABAP Developer Edition 7.52 SP04のrarファイルをダウンロードします。SAP ABAP AS Part1~Part11まで、全てです。結構時間がかかりますので、気長に待ちます。
ダウンロードしたら、7-zipなどを使ってPart1のファイルを解凍します。すると、すべてのファイルが格納され以下のような状態になります。
image.png

1.でクローンしたフォルダの中にsapdownloadsというフォルダを新たに作成し、解凍されたものを格納します。
image.png

####3. Dockerイメージを作成する
カレントディレクトリを1. でクローンしたフォルダに移動し、以下のコマンドを入力します。

docker build -t nwabap:7.52 .

※ディスクの容量が足りないとイメージを作成しているときにエラーが出ます。

####4. vm.max_map_countの値を増やす
このパラメータは大きなデータベースを扱うためのパラメータだそうです。

sysctl -w vm.max_map_count=1000000

以下のコマンドでvm.max_map_countが増えたことを確認します。

sysctl vm.max_map_count

####4. Dockerコンテナを起動する

docker run -p 8000:8000 -p 44300:44300 -p 3300:3300 -p 3200:3200 -h vhcalnplci --name nwabap752 -it nwabap:7.52 /bin/bash

上記のコマンドを実行すると、コンテナの中に入った状態になります。
image.png
ポートについて
NW AS ABAPは4つのポートを公開します。Dockerfileを見たところCloud Connector用のポート8443というのもあるらしく、もし公開していればCloud Connectorをそのまま使えたのかもしれません。(別の記事で書きますが、今回Cloud Connectorは別コンテナにインストールしました)

ポート 用途
8000 HTTP
44300 HTTPS
3300 ABAP in Eclipse
3200 SAP GUI

####5. NetWeaver AS ABAPをインストール
以下のコマンドでインストールを開始します。

/usr/sbin/uuidd
./install.sh

ライセンス契約に同意するか聞かれるので、"yes"と入力します。
image.png
途中でパスワードを設定するよう求められるので、8桁以上のパスワードを入力します。ただ実際にログインに使うのはDown1oadというパスワードなので、ここで設定したパスワードが何に使われるのかは不明です。
インストールは結構時間がかかりますので、気長に待ちます。
インストールが完了すると以下のメッセージが出ます。
image.png

####6. サーバを起動
以下のコマンドでサーバを起動します。

su npladm
startsap ALL

image.png
Instance on host vhcalnplci startedというメッセージが出ればOKです。

##GUI、ADTと接続
###GUIと接続
インストールが完了したら、GUIとつなぎます。GUIのインストーラはsapdownloads/client/SAPGUI4Windowsに入っています(Windowsの場合)。私はNetWeaverはUbuntuにインストールしましたが、WindowsPCのGUIから接続して使っています。

ログオンパッドの設定は以下のようになります。
image.png
###ADTと接続
ADTの設定方法については、以下のブログに記載しています。
【ABAP】ABAP Development Tools (ADT) をインストールする方法

##インストール後の作業
SAP NetWeaverのライセンスキーを取得してインポートする必要があります。この作業はGUIにログインして行います。手順については、GitHubImportant Post Installation Stepsをご参照ください。

##サーバの停止と再起動
###停止

stopsap ALL --サーバを停止
exit --npladmを抜ける
exit --Dockerコンテナを停止

###再起動

docker container start nwabap752  --Dockerコンテナを起動
docker container attach nwabap752 --コンテナの中に入る
/usr/sbin/uuidd                   --何らかのシェル
su npladm                         --npladmにユーザを変更
startsap ALL                      --サーバを起動

###起動・停止用のシェル
毎回上記のコマンドを打つのは大変なので、シェルを作りました。(エラーハンドリング等は考慮していません。あしからず)

managesap
#!/bin/bash

start_sap(){
  #start container
  sudo docker container start nwabap752
  #start sap
  sudo docker exec -it nwabap752 /usr/sbin/uuidd 
  sudo docker exec -it nwabap752 su - npladm -c "startsap ALL"
}

stop_sap(){
  #stop sap
  sudo docker exec -it nwabap752 su - npladm -c "stopsap ALL"
  #stop container
  sudo docker container stop nwabap752
}

動かすときはシェルを置いたディレクトリに移動して、以下のコマンドを実行します。

. managesap
start_sap  --sapを起動
stop_sap   --sapを停止

##ここまででできたこと

  • 自分専用のNW AS ABAPサーバが手に入りました。
  • GUI、ADTからアクセスしてABAP開発などを行うことができます。

##参考

6
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?