MacでSAPを使う環境を整える話

このブログで書くのは初めてかもしれないSAPネタ。仕事用のマシンをMacにして以来、MacでSAPをいじりたいんだけどということで、環境を整えた話を書き残しておこうかなと。ちなみにここでいう「いじりたい」は、開発っぽいことをやりたいという意味。

SAP GUIのインストール

使うだけならブラウザだけでも何とかなるものの、やはりSAP GUIは入れておきたい。Macの場合はSAP GUI for JAVAを使うことになる。SAP GUI for Windowsと比べて多少の制約はあるものの、開発するという視点だとEclipseベースのツールを使えば、あまり不便は感じないはず。

ダウンロード

自身でSユーザを持っているなら、このあたりからダウンロード可能。リンクは見れるけど、ダウンロードできない場合は、管理者の人に相談するべし。

インストール

ダウンロードしてきたJARファイルをダブルクリックすればインストーラが起動するけど、その前にJavaFXもダウンロードしてインストールしておく必要がある。

gluonhq.com

ダウンロードして展開されたフォルダをまるごと、/Library/Java/JavaVirtualMachines の下あたりに置いておく。好きなところにおいて、PATHを通しておけばよいという考え方もあるけど、たまにPATHの内容が上書きされて迷子になったりするので、個人的には分かりやすいところに置いておく派。

ここまで準備ができたら、SAP GUIインストーラを起動する。具体的にはJARファイルをダブルクリックすればOK。基本的に流れに任せるままでいいんだけど、インストール先をルート直下の /Applications にするか、自分のユーザの下の /Users/user_name/Applications にするかを意識しておいた方がよい。自分の場合は無意識にUsersの下にインストールして、そのあとDock上のApplicationsを開いても「SAP GUIがいない!」と少し慌てたので。

あとは、Java FXのパスを入力するように求められるので、そこで先ほど自分が置いた場所を正確に入力する。
f:id:deutschina:20200208134630p:plain
この画面の中で簡易的にチェックしてくれているので、(おそらくjavafx.profilesが置いてある)場所を指定すると、こんな感じに画面表示が変わり、前に進める。
f:id:deutschina:20200208134623p:plain
インストールが完了したら、とりあえずSAP GUIを立ち上げてみよう。

アクセスするシステムの追加

GUIだけでは何も出来ないので、SAPシステムを追加する。SAP GUI for JAVAの場合システムを追加する方法がWindows版と違うので少し戸惑うはず。システム情報って、こんな感じで配布されてくるけど、

  • System ID (SID)
  • System 番号
  • サーバーアドレス

これをこんな文字列に変換して、

conn=/H/サーバーアドレス/S/32xx

※xxはSystem番号

この文字列をAdvancedタブの中に、こんな感じで入れてあげる。

f:id:deutschina:20200208175741p:plain

これでSAPシステムにログインできるようになれば、ひとまずOK。

SAP NW Developer Editionのインストール(マニア向け)

今のところアクセスできるSAPシステムがなかったり、寝ても覚めてもABAPに触れていたいみたいな場合は、このブログの記事にならってローカルにSAP NetWeaver Developer Editionをインストールしてしまうというのもあり。
blogs.sap.com
Macの場合、無料で済ませたいならVirtualBox一択になるのかなと。中にVirtualBoxを使ってのセットアップ方法が、ステップバイステップで書かれているので、この通りに従えばだいたいトラブルなく導入できるはず。

個人的に唯一ハマったのは、Leapのパスワードを簡単にし過ぎて、インストール中にパスワードWarningが出てSAPインストールが中断したぐらい。パスワードは、大文字小文字+数字の組み合わせにすること(特殊文字は必須ではない)。難しく考えずにLeapのインストール中にパスワードを決める時に警告が出なければOK。

これでコードは書けるけど・・・

ひとまずSAP GUIからログオンして、SE80などからコードは書けるけど、SAP GUI for JAVAの場合はABAP Editorが貧相なので、ここはEclipseをインストールして、、、という話は別記事に改めて書こうかと思います。