【RAP】ABAP on Cloudトライアル環境の設定


はじめに

10/19からopenSAPのコース: Building Apps with the ABAP RESTful Application Programming Modelが始まりました。ここではCloud Platform上のABAP環境を使います。
環境設定の方法についてはWeek1のUnit5で説明されていますが、Cloud PlatformのUIが動画と少し変わっていたので、手順を残しておきます。

前提:
①Cloud Platformのトライアルアカウントを作成済であること
https://developers.sap.com/tutorials/hcp-create-trial-account.html
②ADTをインストール済であること
https://qiita.com/tami/items/c0c01cd7b6b950e3a1ab

ステップ

  1. ABAP Trialのインスタンスを作成する
  2. サービスキーを登録する
  3. ADTでABAP Cloud Projectを作成する
  4. 自分用のパッケージを作成する
  5. Hello Worldプログラムを作成してみる

1. ABAP Trialのインスタンスを作成する

自分のトライアル用サブアカウントに入ります。

devスペースを選択します。

Service MarketplaceでABAP Trialを選択します。

"Create Instanceをクリックします。

Instance Nameに自分がわかりやすい名前を入れて"Next"をクリックします。

emailに自分のメールアドレスを入力します。Cloud Platformにログインするときのメールアドレスでよいと思います。

Create Instanceをクリックして完了です。

ポップアップが表示されたら"View Instance"をクリックします。

2. サービスキーを登録する

サービスキーはADTからABAP Trialのインスタンスに接続するために必要になります。
インスタンスの右上にあるアイコンをクリックし、

Create Service Keyを選択します。

サービスキーに任意の名前を指定して"Create"をクリックします。

サービスキーを照会してみます。

3. ADTでABAP Cloud Projectを作成する

ADTを開き、New>ABAP Cloud Projectを選択します。

Service Keyを指定します。

ステップ2で作成したサービスキーを丸ごとコピーして貼り付けます。

Cloud Platformのログイン情報を入力します。

以下の画面が表示されれば接続完了です。

4. 自分用のパッケージを作成する

プロジェクトを追加すると、デフォルトでZLOCALというパッケージが見えます。ABAP Trialは共有の環境なので、この中に他の人のパッケージが入っていて開発物も見えます。ここに自分用の開発パッケージを追加します。

プロジェクトを右クリックし、New>ABAP Packageを選択します。

Name, Descriptionを入力してNext

新規移送依頼のDescriptionを入力します。(移送はしませんが)

パッケージが作成されました。

パッケージをお気に入りに追加します。Favorite Packagesを右クリックしてAdd Packageを選択

自分で作ったパッケージを選択します。

5. Hello Worldプログラムを作成してみる

自分のパッケージを右クリックしてNew>ABAP Classを選択します。

Name, Descriptionを入力してNext

移送依頼を選択してFinish

以下の画面が開きます。

以下のコードを入力します。

CLASS zcl_hello_world_yasu DEFINITION
  PUBLIC
  FINAL
  CREATE PUBLIC .

  PUBLIC SECTION.
    INTERFACES if_oo_adt_classrun.
  PROTECTED SECTION.
  PRIVATE SECTION.
ENDCLASS.



CLASS zcl_hello_world_yasu IMPLEMENTATION.
  METHOD if_oo_adt_classrun~main.
    out->write( |Hello world! ({ cl_abap_context_info=>get_user_alias( ) })| ).
  ENDMETHOD.
ENDCLASS.

if_oo_adt_classrun: mainメソッドではwrite文の代わりに任意のデータをADTのコンソールに出力することができる。
cl_abap_context_info: 実行ユーザやシステム時刻など、sy-xxxxで取得していたような項目を取得することができるクラス。get_user_aliasは実行ユーザを取得する。

F9を押して実行すると、以下の内容がコンソールに出力されます。

おわりに

ABAP on Cloudを使うと手軽にABAP環境を手に入れることができます。ただし、オンプレと比べて使える構文や機能には制限があります。詳しくは以下のブログをご参照ください。
https://blogs.sap.com/2020/06/03/restricted-abap-for-sap-cloud-platform-abap-environment/