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 thous as easy as old good Web UI.
In this blog I will try to show how it`s possible to modify UI5 applications for Solman.
Concept
Lets assume that we would like to make Categorization field mandatory in Indecent UI5 APP:


To modify the code we would need i.e. Web IDE.
System connection
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):

If app is big, you can get timeout, while downloading it. In that case you can also use program – /ui5/ui5_repository_load Enter the name of the SAPUI5 app and specify whether you want to update, download, or delete it. You can also specify whether or not the line endings are adjusted automatically during the upload. In contrast to the ABAP team repository provider, the report does not offer a built-in code merge.
To upload an SAPUI5 app from a zip or war archive, use the report /UI5/UI5_REPOSITORY_LOAD_HTTP.
To upload multiple SAPUI5 apps from a zip or war archive at once, use the report /UI5/UI5_REPOSITORY_LOAD_HTTPN
Modify Application
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:

You may Deploy your APP as a replacement for an existing AI_CREATE_INC one. It will be easy and fast, but then when you upgrade your system, changes may be lost.
To deploy your app you still need to have developer key in the system. So you would need to open AI_CREATE_INC to edit mode and provided Developer and Object key to the system. It can be done in Gui with transaction se80 for BSP application AI_CREATE_INC.
Otherwise you may get following error during the deployment:

Deploy own Z application
To avoid the lost of your changes after upgrade you may also deploy your app as your own Z one. Then after the deployment, you would need to perform some extra steps, to make it avalieble:
Let`s review this process in details:
Create a Launchpad Role.
Run transaction LPD_CUST in Solman Gui.
- Click on “New Launchpad”
- Enter the following details in the popup
- Role i.e. Z_CR_INC
- Instance: TRANSACTIONAL
- Description: i.e. Create Incident
- Click on Yes if asked “Are you sure that you don’t need a namespace”

- Click on “New Application”
- Enter the Details below:

- Click on the “Edit” button next to URL field
- Enter the BSP Application URL of the SAPUI5 Application you uploaded:
The URL is composite of: /sap/bc/ui5_ui5/sap/ + <your_bsp_name>
Here our app URL is: /sap/bc/ui5_ui5/sap/ZCREATEINCIDENT

- Click on button “Show Advanced (Optional) Parameters.
- Click on the “Edit” button next to Application Alias field,
Enter : ZXXX
(Here we use “ZCREATEINCIDENT”)
- Edit Additional Information: SAPUI5.Component=you.app.namespace
(Here namespace is “sm.itsm.createincident”)
- Attention : “SAPUI5.Component=” is case sensitive.
- Click on “Save” button

Create a Semantic Object
Run transaction /UI2/SEMOBJ
- Click on the “Edit” button
- You may get a message informing that the table is cross-client, click on “OK”

- Click on “New Entries” button
- Enter the following:
- Semantic Object:
ZCREATEINCIDENT
- Semantic Object Name:
ZCREATEINCIDENT
- Semantic Object Description:
Create Incedent
- Click on “Save” button
- Chose your transport request (can be created in se01).

Create your tile with Fiori Launchpad Designer
Fiori Launchpad Designer is available in your solman by the following link: http://<yourservername>:<port>/sap/bc/ui5_ui5/sap/arsrvc_upb_admn/main.html
Once you open it, push the gear icon In the top left corner and select WB transport request which you would use, and package name (this can be created in se01, and se80 transactions correspondingly of solman gui):

- Select the catalog in which you would like to create your app (in example IT Service Management).
- Click “Target Mapp…” icon to switch Switch IconTabBar to Target Mapping table.
- Click “Create Target Mapping” button, Create static Target Mapping.

- Select Application Type as SAP Fiori APP using LPD_CUST
- Fill up the fields with your data
- Click on Save to save your Target Mapping

Click on the “plus” tile of Detail Page:

Click on “App Launcher – Static” tile to create a Target Mapping

Select your newly created semantic object and save.

Now you can finally start using your APP!
Further Information
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.
For more information on Fiori Launchpad Designer in Solman you can also check out
Special Thanks for Shmyrev Maxim and Antoine Duan who made this post possible.
Nice Blog !
Will be helpful for many Functional Consultants 🙂 Including myself.
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?
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
http://yourservername:<port>/sap/bc/ui5_ui5/sap/arsrvc_upb_admn/main.html
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…
Thank you for detailed blog, it's very helpfull.
Can you show the steps for this two point?
Anton Malaiko I updated the article a little bit, on your request =)
I've done all the steps, but in my environment it keeps running the old version of the software.
Hi Thiago, have you tryed to update the cash as was suggested in Cache Maintenance in Fiori link?