cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

How to diagnose issue with sap-appvar-id for Deployed Adaptation Project?

MattHarding
SAP Mentor
SAP Mentor
0 Likes
3,753

I've adapted the Request Maintenance app by creating an Adaptation Project in WebIDE and deploying it to our on prem Fiori Launchpad.

Here's a 2nd example I created to test out where you can see the id is customer.adapt.cr:

{
	"fileName": "manifest",
	"layer": "CUSTOMER_BASE",
	"fileType": "appdescr_variant",
	"reference": "i2d.eam.pmnotification.create.s1",
	"id": "customer.adapt.cr",
	"namespace": "apps/i2d.eam.pmnotification.create.s1/appVariants/customer.adapt.cr/",
	"content": [
		{
			"changeType": "appdescr_app_setTitle",
			"content": {},
			"texts": {
				"i18n": "i18n/i18n.properties"
			}
		},
		{
			"changeType": "appdescr_ui5_addNewModelEnhanceWith",
			"content": {
				"modelId": "i18n"
			},
			"texts": {
				"i18n": "i18n/i18n.properties"
			}
		},
		{
			"changeType": "appdescr_ui5_addNewModelEnhanceWith",
			"content": {
				"modelId": "@i18n"
			},
			"texts": {
				"i18n": "i18n/i18n.properties"
			}
		}
	]
}

Using transaction SUI_SUPPORT, I ran "List Repository Files" and I can see the content there.

So I then created the associated Tile and target mapping with the sap-app-var parameter set in the target mapping referring to this ID like so:

But when I go try to launch the app, I get the error:

"Failed to resolve navigation target "#MaintenanceNotification-zCreateCR". This is most likely caused by an incorrect SAP Fiori launchpad content configuration or by a missing role assignment."

If I remove the sap-appvar-id parameter, the app loads correctly, albeit without any adaptation.

Any ideas how to diagnose this issue? The UI5 version we are on is 1.71.33.

Thanks,

Matt

Accepted Solutions (1)

Accepted Solutions (1)

matthias_schmalz
Product and Topic Expert
Product and Topic Expert

Hi Matt,

please check the definition of your tile, whether it specifies the same parameter as the target definition.
Since it is a mandatory parameter in the target definition, it will only match if the tile provides the same.

Note that this parameter is only needed to make the tile/target mapping combination unique and it therefore does not conflict with the original app, which could use the same navigation intent (semantic object and action).
In case you define your own semantic object or action which is unique, the parameter is not needed. From the screenshot the action zCreateCR seems to be defined by you, so you can drop it.

When the app is launched, please watch the network trace for a file called manifest.appdescr_variant. Check its content, wheter sap.app/id matches the one of your app variant or not.

Best regads
Matthias

MattHarding
SAP Mentor
SAP Mentor
0 Likes

Thanks Matthias and Silke.

I learnt a few things because of this Adaptation and your responses. Firstly, I'm sure URL was a required field in the original Fiori Launchpad but maybe that was for my UI5 apps that sometimes contained multiple shared component files only! Glad to know I can deploy, and just use the component name going forward!

Once that was out of the way, using the app id from the adaptation now makes sense since it can look up this value in the Layered Repository (which I didn't know much about either).

Also good to know the mandatory parameter TM mapping as a feature I was not aware of.

In the end for my scenario, it was a simple 1:1 mapping from tile to TM, so no parameter required, just the component id matching the id of the manifest.appdescr_variant. So simple (but impossible to debug to figure this all out!). Probably a good idea for a deep dive from DJ some day on how the layered repository works in ABAP and how the TM's interact with it...

Cheers,

Matt

matthias_schmalz
Product and Topic Expert
Product and Topic Expert
0 Likes

Hi Matt,

great that it works for you.

Yes several releases ago, the target mapping required the URL as parameter which has been used to start the app. Meanwhile this has been replaced by resolving the target mapping Id with the application index. The URL is no longer used, except as fallback logic.
For app variants it is useless.

Best regards
Matthias

Answers (2)

Answers (2)

silke_arians
Product and Topic Expert
Product and Topic Expert

Hi Matt,

For target mapping of app variants/adaptation projects please refer to https://help.sap.com/viewer/a7b390faab1140c087b8926571e942b7/latest/en-US/33daedef95454af68903ef1238... under “Settings for SAPUI5 App Variants (created via key user adaptation or an adaptation project)”.

So it is correct to use sap-appvar-id. In your screenshot I can see that URL is filled (which should not be filled) and especially ID value is wrong as it must be ID of the app variant as provided by the key user or developer (and it is in the screenshot the original ID). Could you please try to correct this and retest.

Using the name ‘sap-appvar-id’ and the actual id of the appvar as value is just a convention and could be replaced with anything else. It is only important to have this in sync between tile and target mapping. The parameter ensures that the tile finds the correct target mapping.

Best regards
Silke Arians (SAP SE)

pieterjanssens
Active Participant
0 Likes

Tile parameter name is wrong here: https://help.sap.com/viewer/a7b390faab1140c087b8926571e942b7/202110.000/en-US/68c922fb98584396aba527...

I belief 'save-app-varid' should be 'sap-appvar-id'.

silke_arians
Product and Topic Expert
Product and Topic Expert
0 Likes

Yes. Thanks for the hint @piejanssens, our user assistance colleague will correct the documentation

0 Likes

Hi Experts,

I have created an adaptation project and configured it in same catalog and group as per above instructions. It works perfect when individually launched from tile. My original app was destination of overview page card but the new adaptation project tile does not get launched and old app is loading. Please help why my inter-app navigation not working

0 Likes

Hi Ankit,

Did you resolve this issue. I am trying to get the Adaptation variant called from the standard OVP but not able to make it work with launchpad settings. Any pointers please.

Thanks,

Vijay