Skip to Content
Product Information

UI5ers Buzz #55: Adaptation Project – your one stop tool for extending SAPUI5 Applications

 

Whether you have already been using Adaptation Project in SAP Web IDE and want some fresh features, or you are trying to find the right tool to adapt applications to customer/partner specific needs, look no further. It’s all now available at SAP`s brand new development platform – SAP Business Application Studio. By using it, you are leveraging features of UI5 Flexibility and able to adapt and extend UI5 applications without actually changing the base app, which allows seamless upgrades and lifecycle stability. Adaptation project also comes with an intuitive WYSIWYG tooling and is really fun to use and you are able to add both UI and code changes to your own variant of the application.

Except availability on the new platform, there are a couple of new features available:

  • Support for extension points – The so-called extension points were previously matter of another plugin – Extension Project. Its abilities are being brought to Adaptation Project, so it becomes the unified one and only tool for extension and adaptation. This feature is also now available in SAP Web IDE and SAP Business Application Studio.
  • Support of Freestyle applications – Till now, it was possible to extend only Fiori Elements-based applications, but from now on you have the ability to extend also Freestyle applications. This feature is now available in both SAP Web IDE and on SAP Business Application Studio, as well.

Let’s go over a simple use case of Adaptation Project on the new platform:

  1. Create adaptation project using one of the Yeoman generators available in SAP Business Application Studio. The wizard will guide you through the process and you will be asked to add the initial properties of your project – name, source system, base app, etc.
  2. You can start the visual editor which will enable you to both preview and edit the application. The possibilities are the same for both SAP Fiori elements-based and Freestyle applications and you can extend them in the same manner – you can adapt UIs, e.g. add/move/remove fields, rearrange sections or even embed iframes, change control properties, extend i18n texts, add custom content via XML Fragments, etc. You can extend also controllers by using the right-click option “Extend with controller”.
  3. It’s also possible to use extension points (if the base app has such). XML Fragments can be added using the “Add Fragment at Extension Point” option from the context menu, when right-clicked over an extension point.

 

From now on you can use Adaptation Project to benefit from these great capabilities.

 

For the complete set of features and technical details you can always refer to the official documentation pages:

Adaptation Project at SAP Web IDE

Adaptation Project at SAP Business Application Studio

 

Previous Post: UI5ers Buzz #54: I18n with supportedLocales and fallbackLocale configuration

 

Author

htsolevHristo Tsolev is a product owner in CP Extensions team and the Flexibility area. Always looking to improve the experience of customers

 

 

53 Comments
You must be Logged on to comment or reply to a post.
  • Hi Hristo,

    I am logged on SAP CPC with my S-User and in SAP Business Application Studio (trial) I have tried all 4 types of Dev Spaces and every time, the options “Adaptation Project” and “Deploy Adaptation Project” are missing. I also installed all Fiori and UI5 related generators but the “Adaptation” options were still missing.

    Thanks,

    Darko

    • Hi Darko,

      The plugin is still not available on Trial environment, but it will be very soon. Please check again around end of September.

      Thanks for your interest in Adaptation Project.

  • Hi Hristo,

    you know why i get this error when I select the system from the dropdown menu (step "Adaptation Project - Configuration")?

     

    {"message":"@adaptation-project/adaptation-project generator failed - Cannot read property 'statusCode' of undefined","stack":"TypeError: Cannot read property 'statusCode' of undefined\n at Function.parseErrorResponse (/extbin/npm/globals/lib/node_modules/@adaptation-project/generator-adaptation-project/generators/app/utils/ServiceUtils.js:57:30)\n at Request._callback (/extbin/npm/globals/lib/node_modules/@adaptation-project/generator-adaptation-project/generators/app/utils/ServiceUtils.js:27:38)\n at self.callback (/extbin/npm/globals/lib/node_modules/request/request.js:185:22)\n at Request.emit (events.js:315:20)\n at Request.onRequestError (/extbin/npm/globals/lib/node_modules/request/request.js:877:8)\n at ClientRequest.emit (events.js:315:20)\n at ClientRequest.onConnect (/extbin/npm/globals/lib/node_modules/tunnel-agent/index.js:168:23)\n at Object.onceWrapper (events.js:422:26)\n at ClientRequest.emit (events.js:315:20)\n at Socket.socketOnData (_http_client.js:503:11)\n at Socket.emit (events.js:315:20)\n at addChunk (_stream_readable.js:295:12)\n at readableAddChunk (_stream_readable.js:271:9)\n at Socket.Readable.push (_stream_readable.js:212:10)\n at TCP.onStreamRead (internal/stream_base_commons.js:186:23)"}

     

     

    Regards,

    Moreno

    /
    • Hi Moreno,

      is this happening when trying to connect to a specific system, or just a general problem that happens to you no matter of the system chosen ?

      Regards,

      Hristo

        • Hi, that is somewhat strange.

          If you have access to WebIDE, you can try connecting with the same system (just to check if your destination to the system is set in a proper way in the cockpit). The other option for you is to send me a HAR file from your browser recorded while trying to access system and get this error and we can try to further investigate it.

        • Hi Moreno,

          After some investigation we confirmed that its a problem on our side. We have already released a fix for this issue, you can check up again and this should not happen anymore.

          Regards,

          Hristo

          • Hi Hristo,

            Do you have any suggestions for solving this problem?

            yo @adaptation-project/adaptation-project-deployment

            TypeError: Cannot read property ‘0’ of undefined
            at DeploymentGenerator.<anonymous> (/extbin/npm/globals/lib/node_modules/@adaptation-project/generator-adaptation-project-deployment/generators/app/index.js:100:70)
            at Generator.next (<anonymous>)
            at fulfilled (/extbin/npm/globals/lib/node_modules/@adaptation-project/generator-adaptation-project-deployment/generators/app/index.js:5:58)
            at process._tickCallback (internal/process/next_tick.js:68:7)

            Thanks

            /
          • Hello Fatih,

            It does not seem like a known issue. Can you please submit a support ticket and we will handle your issue right away, thank you.

            Regards,

            Hristo

    • I have a similar issue when trying to extend the following app on a S4H system: fin.ar.lineitems.display (UI5 version: 1.78.8)

      "message":"@adaptation-project/adaptation-project:app generator failed - gen.on(error) Expected contents to be a String or a Buffer"

       

      /
  • Dear Hristo,

    In case of Freestyle Standard UI5 Apps, How can we use the extension points(Add Fragments at extension point) option in Adaptation projects. There is one standard Fiori app called ''Request Maintenance(App ID: F1511). I created Adaptation project for the same and i am not able to see available extension points in the SAPUI5 Visual Editor outline. Can you please assist?

     

    Regards

    Robin Singh

    /
        • Hi Lukas, these problems were fixed as part of UI5 version delivery. So, you shouldn't face them if you use UI5 version 1.78.17 or 1.84 and above.

           

          Regards,

          Hristo

          • HI Hristo, thanks for the quick reply. It indeed worked when I created a new project with that version. Is that only an issue in BAS or does the FLP also need to have this version for the extension to work properly?

            Also another question. I also tried to extend the PM Notification app that was mentioned by Robin (https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps('F1511')/S18OP) and it works fine. But when I want to adapt my own custom app BAS says the following:

            What exactly is the issue or what does BAS check here explicitely? My app is a simple freestyle test app with a button, a view extension point and a controller extension method.

            /
          • Hi,

            for the first question: If the previously missing ext. point was part of a template, than you need the newer version for the FLP also.

            for the second question: This error message is being shown if the app manifest does not have 'sap.ui5' section or you are having the 'flex_enabled' flag set to 'false' in your manifest 'sap.ui5' section.

            Regards,

            Hristo

  • Hi Hristo Tsolev ,

    I also have the same question as posted by Robin above regarding extension points in SAPUI5 Freestyle apps in Business Application Studio Adaptation project. And also in case of Extension Projects will they also be saved as App Variants like Adaptation Projects or will it behave the same way as in R3 system. Please help me to understand this

    Thanks,

    Kavita Rathore

    • Hi, Robin`s question/problem is handled in a support ticket, there is a bug in that case which is currently in the process of fixing. On your other question : from now on, whether working with extension points or not, each of your Adaptation project will be saved/deployed as its own app variant and will not have anything to do with the old way of extension project.

  • Hi Hristo,

    I am having issue to open SAPUI5 visual editor for adaptation for SAP standard app Approve timesheet. It is keep on loading the editor and never loading it. I saw it is not showing any error. Is it a know issue? I didn’t find any issue related thread.

    Thanks

    Guru

    • Hello Guru,

      It does not seem like a known issue. Can you please submit a support ticket and we will handle your issue right away, thank you.

      Regards,

      Hristo

  • Hi Hristo,

    I am having an issue opening SAPUI5 visual editor for adaptation of a SAP standard app in BAS. I am getting the below error. Could you please assist?

    “An error has occurred: Error: Request failed: error URI:        destinations//sap/bc/lrep/actions/getcsrftoken/”

    Thanks

    Ravindra

     

    • Hi Ravindra,

       

      please try to clean your cache and cookies for your browser and try again. Or open incognito session on your browser to be sure you are using a brand new session and the issue should be solved.

       

      Regards,

      Hristo

  • Hi Hristo,

    Will it possible to run the Adoption Project after making changes on BAS. Does I need to make some configration before i  test. Actually I tried to create run configration but I am getting message There are no runnable resources.

    With best regards,

    Mahendra

     

    • Hi,

      You can use the preview functionality (the tab labeled PREVIEW next to the one labeled EDIT) of Adaptation Project in order to see your application running.

       

      Regards,

      Hristo

  • Hi Hristo

    I logged on SAP CPC with my S-User and in SAP Business Application Studio (trial version) I have tried to adapt the project for my S/4 Hana on-premise. I have checked the destination connection successfully. Unfortunately in the adaptation project Configuration area, select applications dropdown returns "No Data Available ." If I missed anything, please let me know.

    Adaptation

    Adaptation

    Thanks

    B

     

    /
    Adaptation
    • Hi Bhaskar,

       

      Try removing your authentication method from the destination configuration, set it to 'no authentication'. If you start again the Adaptation Project Generator, you will be this time asked here in the generator for your user and password for the destination and if they are entered properly you will be presented with the list of available apps, or if not you will be provided with proper error message for your usage of credentials.

      Regards,

      Hristo

      • Hi Hristo

        Thank you for your reply.

         

        I have changed the basic authentication to ‘no authentication’ in the destination configuration. I have created a Fiori element project using the backend OData service, but the Adaptation project configuration getting the 403 forbidden error.

        403%20error

        403 error

        Thanks,

        B

         

         

        /
        403%20error
        • Hi Bhaskar,

          It seems that the user you are trying to use is lacking some rights. The application list is supposed to be retrieved from '/sap/bc/ui2/app_index' path in your destination/system. Please check if this path is accessible for this user.

          Regards,

          Hristo

          • Thanks Hristo.

            I was getting the "No Data Available" error in the applications list. /sap/bc/ui2/app_index was missing in cloud connector. This got resolved after I added /sap in cloud connector. (added in cloud connector-> cloud to on-Premise -> Resources of ... section)

            I am using CAL S4HANA 2020 trial (Azure) + BAS trial + Cloud connector

  • Hi Hristo

     

    I have a right to access the 'sap/bc/ui2/app_index' path, but I am not getting the existing applications from the system. I have checked with the authorization team also.

    Thanks in advance.

     

    Thanks,

    B

     

     

     

     

    • Hi Bhaskar,

      It is then a not known issue. In order for us to further investigate it deeply, could you please submit a support ticket to our component : CA-UI5-FL-ADP-BAS and it will be handled accordingly, thanks.

      Regards,

      Hristo

      • Hi Hristo

         

        Thanks for your help.

        I have resolved my issue. I found the problem which was that I missed some of the URL paths in the cloud connector.

         

        Thanks,

        B

         

  • Hi Hristo,

    Is it possible to use an adapt project to  adapt a s4hana  cloud  app and deploy it back to S4HANA CLOUD ?  If yes, is there any document about this ?

     

    Best regards!

    Jacky Liu

     

     

     

  • Hi Hristo,

     

    It seems impossible to create  an adapt project for S4hana cloud  fiori app. It is a pitty .

     

    Prerequisites

    Currently adaptation projects are supported only on on-premise ABAP systems with the minimum required version of software component being SAP_UI 7.53 SP00. Have in mind that, if you have SAP_UI 7.53 SP00 installed, you need to apply the SAP note 2615176 Information published on SAP site, and implement the manual correction instructions to enable the system. If you are on SP01 or higher, no actions are needed.

    The minimum SAPUI5 version must be 1.71.

    /
    Information published on SAP site
  • Hi Hristo Tsolev

     

    If some action from S4HC side can take to make adapt project for S4hana cloud  fiori app, it would be great  .For example,creat a adapt project for S4hana cloud  and deploy it in SCP launchpad .

     

    Jacky Liu

     

     

  • Hi Hristo Tsolev

    thank you for sharing this post! I am currently trying to extend a self developped app in the cloud environment without underlying S4 HANA System right in SAP Business Application Studio. I used this approach which does not work ( as it apparently only refers to SAP WEB IDE):

    Adding Custom Actions Using Extension Points - SAP Help Portal

    From your Post I understand that SAP Adaptation Projects only apply to standard Fiori Apps coming from a SAP S4 HANA System. How can I extend self developped apps right in BAS? Each time I created an adaptation project I was asked to enter a System which I do not have as there is no Backend System connected. If the adaptation project is not the way to implement an extension point for my app how else could I do it in BAS?

    I would be very grateful to receive an answer!

      • Hi Hristo Tsolev

        thank you for the answer. I have a current Fiori Elements App. I would like to implement a custom Button with a controller. js logic file in it without changing the whole App to a Freestyle app. I assume this could be easily done with an adaptation project. I do not see this option via fiori tools. Unfortunately adaptation projects only work for standard apps from an S4 system. Is there any way how I can implement that without an S4 System connected? e.g. with an additional Destination that I use as the system?

        • Hi Max,

          No, currently Adaptation Project supports only loading application from a system. If you setup just some destination that 'mimics' system it will not have the APIs needed for Adaptation Project to work.

           

          Regards,

          Hristo

  • Hi Hristo Tsolev,

     

    How to delete an app variant if the system isn't in SAP_UI 7.55 yet (I can't use report /UI5/DEL_ADAPTATION_PROJECT)?

    What I want is to deploy a newer version of an existing variant but I read it's necessary to delete first the previous adaptation project.

     

    Kind regards,

    • Hi Michael,

       

      SAP have plans to implement it for VSCode, but currently, due to other higher priority requirements I cannot give you any specific timeline for it.

       

      Regards,

      Hristo

  • Hello Hristo Tsolev ,

     

    We have an issue when extending a freestyle app using an adaptation project using Business Application Studio. Our UI5 version is 1.78.20

     

    When adding a fragment using an extension point no additional changes file is created:

    A new fragment file is created:

    But no additional changes files to link the newly created fragment to the extension point.

    What is going wrong here?

     

    Thanks in advance!

     

    Mattijs