Skip to Content

If you was configuring Solution manager Web UI in the past, you may know that it`s very easy to make fields mandatory there. But now SAP introduced new UI5 applications for ITSM, and Charm, and we can`t change them as easy as good old Web UI.

In this blog I will try to show how it`s possible to modify UI5 applications for Solman.

Lets assume that we would like to make Categorization field mandatory in Indecent UI5 APP:

For that we would need Web IDE.

You can use either online or offline edition. I will describe how we can modify apps with Personal Edition Web IDE (offline one).

After installation of Web IDE you would need to connect to your system. For that you can create a flat test file with destination configuration in the folder were you installed Web IDE (i.e. C:\SAPWebIDE\config_master\service.destinations\destinations\SID):

Description=SID
Type=HTTP
TrustAll=true
Authentication=NoAuthentication
Name=SID
ProxyType=Internet
URL=http\://address\:port
WebIDEUsage=odata_abap,ui5_execute_abap,dev_abap
WebIDESystem=SID
WebIDEEnabled=true
sap-client=001

Then you can run C:\SAPWebIDE\orion.exe and try to access your personal Web IDE, by opening the following link in your browser:

http://localhost:8080

There you would be able to create a new account and login to the Web IDE:

Once this is done, you would need to import application from your system:

To get the list of application (or to run the application) you would need to provide your username and password for the system:

Then you would need to select corresponding application, which you would like to change. In example for incidents app we can select AI_CREATE_INC application, and copy it to the Z namespace:

Then you can check if you can also run this application (some times you may need to run this app several times):

Now we can finally change the code of the standard app. As soon as we would like to make category field mandatory, we need to perform 2 changes:

  • We will add a star to the input screen, to show that this field is mandatory:

For that we would need to change view file in the standard app (Details.view.xml). So we will add required=”true” parameter to the Category Lable, then we can try to save the app and see that our changes are really working:

If all was done correct we would be able to see that now our Category field is marked as mandatory one:

  • But then we would also like to add check for this field. To show the error if the field is not filled:

To achieve this, we would need to modify controller file of the app (Details.controller.js). But when we open it first time the code of the controller is displayed as one string, so if we would like to to read it we would “Beautify it”:

Then we would be able to analyze the code.

In the code I can see that there is already onSave: function() exists, which also reads Category Input:

So i will just add my check here, similar to the one which we already have in the code:

			if (d == null) {
				v.byId("CategoryInput").setValueState("Error");
				n = false;
			}

Now we can run application once again and confirm that our check is actually working:

After that we can finally deploy our application back to the server:

If you would like to know more about MVC model, used in Fiori apps or in general about UI5 development, i would really recommend you Developing Web Apps with SAPUI5 course on open SAP.

 

Thanks for Shmyrev, Maxim, who made this post possible.

 

To report this post you need to login first.

4 Comments

You must be Logged on to comment or reply to a post.

  1. Riccardo Escher

    Very informative, thanks. One question. You change by copying. What will you do when SAP changes the original app (for example because of bug fixing), and how will you be alerted that the original app has changed?

    (1) 
    1. Rodion Rodionov Post author

       

      Hi Ricardo. Good question. Once SAP will release new version of the app, your changes may be overwritten if you will make them in the original app.

      So it may be beneficial to copy your app in to the customer namespace. Then you may also need to

      But then, when SAP will change the original app, there wouldn`t be any alerts or automatic changes in your app. So you would need to start using the standard app or change your own app back, to reflect SAP changes…

      (0) 
      1. Anton Malaiko

        Thank you for detailed blog, it’s very helpfull.

        Can you show the steps for this two point?

        • Create a new Launchpad  Role  in t-code LPD_CUST
        • Create  a  Semantic  Object  in  /UI2/SEMOBJ

         

        (1) 

Leave a Reply