Fiori開発目指してSAP Cloud Platform ABAP環境のチュートリアルをやってみた①

#はじめまして
都内某所でSAPを触っている夏と申します。
今回の投稿がQiita初投稿となります。

<b>※この記事はSAP Advent Calendar 2019の12月8日分の記事として執筆しています。※
カレンダーはこちらから！[SAP Advent Calendar 2019](https://adventar.org/calendars/3908)
2018年版はこちら [SAP Advent Calendar 2018](https://adventar.org/calendars/3262)

生まれて始めての「やってみた」記事＆アドベントカレンダーですが、よろしくお願いします。

#やってみたこと
SAP Cloud Platform ABAPトライアル環境のチュートリアルを3件やってみました。

#なんでやってみたの？
Fioriに興味があったので、何か勉強したいと思いつつ何からしようかな...と迷っていたところ、
ABAPトライアル環境のチュートリアルなら初心者の自分でも出来そうと思ったからです。

#やってみたチュートリアル
<b>①環境設定<b>
[Create an SAP Cloud Platform ABAP Environment Trial User]
(https://developers.sap.com/tutorials/abap-environment-trial-onboarding.html)

<b>②データとテーブル作成<b>
[Create Table Persistence and Generate Data](https://developers.sap.com/tutorials/abap-environment-persistence.html)

<b>③CDSデータビューと公開<b>
[Define and Expose a CDS-Based Travel Data Model](https://developers.sap.com/tutorials/abap-environment-data-model.html)
※STEP1まで実施しました

手順が丁寧に記載されているのでサクサク進みます。（と言いつつ自分は何度か詰まりました）
ここでは、自分での備忘録として内容をざっくりとメモ的に書きました。
こんな感じかと概要を掴んでもらい、何かを始めるきっかけになれば幸いです。
詳細を知りたい場合は、元記事のチュートリアルを見ながら当記事を読むことをおすすめします！

#大まかな流れ

（手順の番号は各チュートリアルのStepNoとは異なります。ご了承ください）

##<b>①環境設定<b>
チュートリアルはこちら
[Create an SAP Cloud Platform ABAP Environment Trial User]
(https://developers.sap.com/tutorials/abap-environment-trial-onboarding.html)

1.SAP Cloud Platformトライアル環境のアカウントを用意

2.概要>領域にある「dev」を選択

3.サービスマーケットプレイス>ABAP Trialを選択
![ABAP Trial.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447559/01c7499a-c7b0-86cf-39e5-480f7c5dc2b3.png)


※ABAP Trialが表示されない場合は権限を追加する必要があります。
その場合はチュートリアルのStep2を参考に追加します。

4.インスタンスを作成
![インスタンスができました.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447559/2af7f5e8-aea3-d4c6-1e40-fbd7941dab9b.png)

5.作成したインスタンスを選択して、サービスキーを作成
![サービスキーの作成.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447559/d9a240ce-40ba-08fd-d187-7bd4c5e74bf2.png)


サービスキーはSAP Cloud Platform のABAP環境とADTをつなぐのに必要となります。

<b>ADT…？？？<b>

ADTとはABAP Development Toolsの略称です。Eclipse のプラグインとして提供されています。
以下よりインストールできます。
[ABAP Development Tool](https://tools.hana.ondemand.com/#abap)

ADTのインストールには事前にEclipseが必要です。
手順は以下の通りです。
>Procedure
>To install the front-end component of ADT, proceed as follows:
>
>1.Get an installation of Eclipse 2019-09 (e.g. Eclipse IDE for Java Developers)
>2.In Eclipse, choose in the menu bar Help > Install New Software...
>3.For Eclipse 2019-09 (4.13), add the URL https://tools.hana.ondemand.com/2019-09
>4.Press Enter to display the available features.
>5.Select ABAP Development Tools and choose Next.
>6.On the next wizard page, you get an overview of the features to be installed.Choose Next.
>7.Confirm the license agreements and choose Finish to start the installation.
([ABAP Development Tool](https://tools.hana.ondemand.com/#abap)より一部抜粋）

Eclipseもよくわかってなかったので、以下を参考に初歩的なことを勉強しました。
[【ゼロからわかる】Eclipseのインストールと初歩的な使い方](https://eng-entrance.com/java-eclipse-install)


ADTに関する環境設定はこちらとこちらを参考に。
[Install SAP ABAP Development Tools in Eclipse](http://www.saplearners.com/install-sap-abap-development-tools-in-eclipse/)

なお、ADTインストール時、赤枠のURLには`https://tools.hana.ondemand.com/2019-09`を入力します。
![Eclipse画面3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447559/d03711a4-6dfd-1c7d-e896-0e3a571ae224.png)



6.なんとかEclipseに設定したADTからABAP cloud projectを作成
（元記事のチュートリアルではローカル上のADTをつかっています）
file>New>Projectを選択

7.サービスキーを入力

8.エラー画面が出て困惑
![エラー画面.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447559/29fc27ab-27af-8705-46f5-b2253f242d68.png)

調べたら、インスタンス作成時に指定したアドレスに誤りがあっただけでした。
しょうもないミスですが、これで1時間も右往左往しました。反省。

9.ABAP Projectができました！
![できた！！！.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447559/22235f32-940a-06f6-0c71-ef71a5d2a51c.png)

##<b>②データとテーブル作成<b>
チュートリアルはこちら
[Create Table Persistence and Generate Data](https://developers.sap.com/tutorials/abap-environment-persistence.html)

10.ABAP packageを作成
おなじみのマークで移送依頼も作成されています。
![位相依頼.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447559/73de5920-7af6-935e-b958-c86c24f43d8a.png)
Request Descriptionが入力必須になっているので、内容を記載します。

11.チュートリアル内のソースコードでテーブルを定義
ソースコード内のXXXを自分で変更した名前に変えることを忘れないこと。
おなじみのCtrl+F3で有効化できました。

12.ABAP Classを作成

13.チュートリアルの内容に基づきソースコードをコピペして、テーブルにデータを挿入、出力
まずはコンソール結果を確認します。成功、バンザイ！
![コンソール結果.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447559/521045c6-498a-4241-d16a-ec49acd5929e.png)
（※念の為ですがBANZAIは自分で追加しました）

テーブルの確認の中身も確認します。
![テーブルができてる！.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447559/db83f573-7d68-7506-4b27-d0e6f2368356.png)

##③CDSデータビューと公開
チュートリアルはこちら
[Define and Expose a CDS-Based Travel Data Model](https://developers.sap.com/tutorials/abap-environment-data-model.html)
※STEP1まで実施しました。

14.CDSベースのデータを定義

Finishを押すと以下のようなソースコードが現れます。

![CDSの骨組み.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447559/b008e0e7-77f6-c8d5-8984-63fb725a9d1f.png)

これらはCDSのアノテーションを意味しており、各項目の内容を設定することが出来ます。
アノテーションについては以下のブログで詳しく解説されています。
[【Fiori】CDSビューでFiori Appを作る](https://qiita.com/tami/items/1f63f0d3c46e3a0255e8)

15.チュートリアルの内容に基づき、ソースコードをペーストしてCDSの項目を定義

16.CDSビューができました！
![CDSビューができている.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447559/ea6d7838-b11f-8a1e-b09d-d93c93531ca4.png)

現時点で取り組めたのはここまでですが、それほどハードルは高くないと感じました。
事前に手順や注意をまとめけば、研修等にも応用できそうですね。

<b>ここで
<b>16で作成したCDSビューでFioriアプリは作れないのか？

という疑問も生まれました。

先程紹介した記事[【Fiori】CDSビューでFiori Appを作る](https://qiita.com/tami/items/1f63f0d3c46e3a0255e8)
によりますと、CDSビューを用いてFiori Appが作成できるようですが、
ODataサービスの有効化が必要のようです。難しいですね…
まだ理解しきれていない部分も多いので、チュートリアル進めつつ調べて見ようと思います。

#やってみた感想
チュートリアルはめちゃくちゃ便利なのでおすすめです。（英語だけど）
触ると自ずと調べるので、大変勉強になりました。
「？？」とわからないことも増えましたが、疑問が出るのも楽しいですね。
SAPイベントやLTで聞いたワードがより身近になるので、講演聞いたらセットで手を動かしてみようかな！
ぐらいの気持ちでいたほうが、自分には丁度いいかもなと思いました。
続きもやってみます。
（そして内容に関して指摘事項等あればコッソリ教えていただけると大変ありがたいです)

<b>ここまで読んでいただきありがとうございました！<b>