アソシエーションビューの作成

2. アソシエーションビューの作成

2. アソシエーションビューの作成

1. アノテーションビューの編集を行います。

アノテーションの種類 内容
@AbapCatalog.sqlViewName ABAPディクショナリに登録される、CDSビュー名となる ZIYYMMnnn_s4_3
@AbapCatalog.compiler.compareFilter 〇フィルターの評価の仕方
・TRUE: The filter conditions are compared and, if they match,
the associated join expression is evaluated only once.
・FALSE: A separate join expression is created and evaluated
for each filter condition.
true
@AbapCatalog.preserveKey 参照するテーブルのKeyをCDSビューのKeyとする true
@AccessControl.authorizationCheck k ABAPから呼ばれた場合の権限チェック #NOT_REQUIRED
@EndUserText.labe CDSビューの内容説明(60文字) 任意

2. 定義部分(データ取得元テーブル、項目定義)の編集を行います。

※Association[ ]の定義によって取得結果が変わるので注意しましょう。

パターン 内容
[0..1] 元テーブルのエントリに対して、アソシエーション先のテーブルに該当するエントリが0件もしくは1件の場合、 仮にアソシエーション先のテーブルに複数件あったとしても、取得結果が複数件になることはなく、 元テーブルの該当件数に従います。
[1..1] 元テーブルのエントリに対して、アソシエーション先のテーブルに該当するエントリが1件の場合、 仮にアソシエーション先のテーブルに複数件あったとしても、取得結果が複数件になることはなく、 元テーブルの該当件数に従います。
[0..*] 元テーブルのエントリに対して、アソシエーション先のテーブルに該当するエントリが0件もしくは複数件の場合、 仮にアソシエーション先のテーブルに複数件あった場合は、元テーブルの1エントリが アソシエーション先に存在する件数分取得されます。
※例えば、元テーブルの1エントリに対して、アソシエーション先が3件ヒットする場合は、3件抽出されます。
[1..*] 元テーブルのエントリに対して、アソシエーション先のテーブルに該当するエントリが複数件の場合、 仮にアソシエーション先のテーブルに複数件あった場合は、元テーブルの1エントリが アソシエーション先に存在する件数分取得されます。
※例えば、元テーブルの1エントリに対して、アソシエーション先が3件ヒットする場合は、3件抽出されます。

③ チェック Ctrl + F2を押下します。
④ 有効化 Ctrl + F3を押下します。

これで、アソシエーションビューが編集されました。


NEXT>> 3. アソシエーションビューの実行