2025 Apr 26 10:43 PM - edited 2025 Apr 28 1:35 PM
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
Request clarification before answering.
I tried using adaptNavigationParameterExtension( ), but it only lets me add or remove parameters, it does not allow changing Semantic Object and Actions.
I traced the calling program to the following SAP method onDataFieldWithIntentBasedNavigation in CommonEventHandlers
Does anyone know how to overwrite this method and change SemanticObject?
I read a similar issue identified by @gregorw here but it doesn't work for us. The semantic object annotation does not take a Path, only a String.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 12 | |
| 9 | |
| 7 | |
| 5 | |
| 4 | |
| 3 | |
| 3 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.