コンサンプションビューの編集
2. コンサンプションビューの編集
コンサンプションビューの編集
① 以下の内容を参考にアノテーションを編集していきましょう。
| アノテーションの種類 | 内容 | 値 |
|---|---|---|
| @AbapCatalog.sqlViewName | ABAPディクショナリに登録される、CDSビュー名となる | ZCYYMMnnn_s6_1 |
| @AbapCatalog.compiler.compareFilter |
フィルターの評価の仕方
|
True |
| @AbapCatalog.preserveKey | 参照するテーブルのKeyをCDSビューのKeyとする | True |
| @AccessControl.authorizationCheck | ABAPから呼ばれた場合の権限チェック | #NOT_REQUIRED |
| @EndUserText.label | CDSビューの内容説明(60文字) | 任意 |
| @OData.publish | CDSビューをODataとして公開する | True |
※ODataについては11章で学習します。
② 定義部分(データ取得元テーブル、項目定義)の編集を行います。
| 変更概要 | 変更箇所 | 変更値 |
|---|---|---|
| data_source_name |
define view ZCYYMMnnn_SAMP6_1 as select from data_source_name |
define view ZCYYMMnnn_SAMP6_1 as select from ZIYYMMnnn_SAMP5_1 as stupay |
| 抽出条件 | – |
where stupay.class >= 2 |
| 項目 |
{ } |
{ //ZIYYMMnnn_SAMP5_1 @UI.lineItem: [{ position: 10 }] key stupay.student_id, @UI.lineItem: [{ position: 20 }] stupay.first_name, @UI.lineItem: [{ position: 30 }] stupay.last_name, @UI.lineItem: [{ position: 40 }] stupay.teacher_name, @UI.lineItem: [{ position: 50 }] floor(decimal_shift( amount => stupay.amount, currency => stupay.currency, error_handling => ‘SET_TO_NULL’ )) as amount } |
一覧画面で用いられるコンポーネント注釈(アノテーション)についてみてみましょう。
@UI.lineItem: [{ position: N }]とは?
一覧画面の表示する項目と順番を設定できます。数字が小さいものがより左側に表示されます。
❏ ビューの確認
このCDSビューは、最終的にFiori画面で利用される「Consumption View(消費ビュー)」 です。
❏ ビューの内容
・学生の基本情報
・クラスの担任教師
・支払金額(円として見やすく加工)をUI表示に適した形に整えて提供しています。
「学生+教師+支払金額」をFioriテーブルとして表示するビュー」と考えるとわかりやすいです。
さらに、「 @OData.publish: true」により。ODataサービスが自動生成され、Fiori Elementsから直接利用できます。
このビューは別途JOINを行わず、ZI2409HUB_SAMP5_1(コンポジットビュー) を参照します。
ZI2409HUB_SAMP5_1 の中で既に「学生情報+クラス詳細+支払金額」が JOINされているため、
Consumption Viewでは必要項目の抽出とUI用調整を行うだけです。
解説(出力データ)
今回のコンサンプションビューは以下のような要件を実現するために作成しています。
- 出力項目:生徒ID、名、姓、担任、生徒ごとの支払金額の合計(通貨コードは非表示)
- 出力条件:2組以降の全クラス
金額データは、通貨コードを指定すると自動で外部書式に変換します。
ただし、通貨コードも併せて出力してしまいます。
そのため、上記要件を実現するために関数を使用して書式変更をしています。
また、関数は入れ子(ネスト)にすることができます。
(チェック Ctrl + F2) を押下します。
(有効化 Ctrl + F3) を押下します。
これで、コンサンプションビューが編集されました。