Data Loader


In a Nutshell

The heart of the Master Data Management module is the Data Loader. With it, you can download master data templates for specific data objects and upload when completed, update or overwrite existing data, or download object data resources saved to the cloud. The Data Loader feature validates for errors, such as missing required fields and format inconsistencies.

When complete, this data will be used in all SAP Field Service Management applications, from Knowledge Management, to Workforce Management, to the mobile application used by employees and technicians.

As an example, let’s take an Activity.

In order to create a Activity, you would use the following information:

1 A Business Partner (customer) who recevies the service.
2 An Address where the service takes place.
3 A Person to whom to assign the service call.
4 A Contact with which the technician (person) can coordinate a service call.
5 Equipment to be repaired.

All of this information can be uploaded using the Data Loader and managed using the Master Data Management app.

Note: Data Object templates are available in CSV, XLS, and XLSX format. Data must be encoded in UTF-8.

Identifiers

Identifiers are the key, unique value for each data object record. They are used to form connections between various data object records.

For example, a Business Partner, Contact, Equipment record, and Activity could all be connected through the businessPartnerID with the the Business Partner. The businessPartnerID can be represented by the code or the name of the Business Partner.

Note: The objectId field which refers one object to another object always uses externalId as the identifier.

The following is a example of how equipmentId and businessPartnerId connect business partners, projects, equipment, and activities:




ID Logic

Import Logic

When uploading data, the id column of your data will be stored as the externalid in the database. The application assigns its own, internal ID to the records.

Attention: When an externalId is uploaded, it may only be comprised of alphanumeric characters, underscores or hyphens.


Export Logic

When exporting the data, the externalID is displayed as the id and the internal ID of the record is not exported.


Update vs Create New Logic

Please note the following differences between the identification logic used to determine a record match when updating a record, and how IDs are assigned when creating a new record:

Update Existing Record Create New Record
When updating an existing record, the cloudID, code, and externalId are checked by the application to determine if a match exists. When creating a new record, the ID from the uploaded file template will become the externalId value in the cloud.

User-defined Fields

You can expand on data object templates by adding user-defined columns to the file. Upon successful upload and validation, these values will be available for the selected data object type.

UDF column names will use the following pattern:

udf.general_image[string]

With the user-defined field column name preceded by udf and a period (.) and followed by the data type in square brackets.

Valid Delimiters

Please note that _ (underscore) can be used to delimit UDF fields (example: example_udf_field).

However, dashes - are not supported and cannot be validated (example: example-udf-field).


CSV Format

CSV stands for “comma-separated values”, and is a flat format commonly used to exchange tabular data between programs, as most programs support CSV format for data import and export. CSV-formatted data is commonly used to transfer information from database programs that stores data in a proprietary format to a spreadsheets that use another format.

The following is an example of CSV-formatted tabular data:


Columns without data are still reprsented with a comma-dileneated break, as seen in the missing dateOfBirth field in the last entry in the above image.

Rules for formatting data in CSV

  • Column order can differ from that contained in the template, but record data must remain consistent.
  • Column names must align with those present in the templates.
  • Rows with missing column data must use a comma-delimited break.
  • The Data Loader currently only supports column separation using comma.

Using these rules, we could then represent CSV-formatted data as follows:


This would then be processed the same as the data contained in the first image.


Data Loader Templates

The Data Loader Templates are used to upload data managed in other systems to the SAP FSM Cloud for use in the Field Service Management applications. The fields contained in the template references correspond to the column names used in the SAP FSM Cloud Data Model.

The id columns may refer to:

  • the externalId property supported in version 4 of the Data API
  • the code property (generally specific to ERPs)
  • or to name property, or even to userName/emailAddress.

This column is used to connect data objects to one another. For example, a Contact record could specify the id of a Business Partner, which would then connect the Contact to the Business Partner.

Select the data object template you would like to learn more about from the header row below. You can then toggle between data object templates to view how connections can be made between them using the id field.

Note: All required data template columns are indicated by an asterisk (*). All unrequired columns can be removed if not needed for data import.


Address Template


Field Description
block If applicable. The block associated with the address.
building If applicable, the building associated with the address.
city The city in which the address is located.
country The country in which the address is located.
county If applicable, the county or regional unit in which the address is located.
defaultAddress Used to indicate if the address is the default.
floor The floor on which the address is located.
id* Required. The unique ID associated with the address. This ID is used to connect the address record to another record type, such as a BUSINESSPARTNER.
name The name of the address.
name2 If appliable, a second or alternative name.
name3 If applicable, a third or second alternative name.
object.objectId The object ID that the address refers to (example: the code associated with the BUSINESSPARTNER.)
object.objectType The type of object to which the address references (i.e. BUSINESSPARTNER, if the address is for a BUSINESSPARTNER).
postOfficeBox The Post Office Box numer (PO Box) associated with the address.
remarks Remarks or notes related to this address, can be used for any string based content which contains necessary information.
room If applicable, the room in which the address is located.
state If applicable, the state in which the address is located.
street The name of the street on which the address is located.
streetNo The street or house number associated with the address.
type The type of address used to categorize the address (example: shipping, billing, default, etc).
zipCode If applicable, the ZIP Code associated with the address.
location.location_regex If applicable, the latitude and longitude of the address.

Attention:Please note that this requires the following format with no separating comma: 33.33 44.44

Business Partner Template


Field Description
additionalName The additional name for this business partner.
city The city of the main address of this businesspartner (used to search and display in list) -> may overlap with the default address city.
code System code of this object, normally this correlates to the erp id given by the source system.
country The country associated in which the main address of the Business Partner is located.
creditLimit.amount The credit limit of this businesspartner, specified as a monetary amount to be most precise and formattable.
creditLimit.currency The currency associated with the credit limit.
currency Currency of this business partner. Business partners that have multiple currencies are indicated by not assigning any currency.
emailAddress The public email address.
fax The fax machine number.
groupCode The code of the group which the business partner belongs to. This must be a value which is also present in the BusinessPartnerGroup model.
groupName The name of the group which the business partner belongs to. This must be a value which is also present in the BusinessPartnerGroup model.
id* The unique ID of the business partner.
language The default language settings value when an offline reports is generated on the client.
mobilePhone The mobile phone.
name The name of the business partner.
officePhone The office phone number.
otherPhone If applicable, another phone number associated with the business partner.
password The business partner password.
paymentTerm Associated payment term.
paymentType Link to default payment type.
priceList Specifies the pricelist assigned to this businesspartner. The pricelist is used during creation of sales orders, materials and other objects which allow to choose items to calculate the prices.

Business Partner Group Template


Field Description
businessPartnerCode The code associated with the business partner.
id* The unique ID associated with the business prtner group.
name The name of the business partner group.

Contact Template


Field Description
birthDate The birth date of the contact.
code System code of this object, normally this correlates to the ERP id given by the source system.
defaultContact Indicates if this is the default contact of a business partner.
emailAddress The email address of the contact.
fax The fax machine number.
firstName The first name of the contact.
gender The gender of the contact.
id* Required. The unique ID associated with the contact.
lastName The last name of the contact.
mobilePhone The mobile phone number.
object.objectId The ID of the object to which the contact information refers to (i.e. a specific BUSINESSPARATNER).
object.objectType The type of object which the object references (e.g. a BusinessPartner if this is a BUSINESSPARNTER contact).
officePhone The office phone.
otherPhone If applicable, another phone.
pager If applicable, the pager number.
positionName The name of the contact's position.
profession The name of the contact's profession.
remarks Any remarks related to the contact.
remarks2 Additional remarks related to the contact.
skypeName The skype name/ID of the contact.
title The title of the contact.

Equipment Template


Field Description
businessPartner Business partner reference to which this equipment belongs.
code System code of this object, normally this correlates to the erp id given by the source system.
contact Responsible contact person on business partner side.
globalUniqueId Global unique (in the cloud scope) equipment identifier.
id* The unique ID associated with the equipment record.
item Indicates which item this equipment represents.
manufacturerSerialNumber Serial number of the item (equipment) manufacturer.
name Name of the equipment at customer side.
parentId References a parent equipment for this one.
remarks Remarks or notes of this equipment, can be used for any string based content which contains necessary information.
serialNumber The serial number of this specific equipment (may be identical to manufacturer serial number in some cases).
serialNumber2 Indicates which item this equipment represents.
status Status of the equipment.
type Type of the equipment.
udf If applicable, any User-defined field associated with the equipment record.
NEW1[float]

Item Template


Field Description
code.groupCode System code of the assigned ItemGroup's object.
groupName System name of the assigned itemGroup's object.
id* Required. The unique ID associated with the item record.
inventoryItem Indicates if this item is an inventory item
mangedByBatches Indicates that the item is managed by batches.
managedBySerialNumbers Indicates that the item is managed by serial numbers.
name Display name of the item.
nameTranslations If applicable, the displayed translation name of the item.
ordinal Ordinal number of the item.
properties Additional properties to detailed specify the item and its properties
purchaseItem Indicates if this item can be used for purchase orders.
remarks Remarks or notes of this item, can be used for any string based content which contains necessary information.
salesItem Indicates if this item can be used for sales documents.
serialNumberItem Indicates if this item can have serial numbers assigned.
typeCode System code of the assigned ItemType's object.
typeName System name of the assigned ItemType's object.
unitofMeasure Unit of measure used for this item.

Payment Term Template


Field Description
code.id* System code of this object, normally this correlates to the erp id given by the source system.
name Display name of this object.
priceList Pricelist associated with this payment term.

Payment Type Template


Field Description
businessPartnerType Indicates the BusinessPartnerType.
code.id* System code of this object, normally this correlates to the erp id given by the source system.
name Display name of this object.
type Type of this payment.

Person Template


Field Description
address Address of the person.
branchCode System code of the employee branch object.
branchN