VScodeとブラウザからのABAP Cloud Developer Trialへのアクセス設定

また前回の続きです。

https://qiita.com/tatsu_it/items/cb3e414c0ac846693c02

ABAP Cloud Developer TrialへのアクセスはVScode、ブラウザでも可能なのでVisual Studio Code(VScode)・ブラウザでのアクセスを設定していきます。

# 1.VScodeからのアクセス
VScodeはFioriアプリなどを作成する際に使用されていますがABAPでの開発も可能になっています。
今回はABAP開発環境としてのVScodeの設定を行っていきます。

まずVScodeの`機能拡張:マーケットプレイス`で`ABAP remote filesystem`をインストールします。
![VScode設定1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/05dcda53-fc1e-4030-86b0-89798acc998d.png)

インストールが完了したら`設定`ボタンを押して`設定`を選択します。
![VScode設定2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/3b764638-559d-448f-b7ba-16a3004275a9.png)

選択するとシステムへのアクセス情報を設定するjsonファイルを編集するリンクがあるのでクリックします。
![VScode設定3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/7cf55af5-e278-47c8-8ed4-916890f95144.png)

jsonファイルの編集画面が表示されるのでABAP Cloud Developer Trialへの接続情報を設定します。
url:`http://localhost:50000/`
username:`DEVELOPER`
password:`ABAPtr2022#01`
client:`001`
language:`EN`
allowSelfSigned:`true`
![VScode設定4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/37d668d8-455a-41e0-be5d-b07c267e4304.png)

ほかにも設定はありますが今回は割愛。詳しくはこちらのサイトに記載されています。

https://github.com/marcellourbani/vscode_abap_remote_fs/wiki

接続情報の設定が完了したので接続してみます。
コマンドラインから`AbapFs Connect to an ABAP system`を実行。
![VScode設定5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/64f09cbb-009b-4ee2-8d2d-fa14dc76cda0.png)

実行されログインが完了するとエクスプローラーに`$TMP` `System Library`が表示されます。
![VScode設定6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/dac7363b-9eb7-4aeb-b41e-f7dae35ba068.png)

試しに`$TMP`を展開してプログラムを選択するとプログラムが表示されます。
![VScode設定7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/a007f83f-d0f3-429e-b9c7-20e41443a7b5.png)

試しにVScodeからプログラムを作成してみます。まず`$TMP`にカーソルを合わせ右クリックから`AbapFs Create object`を選択。
(作成したいオブジェクトのフォルダがあれば、そのフォルダを選択して右クリックを押すと技術名称とDescriptionを設定する画面が表示されます)
![VScode設定8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/18575d12-cc3e-4f2e-a8c7-2d9c4ece82ff.png)

作成したいオブジェクトの種類が表示されるので作成したオブジェクトを選択。ここでは`Program`を選択します。
![VScode設定9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/4c2e561f-9aed-4733-9bfd-d5a8726712e4.png)

選択すると技術名称を入力する欄が表示されるので技術名称を入力。
![VScode設定10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/e97fd9f7-23a9-4972-b145-372b7f749ad4.png)

次にDescriptionを入力しエンターを押します。
![VScode設定11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/cfd869b3-9d66-47c1-9fc2-5b4e1e291481.png)

そうするとエディターに先ほど設定した技術名称のオブジェクトが表示され、編集できるようになります。
![VScode設定12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/373e2c8e-9cef-485e-a212-c646479b9bc3.png)

編集が完了したら右上の有効化ボタンを押すと、オブジェクトの有効化が実行されます。
![VScode設定13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/ba9e60a6-8479-4202-a9f6-9982385acd1b.png)

有効化が正常に完了すると有効化ボタンが消えます。
![VScode設定14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/831f08ed-7404-425d-bed5-03616b9cb372.png)

このままテスト実行と行きたいところですがVScodeでテスト実行はできません…残念……

# 2.ブラウザからのアクセス
SAP GUIにはSAP GUI for HTML(WebGUI)というブラウザからアクセスできる機能もあるので、WebGUIを使用できるようにICFサービスの設定していきます。

まずGUIからABAP Cloud Developer Trialにログオンし、トランザクションコード：`SICF`を実行します。
![WebGUI設定1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/c0dd42dc-0cac-492e-a151-12f87122241f.png)

Define Services画面が表示されたらService Pathに`/sap/bc/gui/sap/its/webgui`と入力し実行します。
![WebGUI設定2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/41eedf56-2776-4f59-9f6d-0702b2105931.png)

サービスパスが表示されるので最下層にある`webgui`を選択し右クリックをします。
![WebGUI設定3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/8f6b64c6-876c-44ad-ae64-108909534510.png)

右クリックをするとコンテキストメニューが表示されるので`Activate Service`を選択し、サービスを有効化します。
![WebGUI設定4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/2e44c32d-e671-4518-aed4-a924506eb4aa.png)

ポップアップが表示されるので`Yes`ボタンを押します。
![WebGUI設定5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/10523b2a-2621-47c7-9408-036bd49ce995.png)

有効化が完了するとサービスパスが表示され、グレーの文字から黒文字に代わりサービスが有効になります。
![WebGUI設定6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/4b19fcf5-de6f-4822-9e3b-e3e79b84a00c.png)

ここまでの手順をサービスパス：`/sap/public/bc/icf/systemloginjs`についても実施しサービスの有効化を行います。

GUIの初期画面に戻りトランザクションコード：`WEBGUI`を実行しブラウザでアクセスできるか確認します。
![WebGUI設定7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/fa11d38d-6dc9-4692-92c3-1eff60c4186c.png)

`WEBGUI`を実行するとこんなポップアップが……
![WebGUI設定8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/dd79244a-187f-46aa-a2cc-ef65b0b4f71f.png)

どうやら何かに違反している模様ｗ　Java版だとブラウザの場所も聞かれるしwin版と違いすぎてわからないです……
とりあえずエラーメッセージに書いてあるURLをコピーしてブラウザでアクセスしてみることにしました。
![WebGUI設定9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/de6cc229-ea53-4e8a-89bb-4bad75133b85.png)

アクセスすると今度は`vhcala4hci`に接続できませんと……
![WebGUI設定10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/25d149dd-f4ce-478f-af40-cf468a907658.png)

どうやら名前解決できてないようなのでIP直打ちでアクセスしてみると……
![WebGUI設定11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/6778fa50-fa21-4066-812b-f5b407d5db71.png)
無事ログオン画面が表示されましたｗ

ログオンも無事成功しました:grin:
![WebGUI設定12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110632/812641e1-0777-4e7a-8771-5bde946ebdd7.png)

# 3.最後に
今回はVScodeとブラウザからのアクセス方法をまとめてみました。
VScodeで開発できることは知ってはいたのですが触ったことはなかったのでこれから拡張機能もいろいろありそうなのでVScodeで開発できるようになればいいなと思います(EclipseよりVScodeのほうが好み)