3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【CDS】UIアノテーションが更新されないときは

Last updated at Posted at 2020-05-10

事象

以下の事象でかなり苦しんだので、解決方法について残しておきます。

①UIアノテーションをMetadata Extensionに記述している場合に、Metadata Extensionを変更して有効化しても、画面に反映されない

②ヘッダ、明細のようなアソシエーションがあるときに、明細のMetadata Extentionを変更して有効化しても、画面に反映されない

環境:S/4HANA 1909 FPS1
※RAPではなく@odata.publish: trueアノテーションによりODataサービスを公開している
※ODataバージョンはV2

①の対処方法

Metadata Extentionだけ有効化してもAnnotation Modelは更新されてくれないので、Metadata Extensionの元のCDSビュー(@OData.publish: trueが設定されているビュー)を同時に有効化します。
Annotationモデルが更新されているかどうかは、以下で確認できます。

Tr-cd: /IWFND/MAINT_SERVICE
対象のODataサービスを表示して、Service Implementationをクリック
image.png

Annotation Modelをクリック
image.png

更新日時を見る
image.png

②の対処方法

①の対応の結果、見た目上Annotation Modelが最新になっていても、明細のAnnotation変更が反映されない場合があります。私は以下の方法で変更を反映させることができました。

  1. ヘッダCDSビューから、明細のAssociationを一旦コメントアウトし、有効化する
  2. コメントアウトを解除し、再度有効化する

ODataのベースになっているCDSビューを有効化したとき、自身のMetadata Extensionは見に行くが、アソシエーション先までは見てくれない動きに思えました。
そこで、2. で「新しいアソシエーションが追加された」と錯覚させる(?)ことにより、明細のMetadata Extensionを読み込ませようと考えて、上記の方法をとりました。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?