on 2024 Feb 05 12:16 PM
I am trying to understand how to use the Semantic Objects to Navigate across the Apps, while using ABAP Cloud CDS while having limited knowledge of Fiori Elements. I went through various posts and portals, but I could not gain complete clarity on the topic.
I came across the following annotation examples on multiple links including Navigation from an App (Outbound Navigation) - Documentation - Demo Kit - SAPUI5 SDK (ondemand.com) :
1.
UI.LineItem: [{ semanticObject: 'EPMProduct', semanticObjectAction: 'manage_st', label: 'IBNWithContext', requiresContext: true, type: #FOR_INTENT_BASED_NAVIGATION }]
2.
@UI.lineItem: [ { label: 'My Button for navigation', semanticObjectAction: 'manage', type: #FOR_INTENT_BASED_NAVIGATION } ]
@Consumption.semanticObject: 'MySemanticObject'
Questions:
1. How does the use case differ between using the SemanticObject property under UI.LineItem and Consumption annotations.
2. I am asked to provide the name of the SemanticObject and SemanticObjectAction while created the application in Business Application Studio. Should I refer to this Semantic Object in my ABAP CDS to navigate to the corresponding app, which I am not sure how it will work, or can Semantic Object and its Action be also specified in the ABAP layer as well? (Most posts online show the creation of Semantic Objects using TCode, which is not feasible on ABAP Cloud)
3. Going deeper into my confusion on the above 2 questions, how do I specify the name of my Semantic Object (if possible within ABAP), and how do I specify the reference to it?
4. Is it possible or i there a use case for specifying multiple Actions for the same Semantic Object, since in every example, I just saw one SemanticObjectAction?
It would be really helpful if someone could clear my concept, or help me with the links for the same, as I couldn't find clarity from the available info online.
Thank You.
Hi, you need to publish your service binding in Business Application Studio to assign semantic object to the app you want navigate to. After that you just need to provide the name of semantic object in metadata of your app. For example, you need to navigate from App1 to App2. Such code will generate a button named Details, which will redirect the user to the application which is assigned to the custom semantic object TrialBalance (App2):
Filters from the App1 will be transported via URL, so if you need to select data in App2 based on chosen record in App1 they must have the same name.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
68 | |
8 | |
8 | |
6 | |
6 | |
6 | |
6 | |
6 | |
6 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.