Run a SAP Fiori Elements Application using Mockserver
Using mockserver and advance features in running SAP Fiori Elements application.
Overview
You will learn
- How to use mock server with SAP Fiori elements application
- How to create mock data with Data Editor
- How to add additional services to mock server
Prerequisites
Prerequisites
Steps
Check the dependency that the mock server is installed.
Check
package.json
Package.json Check
ui5-mock.yaml
ui5-mock.yaml If you need to install mock server manually to a project, see the following.
URLhttps://github.com/SAP/open-ux-odata
In the SAP Business Application Studio open the context menu by right clicking on your
webappfolder and select menu entry Preview Application.
Righ-click on webapp folder From the dropdown menu select
start-mock
Start-Mock If you see some status message in the console window and a popup-message telling you that the application will open in a new browser tab, click the
Openbutton to switch to the new browser tab.In the new browser tab showing your application, choose Go to load data.

Click go on list report to see data
When running an application using start-mock the mock data is generated on the fly. But, by using the Data Editor you can generate mock data that will be stored as .json format under the webapp/localService/data folder. Therefore, allowing you to change data and make it more meaningful for your application.
In the SAP Business Application Studio open the context menu by right clicking on your
webappfolder and select menu entry Open Data Editor.
Open DataEditor Data Editor opens with No Data. Click on
Create Mock Data
Create Mock Data Data will be generated for each entity and property combination and stored under
webapp/localService/data
Mock Data Preview your application using
start-mockagain and the application will be using mock data from the stored location.
In the step above you generated mock data for your table. But your application also has a filter bar that is still connected to the backend for its Value Help.

You can also see the call in your metadata.xml file.

To test this out you can also disable the backend and check that the Value Help does not open. Open your ui5-mock.yaml file, and comment out the backend call.

Validate that Agency Value help does not open.
If you still see data in Value Help,please make sure you stop your server and restart.
Before proceeding to the next steps, please enable your backend.
To be completely off-line, you would need to add additional mock services for each of the Value List References in your metadata.xml. In this step you will add a mock service for Agency that will support your Value Help.
To mock the service for Agency value Help you need the following:
- Agency Value Help metadata file
- Agency Value Help service URL (
urlPath) - A
config.jsonfile that will tell mock server where to find these file - Adjust your
ui5-mock.yamlfile to read your newconfig.jsonfile
Agency Value Help metadata
Open the application and click on the Agency Value Help button.

Agency Value Help Button Go back to your projects Terminal , you should see a dedicated info server:ux-proxy call to a new $metadata file.

Metadata call It might help to use notepad to construct the following
url.Construct a new URL to your Agency value help metadata file by combining from your running application
https://xxxx.xxx+ Metadata Call
New Metadata File You should see the new metadata document, save it to
webapp/localService/AgencyVHMetadata.xmlAgency Value Help service URL (
urlPath)urlPath- is the path you copied from your info server:ux-proxy without the $metadataPutting it all together in a new
config.jsonfile.Right-click on
localServicefolder and selectNew File. Create theconfig.jsonunder the following pathwebapp/localService/config.json.From your
ui5-mock.yamlfile copy the service-configuration.
UI-Mock Copy Depending on where you place your
config.jsonadjust the path for the metadata file inmetadataPathand the mock data inmockdataPath.JSON[{ "urlBasePath": "/sap/opu/odata4/sap/zfe_ui_travel_o4_######/srvd/sap/zfe_ui_travel_o4_######/0001", "name": "", "metadataPath": "./metadata.xml", "mockdataPath": "./data", "generateMockData": true }]Paste the code into your new
config.jsonfile.You will need to add parenthesis and double quotes since the format of the
.jsonfile is different then the.yamlfile.
Config File In your
ui5-mock.yamlswitch the configuration to use theconfig.jsonfile that you created earlier.It is extremely important that the
yamlfile reflects hierarchy.In order to do that you need to replace your
sap-fe-mockservercode snippet with this:YAMLname: sap-fe-mockserver beforeMiddleware: csp configuration: mockFolder: webapp/localServiceValidate that your mock server still works by executing
start-mockcommand under Preview ApplicationIf you are running into issues, make sure your formatting of the
ui5-mock.yamlis correct.
ui5-mock.yaml formatting Adding the new configuration to your
config.jsonurlPath- is the path you copied from your info server:ux-proxy without the $metadatametadataPath- reflects the path and the name of your new metadata file that was saved in the above step.
JSON{ "urlPath": "/sap/opu/odata4/sap/zfe_ui_travel_o4_######/srvd_f4/dmo/i_agency/0001;ps=%27srvd-zfe_ui_travel_######-0001%27;va=%27com.sap.gateway.srvd.zfe_ui_travel_######.v0001.et-zfe_c_travel_######.agencyid%27", "name": "", "metadataPath": "./AgencyVHMetadata.xml", "mockdataPath": "./data", "generateMockData": true }
New Config File After restarting your application using
start-mockyou should see mock values in your value help dialog for Agency.
New Application using mock Value Help Currently the data editor only supports the saving of a single mock service. For the time being, you may see a difference between table data (which was created in Step 2) and value help.
Resources
Discussion
Share feedback on this tutorial or join the conversation in SAP Community.