cancel
Showing results for 
Search instead for 
Did you mean: 

FIORI List Report Intent based navigation passing filters to external app

pmcfarling
Participant

I have 2 FIORI Elements List Report applications.

1. An Opportunity App

2. A Quote App

An Opportunity can become a quote. Thus, the apps share several "common" fields as well as administrative data. Once an Opportunity becomes a Quote, the quote number is stored in the Opportunity app to enable Intent based navigation between the two.

for the quote number in the opportunity app I have annotated the quote_number field with.

 @UI.lineItem: [{ type: #WITH_INTENT_BASED_NAVIGATION, label: 'Quote Number', semanticObjectAction: 'showQuotes', position:25 }]
    @Consumption.semanticObject: 'ZCMB'

    quote_number;

Quote Number is the semantic key of the Quote app root CDS view.

@ObjectModel.semanticKey:['quote_number']

I have also configured parameters on the Quotations tile for quote_number->quote_number

I have added deep linking setting to manifest.json for the quotations app.

 "component": {
                            "name": "sap.suite.ui.generic.template.ObjectPage",
                            "settings":{
                                "allowDeepLinking": true
                            }
                        }

The linking to the object page works. the issue is that the framework takes EVERY field from the ODATA and passes it on the URL to the quote app. even the technical ones like action control fields etc...

...ZCMB-showQuotes?Approve_opportunity_ac=true∇ete_mc=true&HasActiveEntity=false&HasDraftEntity=false&IsActiveEntity=true&Update_mc=true≈prover=PMCFARLING≈prover_Text=Paul%2520McFarling&contact=0000000001&contact_Text=Susan%2520Miller&createdbyuser=PMCFARLING&creationdatetime=2021-04-28T14%253A30%253A54.553Z&customer=17100001&customer_Text=Army%2520Pentagon&description=UPGRADE%2520F-22&lastchangedatetime=2021-04-28T14%253A31%253A01.802Z&lastchangedbyuser=PMCFARLING&opportunity_number=OPP-01&opportunity_uuid=0e11f8e7-033e-1edb-aa85-cada54ad5e46"e_number=QUOT-001&sap-xapp-state=ASTZGBVN2S4UDX7I1LOUS5F2MVJ8TBY0ADHL94NG&sap.suite.ui.generic.template.customData=%255Bobject%2520Object%255D&sap.suite.ui.generic.template.genericData=%255Bobject%2520Object%255D&status=APPR&//xDSNxC_CM_QUOTE(quote_uuid=guid'0e11f8e7-033e-1edb-aa85-cc5932fb1e46',IsActiveEntity=true)

this has the effect of populating the "common" fields between the apps i.e. administrative data, quote number, Node Keys etc.. The object page loads fine, just the List Report/Filters are prepopulated and not desired.

Any idea how to keep all those values from passing to the app?

I have tried these local annotations with effect.

<Annotations Target="ZOPPORTUNITYType/quote_number">
            <Annotation Term="UI.ExcludeFromNavigationContext" />
            <Annotation Term="PersonalData.IsPotentiallySensitive" />
        </Annotations>

rizwan99
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Paul , did you solve this problem ?

pmcfarling
Participant

yes. Create a new target mapping, set only the parameters you want passed and uncheck tve “allow additional parameters box”. On our 2021 system the checkbox is replaced with a drop down and you would need to select ignore additional parameters.

Accepted Solutions (0)

Answers (0)