Introduction
As some of you might be aware by now that HCM Extracts is the recommended Outbound Integration tool for transferring data from Fusion HCM Cloud Application (applicable for On-Premise Deployment Model too) to external third party systems. While most of the times the Data Elements required by the consuming system can be fetched by using the available Database Item in the HCM Cloud Application in some of the cases the requirement might be a little complex involving mathematical and logical operations on a specific Database Item to derive a calculated extract attribute. One may use the “Record Calculation” Type Extract Attribute to achieve desired outcome.
In this article, we would try to make use of a very Derived Attribute which is (Commission derived as Salary*0.2) and illustrate how the same can be derived using a HCM Extract.
Creating a Basic Custom HCM Extract
For this demonstration, we would create a very simple HCM Extract which would consist of just three elements namely:
-
Person Number
This Data Attribute would hold the Person Number. This Data Attribute is fetched using the Database Item Extract Person Number.
-
Salary
This Data Attribute will hold the Salary of the Employee.
-
Commission
This Extract Attribute would be a derived column, which would be calculated using the ‘Record Calculation’ Type.
Now that we are aware of the Data Attributes we need to create our HCM Extracts let-us get started with creating a simple extract. Just for the sake of simplicity we would also have a very simple Extract Filter criteria wherein we would only fetch data for “Extract Employee Person Number = 541”
We would use the following details to Create Extract (Navigation is Data Exchange->Manage Extract Definitions-> Create (+))
Attribute Name |
Attribute Value |
Name |
RecordCalculationCriteriaBasedCustomExtract |
Start Date |
1/1/1951 |
Type |
HR Archive |
Next, we need to click on “Switch Layout” button
Once we click on “Data Group” it would take us to a new screen where we would need to populate following details:
Data Group |
|
Attribute Name |
Attribute Value |
Name |
Person |
*Tag Name |
Person |
User Entity |
PER_EXT_PAY_EMPLOYEES_UE |
Threading Database Item |
Extract Employee Person ID |
*Threading Action Type |
Object Actions |
Interlocking Database Item |
|
Root Data Group |
Checked |
Description |
Main Data Group |
Also, we would need to define a Data Group Filter Criteria
Data Group Filter Criteria |
|
Attribute Name |
Attribute Value |
Filter Criteria |
Extract Employee Person Number = 541 |
Next, we need to create a Record. We would need to populate the following details:
Record |
|
Attribute Name |
Attribute Value |
Effective Start Date |
1/1/1951 |
Effective End Date |
|
Sequence |
1 |
Name |
PersonRecord |
TagName |
PersonRecord |
Type |
Detail Record |
ProcessType |
Fast Formula |
Next Data Group |
|
Hidden |
|
Required |
|
Enable edits to output results |
|
Generated Fast Formula |
<Auto Generated When Record Attributes are Defined> |
Description |
Main Person Record |
Now, we need to define the Extract Attributes:
-
PersonNumber
-
Salary
-
Commission
Next, we need to populate the Extract Delivery Options using following details
Extract Delivery Options |
|
Attribute Name |
Attribute Value |
Start Date |
1/1/1951 |
End Date |
|
*Delivery Option Name |
RecordCalculationCriteriaBasedCustomExtract |
*Output Type |
Data |
Report |
/Custom/Practice Samples/ExtractReport |
Template Name |
|
*Output Name |
RecordCalculationCriteriaBasedCustomExtractOutput |
*Delivery Type |
None |
Bursting Node |
|
Override Delivery Node |
As the last step, we would search for the Extract and check if it is in Valid Status
Submitting Extract
We would now try to Submit the Extract
Navigation: Data Exchange->Submit Extracts
View Extract Results
We can view Extract Results now using the View Extract Results Link
We could clearly see that the Commission field is holding a data value, which is equivalent to 0.2 times of the Salary data thereby confirming that the Record Calculation feature is working fine and in perfect sync with our expectation.
I hope this would serve as a Prototype and someone of you would be able to extend on this to develop more interesting, robust and complex Extracts.
Do give a try and share your findings.
Good Bye for now and have a nice day ahead!.