Configuring SAP SuccessFactors with XML files

Objectives
After completing this lesson, you will be able to:

After completing this lesson, you will be able to:

  • Modify the Extensible Markup Language (XML) files
  • Validate the Extensible Markup Language (XML) file with a Document Type Definition (DTD) file
  • Verify that the Extensible Markup Language (XML) file is well-formed
  • Define the key Extensible Markup Language (XML) terms
  • Configure the Succession Data Model to Make Changes in SAP SuccessFactors
  • Import and Export the Succession Data Model XML in Provisioning
  • Download the Succession Data Model from Admin Center
  • Navigate in the Different Elements of the Succession Data Model

XML

XML is an abbreviation for eXtensible Markup Language which is one of many markup languages devised for different purposes. It was designed primarily to transmit data between disparate computer systems that would normally not be able to interact. It is sometimes described as a bridge language because it can be used as a common language that two computer systems can use to communicate with each other. XML is special because it does not contain predefined tags. XML tags are defined only by the user and this is what makes it an extensible language.

A further advantage of XML as a language is that it is fairly easy for humans to read and understand.

HTML is another markup language that is widely known since it is used for building web pages. While XML and HTML have some similarities in the syntax they use, they are designed to meet different business needs. HTML is designed to display data in a Web browser whereas XML’s objective is to store and transmit data. But they are both forms of SGML, or Standardized Generalized Markup Language, which is itself a standard.

XML is widely used and there are several resources on the web to help people learn basics about the language. One particularly helpful website, W3 Schools, has an excellent tutorial on XML:

W3 Schools XML Tutorial

XML Tree

XML is structured into a tree where the family members are called elements. An element describes the data that it contains. The first element in an XML document is called the root element. Elements can contain sub-elements and can also have attributes. Sub-elements are often referred to as child elements. Child elements are always nested inside of parent elements.

An XML tree always starts with a root element. As in a family, XML has parents and children.

Sample XML

Two other topics that are crucial to working with XML are tags and attributes.

Tags

Tags are used to identify elements not only to humans but to computers that must read XML. The easiest way to understand tags is to see some examples. The following is an example taken from W3Schools:

  • <note>
  • <to>Jane</to>
  • <from>John</from>
  • <heading>Reminder</heading>
  • <body>Let's get together for dinner!</body>
  • </note>

In the code above there are several pairs of tags. Each starting tag has a matching ending tag. For example, <note> is a starting or opening tag and </note> is an ending or closing tag. The difference is that the closing tag has a / in it whereas the opening tag does not. So this example has 10 tags. Those 10 tags also help define 5 elements (note, to, from, heading and body). The <note> element is a parent that contains 4 child elements (to, from, heading and body). We can see this because the note opening and closing tags surround our encapsulate all of the other elements.

Attributes

Attributes can be added to elements to help better describe them or make them more flexible. For example, if we want to have different types of notes that are different colors, we can modify the code of the earlier example and add an attribute for color:

  • <note color="blue">
  • <to>Jane</to>
  • <from>John</from>
  • <heading>Reminder</heading>
  • <body>Let's get together for dinner!</body>
  • </note>

In the example above, color is an attribute of the element <note> and blue is the value of that attribute. Attributes are always surrounded by quotation marks.

Document Type Definition (DTD)

A DTD is a file that declares the elements and attributes that can appear in an XML document and where those items can appear.

Since XML tags are custom and can be different for every document, a DTD is like a dictionary that humans and computer systems can use to create and interpret XML documents. XML documents with the proper syntax are well formed and XML documents that adhere to a particular DTD are also valid. The following DTD can be used to describe a note:

  • <!DOCTYPE note
  • [
  • <!ELEMENT note (to,from,heading,body)>
  • <!ATTLIST note type (personal|business) personal>
  • <!ELEMENT to (#PCDATA)>
  • <!ELEMENT from (#PCDATA)>
  • <!ELEMENT heading (#PCDATA)>
  • <!ELEMENT body (#PCDATA)>
  • ]>

The above DTD can be referenced by an XML document intended to be used as a note. A note based on this definition has a root element <note> and it must have 4 additional elements defined (to, from, heading and body). Additionally, the <note> element has an attribute called type that will allow it to be either a personal or business note. The following XML document references this DTD and is well formed and valid:

  • <?xml version="1.0" encoding="UTF-8"?>
  • <!DOCTYPE note SYSTEM "Note.dtd">
  • <note type="personal">
  • <to>John</to>
  • <from>Jane</from>
  • <heading>Reminder</heading>
  • <body>Let's get together for dinner!</body>
  • </note>

XML Validation

When working with XML, it is also important to understand the two kinds of XML validation. Well-formed XML means that the document follows the correct XML syntax. There are some rules to XML, and you can see these five conditions in the figure, XML Validation.

Valid XML is more rigorous. Valid XML is both well-formed and follows all of the rules that you set out in your DTD. The good news is that your XML editor checks for this automatically when you choose Validate.

XML Vocabulary

Review the following terms used in XML throughout People Profile.

XML Vocabulary

TermDefinition
Tree Structure

The model for XML formation. XML starts with a root element and branches like a family tree with parent and child elements.

ElementAn element describes the data that it contains. Elements may also have attributes and contain sub-elements.
AttributeNamed, simple-type definitions that cannot contain other elements. The values are always contained in quotation marks.
Document Type Definition (DTD)

A document that declares the allowed elements and attributes of an XML document.

ValidationXML that does not contain errors. Well-formed XML has correct syntax. Valid XML has correct syntax and follows the DTD.

The Succession Data Model in SAP SuccessFactors

Overview

Data Models describe how data elements are structured in a database. They also define the properties these elements possess and their relationships to each other.

SAP SuccessFactors defines its data using several data models. These data elements have an impact on all the modules of the application as well as on the company and employee data stored in the system. Initial setup of the data models is done through Provisioning.

The SAP SuccessFactors Data Models use XML. You can download these XML files from Provisioning. You then work with the files in an XML editor of your choice and edit them offline. You upload these modified files back to the company instance you are working with in provisioning.

Once the initial implementation is complete, you can also modify the data model files from Admin Center using the Business Configuration UI or BCUI.

Succession Data Model

SAP SuccessFactors defines this data using the following Data Models: Corporate Data Model, Country Specific Corporate Data Model, Succession Data Model, and Country Specific Succession Data Model.

The Succession Data Model (SDM) is thus named because it was first created to support the succession module. It was used to display data related to an employee including data needed for Succession planning.

This data model is now at the core of SAP SuccessFactors. Several modules use elements defined in the Succession Data Model including Employee Central, Succession and, Performance Management.

The Succession Data Model has the field definitions of elements that pertain to a person of the employee. You can then display these fields in the People Profile based on the field level and/or Role-Based Permissions.

The fields are grouped on the People Profile in blocks. You will need to have the fields associated with these blocks declared in the data model as a prerequisite. You may then need to make additional configuration as well as permission changes to these elements to get the block to work.

Working with the Succession Data Model in Provisioning

All SAP SuccessFactors instances are created as clones of a source instance and have basic data models. The data model can be downloaded and modified with an XML editor.

Note

Even if you have already downloaded a file from an instance, before beginning work on a data model xml file, always download a new version of the file. It is possible that there have been changes to the file since you last worked on it, especially if other consultants work for the same customer or if the customer uses BCUI.

To import or export the succession data model:

  1. Log into Provisioning.

  2. Choose your instance in Provisioning.

  3. Scroll down to the Succession Management section.

  4. Choose Import/Export Data Model.

  5. Choose the appropriate option for the action you want to perform:

    • To Export the xml file, use the radio button by Export. Choose Submit.

    • To import, use the radio button by Import. Use the Browse function to find the file on your local machine and then choose Submit.

Data Model Version Control in Provisioning

It is possible to back up multiple versions of the Succession Data Model in Provisioning and restore a version for the instance. This feature helps protect the configuration and track data model changes. In case any issues occur, the backup can speed up the instance recovery.

Comments can be added during the import. It is then easy to download a certain version.

The system keeps up to 100 versions of the Succession Data Model backup. Earlier versions are deleted when the limit is reached.

Note

The version control does not record changes made from BCUI, but only pertains to data model loaded via Provisioning.

Download the Succession Data Model from Admin Center

It is possible to download the Succession Data Model from Admin Center.

Some customers want to download the complete Succession Data Model XML for backups prior to a release, as a security requirement for monthly backups or for other integration purposes.

Users need to have the permission Export Succession Data Model available in Manage Permission Role under the Admin Center Permissions category.

Elements in the Succession Data Model

Standard Elements in the Succession Data Model define the fields that are seen in People Profile in SAP SuccessFactors. These are fields where there is a one to one relationship between the field and the data.

Defining these fields in the xml will allow the users to modify their default behavior such as making it a picklist or modifying its label. Some of the Standard elements are also those where data can be imported/exported via the User Data File.

There are several predefined fields. It is possible to modify the label. It is even possible to use a field for a purpose other than that intended by SAP SuccessFactors. However, it is not recommended, so do it only after careful consideration. The length or type of the field may be restricted and may not suit its new purpose. Also, while the use may seem to work now, it can have consequences downstream that may not be correctable. There are 15 custom Standard Elements available to you besides the predefined ones and those should suffice for most requirements.

Userinfo Elements

Userinfo Elements can be used in the Profile and other areas like Recruiting.

Userinfo elements can be associated with a picklist and if the attribute reportable is defined, they can be made reportable.

Log in to track your progress & complete quizzes