on 2025 Jan 06 4:19 PM
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.
Request clarification before answering.
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' ]
}]
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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>
User | Count |
---|---|
53 | |
9 | |
8 | |
6 | |
6 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.