Create a Customer Record in an MDK App
- How to create a customer record
- How to store changes locally on Mobile app and sync these changes with backend
Prerequisites
- You have created an MDK app as described in Create Your First Mobile App with the Mobile Development Kit (MDK).
If you didn’t follow the prerequisite then You may clone an existing metadata project from the MDK Tutorial GitHub repository to start with this tutorial.

- Step 1
In this step, you will create a Section page with a Form Cell Section to contain the Form Cell controls. You will add the fields that will be editable by the end-user.
-
Right-click the Pages folder | MDK: New Page | Section | Next.

-
In the Base Information step, enter the page Name as
Customers_Createand click Finish to complete the page creation wizard.
-
Once the page opens in the page editor, click on the white area to select it’s Action Bar, and set the Caption to Create Customer.

-
Now, you will add the fields (like first name, last name, phone, email address & date of birth) for creating a new customer record by the end-user. In the Layout Editor, expand the Static Container group. Drag and drop Form Cell section onto the Page area.

Form Cell section is used to contain Form Cell controls in a section page.
-
You will now add Form Cell controls in the Form Cell section. Expand the Form Cell Controls group, drag and drop a Simple Property onto the Page area.

-
Drag and drop three additional Simple Property controls onto the page so you have four total controls.

-
Select the first Simple Property control and provide the below information:
Property Value NameFCCreateFirstNameCaptionFirst NamePlaceHolderEnter Value
-
Select the second Simple Property control and provide the below information:
Property Value NameFCCreateLastNameCaptionLast NamePlaceHolderEnter Value
-
Select the third Simple Property control and provide the below information:
Property Value NameFCCreatePhoneCaptionPhoneKeyboardTypePhonePlaceHolderEnter Value
To streamline data entry, the keyboard displayed when editing a
SimplePropertyFormCellshould be appropriate for the type of content in the field. If your app asks for number, for example, it should display the phone keyboard. -
Select the last Simple Property control and provide the below information:
Property Value NameFCCreateEmailCaptionEmailKeyboardTypeEmailPlaceHolderEnter Value
KeyboardTypestreamlines the data entry. When entering an email address, it would display the email address keyboard in mobile clients. -
Drag and drop a Date Picker control onto the page area for date of birth parameter.

Provide the below information:
Property Value NameFCCreateDOBCaptionDOB
Which UI technology is used by the Mobile Development Kit (MDK) client to display views?
-
- Step 2
While creating a customer record, you may want to close the current page and cancels or interrupts any execution in process.
Now, you will add a button on the Create Customer page and set it’s
onPresstoCloseModalPage_Cancel.action.-
Drag and drop an Action Bar Item to the upper left corner of the action bar.
Action Bar Item is a button that users can use to fire actions when pressed. You can add an Action Bar Item only to the Action Bar (at the top of the page).

-
In the Properties pane, click the link icon to open the Object Browser for the System Item property. Double click the Cancel type and click OK.

System Item are predefined system-supplied icon or text. Overwrites Text and Icon if specified.
-
Now, you will set the
onPressevent toCloseModalPage_Cancel.action.In Events tab, click the dotted icon for the
OnPressproperty to open the Object Browser. Double click theCloseModalPage_Cancel.actionand click OK to set it as theOnPressAction.
-
- Step 3
The next step is to store newly created record locally for an offline application or send the new record directly back to the backed for online applications.
- You will add an Action Bar item on the
Customers_Create.pagethat will call an OData Create Entity action to save the record - You may want to close the page when the OData Create Entity action is successful
- You may want to show a failure message if the OData Create Entity action fails to save the changes
First, add an action bar item on the
Customers_Create.page.-
In
Customers_Create.page, drag and drop an Action Bar Item to the upper right corner of the action bar.
-
Click the link icon to open the object browser for the System Item property. Double-click the Save type and click OK.
-
Navigate to the Events tab. Click the dotted icon for the
OnPressproperty and select theCreate a rule/action.
-
Keep the default selection for the Object Type as Action and Folders path.

-
In the Template Selection, choose Data in Category | click OData Action | Next.

-
In the Base Information step, provide the below information:
Property Value NameCustomers_CreateEntityTypeSelect CreateEntityfrom the dropdownServiceSelect com_sap_edm_sampleservice_v4.servicefrom the dropdownEntitySetSelect Customersfrom the dropdown
-
Click Next.
-
In Property and Create Links step, uncheck City.
Since in
Customer_Create.page, you defined five properties (First Name, Last Name, Phone, Email & date of birth) to be added, now in this step, you will bind them to respective UI Controls.Check the
DateOfBirthproperty and click the link icon to open the object browser.Change the drop down in the object browser to
Controls & ClientData, click the Current Page radio button.In the search box start typing the control name
FCCreateDOB. The list will filter down to show the matching values. Double click the Value (Value) entry under theFCCreateDOBfield and click OK to set binding.
-
Repeat the above step for remaining properties:
EmailAddress,FirstName,LastNameandPhoneNumber.
-
Click Finish to complete the action creation process. The action editor will open with the
Customers_CreateEntity.actionloaded.You can find more details about Create Entity Action.
-
When the above OData action is executed, you may want to display messages on its success and failure behavior. For example, on its success, you may want to close the page and allow any execution to continue. On its failure, you may want to display an error.
In the
Customers_CreateEntity.action, scroll down and expand the Common Action Properties section. Click the link icon to open the object browser for the Success Action and bind it toCloseModalPage_Complete.action.
-
Create a message action displaying error in case of the update failure. In the
Customers_CreateEntity.action, click theCreate a rule/actionicon for the Failure Action.
-
Keep the default selection for the Object Type as Action and Folders path.

-
In the Template Selection step, choose Message in Category | click Message Action | Next.

-
In the Base Information step, provide the below information:
Property Value NameCreateCustomerEntityFailureMessageTypeSelect Messagefrom the dropdownMessageFailed to Create Customer record - {#ActionResults:Customers_CreateEntity/error}TitleCreate CustomerOKCaptionOKOnOK--None--CancelCaptionleave it blank OnCancel--None--
Customers_CreateEntityis the Action Result value of theCustomers_CreateEntity.action. This reference is used to pass the results to subsequent actions in the chain. These actions can reference the action result as needed. In this case if there is a failure, you access the error property of the action result to display the OData failure message.This is the standard Binding Target Path (also called Dynamic Target Path) syntax used when you need to include a binding with other bindings or within a string as used in the message here.
You could exclude above expression and can just display a generic message.
-
Click Finish to complete the action creation process.
When
Customers_CreateEntity.actiongets executed successfully thenCloseModalPage_Complete.actionwill be triggered or ifCustomers_CreateEntity.actionfails thenCreateCustomerEntityFailureMessage.actionwill be triggered.
What is the DateOfBirth property value passed in the Customers_CreateEntity.action?
- You will add an Action Bar item on the
- Step 4
You will open the
Customers_Create.pagefrom the Customer List page. For this, you will add an action bar item on the List page and will link it to a navigation action. When the action bar item is pressed by the end-user that will open theCustomers_Create.page.-
In
Customers_List.page, drag and drop an Action Bar Item to the upper right of the action bar.
-
Click the link icon to open the object browser for the
SystemItemproperty. Double click the Add type and click OK.
-
Navigate to the Events tab. Click the dotted icon for the
OnPressproperty and select theCreate a rule/action.
-
Keep the default selection for the Object Type as Action and Folders path.

-
In the Template Selection step, choose UI in Category | click Navigation | Next.

-
In the Base Information step, provide the below information:
Property Value NameNavToCustomers_CreatePageToOpenSelect Customers_Create.pagefrom the dropdownModalPageSelect truefrom the dropdown
-
Click Finish to complete the action creation process.
-
- Step 5
You will now deploy the updated project to your MDK client.
Click the Deploy option in the editor’s header area, and then choose the deployment target as Mobile Services .

- Step 6
Make sure you are choosing the right device platform tab above.
You can cross verify if a record has been updated in the backend.
Backend URL can be found in Mobile Services Cockpit.
Mobile Applications → Native/MDK → click the MDK App myapp.mdk.demo → Connectivity → click Launch in Browser icon

It will open the URL in a new tab, remove
?auth=uaaand add/Customersat the end of the URL.
When is DownloadOffline action in Mobile application being called?