HCM DataLoaderUsersGuideR10andLater
HCM DataLoaderUsersGuideR10andLater
HCM DataLoaderUsersGuideR10andLater
Introduction 1
HCM Data Loader Data Flow 2
Who Can Load Data Using HCM Data Loader? 3
Supported Key Types 3
Object References 5
Key Resolution Sequence 5
Translation Data 41
Translation-File Discriminators 42
Updating Translation Data 43
Extracting Data 59
Status and Errors 59
Compensation Changes 59
Best Practices 63
File Shape 63
Data Migration 63
Ongoing Interfaces 63
Additional Help 64
HCM Data Loader Data Set Status Diagnostic 64
Glossary 68
Table of Figures
Figure 1: User Key: Create Department - The User Key is the Organization Name .................................................. 3
Figure 2: Example of an HCM Data Loader Zip File ................................................................................................. 7
Figure 3: Example of the BlobFiles Folder Content .................................................................................................. 7
Figure 4: METADATA and Data Line Structure ........................................................................................................ 9
Figure 5: SET Line Structure .................................................................................................................................... 9
Figure 6: COMMENT Line Structure ......................................................................................................................... 9
Figure 7: Manage Lookups (Navigator - Setup and Maintenance) .......................................................................... 12
Figure 8: Initiate Data Load (Navigator - Data Exchange - Initiate Data Load)........................................................ 16
Figure 9: Initiate Data Load Page (Navigator - Data Exchange - Initiate Data Load) ............................................. 18
Figure 10: Generate HCM Data Loader Templates Submission Page ................................................................... 18
Figure 11: Review Template Files (Navigator - Data Exchange - Initiate Data Load - Processes) .......................... 19
Figure 12: Loading Attachments - Supplying References to Attachment Files ........................................................ 21
Figure 13: BloblFiles Folder to Deliver Attachment Files for Documents of Record ................................................ 21
Figure 14: Supplying a Source Key for the Local Record ....................................................................................... 22
Supports important business objects belonging to key Oracle Fusion HCM products, including
Oracle Fusion Global Human Resources, Compensation, Absence Management, Performance
Management, Profile Management, Global Payroll, Talent and Workforce Management.
Is available in cloud, on-premises, and on-demand environments.
Supports one-time data migration, maintenance of Oracle Fusion HCM data via upload, and
coexistence scenarios, where core HR data exists outside Oracle Fusion.
Provides a comprehensive user interface for initiating data upload, monitoring progress, and
reviewing errors, with real-time information provided for both the import and load stages of its
processing.
Supports multithreaded processing, which enables you to upload complete system extracts without
severe performance impacts. HCM Data Loader manages references among objects that are
processed on separate threads.
Includes a delimited-file reader that can identify file contents from metadata included in the file that
you upload. This feature enables you to perform partial or incremental loads, thereby minimizing
the related processing.
Supports user keys for all objects. Knowledge of Oracle Fusion internal IDs is not required.
Enables bulk update of objects, regardless of whether they were created using HCM Data Loader.
Loads all data files from the Oracle WebCenter Content server, which provides a single point of
entry to Oracle Fusion HCM.
Can be initiated using a web service call, which enables you to automate data upload.
Is function-rich. For example, you can upload:
o Current and historical records for date-effective objects. You determine the amount of
history to load.
o End-dated, terminated, or inactive records.
o Translated attributes in multiple languages. You can specify the character set of the data
file by naming any Java supported character set on the File Character Set configuration
parameter.
o Descriptive flexfields and extensible flexfields.
o Hierarchical tree data, such as Organization and Department Trees.
o Attachments and pictures.
o Data from multiple sources. You can include source-system references in uploaded data.
1. You place a zip file containing your data on the WebCenter Content server.
2. You submit a request to HCM Data Loader to import and load the zip file of data. For this step, you can
use either the HCM Data Loader interface or the HcmCommonDataLoader web service.
3. HCM Data Loader decompresses the zip file and imports individual data lines to its stage tables, grouping
those distinct file lines into Oracle Fusion HCM business objects.
4. It calls the relevant logical object interface method (delivered in product services) to load objects to the
Oracle Fusion application tables.
5. Any errors that occur during the import or load phase are reported in the HCM Data Loader interface.
6. Having reviewed import and load errors in the HCM Data Loader interface or via the Data Set Summary
extract, you correct them in your source data. You load a new zip file containing the corrected data to the
WebCenter Content server.
You repeat this process until all of the data is successfully loaded.
HCM Data Loader resolves this by supporting four different key types for all types of object reference:
User Key
Oracle Fusion Surrogate ID
Source Keys
Oracle Fusion GUID (Globally Unique Identifier)
User Key
HCM business objects are published with one or more attributes defined as a user, or natural, key. The user key is
always visible on the user interface and can be used to identify a business object occurrence uniquely. For example,
the user key for organization is the organization name.
Figure 1: User Key: Create Department - The User Key is the Organization Name
This key solution is suitable for both the initial creation and later update of a logical object.
User keys are part of the business object definition and are always mandatory when creating a logical object,
regardless of how you create it.
You must take care when using user keys to reference a logical object to update. The user key value can change
over time and some user key attributes are translatable. In addition, not all records support update if only user
keys are supplied. You are recommended to use source keys wherever possible.
When a business object is bound by another, the user key will also need to include the user key for its parent. For
example, jobs are always part of a set, so JobCode alone would not uniquely identify a job; the SetCode must be
part of the user key for Job. Job grades are for a specific job, so the user key for a job grade would include the user
key for the parent job too; for example GradeCode, JobCode, or SetCode.
The user key is recommended when referencing or maintaining an Oracle Fusion HCM record that was not created
with a source key or where the source key value is unknown.
Source Keys
Integration-enabled business objects can be referenced by the internal ID from your source system. This key
solution is suitable for the initial creation and subsequent update of a business object occurrence. This solution
requires two values to be supplied, the SourceSystemOwner and SourceSystemId. The SourceSystemOwner
specifies the system where the data originated. The SourceSystemId specifies the ID from that source system and
must be unique for the business object component and SourceSystemOwner value.
If you do not have a genuine source system ID to reference your record uniquely, then you can generate or derive
one. For example, you could derive a source system ID for a Person Address using the person number
concatenated with the address type. If you are supplying date-effective history for a record, then the source system
IDs must be supplied for every date-effective record in the file. The values would be identical for each line of the
date-effective history.
If you supply a SourceSystemOwner, then multiple source systems can provide data for the same business objects.
For example, you have Person data on both US and UK databases and these are to be combined into one Oracle
Fusion system. If you provide the SourceSystemOwner, then the SourceSystemID does not need to be unique
across both source systems. It needs to be unique only in its originating database.
Source keys are supported only for integration-enabled business objects. Source keys are not held against the
created record, but in an Integration Key Map table.
You can supply a source key only to uniquely identify new and existing records using HCM Data Loader.
If you do not provide a source key when creating a new object it will be defaulted for you. The SourceSystemOwner
will have a value of FUSION and the SourceSystemId will use the surrogate ID value. You cannot change the
source key once a record has been created.
The SourceSystemOwner value is validated against the HRC_SOURCE_SYSTEM_OWNER lookup. You must add
your source system name to this lookup prior to loading data using source system references
Object References
In HCM Data Loader the four key types can be used to identify:
Note: Oracle Fusion GUIDs and Oracle Fusion surrogate IDs are not generated until the record has been
successfully created in Oracle. Source keys are not recognized in Oracle until the record using them has been
successfully created in Oracle. For these reasons, you need to be careful when referencing foreign objects to
ensure the foreign object already exists in Oracle Fusion HCM, prior to attempting to import your data into HCM
Data Loader. For a new Oracle Fusion HCM implementation, the simplest way to achieve that is to load each
business object in a separate zip file and ensure that each zip file has loaded successfully before importing the next.
If you decide to supply all business objects in the same zip file, then HCM Data Loader loads the business objects in
order of potential dependency. In this case, a foreign object reference fails only if the referenced object failed to load
due to an error.
For example, the rating model business-object comprises rating model, rating level, and rating category
components. The rating model component is the parent of the other two components. Each of these components is
made up of attributes such as rating model name, rating model code, rating level code, and so on.
The most complex business object supported by HCM Data Loader is the worker object, where 5 levels exist in the
object hierarchy. These range from the worker component at the top to assignment work measure, assignment
manager, assignment grade steps, and assignment extra information at level 5. By contrast, the person type object
comprises only the person type component.
When different components for the same business object are delivered together, HCM Data Loader groups them
into logical objects and loads the complete logical object in its entirety. It does not process the individual
components separately. If any part of the logical object fails validation, then the whole logical object is rejected. As
only complete logical objects are loaded, you can be sure of exactly what data has been loaded. For example, the
Accountant job loaded successfully, but the Accounts Clerk job failed.
Terminology
In this Users Guide, the term object or business object always refers to the complete object (the parent component
and all child components). For example, grade and worker are business objects. The terms component or business-
object component refer to individual components of a business object. For example, person name and work
relationship are business-object components. The term logical object refers to a group of related components that
form one occurrence of a business object. For example, the grade IC1 is a logical object.
The zip file can contain one or more business object specific dat files. Each dat file corresponds to a single business
object, such as location, grade, worker, or salary. Dat files should not be placed within folders in the zip file, and
each dat file must have the name of an HCM Data Loader supported business object.
You supply dat files only for the business objects you are updating.
You can define the name of the zip file, which must be in alphanumeric characters (a-z and 0-9). Both upper and
lowercase letters are acceptable.
The only folder names that can be included in the zip file are:
BlobFiles
ClobFiles
You place files to be loaded as attachments or into large objects within these folders. You must ensure that the file
names of these attachments or images are in UTF-8 single-byte characters. For example, file names can include the
alphanumeric characters a through z, A through Z, and 0 through 9, underscore (_), hyphen (-), and parentheses ().
The data type of the attribute that is used to load your attachment or large object data determines which folder to
use. For example, the File attribute in Documents of Record (DOR) is used for loading attachment files. It has a data
type of BLOB; therefore, files to be loaded as DOR attachments must be placed in the BlobFiles folder.
METADATA Definition Identifies the business-object component and its attributes for which values are included in the
data file.
MERGE Data Provides data to be added to Oracle Fusion. You use the MERGE instruction whether creating
or updating objects. Oracle Fusion identifies the appropriate action. The MERGE instruction
accepts complete or partial objects. The data supplied with the MERGE instruction is merged
into the existing Oracle Fusion data.
Note: HCM Data Loader cannot accept multiple MERGE lines for the same record in the same
dat file if that object is not date-effective. For example, you cannot create a Person Ethnicity
record and then correct it from the same file. As the object is not date-effective, you are
attempting to correct the created data, not update it. In such a situation, you can supply only the
current data. Alternatively, you can insert a record in one file and update the record in a second
file.
HCM Data Loader does not process individual file lines but groups related lines. This grouping
works for date-effective records because the file lines are processed in effective start date order.
DELETE Data Identifies business-object components to be purged from Oracle Fusion HCM. You cannot
delete individual date-effective records. DELETE supports only the removal of the entire record.
Note: Do not provide a DELETE instruction along with a MERGE instruction for the same
record. HCM Data Loader cannot guarantee the order in which the two instructions will be
processed, so you could either delete and create the record, or update and delete the record.
Caution: Deleted data cannot be recovered. It is recommended that you try to correct your data
rather than delete and recreate it.
SET Control Enables override of the default behavior for the file.
COMMENT Comment Adds a comment to the data file. The comment has no effect on processing.
File Discriminators
File discriminators are used to uniquely identify the business object component you wish to update. For example,
the available file discriminators for the Job business object are:
Job Job
For example:
METADATA|Job|SetCode|JobCode|JobFamilyName|JobName|EffectiveStartDate|EffectiveE
ndDate
For example:
SET FILE_DELIMITER ,
COMMENT <comment>
Line Ordering
METADATA lines define which attributes are supplied in the file for a business object component. Therefore, the
definition of a component must appear before any data for that component. You can include multiple METADATA
lines in the same business object file. However, each METADATA line must be for a different discriminator of the
owning business object hierarchy.
SET lines can override how the file is read by default; therefore, they must be supplied before any METADATA lines.
There are no other restrictions for line ordering in the file.
The order of the data lines in the file does not impact the order in which they are processed.
You should not supply DELETE and MERGE lines for the same logical object. There is no guarantee that the object
will first be deleted and then created, or updated and then deleted. Similarly, you must not provide multiple MERGE
lines for the same object. Provide only the latest data, unless the component supports date-effectivity, in which case
you can provide date-effective history for a logical object.
Reference a valid discriminator for the object specified by the dat file name.
Reference a unique discriminator for the object. You cannot supply multiple METADATA lines for the same
discriminator.
List only valid attributes for that discriminator. Attribute names are case sensitive.
Specify the attributes for at least one of the supported key mechanisms to uniquely reference the component
defined by the discriminator.
You can provide MERGE and DELETE instructions in the same file, but not for the same record. For example,
when loading jobs, you cannot provide MERGE and DELETE instructions for the same job.
Ensure that a manager is identified for every worker and that the information is accurate.
For jobs and positions, ensure that correct job codes and titles exist in the source systems.
For worker history, establish the accuracy of any historical data. Understand whether all historical data must be
uploaded or just key events, such as hire, promotion, and termination.
Preparing the source data in this way will minimize the problems that can occur when you upload data to Oracle
Fusion HCM. It will also make it less likely that you copy any inaccuracies to the new environment.
You may have performed this step during implementation of Oracle Fusion HCM.
When referring to these objects in the objects that you are loading, you use their user keys. (Alternatively, you can
use their surrogate IDs, if available.)
HCM Data Loader provides business-object documentation for all supported objects. This documentation specifies
the user key that you can use to reference other objects. For example, the position component includes a reference
to the business unit object, which is not integration enabled. The position documentation identifies the business unit
name as its user key. Therefore, when loading a position component you can refer to the associated business unit
using the business unit name. (For more information about keys, see page 3.)
In Oracle Fusion HCM, LOVs are defined as lookups. You are recommended to review the predefined lookups and
make any updates before you attempt to load data that uses them. You may have completed this process during
implementation of Oracle Fusion HCM.
Relevant lookups are identified in the business-object documentation for HCM Data Loader supported objects.
To manage lookups, search for relevant tasks by entering Manage % Lookups in the Setup and Maintenance work
area. All available lookups tasks are listed. For example, to manage person lookups, select the Manage Person
Lookups task. On the Manage Person Lookups page, select a lookup to edit:
Ensuring that lookups contain appropriate values will reduce validation errors when you load data.
Settings Description
Limited Only business objects not supported by HCM File-Based Loader can be loaded using HCM Data
Loader.
Full HCM Data Loader is used for bulk loading data into all supported business objects. HCM File Based
Loader and HCM Spreadsheet Data Loader are disabled.
For upgrading customers, the default value of this parameter is Limited. If you attempt to load data for a business
object that is not supported in the Limited mode, then your whole data set will fail to process.
For new customers in Release 10, the default value of this parameter is Full and it cannot be changed to Limited.
Upgrading customers who do not intend to use HCM File-Based Loader or HCM Spreadsheet Data Loader must set
this parameter to Full to ensure complete business object support when using HCM Data Loader.
1. Open the Configure HCM Data Loader page (Setup and Maintenance - Configure HCM Data Loader).
Restricted Objects
The HCM Data Loader registered objects that cannot be loaded using HCM Data Loader when the HCM Data
Loader Scope parameter is set to Limited are:
Global HR Action Reasons Grade Translation Organization
Action Reasons Translation Grade Step Translation Organization Translation
Actions Grade Ladder Position
Actions Translation Grade Ladder Translation Position Translation
Location Step Rate Translation Department Tree
Location Translation Grade Rate Department Tree Node
Job Family Grade Rate Translation Person Contact
Job Family Translation Job Person Contact Relationship
Grade Job Translation Worker
Global Payroll Element Entry
Compensation Salary Basis Salary
Absences Person Absence Entry Person Entitlement Detail
Talent Education Establishment Rating Category Translation Content Item Rating Description Translation
Education Establishment Translation Rating Level Translation Content Items Relationship
Rating Model Content Item Talent Profile
Rating Model Translation Content Item Translation Talent Profile Translation
A user-account request is created automatically for each worker. (The request is sent to Oracle Identity
Management when you run the Send Pending LDAP Requests process, as described on page 60.) User
names are in the format specified by Oracle Identity Management.
Roles are provisioned automatically to workers, as specified by current role-provisioning rules.
Workers are notified automatically of their sign-in details.
You are recommended to review the enterprise settings that control user provisioning and make any updates before
you load worker records. For example, you may want to prevent the automatic creation of user-account requests
during initial data loads to the stage environment.
Delete Source File Yes Delete the source file from the WebCenter Content server when processed.
File Character Set UTF-8 Character set for business object and attachment files. You can update this to any
Java supported character set.
Import Cache Clear Limit 2400 Number of file lines to be processed before the cache is cleared.
Import Commit size 100 Number of file lines to import between each commit.
Maximum Percentage of Import Errors 100 Percentage of file lines in error that can occur in a business object before the
import process stops for the object.
Maximum Percentage of Load Errors 100 Percentage of business-object instances in error that can occur for a business
object before the load process stops.
Data Error Stack Trace Occurrences 2 Maximum number of data error message occurrences on a processing thread for
by Thread which stack trace is recorded.
Complex Error Stack Trace 5 Maximum number of complex error message occurrences on a processing thread
Occurrences by Thread for which stack trace is recorded.
Load Cache Clear Limit 500 Number of business-object instances to be loaded from the stage tables before
the cache is cleared.
Maximum Concurrent Threads for 8 Maximum number of threads to run concurrently when loading data from the stage
Load tables to the application tables.
Load Group size 100 Number of business objects processed as a single unit of work by a single thread.
From this page you can generate business object templates that provide METADATA lines for all components of the
business object hierarchy. These are useful for identifying the attribute name to use for loading data. See the
Generating and Modifying Template Files section on page 17 for more information.
However, to load a business object successfully to Oracle Fusion HCM, you need to understand its Oracle Fusion
structure, supported key systems, data formats, valid values, and required values.
Each spreadsheet is named for its top-level business object. For example, the file Location.xls includes the
information that you need about the location business object.
For complex business objects, the spreadsheet includes one tab for each component of the object. For example, the
Location.xls spreadsheet includes Location and Location Other Address tabs. Objects that support extensible
flexfields (EFFs) also include one tab for each EFF.
General information about a component appears at the top of its tab. This information includes:
The name of the Oracle Fusion HCM product that owns the object.
The name of the data file that you load (for example, Location.dat).
The components identifier (referred to as its discriminator). For example, LocationOtherAddress.
The date type for the components, such as Simple Date, Effective Date, Multiple Changes Per Day (MCPD), or
not dated.
The level at which the component appears in its object hierarchy.
For child and grandchild components, the parent discriminator is also identified.
Following the general information about the component, these details appear for each attribute of the component:
Attribute Name The attribute name as it appears in the data file that you load for the component.
Key Type For attributes that are key values or can be used as key values, identifies the key type. For example, user key, GUID or
Foreign Surrogate ID.
Alternate User Identifies the attributes that you can use in place of surrogate IDs. For example, the LocationId is the surrogate ID
Key for Surrogate attribute for Location. To refer to the location from another business object, you can use the LocationCode and
IDs SetCode user keys in place of the surrogate ID. The alternate user key for an attribute comprises all values that appear
in this column.
Integration Object For attributes that refer to other business objects, this column provides the name of the referenced object type. If that
Name object is not integration enabled, then the column contains the text not integration enabled. Integration enabled objects
can be referenced using Integration keys. Objects that are not integration enabled can only be referenced by user key
or Oracle Fusion surrogate ID.
Data Type The data type of the attribute. For example, Number or String.
Primary Key Indicates whether the attribute is a component of the primary key. For example, for the location business object,
LocationId, EffectiveStartDate, and EffectiveEndDate are primary key values.
Mandatory Indicates whether the attribute is required. You must include required attributes when you create or update objects.
Lookup Name For attributes that are lists of values, provides the name of the Lookup. To see valid values for an attribute, review the
Lookup as described on page 11.
For each integration-enabled component, the following attributes appear at the end of the attribute list for each
object component:
Oracle Fusion GUID for the component. This value is generated in Oracle Fusion and is described on page 5.
Source Key attributes SystemOwnerId and SourceSystemId values. For more information, see page 4.
For all business object components, the following information attributes appear at the end of the attribute list:
Source-system reference information (the table name, and up to 10 reference values). For more information,
see section Source-System References on page 34.
The spreadsheet for each supported business object also includes an Overview tab which summarizes the hierarchy
of components for the business object.
A COMMENT line, which identifies the business object, its version, and the file creation date.
A METADATA line for each component of the business object hierarchy that you can load for the business
object. The METADATA line includes every attribute of the component, including environment specific
configured flexfield attributes.
You can generate business object template files and use them as the basis of your own data files.
To generate business object template files, navigate to the Data Exchange work area and select the Initiate Data
Load task.
The Initiate Data Load page lists all HCM Data Loader supported business objects. You can generate a template for
a single business object or multiple business objects.
If you set the Module field to All, then templates for every supported business object will be generated.
Alternatively, select a specific module to generate business object templates for.
Figure 11: Review Template Files (Navigator - Data Exchange - Initiate Data Load - Processes)
HCM Data Loader validates every attribute name on every METADATA line. It also determines any potential
dependencies on other business objects in the same zip file by reviewing the attributes supplied in METADATA. For
example, if the Job.dat file contains the ValidGrade METADATA line with the GradeId attribute, HCM Data Loader
assumes that the Job.dat has a potential dependency on Grades.
You can improve the speed and efficiency of the import and load processes by declaring only the attributes that you
are supplying data for.
This is true for non-flexfield attributes only. For more information on lookup meaning values for lookup validated
flexfield segments, see page 33.
Number Attributes
For numbers, only the decimal separator is supported. Do not include currency symbols, scientific notation, or
thousands separators.
To set an existing numeric value to null, specify the tag #NULL as the attribute value.
Date YYYY/MM/DD
To set an existing date or time value to null, specify the tag #NULL as the attribute value.
This approach is used because data for these data types tends to be very large. Additionally, content to be loaded
directly (rather than by attachment) may need to include new line characters, making it complex to include in the
business object dat file.
Files in the ClobFiles and BlobFiles folders can have any name and most extensions are supported.
In the business object dat file you specify the file name for the CLOB or BLOB attribute. For example:
METADATA|DocumentAttachment|DocumentType|File|PersonNumber|..
MERGE|DocumentAttachment|Drivers License|file01.txt|23901|..
MERGE|DocumentAttachment|Drivers License|file02.txt|64235|..
For DocumentAttachment the File attribute has a BLOB data type. Referenced files should be placed in the
BlobFiles folder:
Figure 13: BloblFiles Folder to Deliver Attachment Files for Documents of Record
Note: If the source key is not specified on the initial creation of a record it cannot be used later to update that record.
Note: You cannot use source keys for foreign-object references, including parents, if you are not supplying a source
key for the local record.
The SourceSystemOwner attribute is common for all source keys supplied in a record. Therefore, the foreign objects
being referenced by source key must have the same SourceSystemOwner value as the record being merged.
Before source keys can be used, the SourceSystemOwner value must be created in the
HRC_SOURCE_SYSTEM_OWNER lookup. See page 12 for additional details.
Supply values for both of the source key attributes SourceSystemId and SourceSystemOwner
METADATA|Job|SourceSystemId|SourceSystemOwner|JobCode|JobName|SetCode|Effective
StartDate|EffectiveEndDate
MERGE|Job|12349|EBS-UK|SE|Software Engineer|COMMON|2010/01/01|4712/12/31
Append the (SourceSystemId) hint to the surrogate ID attribute for the foreign object being referenced. In this
example Job, the Job must have been created using HCM Data Loader with the source key supplied.
METADATA|Assignment|SourceSystemId|SourceSystemOwner|JobId(SourceSystemId)|Effe
ctiveStartDate|EffectiveEndDate
MERGE|Assignment|234234|EBS-UK|12349|2013/01/01|4712/12/31
Source keys can be used only for integration-enabled foreign objects. The business object documentation identifies
which foreign objects are integration enabled.
If you do not specify a source key when a record is created using HCM Data Loader, then the source key will be
defaulted. The SourceSystemOwner will be FUSION and the SourceSystemId will be the Oracle Fusion surrogate
ID. You can still use source keys to reference records with default source keys, but there is no supported solution for
extracting source key information.
Caution: Some user keys can change over time, which can make using the user key for historical references
challenging.
If you are loading date-effective history for a business object component where the user key does change, you must
also supply a source key. This approach allows HCM Data Loader to group related date-effective records correctly
to form the object being loaded.
User keys can comprise multiple attributes, all of which must be supplied if no other key type is being used:
METADATA|Job|JobCode|JobName|SetCode|EffectiveStartDate|EffectiveEndDate
MERGE|Job|SE|Software Engineer|COMMON|2010/01/01|4712/12/31
Figure 16: Supplying the User Key for the Local Record
In this example the Assignment is uniquely referenced by a source key. However, the Job is referenced by its user
key:
METADATA|Assignment|SourceSystemId|SourceSystemOwner|JobCode|SetCode|EffectiveS
tartDate|EffectiveEndDate
MERGE|Assignment|234234|EBS-UK|SE|COMMON|2013/01/01|4712/12/31
Oracle Fusion Surrogate IDs cannot be assigned when you create data in Oracle Fusion. Oracle Fusion generates
these IDs internally at commit. Therefore, for new records either a source key or a user key must be supplied.
METADATA|Job|JobId|JobName|EffectiveStartDate|EffectiveEndDate
MERGE|Job|13413|Software Engineer - Java|2013/01/01|4712/12/31
Figure 18: Supplying the Oracle Fusion Surrogate ID for the Local Record
In this example the Assignment is uniquely referenced by a source key. However, the Job is referenced by its
Oracle Fusion Surrogate ID:
Figure 19: Supplying the Oracle Fusion Surrogate ID for a Foreign Object
When you supply an Oracle Fusion GUID value to uniquely reference the record being merged or deleted, the
attribute name is identical for all business object components: GUID.
METADATA|Job|GUID|JobName|EffectiveStartDate|EffectiveEndDate
MERGE|Job|2342UJFHI2323|Software Engineer - Java|2013/01/01|4712/12/31
Figure 20: Supplying the Oracle Fusion GUID for the Local Record
Append the (GUID) hint to the surrogate ID attribute for the foreign object being referenced. See this example Job:
METADATA|Assignment|SourceSystemId|SourceSystemOwner|JobId(GUID)|EffectiveStart
Date|EffectiveEndDate
MERGE|Assignment|234234|EBS-UK|2342UJHFI2323|2013/01/01|4712/12/31
Figure 21: Supplying the Oracle Fusion GUID for a Foreign Object
Oracle Fusion GUIDs can be used only for integration-enabled foreign objects. The business object documentation
identifies which foreign objects are integration enabled.
For more details and examples of how these modes will impact your data, see the Maintaining Existing Date-
Effective Data section on page 35.
Date effective records have common attributes that are normally mandatory when loading data:
EffectiveStartDate The start date for the attribute values. This value is always mandatory for date-effective components.
EffectiveEndDate The end date for the attribute values. If this value is left blank, then the end of time is defaulted, meaning
the date effective record will continue on with no end.
EffectiveSequence When multiple changes per day (MCPD) can be recorded, the EffectiveSequence provides the order in
which the changes occurred.
METADATA|Job|EffectiveStartDate|EffectiveEndDate|Attribute1|Attribute2|..
MERGE|Job|1950/01/01|2012/03/04|W|X|..
MERGE|Job|2012/06/02|2013/02/03||Y|..
MERGE|Job|2013/02/04|4712/12/31|Z||..
1950/01/01 2012/03/04 W X
2012/06/02 2013/02/03 W Y
2013/02/04 Z Y
Attribute 1 will retain the W value on the second row, as no value was specified. Similarly, Attribute2 will retain the Y
value on the final row.
For example:
METADATA|Job|EffectiveStartDate|EffectiveEndDate|Attribute1|Attribute2|..
MERGE|Job|1950/01/01|2012/03/04|W|X|..
MERGE|Job|2012/06/02|2013/02/03|#NULL|Y|..
MERGE|Job|2013/02/04|4712/12/31|Z|#NULL|..
1950/01/01 2012/03/04 W X
2013/02/04 Z (null)
There is no restriction on the order in which date effective records are provided in the dat file, but there must be no
break in the dates.
Example:
This example is not valid as the information between 5-Mar-2012 and 1-Jun-2012 is missing.
METADATA|Job|EffectiveStartDate|EffectiveEndDate|JobCode|..
MERGE|Job|1950/01/01|2012/03/04|ACC1|..
MERGE|Job|2012/06/02|||ACC1|..
HCM Data Loader groups your distinct file lines into logical objects, a logical object being one occurrence of the
business object, such as a job or a worker. The logical object grouping is performed on the unique key for the
component, so the key value must be the same across the date-effective history. Any of the four keys types can be
used to uniquely identify the records.
Example:
This example is not valid as the SourceSystemId used to uniquely identify Job ACC1 changes with the date-effective
history.
METADATA|Job|SourceSystemId|EffectiveStartDate|EffectiveEndDate|JobCode|..
MERGE|Job|JB394_19500101|1950/01/01|2012/03/04|ACC1|..
MERGE|Job|JB394_20120305|2012/03/05|2012/06/01|ACC1|..
MERGE|Job|JB394_20120602|2012/06/12||ACC1|..
When you report multiple changes on the same effective start date, the EffectiveSequence value must start at 1 and
increase sequentially. The same EffectiveSequence value cannot be repeated for the same logical object on the
same date, nor can there be any gaps. If there is only one change for an effective start date the EffectiveSequence
will always be 1. You cannot leave the EffectiveSequence blank when providing multiple changes per day. Without
this information there is no guarantee of the order in which records starting on the same EffectiveStartDate will be
processed.
Example:
This example is not valid as each sequence starts at zero and the sequence number 2 is missing.
METADATA|Assignment|SourceSystemId|EffectiveStartDate|EffectiveSequence|Effecti
veEndDate|..
When you report multiple changes on the same effective start date, the latest record must have an
EffectiveLatestChange value of Y. All earlier records must have an N value. This attribute is always mandatory for
MCPD records.
If there is only one change for an effective start date, then the EffectiveLatestChange is always Y.
Example:
This example is not valid as the EffectiveSequence of 3 is the latest change but the EffectiveLatestChange value is
not Y.
METADATA|Assignment|SourceSystemId|EffectiveStartDate|EffectiveSequence|Effecti
veLatestChange|EffectiveEndDate|..
MERGE|Assignment|2724|2010/06/08|1|Y|2012/03/03|..
MERGE|Assignment|2724|2012/03/04|1|N|2012/03/04|..
MERGE|Assignment|2724|2012/03/04|2|N|2012/03/04|..
MERGE|Assignment|2724|2012/03/04|3|N|2012/06/01|..
MERGE|Assignment|2724|2012/06/02|1|Y||..
For MCPD Records That Are Not the Latest, the EffectiveEndDate Must Match the EffectiveStartDate.
When you report multiple changes on the same effective start date, all MCPD records that are not the latest change
must have an EffectiveEndDate matching the EffectiveStartDate.
Example:
This example is not valid because the EffectiveEndDate of those records with an EffectiveLatestChange of N have
an EffectiveEndDate that does not match the EffectiveStartDate.
METADATA|Assignment|SourceSystemId|EffectiveStartDate|EffectiveSequence|Effecti
veLatestChange|EffectiveEndDate|..
MERGE|Assignment|2724|2010/06/08|1|Y|2012/03/03|..
MERGE|Assignment|2724|2012/03/04|1|N|2012/06/01|..
MERGE|Assignment|2724|2012/03/04|2|N|2012/06/01|..
MERGE|Assignment|2724|2012/03/04|3|Y|2012/06/01|..
MERGE|Assignment|2724|2012/06/02|1|Y||..
METADATA|Assignment|SourceSystemId|EffectiveStartDate|EffectiveSequence|Effectiv
eLatestChange|EffectiveEndDate|..
MERGE|Assignment|2724|2010/06/08|1|Y|2012/03/03|..
MERGE|Assignment|2724|2012/03/04|1|N|2012/03/04|..
Simply supply the data that has changed with the effective start date on which the change became effective.
METADATA|Job|SourceSystemId|SourceSystemOwner|EffectiveStartDate|EffectiveEndDat
e|ActiveStatus
MERGE|Assignment|2724|EBS-UK|2015/01/01||I
Note: The EffectiveEndDate value has not been supplied, ensuring that this change will take effect until the end of
time.
For MCPD records, if you do not know the next available sequence number, then you can generate it simply by
leaving the EffectiveSequence attribute blank.
METADATA|Assignment|SourceSystemId|EffectiveStartDate|EffectiveSequence|Effectiv
eLatestChange|EffectiveEndDate|..
MERGE|Assignment|2724|2010/06/08||Y|4712/12/31|..
By supplying an EffectiveSequence value that already exists you will be correcting the existing record, not creating a
new MCPD split. To correct MCPD records, you must supply all MCPD attributes to uniquely identify the MCPD
record to correct.
METADATA|Assignment|SourceSystemId|EffectiveStartDate|EffectiveSequence|Effectiv
eLatestChange|EffectiveEndDate|..
MERGE|Assignment|2724|2010/06/08|3|N|4712/12/31|..
Delimiter (pipe |)
Escape (slash \)
To include the new line and pipe characters in attribute values, you precede them immediately with the escape
character (slash \). For example:
METADATA|Address|AddressLine1
MERGE|Address|TheSteading\|Kier Allan
To include the new-line character in a value, you specify \n. For example:
METADATA|Address|AddressLine1
MERGE|Address|TheSteading\nKier Allan
The format of the SET command for overriding reserved characters is:
The new value can be up to 10 characters. For example, you could set the new-line character to newline and the file
delimiter to comma (,) using the following SET commands:
SET FILE_DELIMITER ,
SET FILE_NEW_LINE newline
METADATA,Address,AddressLine1
MERGE,Address,TheSteading\newlineKier Allan
Flexfields
Using HCM Data Loader, you can load both descriptive flexfield and extensible flexfield data.
This section explains the concepts that are common to supplying descriptive and extensible flexfield data, followed
by the specific information required for each flexfield type.
Flexfield Code
If you are supplying flexfield attribute values, in addition to providing the flexfield attribute names, you must also
supply the flexfield code in the METADATA line, in the format:
The available flexfield codes will be included in your generated template file.
Both descriptive and extensible flexfields have one or more contexts. This attribute will be used to supply the
context information on your MERGE lines.
Flexfield attribute names are derived from the name you configured for the flexfield segment. However, they must
also be provided with a hint that tells HCM Data Loader which flexfield the attribute belongs to, and which context it
is applicable to:
Some business object components support multiple descriptive flexfields. By supplying both the flexfield code and
context against each flexfield attribute, you can supply all descriptive flexfield attributes together for every supported
flexfield and every configured context. Although extensible flexfields do not support multiple flexfield codes on the
same line, the format of the attribute name is the same for consistency.
The contract component of the worker business object supports both the PER_CONTRACT_DF and
PER_CONTRACT_LEG_DDF descriptive flexfields.
CN _CONST_PROB_DATE (PER_CONTRACT_LEG_DDF=CN)
CN _NDA (PER_CONTRACT_LEG_DDF=CN)
CN _COMPETITION_CLAUSE (PER_CONTRACT_LEG_DDF=CN)
If you were to generate a Worker.dat template file, the Contract METADATA line would include these attributes:
The Job hierarchy provides the JobLegislative extensible flexfield. This flexfield has the following configuration:
CA _NOC_CODE (PER_JOBS_LEG_EFF=CA)
CH _POSITION_TYPE (PER_JOBS_LEG_EFF=CH)
FR _ECAP_JOB (PER_JOBS_LEG_EFF=FR)
FR _INSEE_PCS_EXT_CODE (PER_JOBS_LEG_EFF=FR)
If you were to generate a Worker.dat template file, the Contract METDATA line would include these attributes:
METADATA|JobLegislative|..|EFF_CATEGORY_CODE|FLEX:PER_JOBS_LEG_EFF|_EEOG(PER_JO
BS_LEG_DFF=CA)|_NOC_CODE(PER_JOBS_LEG_DFF=CA)|_POSITION_TYPE(PER_JOBS_LEG_DFF=C
H)|_ECAP_JOB(PER_JOBS_LEG_DFF=FR)|_INSEE_PCS_EXT_CODE(PER_JOBS_LEG_DFF=FR)
You can load data for all attributes of any descriptive flexfield defined for all HCM Data Loader registered objects.
Descriptive flexfields extend a business object. Descriptive flexfield attributes can be provided with the core
attributes for the business object component.
METADATA|Job|FLEX:PER_JOBS_DFF|JobCode|ActiveStatus|FullPartTime|MedicalCheckupR
equired|RegularTemporary|EffectiveStartDate|EffectiveEndDate|Name|SetCode|JobFam
ilyName|_JOB_LEVEL(PER_JOBS_DFF=US)
Figure 27: Defining DFF Attributes in METADATA
The DFF attributes can be defined anywhere on the METADATA line; they do not need to be appended to the end.
For each supported descriptive flexfield for a business object component, a record can have only one context at a
time. The context for each record must be supplied against the Flexfield Code for the descriptove flexfield.
Example:
METADATA|Job|FLEX:PER_JOBS_DFF|JobCode|ActiveStatus|FullPartTime|MedicalCheckupR
equired|RegularTemporary|EffectiveStartDate|EffectiveEndDate|Name|SetCode|JobFam
ilyName|_JOB_LEVEL(PER_JOBS_DFF=US)
MERGE|Job|US|ACC|A|F|N|R|2000/01/01|4712/12/31|Accountant|COMMON|Finance|1
Figure 28: Supplying Descriptive Flexfield Data
Supplying Descriptive Flexfield MERGE Lines for Multiple Flexfield Codes and Contexts
When multiple descriptive flexfields are supported for the same business object component, the data can be loaded
at the same time:
METADATA|Contract|AssignmentId|ContractId|EffectiveStartDate|EffectiveEndDate|F
LEX:PER_CONTRACT_DF|FLEX:PER_CONTRACT_LEG_DDF|_CONTRACT_GLB(PER_CONTRACT_DF=Glo
bal Data Elements) |_Currency(PER_CONTRACT_DF=CONTRACT_DF)
|_MAIN_CONTRACT(PER_CONTRACT_LEG_DDF=CH)|_CONST_PROB_DATE(PER_CONTRACT_LEG_DDF=
CN)|_NDA(PER_CONTRACT_LEG_DDF=CN)|_COMPETETION_CLAUSE(PER_CONTRACT_LEG_DDF=CN)|
_NOTICE_DURATION_UNIT(PER_CONTRACT_LEG_DDF=CN)
MERGE|Contract|E8732|39987|2013/12/14|2014/03/04|CONTRACT_DF|CN|Contract Glb
value|USD|Contract Data|||
MERGE|Contract|E8732|39987|2014/03/05|4712/12/31|CONTRACT_DF|CH|Contract Glb
value|USD||31/03/2015|NDA Value|Competition Clause Value
Figure 29: Supplying Descriptive Flexfield Data for Multiple Flexfield Codes
Category Code
In addition to the Flexfield Code, extensible flexfields also have a Category Code. This code will be provided in your
generated template file with an attribute name of EFF_CATEGORY_CODE.
To supply extensible flexfield data, simply include the METADATA line for the EFF component, removing any
attribute names for which you will not be supplying data.
METADATA|JobLegislative|EFF_CATEGORY_CODE|FLEX:PER_JOBS_LEG_EFF|JobId(SourceSys
temId)|JobCode|SetCode|EffectiveStartDate|EffectiveEndDate|SourceSystemOwner|So
urceSystemId|LegislationCode|_EEO1_CATEGORY(PER_JOBS_LEG_EFF=HRX_US_JOBS)|_FLSA
_STATUS(PER_JOBS_LEG_EFF=HRX_US_JOBS)|_INSEE_PCS_CODE(PER_JOBS_LEG_EFF=FR)|_ECA
P_JOB(PER_JOBS_LEG_EFF=FR)|_LINE_OF_PROGRESSION(PER_JOBS_LEG_EFF=HRX_US_JOBS)
An extensible flexfield record can have only one context at time. The context for each record must be supplied
against the Flexfield Code for the flexfield.
Example:
METADATA|JobLegislative|EFF_CATEGORY_CODE|FLEX:PER_JOBS_LEG_EFF|JobId(SourceSys
temId)|JobCode|SetCode|EffectiveStartDate|EffectiveEndDate|SourceSystemOwner|So
urceSystemId|LegislationCode|_EEO1_CATEGORY(PER_JOBS_LEG_EFF=HRX_US_JOBS)|_FLSA
_STATUS(PER_JOBS_LEG_EFF=HRX_US_JOBS)|_INSEE_PCS_CODE(PER_JOBS_LEG_EFF=FR)|_ECA
P_JOB(PER_JOBS_LEG_EFF=FR)|_LINE_OF_PROGRESSION(PER_JOBS_LEG_EFF=HRX_US_JOBS)
MERGE|JobLegislative|JOB_LEG|HRX_US_JOBS|OCT18EFF1|OCT18EFF1|COMMON|1990/01/01|
4712/12/31|HRC_SQLLOADER|OCT18EFF1_LEG1|US|TECHNICIAN|EXEMPT||| Testing EFF
MERGE|JobLegislative|JOB_LEG|FR|OCT18EFF1|OCT18EFF1|COMMON|1990/01/01|4712/12/3
1|HRC_SQLLOADER|OCT18EFF1_LEG2|FR|||387b|N|
Unlike other components of the business object hierarchy, EFF MERGE lines cannot be supplied in isolation, but,
must be accompanied by a parent record.
You must supply a value for the user key flexfield segment attributes when creating an extensible flexfield record.
When updating a multirow extensible flexfield record, you must supply either the source key or the complete user
key, including the flexfield segments defined as the unique key.
You can determine which flexfield segments form the unique key by reviewing the flexfield segment configuration on
the Manage Extensible Flexfields page. All flexfield segments for which Unique Key is selected are user key
attributes.
METADATA|Job|FLEX:PER_JOBS_DFF|gender_Display(PER_JOBS_DFF=JOBCONTEXT1)|..
MERGE|Job|JOBCONTEXT1|Male|..
MERGE|Job|JOBCONTEXT1|Female|..
Source-System References
You can include source-system references in each data line in a file.
Source-system references are optional. They enable you to record the source-system database table name, column
names, and attribute values. These details are visible in the HCM Data Loader interface. Therefore, if an object fails
to load, you can easily identify the data source.
Source-System Names
You specify source-system names in the relevant METADATA line.
To specify the source-system table name, you add to the METADATA line:
SourceRefTableName=<table name>
You can specify up to 10 source-system column names in the same METADATA line using the SourceRef001 to
SourceRef010 tags.
For example:
METADATA|Job|SourceRefTableName=PER_JOBS|SourceRef001=JOB_ID|SourceRef002=EFFEC
TIVE_START_DATE|SourceRef003=EFFECTIVE_END_DATE
Source-system references can appear anywhere in the METADATA line after the instruction and discriminator tags.
Source-System Values
Supply the source-system values on each data line, ensuring that they appear in the order specified on the
METADATA line.
For example:
METADATA|Job|SourceRefTableName=PER_JOBS|SourceRef001=JOB_ID|SourceRef002=EFFEC
TIVE_START_DATE|SourceRef003=EFFECTIVE_END_DATE
MERGE|Job||135|2010/01/01|4712/12/31
MERGE|Job||136|2010/01/01|4712/12/31
When you supply changes for date-effective records, your updates may affect multiple date-effective rows. Care
must be taken if your change predates existing data for your record.
For example:
If you supply an update with an Effective Start Date of 2011/01/01 and no Effective End Date is supplied, a new
date-effective split will be generated on the 1st January 2011 but both the 10th January 2012 and 4th March 2012
records will be impacted. How these records will be updated depends on the date-effective maintenance mode.
Retain - Retains all existing date-effective records. This mode is recommended when you are supplying an
incremental update to an existing record.
Replace - Removes existing date-effective splits for the date range specified. This mode is useful during
data migration, when you are uploading the complete data for a record.
Both modes generate a new date-effective split if you specify an effective start or end date that is new. That is, no
date-effective split exists for that date.
Both modes only update the attributes for which you have supplied values. To ensure a null value exists, make use
of the #NULL token. See Setting Not Null Attribute Values to Null on page 20.
The following information provides guidance on the functionality that these modes provide. However, not all
business objects fully support these modes. See the business object specific documentation for more information.
To retain future dated records you must include a SET command to override the default behavior:
SET PURGE_FUTURE_CHANGES N
When HCM Data Loader is running in retain mode, you can choose to:
Assignment Example
ESD Seq EED Action Code Job Grade Location Normal Hours
Update the working hours on the 10th Jan 2012 retaining future dated values
SET PURGE_FUTURE_CHANGES N
METADATA|Assignment|SourceSystemId|EffectiveStartDate|EffectiveSequence|Effecti
veLatestChange|EffectiveEndDate|ActionCode|NormalHours
MERGE|Assignment|2724|2012/01/10||Y|#RETAIN|ASG_CHANGE|37.5
ESD Seq EED Action Code Job Grade Location Normal Hours
Note: The EffectiveSequence attribute was not supplied with a value in order to ensure that the next MCPD split
was assigned to this change. If you want to start at an existing MCPD split, then specify the EffectiveSequence and
EffectiveLatestChange values for that MCPD record.
ATTENTION: This is the only recommended action for MCPD records, or any record with a mandatory ActionCode.
By attempting to roll forward any changes over future-dated records, you are likely to corrupt the ActionCode for
each future dated record in your specified date range.
If you had not supplied the #RETAIN tag but instead left the EffectiveEndDate unspecified or had a value of
4712/12/31 (to ensure the change was applied until the end of time) you would get a very different result.
Update the working hours on the 10th Jan 2012 overwriting future dated values:
SET PURGE_FUTURE_CHANGES N
METADATA|Assignment|SourceSystemId|EffectiveStartDate|EffectiveSequence|Effecti
veLatestChange|EffectiveEndDate|ActionCode|NormalHours
MERGE|Assignment|2724|2012/01/10||Y||ASG_CHANGE|37.5
ESD Seq EED Action Code Job Grade Location Normal Hours
As the Action Code is a mandatory attribute for which you have supplied a value, the supplied value will overwrite
the existing Action Code for all future-dated records.
Note: This action is not reversible. If you supply attribute values that span existing date-effective splits, then they will
all be updated with every attribute value supplied.
Specify the effective end date when the change should stop.
Specify that the change should continue until the end of the object.
Note: This functionality should be used with caution. Many business objects have mandatory attributes. All values
you supply will be rolled forward across all records in the date range that you specify. This outcome could have an
undesired impact on your data. Review the specific business object documentation for more details.
If you know when your change should end, supply that date in the EffectiveEndDate attribute.
You can apply a change to RegularTemporary from 4th March 2011 to 4th April 2014 by including these lines in the
Job .dat file:
SET PURGE_FUTURE_CHANGES N
METADATA|Job|SourceSystemId|EffectiveStartDate|EffectiveEndDate|ReqularTemporar
y
MERGE|Job|45346|2011/03/04|2014/04/04|R
A new date-effective split will be created for both the start and end dates. Only the RegularTemporary attribute was
supplied with a value, so only that attribute is updated for the date-range. Other attributes retain their existing
values.
Correct All Future-Dated Records for the Life of the Object
You can apply a change to RegularTemporary from 4-Mar-2011 until the end of the Job by including these lines in
the Job .dat file:
SET PURGE_FUTURE_CHANGES N
METADATA|Job|SourceSystemId|EffectiveStartDate|EffectiveEndDate|ReqularTemporar
y
MERGE|Job|45346|2011/03/04|#ALL|R
By default, future-dated changes will be replaced. However, to ensure this behavior supply this SET command:
SET PURGE_FUTURE_CHANGES Y
ESD Seq EED Action Code Job Grade Location Normal Hours
Update the working hours on the 10th Jan 2012 replacing future dated values:
SET PURGE_FUTURE_CHANGES Y
METADATA|Assignment|SourceSystemId|EffectiveStartDate|EffectiveSequence|Effecti
veLatestChange|EffectiveEndDate|ActionCode|NormalHours
MERGE|Assignment|2724|2012/01/10||Y||ASG_CHANGE|37.5
ESD Seq EED Action Code Job Grade Location Normal Hours
A new date-effective split is generated for the new EffectiveStartDate of 10th Jan 2012.
The date-effective records that existed after that date are replaced by this change.
Existing attribute values that predate the change and where new values have not been supplied will continue on the
new record. To explicitly remove existing values, the #NULL token must be supplied.
Updating the First Effective Start Date or Last Effective End Date
To alter the first effective start date or the last effective end date, you must place a Y against either of the following
attributes:
ReplaceFirstEffectiveStartDate
ReplaceLastEffectiveEndDate
You supply the new date using the EffectiveStartDate and EffectiveEndDate attributes.
This functionality can also be used in conjunction with supplying other updates. For example, you can specify an
earlier effective start date and supply a name change to reconcile across all existing date-effective records.
Examples
The following example shows how to alter the first effective start date of an existing Job:
METADATA|Job|JobId|EffectiveStartDate|EffectiveEndDate|ReplaceFirstEffectiveSta
rtDate
MERGE|Job|23452|1950/01/01|4712/12/31|Y
The following example shows how to end an existing recurring element entry:
METADATA|ElementEntry|ElementEntryId|EffectiveStartDate|EffectiveEndDate|Replac
eLastEffectiveEndDate
MERGE|ElementEntry|4634|2014/01/01|2014/04/05|Y
The following example shows how to alter both dates, with multiple date-effective records:
Limitations
There are certain situations in which the ability to replace the last effective end date is not supported.
Invalid action
Some objects do not support the last effective end date being anything other than the Oracle Fusion end of time. In
these cases, HCM Data Loader raises an error if the ReplaceLastEffectiveEndDate attribute is included in the
METADATA line.
Similarly, objects such as worker do not support the first effective start date being altered using this mechanism. To
alter a worker's effective start date, you can use the NewStartDate worker attribute.
If you attempt to alter the first effective start date or the last effective end date for an object that does not support it,
you will receive the following error message:
The {BUSINESS OBJECT} METADATA line cannot be processed as the {ATTRIBUTE} attribute is invalid. {DATE
ATTRIBUTE} cannot be modified for this business object.
Tokens
DATE ATTRIBUTE The name of the effective date attribute that cannot be updated EffectiveStartDate
for this object
Reconcile Mode
When running in reconcile mode, you can populate the EffectiveEndDate with different values to control what
happens to any future-dated records that may exist. The following values cannot be used in conjunction with altering
the last effective end date:
#RETAIN
#ALL
null
Translation Data
In environments where multiple languages are enabled, you can load translated objects. HCM Data loader supports
any Java supported character set.
For example, if you create a record for the Sales Manager job in an environment where US English is the base
language and French, German, and Spanish are enabled, then the object is created as follows:
Once this object is successfully created, you can load a single translation data file (JobTranslation.dat) to correct the
French, German, and Spanish translations of the job name. You can load the translations in separate files, one per
language, if you prefer.
You can deliver translation files either in the same zip file as the original object or separately. However, you cannot
deliver them before the object that they apply to exists.
Translation-File Discriminators
Unique file discriminators are defined for the translation files and are identified in the relevant file. For example, the
file discriminator for the file JobTranslation.dat is JobTranslation.
Effective Dates
When you load translated values for an existing object, you must ensure that the effective dates in the translation
files are the same as those in the base-language version of the object. If you later update the object, then you
update the base-language object before updating the translation object. All components of a translated object must
remain synchronized.
Example: Job.dat
METADATA|Job|SourceSystemOwner|SourceSystemId|EffectiveStartDate|EffectiveEndDa
te|JobCode|Name|ActiveStatus
MERGE|Job|EBS-UK|JB2ACC44|2010/01/01|2014/04/04|ACADM|Accounts Administrator|A
MERGE|JOB|EBS-UK|JB2ACC44|2014/04/05|4712/12/31|ACADM|Accounts Clerk|A
Example: JobTranslation.dat
METADATA|JobTranslation|SourceSystemOwner|SourceSystemId|EffectiveStartDate|Effec
tiveEndDate|Language|Name
If you are providing an updated translated value for a date-effective object and no date-effective split exists on the
start date of the new translation value, then you must also update the base-language object. This requirement
exists to ensure that the effective dates of the base-language and translation objects remain the same.
METADATA|JobFamily|EffectiveStartDate|EffectiveEndDate|JobFamilyName
DELETE|JobFamily|2012/10/01|4712/12/31|Sales01
Caution: Deleted data cannot be recovered. It is recommended that you try to correct your data rather than delete
and recreate it.
Before deleting an object, ensure that other business objects do not refer to it.
Note that:
You can delete complete business objects and individual complete business-object components. You cannot
delete individual date-effective records.
When you delete a parent object, its child objects and any translation objects are also deleted. For example, to
delete a grade and its child business objects, you create a DELETE instruction for the Grade discriminator. To
delete only a grade rate value child component, you create a DELETE instruction for the GradeRateValue
discriminator.
You cannot delete worker objects from the production environment, though you can delete some child
components of the worker object. For example, you can delete the person e-mail component of a worker object.
You cannot include DELETE instructions in translation data files.
Deletion means complete removal of the object from Oracle Fusion HCM. A deleted object cannot be
recovered.
To delete a date-effective object referenced by user keys, the EffectiveStartDate and EffectiveEndDate
attributes are mandatory.
To delete a date-effective object using source keys, Oracle Fusion GUID, or Oracle Fusion surrogate ID the
effective start and end dates are not mandatory.
You must not supply a DELETE instruction for an object that has a MERGE instruction in the same file. HCM
Data Loader will not know in which order to process the two instructions.
1. Upload the file to the Oracle WebCenter Content server. Oracle WebCenter Content allocates a unique content
ID to every file.
The Automating HCM Data Loader whitepaper explains how to use the WebCenter Content server web service.
This document is available from the MOS document, HCM Data Loader: User Guide (Doc ID 1664133.1).
3. In the Select File dialog box, click the Browse button to search and select your file. Alternatively, drag the file
from your local file browser to the Browse button.
6. Click OK to close the message and return to the Import and Load Data page.
Parameter Description
File Name The name of the file on the Oracle WebCenter Content server to process.
Content ID WebCenter Content ID for the file on the WebCenter Content server.
Delete Source File Purge the source file from the WebCenter Content server after processing.
Maximum Percentage of Import Percentage of file lines in error that can occur in a business object before the import process stops for the
Errors object.
Maximum Percentage of Load Percentage of business-object instances in error that can occur for a business object before the load
Errors process stops.
Maximum Concurrent Threads The maximum number of concurrent process threads to use for loading your data set.
for Load
Import Only
If you set the File Action parameter to Import only then your business object data will be:
Streamed from your zip file on the WebCenter Content server and decrypted if your file is encrypted
Validated for business object file name and METADATA definitions
Imported into the HCM Data Loader file line stage tables
Validated against attribute data types
Grouped by local key values to form logical records of related date-effective file lines. For example, all date-
effective file lines supplied for a job are grouped into a logical occurrence of a job, such as the job Accountant.
Formed into logical objects by resolving parent references. For example the logical record for a valid grade is
associated with the job it references
For more information on how to supply key values correctly, see the Supplying Key Values section on page 21.
Your valid logical objects will not be loaded into Oracle Fusion if you submit your file in the Import only mode.
If you set the File Action parameter to Import and load, the above import steps will be performed before valid
logical objects are submitted for loading. HCM Data Loader does not load your data directly into Oracle Fusion.
Instead, it passes your valid object data to the business-object-specific services. These services are responsible for
performing validation that is specific to the business object.
3. In the WebCenter Content Files dialog box, any files that have not been processed are listed. You can filter
the list to reduce it. For example, you can enter the WebCenter Content ID or file creation date. Select the file
that you posted to the WebCenter Content server and click Submit.
1. Select the business object and click Load. Only business objects with a loaded status of Ready ( ), Error (
), or Stopped ( )have the Load button enabled.
2. On the submission page, review the parameter values, update if necessary, and click Submit.
The parameter defaults can be changed using the Configure HCM Data Loader task in the Setup And Maintenance
work area. The default parameter values can be overwritten when submitting a file, either on the Schedule Request
page on the Import and Load Data user interface, or when submitting the file via the HCM Data Loader web service.
Below we discuss three parameters that can influence the performance of your data loading by optimizing the
multithreaded processing of your file. The examples provide general guidelines for parameter values to use. Your
data loads will continue to succeed regardless of the parameter values supplied, even with values that are different
from those advised.
Each server supplies 8 threads, so the maximum number of threads available is 8 multiplied by the number of
servers.
Business objects are hosted across a number of different servers, so it is important to understand not only how
many servers are available, but which server the business object you are loading is hosted by.
Example
Core Setup 8 64
Core Processes 2 16
Talent 1 8
Global Payroll 4 32
Workforce Management 1 8
Compensation 1 8
If your environment has 8 Core Setup servers, the maximum threads available is 64 (8 threads x 8 servers). Any
object hosted by the Core Setup server can be run with a Maximum Concurrent Threads for Load parameter of
64.
If 4 Global Payroll servers are available, the maximum threads available is 32 (8 threads x 4 servers). Objects
hosted by the Global Payroll server can be run with a Maximum Concurrent Threads for Load parameter of 32.
If, however, your environment has just 1 Talent server, the maximum threads available is 8. Objects hosted on the
Talent server can be run with a Maximum Concurrent Threads for Load parameter of 8, which is the default setting
for this parameter.
Note: Regardless of the parameter value set, your file will utilize only the threads it needs for the size of the file. The
number of threads is determined by the Load Group Size. If Load Group Size is set to the recommended and
default value of 100, a file with 500 locations will only need 5 threads.
There is an overhead with initiating each group of objects, so the Load Group Size should not be too small, as this
overhead will have a negative impact on performance. The statistics and status information supplied on the Import
and Load Data page is updated only at the end of every group, so the Load Group Size should not be too large, as
you wont be able to monitor progress.
It is advised that you consider changing this parameter from the default only when loading smaller groups of
workers. Worker is a particularly complex object, resulting in many file lines forming each individual worker. To
optimize the bulk loading of worker objects, the following Load Group Size values are recommended:
Examples
1 8 8 100
2 16 16 100
5 40 40 100
1 10 K 8 8 20
2 50 K 16 16 50
5 >100 K 40 40 100
Remember: The number of servers is not the total number of servers, but the number available for the object you
wish to load. For example, if loading Location, how many Core Setup servers are available?
MOS Doc ID 2020600.1 lists the supported HCM Data Loader business objects and the server each is
hosted by.
The Initiate Data Load page available in the Data Exchange work area. This page lists the Module for each
of the business objects supported by HCM Data Loader. The module equates to the server:
Module Server
Considerations
Regardless of the maximum number of threads you specify when submitting a file, HCM Data Loader will only be
able to use available threads. If you have other activities utilizing threads, then HCM Data Loader processing will be
limited to running on fewer threads. If you are running zip files in parallel for objects hosted on the same server,
you should consider adjusting the maximum concurrent threads to share the maximum available between your files.
Alternatively, supply the business object files in the same zip file. You can successfully run in parallel files that
contain business objects hosted on separate servers, as they will both utilize the maximum available.
The Search Results section presents one row for each data set. The Progress section of the search results is as
follows:
This section provides a summary of the import and load processes for each data set. If errors or warnings occur
during either the import or load process, then the relevant icons (warning and error ) appear. If both stages
complete successfully, then the green check mark ( ) appears in both columns.
Other icons that can be seen in the Progress section are In Progress ( ), Ready ( ), Locked ( ) and Stopped (
).
When warnings and errors occur, messages provide the details. You click the Messages icon to open the Messages
page.
The Imported Physical Rows and Objects sections of the search results provide more detail:
The Imported Physical Rows section shows the percentage of rows in the data set imported successfully to the
stage tables. It also shows the total number of rows in the data set, the number of rows imported, and the number
that failed to import.
The Objects section shows the percentage of objects in the data set that loaded successfully to the application
tables. It also shows the total number of objects in the data set, the number of objects that are ready to load, the
number that loaded successfully, the number that failed to load, and the number of objects that have been manually
corrected on the Error Management page. As objects are created during the Import stage, you can see failed objects
during import, before load has started.
For any data set selected in the Search Results section, the Business Objects tab in the Details section of the Import
and Load page provides information about the progress of each business object. For example, if the data set
includes both grades and locations, then one row appears for grades and one for locations.
The Processes tab in the Details section of the Import and Load page shows the status of the process submitted to
import and load the data set.
In the File Structure section of the page, expand any folders to see file lines with import errors. For example:
The Messages section of the File Line Errors page displays the associated error message.
The Details section of the File Line Errors page displays the contents of the physical row.
The Physical Row tab displays the METADATA and data lines supplied in the file for the record that has
errored:
Using this information, you can determine how to correct the import errors. You must import and load the corrected
data again, and you must add the corrected data file to a new zip file. Any attempt to process the existing zip file
again will fail.
In the Data Structure section of the page, expand any folders to see objects with errors. When you select an object
with errors, the Details section of the Object Errors page shows the:
Object attributes and the values that you supplied for those attributes
Source-system references, if any
Contents of the physical row
For example, attributes:
The values displayed in the Source System References tab are those supplied in the METADATA and data lines in
your file for the SourceRef attributes. See page 34 for details of how to provide values that are displayed in the user
interface.
The Messages section of the Object Errors page displays error messages for the selected object.
Using this information, you can determine how to correct the errors. You must import and load the corrected data
again, and you must add the corrected data file to a new zip file. Any attempt to process the existing zip file again
will fail.
1. Open the Error Management page and drill down in the Data Structure hierarchy to the record you want to
correct.
2. Click Edit on the Attributes tab to provide corrections for individual attributes on the selected record.
3. Provide your updates. For dates you can use the date picker to update the date value.
You can resubmit Load to process your corrected objects. See the Initiating Load or Resubmitting Load section on
page 47.
You can reset any corrected attribute value to the value supplied in the file by selecting the attribute to reset and
clicking Reset.
Clicking on the Corrected Objects count opens the Error Management page, where you can review your corrections.
Corrected records and attributes are highlighted by the updated value ( ) icon.
Stopping Processing
You can stop a processing data set at any time. The Stop button on the Data Set table and Business Objects table
can be clicked to initiate the request. However, it can take a few minutes for a large data set to stop processing
completely. To retain efficiency in the import and load processing, the check for a request to stop is intermittent.
1. Select the data set you want to stop, and Refresh the Data Sets table to ensure that the data set is still
processing. The availability of the Stop button is determined by the Imported and Loaded statuses of the data
set. The button is enabled only if either is In Progress ( ).
2. Click Stop.
1. Select the Business Object you want to stop. It is worth refreshing the Business Objects table to ensure that the
Business Object is still processing. The availability of the Stop button is determined by the Imported and
Loaded statuses of the business object: only if either is In Progress ( ) is the button enabled.
2. Click Stop.
A stopped import process cannot be restarted. You will be asked to confirm that you want to proceed with stopping
the process. Click OK to proceed.
Potential Errors
Sometimes it is not valid to request a stop. Perhaps processing has already completed normally, there are no
processes to stop, or a stop has already been requested. For these situations a dialog box will display the reason
why the stop request will not be submitted.
When a Business Object is stopped, the process where the stop occurred will have a stopped status:
You cannot restart the Import process for stopped or failed imports. You can restart stopped and failed Load
processes. For more information, see Initiating Load or Resubmitting Load on page 47.
Extracting Data
HCM Data Loader makes use of two outputs from HCM Extracts. As for all predefined HCM Extracts, you are
recommended to make a copy of the predefined extract and tailor it to suit your use case.
The delivered output is in XML making the extract machine readable. You can, however, create your own BI
Publisher formats based on this extract.
Compensation Changes
HCM Extracts also delivers the Compensation Changes extract. This report extracts the compensation changes
made for a particular compensation run.
Worker Synchronize Person Records When you run the Synchronize Person Records process, changes to person
and assignment details that have occurred since the last data load are
communicated to consuming applications, such as Oracle Fusion Trading
Community Model and Oracle Identity Management, in the Oracle Fusion
environment.
Worker Update Person Search Several attributes of person, employment, and profile records are used as
Keywords person-search keywords. This process copies keyword values from the
originating records to the PER_KEYWORDS table, where they are indexed to
improve search performance. When you run the Update Person Search
Keywords process, the whole PER_KEYWORDS table is refreshed; therefore,
you are recommended to run the process at times of low activity to avoid
performance problems.
Submit this process with the After Batch Load parameter set to Yes.
Worker Optimize Person Search Optimizes the index of the person search keywords table. Recommended to
Keywords Index be run after the Update Person Search Keywords process.
Worker Refresh Manager Hierarchy For performance reasons, the complete manager hierarchy for each person is
extracted from live data tables and stored in a separate manager hierarchy
table, known as the denormalized manager hierarchy. It ensures that a
person's manager hierarchy is both easily accessible and up to date. The
Refresh Manager Hierarchy process populates the denormalized manager
hierarchy table with latest information after each data load.
Worker Send Personal Data for Updates several person-related changes and updates the corresponding OIM
Multiple Users to LDAP attributes. An update request is sent to OIM which in turn updates the LDAP.
Run this process only when you want user accounts to be created or updated.
Worker Autoprovision Roles for All This process provisions and deprovisions roles based on current role-
Users provisioning rules.
Name Format Apply Name Formats to Applies the name formats Display Name, List Name, Full Name, and Order
Person Names Name to denormalized person name data when a name format is modified or
added.
Organization Tree Node / Tree Flattening Logic Tree data flattening that improves query performance against the hierarchical
Department Tree Node data, especially for hierarchical queries such as roll-up queries.
Organization Tree Node / Tree Audit Auditing tree-structure metadata verifies that it conforms to all rules and
Department Tree Node ensures data integrity. Running an audit allows you to view audit details and
messages and correct any validation errors that the audit detects.
There are two ways to delete HCM Data Loader stage table data. You can:
Delete an individual data set from the Import and Load Data page
Delete multiple data sets using the Delete Stage Table Data page
2. Use the Search criteria to identify which data sets you want to include in the search. By default, all data sets
created by the current user that have not been updated in over a month are listed.
3. Identify the correct data sets to purge and click Schedule.
Figure 59: Schedule Delete HCM Data Loader Stage Table Data
4. If you want to delete the source files for the data sets from the WebCenter Content server, ensure the Delete
Source File parameter is set to Yes.
Caution: Deleting stage table data is not reversible. Once you have purged a data set you will no longer be able to
report on it or extract errors that were generated for it.
Best Practices
File Shape
When determining your file shape, the following actions are recommended:
Extract only changed attribute values, along with a unique reference to the record being maintained.
Never include both DELETE and MERGE instructions for the same record in the same file. HCM Data Loader
does not guarantee the order in which the file lines are processed.
HCM Data Loader validates every attribute name supplied in METADATA lines in your file. It will negatively impact
performance to include attributes that you do not intend to supply data for.
Data Migration
When creating business objects during data conversion, it is recommended that you deliver one object type per zip
file. For example, create one zip file for jobs, one for grades, one for workers, and so on. You must ensure that you
load individual zip files in the correct order and correct any errors before loading the next object to avoid data-
reference errors.
Set the HCM Data Loader date-effective maintenance mode to replace by supplying the SET
PURGE_FUTURE_CHANGES Y command at the top of your file.
Supply #NULL for attributes that should have null values when supplying history.
Understand and adhere to the date-effective rules. See the section Date Effective and MCPD Components
on page 24 for more details.
When loading large volumes of data it is recommended that you regularly purge the stage table data for Data Sets
that you no longer need to reference. For more information, see the section Maintaining Stage Table Data on page
60.
Ongoing Interfaces
When reporting incremental changes for ongoing interfaces:
Extract only the changed attribute values, along with a unique reference to the record being updated.
o Set the HCM Data Loader behavior to retain future-dated records by supplying the SET
PURGE_FUTURE_CHANGES N line at the top of your file.
o Supply the #RETAIN tag for the effective end date if you do not want to correct any future dated
records.
o Leave the effective end date null if you want a change to roll on until the end of time.
Note: Every attribute specified will be used to correct each record within the specified date-range,
inclluding attributes such as ActionCode.
o Leave the effective sequence blank to ensure a new MCPD split is generated with the correct
sequence for a new multiple changes per day record (MCPD).
Supply all business object files in the same compressed zip file. HCM Data Loader ensures they are processed
in the correct order. Referenced data is loaded before the data that references it.
Additional Help
Report Output
The HCM Data Loader Data-Set Summary is a user-readable HTML output that provides status information, along
with details of every process submitted to process your data set.
For each business object included in your data set, the business object status and file definition is reported. The
following sections are used to provide technical information about your failed records:
Parameters
It is advisable to restrict the report output to errors that need further investigation. The following parameters are
available to achieve this:
**Content ID A unique reference to a single Data Set Data Sets table Content ID
**Process ID A unique reference to a single Data Set Data Sets table Process ID
Message Text Partial or complete message text. Only records that Messages page Message Text, or
failed with this message will be reported. Error Management page Message Text
User Keys A comma-delimited list of the user key values. Only Error Management Data Structure for Object
records with these user keys will be reported errors
Line Numbers A comma-delimited list of file line numbers. Only the file Error Management Data Structure for Line errors.
lines with these sequence numbers will be reported.
Figure 60: Diagnostic Dashboard (Settings and Actions - Troubleshooting - Run Diagnostic Tests)
1. On the Diagnostic Dashboard (User Name Settings and Actions Troubleshooting List Run
Diagnostic Tests) search for the HCM Data Loader Data-Set Summary test by entering the name in the Test
Name search field and clicking Search.
2. Select the test by clicking the checkbox to the left of the test name and click Add to Run.
The HCM Data Loader Data-Set Summary appears in the Choose Tests to Run and Supply Inputs section.
Figure 62: Selecting the HCM Data Loader Data-Set Status Diagnostic Test
3. To review the parameter values, click the Click to Supply or Edit Input Parameters button.
4. Review the available parameters and provide values to target the output for the data you need to report.
5. Enter the parameter values and click OK. The parameters window closes.
6. Enter a name in the Run Name field to name your test run. Alternatively, leave this field blank for the
application to generate a name.
8. Click OK in the confirmation dialog box displaying the test Run name.
9. Click the Display Latest Test Run Status Information link to retrieve the run results.
Figure 66: Reviewing the HCM Data Loader Data-Set Summary Test Run Status
10. Expand the test hierarchy to see the HCM Data Loader Data-Set Status output and click the Report icon to
open the report.
The output can be saved and attached to a service request if you need support from Oracle.
business object A data structure that represents a real-world business artifact, such as worker or job. Comprises one or more
business-object components in a hierarchical structure.
child component A component of a business object that occurs below the top level of the component hierarchy.
component A logical grouping of attributes in a business object. A component has a unique ID that enables it to be
maintained independently of the business object to which it belongs.
data set A zip file containing one or more .dat files to be loaded.
date-effective Records that store the history of a component. Date-effective components do not have any gaps in their
history. Examples of date-effective components are Job, Contract, Assignment Manager.
discriminator In an HCM Data Loader .dat file, the value that identifies the business-object component to be loaded.
file-line instruction tag In an HCM Data Loader .data file, the value that identifies the purpose of a file line. Valid tags are: COMMENT,
DELETE, METADATA, MERGE, and SET.
file template The data (.dat) file supplied for each integration-enabled business object. It contains a METADATA file line for
each business-object component showing all attributes of the component. File templates are also supplied for
translation-object components.
integration-enabled object Business object that can be loaded using HCM Data Loader and for which a Logical Object interface method
exists.
logical object The grouping of related data lines to form one occurrence of the object, such as the Job Sales Consultant.
MCPD Some date-effective components support reporting Multiple Changes Per Day (MCPD). These allow different
attribute values on the same record to be changed and stored as separate updates, this is achieved by having
an effective sequence for each change on the same effective start date. Examples of MCPD components are
Work Terms and Assignment.
METADATA file line In an HCM Data Loader .dat file, the file-instruction line that defines, for a business-object component, the
attributes to be loaded and their order.
parent component A component of a business object that occurs at the top of the component hierarchy.
primary key A key made up of the attributes that uniquely identify a row.
simple-dated Components that have a date range during which they are valid, typically date from and date to. These
components can have gaps in the date records, unlike date-effective components. Examples of simple dated
components are Person Address, Person Email.
source-system reference Source system table name, column name, and attribute values optionally included in a business-object
component to be loaded.
user key A key formed of real-world attributes, such as person name or job code.
CONNECT W ITH US
blogs.oracle.com/oracle Copyright 2014, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the
contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other
warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or
facebook.com/oracle fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are
formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any
twitter.com/oracle means, electronic or mechanical, for any purpose, without our prior written permission.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
oracle.com
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and
are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are
trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. 0217