Description
The Fiori Tools generator currently scaffolds the OData version in your app's data path as "odataVersion": "4.01" — which is semantically correct, but unfortunately not accepted by the BTP Workzone schema validator for HTML5 Applications deployed via the HTML5 Repository Service.
The result? A cryptic deployment error buried deep in the logs:
❌ must be equal to one of the allowed values [ '2.0', '4.0' ]
https://www.linkedin.com/posts/holger-sch%C3%A4fer-483ba73_sap-fioritools-btpworkzone-activity-7442901543865061377-YOtH?utm_medium=ios_app&rcm=ACoAAAINNb4BEVRKybGaIO2q3rxoz_yeJUO2k5w&utm_source=social_share_send&utm_campaign=copy_link
Steps to Reproduce
Steps to reproduce the behavior:
- Generate an LROP app with SAP Fiori Launchpad config
- Deploy to CF platform
- Publish the app on BTP workzone
- App fails to be listed, download log and the following is reported;
{
"status": "PARTIAL",
"contents": {
"total": 38,
"failed": 1,
"status": "PARTIAL",
"messages": {
"jlmarchcfremoveme02": {
"error": [
"jlmarchcfremoveme02 of type: businessapp does not match the schema, dataPath: undefined, message: 'must be equal to one of the allowed values' [ '2.0', '4.0' ]"
],
"warning": []
}
},
"correlationId": "c26b1e38-2f6e-493f-41ac-6f5ad2673e81"
},
"reportId": {
"contextId": "SUB_ACCOUNT",
"contextType": "sub_account",
"scenarioName": "LAUNCHPAD",
}
}
Expected results
Deployment fails with a cryptic error message.
Actual results
Deployment should be successful.
Screenshots
If applicable, add screenshots to help explain the problem.
Version/Components/Environment
Add any other context about the problem here
OS:
Root Cause Analysis
Problem
{describe the problem}
Fix
{describe the fix}
Why was it missed
{Some explanation why this issue might have been missed during normal development/testing cycle}
How can we avoid this
{if we don’t want to see this type of issues anymore what we should do to prevent}
Description
The Fiori Tools generator currently scaffolds the OData version in your app's data path as
"odataVersion": "4.01"— which is semantically correct, but unfortunately not accepted by the BTP Workzone schema validator for HTML5 Applications deployed via the HTML5 Repository Service.The result? A cryptic deployment error buried deep in the logs:
❌
must be equal to one of the allowed values [ '2.0', '4.0' ]https://www.linkedin.com/posts/holger-sch%C3%A4fer-483ba73_sap-fioritools-btpworkzone-activity-7442901543865061377-YOtH?utm_medium=ios_app&rcm=ACoAAAINNb4BEVRKybGaIO2q3rxoz_yeJUO2k5w&utm_source=social_share_send&utm_campaign=copy_link
Steps to Reproduce
Steps to reproduce the behavior:
{ "status": "PARTIAL", "contents": { "total": 38, "failed": 1, "status": "PARTIAL", "messages": { "jlmarchcfremoveme02": { "error": [ "jlmarchcfremoveme02 of type: businessapp does not match the schema, dataPath: undefined, message: 'must be equal to one of the allowed values' [ '2.0', '4.0' ]" ], "warning": [] } }, "correlationId": "c26b1e38-2f6e-493f-41ac-6f5ad2673e81" }, "reportId": { "contextId": "SUB_ACCOUNT", "contextType": "sub_account", "scenarioName": "LAUNCHPAD", } }Expected results
Deployment fails with a cryptic error message.
Actual results
Deployment should be successful.
Screenshots
If applicable, add screenshots to help explain the problem.
Version/Components/Environment
Add any other context about the problem here
OS:
Root Cause Analysis
Problem
{describe the problem}
Fix
{describe the fix}
Why was it missed
{Some explanation why this issue might have been missed during normal development/testing cycle}
How can we avoid this
{if we don’t want to see this type of issues anymore what we should do to prevent}