cancel
Showing results for 
Search instead for 
Did you mean: 

Intent-based Navigation Parameters

RaminS
Active Participant
0 Kudos
225

In an Overview Page, I have annotations for Intent-based navigation to another app. Can someone please tell me how to send parameters to the target app?

I've been scouring SAP documentation and everywhere else trying to find out how we're supposed to send parameters, but cannot find anything! Even looking at SAP's standard ovp pages, I can't find any annotation they've used to send specific parameters to target app.

I have a simple table card:

<Annotation Term="UI.LineItem" Qualifier="TableCardLI">
                    <Collection>
                        <Record Type="UI.DataField">
                            <PropertyValue Property="Value" Path="accounting_office"/>
                        </Record>
                        <Record Type="UI.DataFieldForAnnotation">
                            <PropertyValue Property="Target" AnnotationPath="@UI.DataPoint#AmtDP"/>
                        </Record>
                    </Collection>
                </Annotation>
                <Annotation Term="UI.Identification">
                    <Collection>
                        <Record Type="UI.DataFieldForIntentBasedNavigation">
                            <PropertyValue Property="SemanticObject" String="I2PCheckIn"/>
                            <PropertyValue Property="Action" String="deeplink"/>
                            <PropertyValue Property="Label" String="navigate"/>
                        </Record>
                    </Collection>
                </Annotation>

When it navigates to target app, it sends a whole bunch of parameters, except the field that I want to send!

I tried to set "Accept additional parameters" in the target mapping to Ignore, Allowed or Disallowed. It makes no difference.

Can anyone point me to an example or documentation that explains how parameters are sent through intent-based navigation in FE?

Thank you.

Accepted Solutions (0)

Answers (1)

Answers (1)

ArcherZhang
Product and Topic Expert
Product and Topic Expert
0 Kudos

requiresContext must be TRUE. If it(fiscal_year) is still not present in context, maybe you can try to add the bellow annotation to mandatorily request 'fiscal_year' into context. And I assume you already have the 'fiscal_year' in target mapping as one parameter.

@ui.presentationVariant: [{
    ...
    visualizations: [{ type: #AS_LINEITEM} ],  
    requestAtLeast: [ 'fiscal_year' ]
 }] 

 

RaminS
Active Participant
0 Kudos

Thanks @ArcherZhang ,

Yes Context is being sent in the URL. My target application is a standard SAP app FB03. Here's the target URL that gets generated:

 

.../sap/bc/ui2/flp?sap-client=100&sap-language=EN#AccountingDocument-displayDocument?AccountingDocument=1900033141&URL=http%253A%252F%252Fottpwin1.agr.gc.ca%252Fgm%252Ffolder-1.11.22821%253Fmode%253DEU%2526originalContext%253D1.11.22818&accounting_baseline_date=2023-12-28T00%253A00%253A00.000Z&accounting_fiscal_year=2024&accounting_office=60000375&accounting_office_name=CFIA_Accounts%2520Payable%2520-%2520Montreal&accounting_payment_term=B001&accounting_payment_text=Direct%2520Deposit%2520-%2520Due%2520on%2520Receipt&accounting_vendor_invoice=732351&accounting_vendor_text=Le%252028%2520Dec%25202023%2520%2520%2520INV%253A%2520%2520732351%2520%2520%2520CUST%253A%2520%252000050200&amount_with_tax=3116.74&sap-intent-param=AS73XGG9UQ1MSXAGIMZSWINIAY721U9NDWKUOP9P

 

Is there a reason the CDS annotation semanticObjectAction doesn't work (it defaults to manage), but the equivalent XML annotation works?

CDS view:

@Consumption.semanticObject: 'AccountingDocument'
@UI.identification: [{ 
    type: #FOR_INTENT_BASED_NAVIGATION, 
    semanticObjectAction: 'displayDocument'
  }]
accounting_document,
. . .

Local annotations:

<Annotations Target="Metadata.zqap_c_i2p_headerType/accounting_document">				
   <Annotation Term="UI.Identification" Qualifier="NavAccDoc">
      <Collection>
         <Record Type="UI.DataFieldForIntentBasedNavigation">
            <PropertyValue Property="SemanticObject" String="AccountingDocument"/>
            <PropertyValue Property="Action" String="displayDocument"/>
            <PropertyValue Property="Label" String="navigate"/>
         </Record>
      </Collection>
   </Annotation>
</Annotations>