Skip to Content
Technical Articles
Author's profile photo Kimikazu Kabata

Free Trialではじめる SAP HANA Cloud: Vol.1 SAP Business Application Studio の利用

※※※※※※※※※※※※※※※※※※※※※※※※※※

SAP HANA Cloudの最新Blogはこちらをご参照ください

※※※※※※※※※※※※※※※※※※※※※※※※※※

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本ブログでは、SAP HANA Cloud (以下、「HANA Cloud」) を初めて使われる方を対象に、Free Trial 環境を使用した操作手順を解説いたします。

SAP Business Application Studio (以下、BAS) が2021年1月からHANA Cloudにも対応しました。BASはブラウザベースのSAP のクラウド環境での新しい標準開発ツールです。

本Blogのシリーズでは、このBASを利用してHANA CloudでDBオブジェクトを作成する方法について解説していきたいと思います。

本内容は「アプリケーション開発者」向けというよりは「DBエンジニア」向けの内容になります。

 

内容は下記の通りです。

1. SAP Business Application Studioを設定し、プロジェクトを作成する

2. テーブルを作成し、データをロードする

3. Calculation View (HANA View)を作成する

4. DBオブジェクトを一括デプロイする

 

今回は「1. SAP Business Application Studioを設定し、プロジェクトを作成する」を解説します。

 

SAP HANA Cloud と SAP Business Application Studio の準備

 

今回のBlogのシリーズでは下記のような環境を利用します。

 

 

そのために下記の手順で環境を準備します。

(1) HANA インスタンスの作成

(2) BAS用のDev Space作成

(3) BASとSpaceの関連付け

 

 

まず、(1) の手順についてはこちらのBlogをご確認ください。

HANA Cloud のインスタンスが作成できたら、下記の手順で設定を進めていきます。

 

SAP Business Application Studio用のDev Space作成

 

まず、SAP Cloud Platform コックピットにアクセスします。

Trialのサブアカウントに移動した後、左メニューの「サブスクリプション」を選択し、画面上の「SAP Business Application Studio」の「アプリケーションにジャンプ 」のリンクをクリックします。右上の検索ボックスで「business」と入力すると探しやすいでしょう。

 

 

続いて、このBASでの開発スペースを作成します。「Create Dev Space」ボタンをクリックします。

※ 30日間利用されないとこの環境は自動的に削除されてしまいますのでご注意ください。

 

今回はHANA用のオブジェクトやアプリケーション開発を目的とするので、「SAP HANA Native Application」を選択し、任意のDev Space名を付けて(今回は「HanaAppDev」と命名)、「Create Dev Space」ボタンをクリックします。

ステータスが「STARTING」から「RUNNING」に変わったら、作成したDev Space名をクリックしてBASの画面を起動します。

 

 

 

SAP Business Application StudioとSpaceの関連付け

 

BASの画面に移ると左下に「Organization やSpaceがセットされていない」という主旨のメッセージが表示されるので、そのメッセージでクリックして、BASがアクセスする開発環境を指定します。

 

HANA Cloudのインスタンスを作成した環境にアクセスするために、まずは「API Endpoint」を指定します。

この「API Endpoint」は新しい言葉なのですが、端的に言いますと「HANA Cloudが配置されているSubaccount」のアクセスポイントになります。

※ SAP Cloud Platform コックピットでHANA CloudのHANAインスタンスが稼働しているSubaccountを選択するとこの「API Endpoint」が確認できます。

 

 

API Endpointを指定するとそのSubaccount環境にログインするためのユーザーとパスワードを聞いてきます。これはSAPのクラウドに接続するためのユーザー名になります。

ログインが成功すると、「Organization」と「Space」の選択項目が表示されますが、Free Trial登録時に自動作成されたものを選択します。

Free Trialの場合、Global Account名と同じ名前のOrganization 名、Space名は「dev」になります

 

画面左下にBASのアクセス先が追加された旨のメッセージを確認したら、「Open Workspace」ボタンをクリックして、「project」ディレクトリを選択します。

これから作成する、様々な定義ファイルやアプリケーションコードの置き場所になります。

 

 

 

プロジェクトの作成とDBスキーマの作成

 

開発ツールの設定もできたので、テーブルを作りたくてウズウズしていると思いますが、もう一手間必要です。

これから作成するテーブルやHANA ViewなどのDBオブジェクトの定義ファイルを管理するための「プロジェクト」を作成する必要があります。

メニューの「File」から「New Project from Template」を選択します。

 

SAP HANA Database Project」を選択し、「Start」ボタンをクリックします。

 

次の画面でプロジェクト名を入れますが、「受注業務システム」を意識して「order-entry」と入力します。

次の画面では、モジュール名を入力しますが、DBオブジェクトを作るのでデフォルトの「db」のまま、先に進みます。

 

Namespace」はあえて空白のままにして、「Schema Name」にはDBのスキーマ名を指定しますが、ここでは後々のために「ORDER_ENTRY_HDI」と入れます。

ポイントは「HDI」と入れるところです。腑に落ちないところもあるかと思いますが、グッとこらえて今回はプロジェクト名に「HDI」を付けた命名にしてください。

※HDIについては、別途、ご説明します。

SAP HANA Database Versionやその他の項目はデフォルトのまま次の画面に進みます。

 

HDI service instanceを作るか ?」 などの項目がありますが、これらもデフォルトのまま「Finish」ボタンをクリックしてプロジェクトを作成します。

ここで表示されているサービスインスタンス名はボンヤリと憶えておいてください (メモを取るほどではありません)。

 

「ORDER-ENTRY」のプロジェクトが作成されました。ここでさらにもう一手間加えます。

画面左下の方にHANA DBに接続するための情報が表示されています。

デフォルトで「hdi_db」と記載があるのですが、少々分かり辛いのでこの名前をプロジェクト名に合わせて命名します。

 

 

プロジェクト内に「mta.yaml」という、通称「ヤムルファイル」と呼ばれる設定ファイルがあるのですが、ここでDB接続文字列の「hdi_db」を「order-entry-hdidb」に変更します。

※ 正確には「DB接続文字列」ではないのですが、便宜上、現時点ではそのように呼ぶようにします。

また、このファイルの中に、プロジェクト作成時に指定した「ORDER_ENTRY_HDI」というスキーマ名も確認できるかと思います。

 

 

画面左下のHANA DBに接続するための名前が「hdi_db」から「order-entry-hdidb」に変わったことを確認したら、「bind」アイコンをクリックします。

画面上部にバインド(紐づける) HDI(DB)のサービスインスタンスが表示されますが、プロジェクト作成時の最後のWizard 画面に出てきた名前です。

 

ここまでの作業のイメージは下記の図のようになります。

BASからはDBに直接接続するのではなく、「HDIサービスインスタンス」を介して、DBオブジェクト作成のための定義ファイルをデプロイして、HDIサービスインスタンスがそれを解釈してDBにテーブルなどのオブジェクトを作成します。

 

 

お疲れさまでした !!

DBエンジニアの皆さんにとっては、少しシンドイ作業だったかと思います。

けど、ここまできたら、次はいつものテーブル作成の手順です。次回は優しい作業なので、一息入れて次のステップに進みましょう。

 

次回もお楽しみに !!

 

次回 : テーブルを作成し、データをロードする

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.