cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamic Intent Based Navigation

RaminS
Active Participant
0 Kudos
214

I created a List Report with a bunch of columns, one of which uses an Intent-based navigation to one of two external target pages, based on certain conditions.

I need to navigate to a different target page (different semantic object-target) based on the value of the column.

Here's my CDS annotation for one of the two targets:

@Consumption.semanticObject: 'ExpenseCenter'
@UI.lineItem: [{ position: 35, semanticObjectAction: 'manage', type: #WITH_INTENT_BASED_NAVIGATION }]   
@EndUserText.label: 'Source'
    SourceApp;

Let's say if the value is "Expense Center" I want it to link to ExpenseCenter-manage. If the value is "Checkin", it should point to Checkin-manage.

How can I make it point to a different semanticObject and Action based on a certain condition? The annotation @Consumption.semanticObject doesn't seem to accept an element, just a string literal.

Thanks

Accepted Solutions (0)

Answers (2)

Answers (2)

RaminS
Active Participant
0 Kudos

After much trial and error, I found out that the method  adaptNavigationParameterExtension can be used in the controller extension to capture the intend-based navigation.

 

RaminS_0-1747163563007.png

 

MioYasutake
Active Contributor
0 Kudos

@RaminS 

The following document describes how to dynamically change navigation targets using a controller extension.

https://sapui5.hana.ondemand.com/#/topic/a12ad6058db84e8cb60a3a9b2ade63fb

 

RaminS
Active Participant
0 Kudos

Hi @MioYasutake ,

Thanks for your answer. That page describes how to replace the default List-to-Object navigation. My links are intent-based navigation links in a table, not default navigation to the object page. The event onListNavigationExtension does not get fired on intent-based navigation.

 

RaminS_0-1746110954631.png