SAP CP Trial環境のHANA DB設定
2018年5月24日に行われたSAP Tech JAMの会場案内用アプリ開発に使用した
プロダクトに関して記載しています。
会場案内アプリではSAP Cloud PlatformのHANA DBに作成したテーブルから
ODataサービスを利用したCRUD操作を行いました。
本記事ではアプリケーションで用いるHANA DBの初期設定〜ODataサービスの作成までの
手順について説明します。
- mdcの作成
- テーブル作成
- 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の作成方法について
記載します。