deploymentsapui5sap-fiorisap-web-idesap-business-application-studio

Error "response.odata is not a function" while deploying from BAS to ABAP Repository after Web IDE migration


I am getting the following message when trying to deploy my recently migrated apps from Web IDE to BAS:

response.odata is not a function

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:

    Log "Successful deployment could not be confirmed based on the response message received. Please manually verify if the deployment was successful."

    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.

  • Checked tcode /IWFND/ERROR_LOG → Nothing there.
  • Added the service ABAP_REPOSITORY_SRV in tcode /IWFND/MAINT_SERVICE.
  • Changed the @ui5/cli version back to 3.0 among others for testing.
  • Checked libraries, dependencies, ui5*.yaml files, package.json, manifest.json — no hint of what could be wrong.
  • Migrated the apps with the run command "Fiori: Migrate project for use in Fiori tools", installed the latest version of everything, then downgraded the ones mentioned above.

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.


Solution

  • 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:

    1. From SAP Business Application Studio: open command palette via View → Find Command and enter "Fiori: Open Environment Check" → Select "Check Destination" → Select your destination → Enter credentials if prompted → Select "Save and view results" → Choose a location to save the generated output.
    2. A generated "Preview results.md" file is opened. Check the section "Destination Details". SAP Fiori tools Environment Check will find and suggest if any destination parameters are missing.
    3. Ensure you have met the prerequisites: https://ga.support.sap.com/dtp/viewer/index.html#/tree/3046/actions/45995:45996:50742:46000
    4. Run the following commands from a terminal window on BAS:
      • 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