Skip to Content
0
Nov 30, 2022 at 10:10 AM

Fiori ListReport multiple semantic keys not working

111 Views

Hello community

to enable intent based navigation from a ListReport, I add some semantic key definition to my view like this

@ObjectModel.semanticKey: ['ManufacturingOrder']
define root view entity ZI_PP_PRODUCTIONORDERPOOL
  as select from           I_ManufacturingOrder
  @Consumption.semanticObject: 'ProductionOrder'
@UI.selectionField: [{ position: 50 }]
@UI.lineItem: [{ position: 10},
{ type: #FOR_INTENT_BASED_NAVIGATION, semanticObjectAction: 'displayFactSheet' }]
@UI.identification: [{ position: 10 }]
ManufacturingOrder;

which works great. By following the link, app gets loaded (Transaction CO03 in this case) and parameter gets set correctly

But how to define multiple semantic keys? Imagine a ListReport app, which should provide multiple targets based on a column or action pressed. As semantic key definition is an array, I simply added additional keys like this.

@ObjectModel.semanticKey: ['ManufacturingOrder', 'ManufacturingOrderOperation']
define root view entity ZI_PP_PRODUCTIONORDERPOOL
  as select from           I_ManufacturingOrder
  @Consumption.semanticObject: 'ProductionOrder'
  @UI.selectionField: [{ position: 20 }]
  @UI.lineItem: [{ position: 10},
                 {  type: #FOR_INTENT_BASED_NAVIGATION, semanticObjectAction: 'displayFactSheet', position: 5 }]
  ManufacturingOrder;


  @Consumption.semanticObject: 'ZLP1'
  @UI.lineItem: [{ position: 20,
                   criticality: 'CW_Released',
                   criticalityRepresentation: #WITHOUT_ICON},
                 { type: #FOR_INTENT_BASED_NAVIGATION , semanticObjectAction: 'GUI_ZLP1' ,label: 'Bereitstellung', position : 10 }
                ]
  @UI.identification: [{ position: 10 }]
  ManufacturingOrderOperation;

Now I can open these apps, but the parameters are not passed correctly anymore. Meaning CO03 now got no ProductionOrder passed. I checked the links and note, that the working example with only one semantic Key correctly pass the parameter ProductionOrder whereas the link looks different when enabling two semantic keys. The link now contains all fields of the clicked row, but not ProductionOrder anymore.

How can we add multiple intend based navigation targets?