CX Works

A single portal for curated, field-tested and SAP-verified expertise for your SAP C/4HANA suite. Whether it's a new implementation, adding new features, or getting additional value from an existing deployment, get it here, at CX Works.

SAP Field Service Management: Screen Configuration

Screen Configuration documentation


SAP Field Service Management: Screen Configuration


This article provides an overview on how to use the Screen Configurations tool to customize the supported screens in the mobile and web based SAP Field Service Management applications. After reading this article, you should have an understanding on how to access screen configurations and how to use it within your organization.

Table of Contents

Introduction

With SAP Field Service Management (FSM), you will find yourself navigating through a variety of screens on the mobile application or the web-based application. Of course, not all of our standard fields may be relevant to you. With the Screen Configuration tool, you can structure the layout and order the fields in the way that is best relevant to you and your organization. The tool also allows you to edit field names, add additional custom fields, hide fields, make fields required, make fields editable or readable only, as well as configure basic and advanced validation settings.

Access and Navigation

The Screen Configuration tool is accessible from the Admin module.

First, go to the Companies tab, and select the specific company that you want to adjust the screens for.

Next, select the 'Screen Configurations' tab.

You should now see a list of all the screen that are available for you to configure.

Each row is for a specific screen that you can configure. It lists the Screen Configuration name (i.e. Activity Mobile) and the description of what the screen is for. To begin editing a specific screen configuration, click on the blue pencil icon at the end of the row to begin making changes.

Once you do that, you should now see a screen similar to the following.

This right side of the screen titled 'Standard', lists all the fields that are available for you to configure on this screen.  The sections below that are for creating a new custom field and to show you a list of all the custom fields that you have already created.

The large left side of the screen displays the cards where the fields are held. A Card is a grouping of fields that appear together in the mobile or browser-based application separated by a divider from other cards/field grouping.

Cards appear on your browser and mobile application in order from left to right. For example, cards on the far left, will appear above the card to the right of it on the mobile device.

You can rearrange the order of cards and fields simply by using the drag and drop functionality.

You can also 'Active' and 'Deactivate' the Screen Configuration on the top menu.

You can only have one screen configuration per screen active at a time.


Settings

Each field you see can be edited under 'Settings' by clicking on the three dots next to each field.

From here, you can see all the options that you can configure for each screen.

You can configure the following under the 'Basic Settings':

Label

The label allows you to rename the field from its current name to a name of your choosing.

Default Value

The default value can be used to display a specific value when creating a new record. The following values are supported with the Default Value:

  • String values
  • Number and decimal values
  • Boolean values (when applied to a field such as 'Chargeable', instead of saving true/false, the screen configuration application will save ‘CHARGEABLE/NONCHARGEABLE’ as default value in the field configuration)
  • dateTime values (in the format ‘2012-04-23T18:25:43’)
  • duration values (in milliseconds)
  • Enumeration: the Screen Configuration application allows users to select a default enumeration value. The enumeration CODE will be saved as default value in the field configuration.
  • setting a field that displays a linked object to empty: “defaultValue”:null (Example: material.warehouse)

    Since all of the above are strings in JSON, they must be formatted using the English standard (e.g “1.25” instead of “1,25”). The apps will parse them as formatted in English and display them according to the current language settings.

Visibility

The Visibility setting allows you to determine if a field is visible or not.

Editability

The Editability setting allows you to specify if the field is editable or read-only.

Requiredness

The Requiredness setting allows you to specify if the field is required or not.

Advanced Settings

The Advanced Settings allow you to add custom expressions for Default Value, Visible, Editable, Required, Input Validation, and a Validation Error Message.

Each of these settings need to return a specific value type.

Visible Expression

The Visible expression must return a boolean value indicating if the field is visible or not.

Editable Expression

The Editable Expression must return a boolean value indicating if the field is editable or not.

Required Expression

The Required Expression must return a boolean value indicating if the field is required or not.

Default Value Expression

The Default Value Expression can return a string, number, boolean, datetime, or duration.

Validation Expression

The Validation expression must return a boolean value indicating if the entered value is valid or not.

Validation Error Message

The Validation Error Message defines the text to be displayed to the user when the field is not valid according to the Validation Expression. 

Example Expressions

Required

The following makes the effort field required if the effort is not chargeable:

${effort.chargeable} === 'NONCHARGEABLE'
Editable

The following makes a fields as editable or not, depending on whether the service call's problem type is "Maintenance"

${serviceCall.problemType.name} === 'Maintenance'
Visible

The following will show if the field has a value. "Undefined" is used to identify and determine if a field is blank.

${mileage.distance} !== undefined

The following will show if the distance doesn't have a value.

${mileage.distance} === undefined

The following will show if the travelStartDateTime field is after the current date.

${mileage.travelStartDateTime} > new Date()

The following will show if the travelStartDateTime field is on the 7th day of the week.

${mileage.travelStartDateTime}.getDay() === 6

The following will show if the travelStartDateTime is on any date of 2016.

${mileage.travelStartDateTime}.getFullYear() === 2016
Validation

The following will limit the number of characters that users can put in for the effort remarks field.

${effort.notes} == undefined || ${effort.notes}.length <= 250
Custom Fields

In order to reference custom fields (UDFs) in your expressions, you will need to use the following syntax:

<entity>.udfMeta.<fieldName>

The <entity> would be replaced by the parent object of the UDF and the <fieldName> would be replaced by the specific field value.

Example:

businessPartner.udfMeta.AccountStatus

Conclusion

This article introduced you to the fundamentals of screen configuration. You should now have an understanding of how to use the screen configuration tool to customize the screens to meet your specific needs.

You can find out the limitations of our screen configuration tool by reviewing the following link:

Screen Configuration Limitations

For a list of all the Data Objects that are available for you to reference, please review our data object mapping.

SAP FSM Data Model

To keep up with changes and updates in the screen configuration tool, please use the below link.

Screen Configuration documentation