Skip to Content
Author's profile photo Hiroto Yonekura

SAP CP Trial環境のHANA DB設定

2018年5月24日に行われたSAP Tech JAMの会場案内用アプリ開発に使用した

プロダクトに関して記載しています。

 

会場案内アプリではSAP Cloud PlatformのHANA DBに作成したテーブルから

ODataサービスを利用したCRUD操作を行いました。

 

本記事ではアプリケーションで用いるHANA DBの初期設定〜ODataサービスの作成までの

手順について説明します。

  1. mdcの作成
  2. テーブル作成
  3. ODataサービス作成

 

1.mdcの作成

SAP Cloud Platformのデータベースを利用するために、mdc DBを作成します。

mdc作成手順に関しては、以下の記事を参考にしています。

https://blogs.sap.com/2017/01/07/exposing-consuming-the-sap-hana-mdc-data-using-xsodata/

 

まずはSAP Cloud Platformにログインし、Neo環境にアクセスしてください。

 

 

メニュー:Databases & Schemasを開き、Newボタンを押下します。

以下のパラメータを設定します。

 

設定値

Database ID demomdc
SYSTEM User Password  **********

※ID・Passwordは任意です。

 

上記を設定のうえ、Createを押下するとmdcの作成が開始されます。

数分後、DB作成処理が完了するとmdcのOverviewページにSTERTEDが表示されます。

※下記画像①

 

HANA MDCの開発にはSAP HANA Web-Based Development Workbench(※下記画像③)

を利用しますが、作成後すぐにアクセスしても403エラーが返却されます。

 

そのため、先にSAP HANA Cockpit(※下記画像②)にアクセスし、

SYSTEMユーザーに権限を付与する必要があります。

 

SAP HANA Cockpitを押下するとUsernameとPasswordが求められるため、

SYSTEMでログインします。

※Passwordはmdcの作成時に設定したPasswordです。

 

にアクセスすると、以下のモーダルが表示されるためOKを押下します。

 

You’ve been assigned the roles ‘sap.hana.admin.roles::Administrator’, ‘sap.hana.ide.roles::TraceViewer’, ‘sap.hana.ide.roles::SecurityAdmin’.

上記文言が表示され、SYSTEMユーザーにsap.hana.ide.roles::SecurityAdminロールが付与されます。

 

2.テーブル作成

mdcのOverviewページに戻り、

SAP HANA Web-Based Development Workbenchへアクセスします。

SYSTEMユーザーでログインします。

 

Development Workbenchでは、Editer・Catalog機能を利用しますが、

初期段階ではSYSTEMユーザーにそれらの権限が不足しています。

 

そのため、Security画面を開いて必要な権限を追加します。

 

Development WorkbenchのSecurityを押下します。

 

User→SYSTEMを選択し、Granted Rolesタブの「+」を押下します。

SYSTEMユーザーに以下の権限を追加します。

  • sap.hana.xs.ide.roles::EditorDeveloper
  • sap.hana.ide.roles::EditorDeveloper
  • sap.hana.xs.ide.roles::CatalogDeveloper
  • sap.hana.ide.roles::CatalogDeveloper

 

上記権限を追加後、変更を保存します。

※※注意点※※

MDC DBのユーザー認証で一定以上失敗した場合、

アカウントをロックされます。

アカウントロックされた場合に備えて、

SYSTEMを右クリック→Copy UserからSYSTEMと同様の権限を持つユーザーの作成を

おすすめします。

※※※※※※※※※

 

開発用のユーザーを新規作成します。

左側メニューのUsersを右クリック→New Userから新規ユーザーを作成します。

その後、適切な権限を付与してください。

もしくはSYSTEMユーザーを右クリック→Copy UserでSYSTEMと同様の権限を持つ

ユーザーを作成します。

User Name DEMO_USER
Password **********

 

※パスワードは初回のログイン時に変更を求められます

 

作成したユーザーに、ユーザー名と同名のスキーマの権限を付与します。

Object Privilegesタブからスキーマ:DEMO_USERのCREATE ANYにチェックを入れます。

Grantable to OthersはYesを選択してください。

 

 

新規作成した開発用ユーザーでDevelopment Workbenchにログインし、

Catalogを押下します。

 

SQLを押下し、SQLコンソールを表示します。

SQLを実行し、テーブルを作成します。

作成するテーブルは以下の通りです。

  • PRODUCTMASTER
  • MAKERMASTER

PRODUCTMASTER

CREATE COLUMN TABLE "DEMO_USER"."PRODUCTMASTER"(
	"ID" BIGINT CS_FIXED NOT NULL,
	"NAME" NVARCHAR(50),
	"MAKER_ID" BIGINT CS_FIXED,
	"PRICE" INTEGER CS_INT,
	PRIMARY KEY (
		"ID"
	)
) UNLOAD PRIORITY 5 AUTO MERGE;

MAKERMASTER

CREATE COLUMN TABLE "DEMO_USER"."MAKERMASTER"(
	"ID" BIGINT CS_FIXED NOT NULL,
	"NAME" NVARCHAR(50),
	PRIMARY KEY (
		"ID"
	)
) UNLOAD PRIORITY 5 AUTO MERGE;

 

上記で作成したテーブルにデータをインサートします。

--PRODUCTMASTER DATA
INSERT INTO "DEMO_USER"."PRODUCTMASTER" VALUES(1,'PRODUCT_A',1,1000);
INSERT INTO "DEMO_USER"."PRODUCTMASTER" VALUES(2,'PRODUCT_B',2,2000);
INSERT INTO "DEMO_USER"."PRODUCTMASTER" VALUES(3,'PRODUCT_C',3,3000);
INSERT INTO "DEMO_USER"."PRODUCTMASTER" VALUES(4,'PRODUCT_D',1,4000);
INSERT INTO "DEMO_USER"."PRODUCTMASTER" VALUES(5,'PRODUCT_E',2,5000);
INSERT INTO "DEMO_USER"."PRODUCTMASTER" VALUES(6,'PRODUCT_F',3,6000);
--MAKERMASTER DATA
INSERT INTO "DEMO_USER"."MAKERMASTER" VALUES(1,'MAKER_A');
INSERT INTO "DEMO_USER"."MAKERMASTER" VALUES(2,'MAKER_B');
INSERT INTO "DEMO_USER"."MAKERMASTER" VALUES(3,'MAKER_C');

 

3.ODataサービス作成

 

Editerを押下します。

 

 

右クリックNew→PackageからContent配下に新規パッケージを作成します。

パッケージ名:demo

 

 

作成したdemoを右クリック→Create Applicationを選択します。

 

表示されるモーダルのコンボボックスで

Empty application (with XSAccess and XSApp)

が選択された状態でCreateを押下します。

 

demoパッケージの配下に以下のファイルが作成されます。

  • ,xsaccess
  • .xsapp
  • index.html

 

.xsaccessのファイルを選択し、以下の内容を変更し保存します。

//変更前 
   "authentication": [{
        "method": "Form"
    }],
//変更後 
   "authentication": [{
        "method": "Basic"
    }],

※XSアプリケーションの認証方法をフォーム入力からBasic認証に変更しています。

 

ODataファイルを作成するため、

demoを右クリック→New→Fileを押下します。

ファイル名 demo.xsodata

 

作成したdemo.xsodataを編集します。

以下の内容に変更し、保存します。

service { 
    "DEMO_USER"."MAKERMASTER" as "makerdata";
    "DEMO_USER"."PRODUCTMASTER" as "productdata";
}

 

上記の内容で、下記テーブルのデータのODataサービスを設定しています。

  • DEMO_USERスキーマのMAKERMASTER
  • DEMO_USERスキーマのMAKERMASTER

 

 

実行ボタンを押下します。

 

上記のようなXMLがブラウザに表示されていれば成功です。

ODataサービスが正常に動作しています。

 

 

以上の手順でHANA DBの初期設定〜ODataサービスの作成までを説明させていただきました。

投稿内容に関する質問・ご指摘等いただければ幸いです。

 

 

次の記事ではHANA DB上のCalculationViewの作成方法について

記載します。

 

 

 

 

Assigned Tags

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