I am getting the following message when trying to deploy my recently migrated apps from Web IDE to BAS:
Command deploy failed with error response.odata is not a function
I can preview the app in BAS, and see that it is interacting fine with the backend system through the OData. Cloud connector and destination configuration seem to be OK. Deploy-config also. These are a few things I have checked and tried to mess around in order to solve the issue, but so far nothing has worked.
Looked for the "response.odata" string and found only ocurrences in the
./dist/ folder created with
npm run build.
Changed the logging level to 5, but found nothing looking useful.
Checked logs in
/home/user/.npm/_logs, also nothing useful there.
Changed the version of
@sap/ux-ui5-tooling to 1.10.2 → Starting from 1.10.3, I get the message in the screenshot above. In 1.10.2 and others below, I get the following message:
Successful deployment could not be confirmed based on the response message received. Please manually verify if the deployment was successful.
Here, nothing happens on the backend system. Transport request configured in deploy-config stays empty.
/IWFND/ERROR_LOG → Nothing there.
ABAP_REPOSITORY_SRV in tcode
@ui5/cli version back to 3.0 among others for testing.
manifest.json — no hint of what could be wrong.
These apps were deployed fine to our ABAP Repository via Web IDE, issue occurs only in BAS. I am using BAS in our CF subaccount, not locally.
Any tips would be highly appreciated.
As suggested by Boghyon (thank you), got in touch with SAP support. It turns out I had added the service
ABAP_REPOSITORY_SRV as described, but had not activated it in SICF on
/sap/opu/odata/ui5/abap_repository_srv. After activation, I got way better deploy logs and found my way to finally complete it.
SAP reply was a great guide for troubleshooting deploy issues, so I will share the relevant bits here:
Replace your destination name with the name of your SAP BTP destination:
curl -L "X-CSRF-Token: Fetch" "$H2O_URL/destinations/<your destination name>/sap/opu/odata/UI5/ABAP_REPOSITORY_SRV/?saml2=disabled" -vs > curl-abap-output.txt 2>&1
Use this curl command if you need to pass in credentials:
curl -u <user>:<password> -L "X-CSRF-Token: Fetch" "$H2O_URL/destinations/<your destination name>/sap/opu/odata/UI5/ABAP_REPOSITORY_SRV/?saml2=disabled" -vs > curl-abap-output.txt 2>&1