cancel
Showing results for 
Search instead for 
Did you mean: 

Navigation issues from a Treetable to an ObjectPage of another app

Eduard_R
Explorer
0 Kudos

Scenario:

SAP CAPM Java Fiori Elements with a Sandbox Launchpad and Keycloak.

I have a source app based on an OData V2 service, functioning as a Treetable app.

I have made the following annotation in my manifest.json:

"sap.app": {
	"crossNavigation": {
		"inbounds": {},
		"outbounds": {
			"EntityName": {
			"semanticObject": "SemanticName",
			"action": "manage"
			}
		}
	}
},

"sap.ui.generic.app": {
	"pages": {
		"ListReport|Entity": {
			"pages": {
				"ObjectPage|Entity": {

				},
				"navigation": {
					"display": {
					"path": "sap.apps.crossNavigation.outbounds",
					"target": "EntityName"
					}
				}
			}
		}
	}
}

In addition, I have applied the following annotation in my annotation.cds file:

{
            $Type         : 'UI.DataFieldWithIntentBasedNavigation',
            Value         : value,
            Label         : 'Label',
            SemanticObject: 'SemanticName',
            Action        : 'manage',
        },

The target app, on the other hand, is based on an OData V4 service and is designed as a ListReport/ObjectPage app. I have made the following annotations in manifest.json:

"ObjectPage": {
	"options": {
		"settings": {
			"allowDeepLinking": true,
		}
	}
}

and in annotation.cds:

annotate NameSpace.EntityName @(Common.SemanticKey: [value]);

Problem:

The navigation works correctly when I click on "value" in Treetable and navigate to the corresponding ObjectPage in the other app. However, issues arise when I refresh the target app (e.g., by pressing F5). The UUID in the URL gets replaced with the SemanticKey, causing the target app to malfunction because the UUID is not valid.

Error Message: java.lang.IllegalArgumentException: Invalid UUID string:

Could you please assist me in resolving this issue?

Accepted Solutions (0)

Answers (1)

Answers (1)

Eduard_R
Explorer
0 Kudos

Solved! Two additional parameters were required in the Launchpad configuration: ID and IsActiveEntity. These need to be passed along with the navigation.