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.

Here, nothing happens on the backend system. Transport request configured in deploy-config stays empty.

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