In this article, we will look into how to load the Element Entries and Costing Information using a single file from 21A update. Earlier we had to load the Element Entries using ElementEntry.dat and costing information using CostAllocation.dat and CostAllocationAccount.dat
From 21A, Oracle has released a new object ElementEntryWithCosting.dat using which we can load all these business objects in a single HDL file in a flattened form which is very easy to use.
Table of Contents
ElementEntryWithCosting Business Object:

Rollback is supported for this Business Object (similar to Element Entry) for the newly created rows only.
Here is the description for this business object:
An element entry holds the actual payroll element and benefits granted to a worker. The costing of an element entry refers to the costing segment information entered for an element entry and is used in payroll processing to create the costing results. You can’t upload date-effective history using this object, use the Element Entry object instead.

Here are the User Keys to load this business object:
AssignmentNumber, CreateEntrySequence, ElementName, EntryType (OR) AssignmentNumber, ElementName, EntrySequence, EntryType

Consider these guidelines when creating new element entries using the Element Entry with Costing object.
- You must supply the CreateEntrySequence attribute with a value that’s unique within the ElementEntryWithCosting.dat file for the Element Type and Assignment the entry is for. The entry sequence on the created element entry is then automatically generated for you by incrementing the largest existing element entry sequence for the combination of element type and assignment number.
- It’s always recommended that you supply source keys when creating new records. The source key supplied can then be used to identify the element entry, entry values and costing records when maintaining them.
- If you don’t supply source keys and reload the same file, new records will be created.
- You can’t create date-effective history using this object.
- You can’t specify different effective start dates for the element entry and costing using the object.
- You can’t update or end-date element entries using the Element Entry with Costing object.
Consider these guidelines when updating existing element entries that were created using the Element Entry with Costing object.
- Use the CostAllocationV3 and CostAllocationAccountV3 objects to maintain costing records created with the Element Entry with Costing object. The source key supplied when creating the Element Entry is the same used to identify the costing records.
- Use the ElementEntry object to correct or update element entries created with the Element Entry with Costing object. The source key supplied when creating the Element Entry is the same used to identify the Element Entry records. Element Entry Value records use with same source system ID but with the Input Value Base Name appended. Replace any spaces in the Input Value Base Name with underscores.Note: You must replace the spaces with underscores in InputValueBaseName.
Consider this when deleting element entries using the Element Entry with Costing object.
- Supply either the source key or the EntrySequence along with the other user key attributes, to uniquely identify the record to delete.
Seeded HDL Template for ElementEntryWithCosting:
COMMENT Data for Business Object: ElementEntryWithCosting Version: V2 Created on: 02-12-2021
METADATA|ElementEntryWithCosting|EffectiveEndDate|EffectiveStartDate|ElementEntryId|ElementTypeId|ElementName|AssignmentId|AssignmentNumber|Reason|Subpriority|EntryType|EntrySequence|CreateEntrySequence|SourceSystemOwner|SourceSystemId|GUID|InputValueName1|InputValueName10|InputValueName11|InputValueName12|InputValueName13|InputValueName14|InputValueName15|InputValueName16|InputValueName17|InputValueName18|InputValueName19|InputValueName2|InputValueName20|InputValueName21|InputValueName22|InputValueName23|InputValueName24|InputValueName25|InputValueName26|InputValueName27|InputValueName28|InputValueName29|InputValueName3|InputValueName30|InputValueName31|InputValueName32|InputValueName33|InputValueName34|InputValueName35|InputValueName36|InputValueName37|InputValueName38|InputValueName39|InputValueName4|InputValueName40|InputValueName5|InputValueName6|InputValueName7|InputValueName8|InputValueName9|ScreenEntryValue1|ScreenEntryValue10|ScreenEntryValue11|ScreenEntryValue12|ScreenEntryValue13|ScreenEntryValue14|ScreenEntryValue15|ScreenEntryValue16|ScreenEntryValue17|ScreenEntryValue18|ScreenEntryValue19|ScreenEntryValue2|ScreenEntryValue20|ScreenEntryValue21|ScreenEntryValue22|ScreenEntryValue23|ScreenEntryValue24|ScreenEntryValue25|ScreenEntryValue26|ScreenEntryValue27|ScreenEntryValue28|ScreenEntryValue29|ScreenEntryValue3|ScreenEntryValue30|ScreenEntryValue31|ScreenEntryValue32|ScreenEntryValue33|ScreenEntryValue34|ScreenEntryValue35|ScreenEntryValue36|ScreenEntryValue37|ScreenEntryValue38|ScreenEntryValue39|ScreenEntryValue4|ScreenEntryValue40|ScreenEntryValue5|ScreenEntryValue6|ScreenEntryValue7|ScreenEntryValue8|ScreenEntryValue9|Segment1|Segment10|Segment11|Segment12|Segment13|Segment14|Segment15|Segment16|Segment17|Segment18|Segment19|Segment2|Segment20|Segment21|Segment22|Segment23|Segment24|Segment25|Segment26|Segment27|Segment28|Segment29|Segment3|Segment30|Segment4|Segment5|Segment6|Segment7|Segment8|Segment9|SourceRefTableName=<source-table-name>|SourceRef001=<source-column-001>|SourceRef002=<source-column-002>|SourceRef003=<source-column-003>|SourceRef004=<source-column-004>|SourceRef005=<source-column-005>|SourceRef006=<source-column-006>|SourceRef007=<source-column-007>|SourceRef008=<source-column-008>|SourceRef009=<source-column-009>|SourceRef010=<source-column-010>
Sample ElementEntryWithCosting HDL Template:
METADATA|ElementEntryWithCosting|EffectiveEndDate|EffectiveStartDate|ElementName|AssignmentNumber|EntryType|CreateEntrySequence|SourceSystemOwner|SourceSystemId|InputValueName1|InputValueName2|InputValueName3|InputValueName4|InputValueName5|ScreenEntryValue1|ScreenEntryValue2|ScreenEntryValue3|ScreenEntryValue4|ScreenEntryValue5|Segment2
MERGE|ElementEntryWithCosting||2021/1/25|Holiday Pay|E12345|E|1|HRC_SQLLOADER|E12345_Holiday Pay_1|Hours|Earned Date||||0|2021/1/25||||
MERGE|ElementEntryWithCosting||2021/1/24|Regular Pay|E12345|E|2|HRC_SQLLOADER|E12345_Regular Pay_2|Hours|Earned Date||||8.25|2021/1/24||||
MERGE|ElementEntryWithCosting||2021/1/19|Regular Pay|E12345|E|3|HRC_SQLLOADER|E12345_Regular Pay_3|Hours|Earned Date||||6.75|2021/1/19||||
MERGE|ElementEntryWithCosting||2021/1/20|Regular Pay|E12345|E|4|HRC_SQLLOADER|E12345_Regular Pay_4|Hours|Earned Date||||7|2021/1/20||||
We need to only pass the input values that are actually present for that specific element. If we pass additional input values which don’t exist in Element Config, then we get an error “The input value record is invalid, because the ID submitted doesn’t exist.”
We cannot use this object to update the existing information that has already been loaded. For every load, the system will create a unique Entry Sequence, so if we try to load the same file again with user keys, it will create a new Element Entry with a new sequence.

The ElementEntryWithCosting object doesn’t support updating or correcting element entries made with it, instead using the ElementEntry, CostAllocationV3 and CostAllocationAccountV3 objects.
Let’s consider, after loading a recurring element entry with an open end date along with costing information, you realize that both the Funding Source and Amount were incorrect on the original element entry.
To correct the Amount entry value supply the ElementEntry.dat file.
Note: The source key from the ElementEntryWithCosting file is used to identify the element entry. To identify the element entry value, the same source key is used appended with the input value name.
Note: The source key from the ElementEntryWithCosting file is used to identify the cost allocation account record.
For more info, please refer to Oracle Documentation