You are on page 1of 27

Generate Element Entry and Other Objects

using HDL Transformation Formula

Oracle White Paper

June 23, 2020 | Version 1.05


Copyright © 2020, Oracle and/or its affiliates
Confidential – Public
Table of Contents
Introduction 3
Overview 4
Installation 6
Load Data from PBL File 9
Payroll Flow Overview 9
Security Considerations 9
Running the Process 10

HDL Transformation Formula 11


“PBL To HDL Element Entry” formula 11
PBL formula with LINEREPEAT 11
PBL formula with MESSAGE and MESSAGELEVEL 11
PBL formula with operations 12
PBL input file with default layout (i.e. no PBL transformation formula) 13
HDL Data Loader formula for Simplified Layouts, such as CSV 14
Defaulting Entry Sequence when creating Element Entry 15
“PBL To HDL Other Objects” formula 16
Payroll Relationship 16
External Bank Account 17
Personal Payment Method 17
“PBL To HDL Balance Adjustment” formula 18
PBL input file with default layout (i.e. no PBL transformation formula) 18

How to troubleshoot “Generate Data Loader File”? 19


Known Issues and Workarounds 20

2 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
Introduction
This paper describes how to generate and load HDL data files to load Element Entry and few other objects when the input
file is a flat file (i.e. like a PBL input file).
It describes how existing Payroll Batch Loader customers can use this solution by keeping their existing input file and
transformation formula (if any). This means no need to write new formulas nor modify the existing formulas for the
supported objects.
In addition to this, customers who have been using PBL as well as new customers can use this approach to achieve the
following;
1. Simplify the input file structure, such as CSV spreadsheet as input file and generate the necessary HDL files, such
as HDL files for Element Entry, Cost Allocation and Cost Allocation Accounts.
2. Allow users to limit which objects they can load without the need to give full access to HDL functionality and ability
to load all HDL objects.

3 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
Overview

The solution consists of following set of objects which needs to be imported via Setup and Maintenance configuration
package that is available via the Customer Connect;
1. Flow: “Load Data from PBL File”
2. HCM Data Loader Formulas; “PBL to HDL Element Entry” and “PBL to HDL Other Objects”
3. Value Sets; Set of value sets whose name begins with “PAY_LOADER_..” which will be referenced in the above two
formulas.

Load Data from PBL File


The “Load Data from PBL File” is a modified version of “Load Data from File” payroll flow, which contains an additional
parameter “PBL Transformation Formula” to capture a PBL Transformation formula. This PBL Transformation formula can
be an existing PBL transformation formula or a new formula to simplify the input file for HDL.
The existing “Transformation Formula” parameter takes either one of the above two HCM Data Loader formulas. With the
combination of the HDL Transformation formula and the PBL Transformation formula, it converts the flat input file into its
respective HDL zip files.

HCM Data Loader formula “PBL to HDL Element Entry”


This formula supports the creation of the Element Entry, Element Entry Value, Cost Allocation and Cost Allocation Account
HDL zip file by taking in a single line of data, along with a PBL transformation formula. If the PBL transformation formula is
not passed, then it expects the incoming file in a specific PBL Default layout format (please refer to section “PBL input file
with default layout” for more information).

HCM Data Loader formula “PBL to HDL Other Objects”


This formula supports the creation of the part of Payroll Relationship or External Bank Accounts or Personal Payment
Method HDL zip file by taking in a single line of data, along with a PBL transformation formula. If the PBL transformation
formula is not passed, then it expects the incoming file in a specific format.

HCM Data Loader formula “PBL to HDL Balance Adjustment”


This formula supports the creation of the Balance Adjustment Header, Group, Line, Values, Cost Allocation and Cost
Allocation Account HDL zip file by taking in a single line of data, along with a PBL transformation formula. If the PBL
transformation formula is not passed, then it expects the incoming file in a specific format.

Patterns supported
PBL to HDL by reusing the existing PBL formula;

HDL
PBL Data File Transformation
Formula
Load Data from
PBL File

Zip File PBL


Transformation
HDL dat file
Formula
Figure 1: Example with PBL Transformation formula

4 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
PBL to HDL by reusing the existing PBL default layout which does not have a PBL transformation formula;

PBL Default HDL


Layout Data File Transformation
Formula
Load Data from
PBL File

Zip File

HDL dat file

Figure 2: Example with PBL Default Layout input file

Simple Layout to HDL by using a new formula;

Simplified Data HDL


File Transformation
Formula
Load Data from
PBL File

Zip File Transformation


Formula for the
HDL dat file
Simplified data file

Figure 3: Example with HDL Data Loader transformation formula

The new formula can be of “HCM Data Loader” formula type but needs to be passed via the “PBL Transformation Formula”
parameter.
This pattern can be used by customer to simplify the input data file, such as a CSV spreadsheet layout to capture Element
entry and Costing details in a single line. This is then used to generate the Element Entry, Cost Allocation and Cost Allocation
Accounts HDL zip files.

Performance Considerations
To ensure the solution is performant, the given formula heavily uses the Fast Formula working storage to cache values. Also,
to improve the performance of the HDL Import and Load, the generated file has the Name and ID values, such as
Assignment Number and Assignment ID.

This paper will go through in detail on what objects are supported via the given HDL Transformation.

5 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
Installation
1. Download the latest “PBLToHDLSetup_YYYYMMDD.zip” FSM Configuration Packages from Customer Connect.
This configuration package consists of Value Sets, Formulas and a Payroll Flow Pattern.
2. Upload and Import the Configuration packages.
NOTE: When importing do ensure the objects are imported without any pause status.
Step1: Navigate to “Setup and Maintenance”
Step2: Open “Manage Configuration Packages”
Step3: Click “Upload” and then upload the given zip file;

Step4: Once uploaded then click the “Import Setup Data”;

6 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
7 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
Step5: Confirm the import is complete;

3. Compile Formulas – Formula Name: PBL_to_HDL%, Formula Type: HCM Data Loader and Batch Loader
Submit the Compile Formula process and confirm the given two formulas are compiled.

8 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
Load Data from PBL File

Payroll Flow Overview


This is a modified version of the Load Data from File payroll flow pattern.
It has an additional parameter “PBL Transformation Formula”, which is an optional parameter. If “PBL Transformation
Formula” is not passed, then it assumes the input data file is of PBL default layout.
As for the “Transformation Formula” parameter, it needs to be passed with one of the given HDL transformation formulas;
“PBL to HDL Element Entry” and “PBL to HDL Other Objects”

There are two other parameters that are exposed in the given Flow Pattern for the “Initiate Data Loader” Flow Task;
• Maximum Concurrent Threads for Import
• Maximum Concurrent Threads for Load

Please note that at Flow Task level, there are other HCM Data Loader related configuration parameters, which can be
exposed at the Flow level and can be overridden at the submission time, such as Load Group Size, Maximum Percentage of
Import Errors, Maximum Percentage of Load Errors, File Encryption, etc. Please refer the HCM Data Loader documentation
for more information on the usage of these parameters.

Security Considerations
For “Load Data from File” payroll flow, as well as for the modified “Load Data from PBL File” payroll flow, the user needs to
have the necessary security privilege to submit and view Payroll flows. The Payroll Flow Security profile will allow another
layer of security to limit which flow patterns are available for the end user.
This does not require the user to give the HDL access. As a result, by limiting or defaulting the available transformation
formula, the objects that are available for the user can be restricted.

Example: How do I allow a user to only load Personal Payment Method object via HDL?
Steps:
1. Copy the “Load Data from File” (or “Load Data from PBL File” ) to a custom flow “Load Personal Payment Method”.
2. Define a Transformation Formula to create Personal Payment Method HDL object for a specified input data file.
3. Default the Transformation Formula flow parameter(s) to the above formula and also mark the parameter as
hidden.
4. Modify the Flow Pattern Security Profile that is attached to the given user to include the ““Load Personal Payment
Method” flow pattern.
Now the user can submit the “Load Personal Payment Method” flow pattern with the specified input data file. This will only
generate the Personal Payment Method HDL zip file and initiate the HDL import/load.

9 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
Running the Process
The steps to run the process are as follows:
1. Prepare data file
2. Load data file into UCM
3. Run payroll flow, make sure that Legislative Data Group is selected, enter the following details;
• Content ID
• Transformation Formula – This will be the one of the given formulas.
• PBL Transformation Formula – This is an optional parameter, where an existing (or new) PBL
Transformation Formula to be passed. If no formula is passed, then it will assume the input file is in a
specific format.
• Process Configuration Group
• Maximum Concurrent Threads for Import
• Maximum Concurrent Threads for Load
NOTE: For information on Threads and recommendation, please refer to HCM Data Loader and Payroll
Process Configuration Groups documentations.
4. Monitor HDL process in the Date Exchange work area (remove username from selection criteria)
From Release 20B onwards – Navigate to “Initiate Data Loader Task” task in the checklist to see the progress of the HDL
import/load.

10 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
HDL Transformation Formula

“PBL To HDL Element Entry” formula


In Payroll Batch Loader, the Element Entry supports the creation of the Element Entry, Element Entry Value, Cost Allocation
and Cost Allocation Account in a single line of data. However, in HDL the Element Entry is one DAT file with multiple lines for
a single entry, Cost Allocation is another DAT file and Cost Allocation Account is too another DAT file.
The given formula will take a simple PBL layout and then creates the necessary HDL zip files.

This formula also supports the following;

PBL formula with LINEREPEAT


If the PBL formula has logic to take one input line to create two element entries, such as Overtime and Overtime
Premium element entries.
The given HDL Transformation formula will call the PBL formula for each LINEREPEAT.

PBL formula with MESSAGE and MESSAGELEVEL


The raised messages can be seen in the log files.
In PBL the messages returned by the formula is held against the Payroll Batch Header or Payroll Batch Lines.
However, in HDL the messages for the “Generate Data Loader File” is held against the Flow Task Instance.
Following sql can be used to retrieve the logged messages as well;

select pml.line_sequence,line_text
from pay_flow_instances pfi,
pay_flow_task_instances pfti,
pay_message_lines pml
where pfi.instance_name = '<Flow Name>'
and pfi.flow_instance_id = pfti.flow_instance_id
and pml.source_id = pfti.flow_task_instance_id
and source_type='L'

Sample formula snippet on the usage of MESSAGE and MESSAGELEVEL;

..
IF Amount > '1000' THEN
(
MESSAGE[1] = 'The Amount exceed the allowance limit.'
MESSAGE[2] = 'Amount:'||Amount
MESSAGELEVEL = 'F'
) ELSE (
MESSAGE[1] = 'Allowance is within the limit.'
MESSAGELEVEL = 'I'
)

RETURN ..MESSAGE,MESSAGELEVEL..
..

11 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
PBL formula with operations
Create Element Entry & Update Element Entry
This support the Element name passed via Action Reference or via Element.
If it is Action Reference, the input value name will be based on the name of the return variable for the given entry
value. E.g. Amount.
If it is Element then it expects the PBL Formula to pass the entry value via the return variable as entry_value1,
entry_value2, etc.
Delete Element Entry
This support the given delete operation to either end date the element entry or delete the entry.

NOTE: If there are multiple date effective operations are performed on the same record via the same file then
Effective End Date needs to be passed. For example, an Element entry needs to be updated on Jan 1st with value of
$100, and then another update on the same element entry on Feb 1st with $100, then Effective_End_Date in the PBL
formula needs to be passed as Jan 31st for the first update and the end of time for the second record.

12 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
PBL input file with default layout (i.e. no PBL transformation formula)
Create Element Entry
Layout
Element Entry|Create Element Entry|<Element Name>|Effective Start Date|Effective End
Date|Person Number|Assignment Number|Terms Number|Relationship
Number|Payroll|Reason|Subpriority|ENTRY VALUE1|ENTRY VALUE2|ENTRY VALUE3|ENTRY
VALUE4|ENTRY VALUE5|ENTRY VALUE6|ENTRY VALUE7|ENTRY VALUE8|ENTRY VALUE9|ENTRY
VALUE10|ENTRY VALUE11|ENTRY VALUE12|ENTRY VALUE13|ENTRY VALUE14|ENTRY VALUE15|ENTRY
VALUE16|ENTRY VALUE17|ENTRY VALUE18|ENTRY VALUE19|ENTRY VALUE20|ENTRY VALUE21|ENTRY
VALUE22|ENTRY VALUE23|ENTRY VALUE24|ENTRY VALUE25|ENTRY VALUE26|ENTRY VALUE27|ENTRY
VALUE28|ENTRY VALUE29|ENTRY VALUE30|ENTRY VALUE31|ENTRY VALUE32|ENTRY VALUE33|ENTRY
VALUE34|ENTRY VALUE35|ENTRY VALUE36|ENTRY VALUE37|ENTRY VALUE38|ENTRY VALUE39|ENTRY
VALUE40|ENTRY VALUE41|ENTRY VALUE42|ENTRY VALUE43|ENTRY VALUE44|ENTRY VALUE45|ENTRY
VALUE46|ENTRY VALUE47|ENTRY VALUE48|ENTRY VALUE49|ENTRY VALUE50|Segment 1|Segment
2|Segment 3|Segment 4|Segment 5|Segment 6|Segment 7|Segment 8|Segment 9|Segment
10|Segment 11|Segment 12|Segment 13|Segment 14|Segment 15|Segment 16|Segment
17|Segment 18|Segment 19|Segment 20|Segment 21|Segment 22|Segment 23|Segment
24|Segment 25|Segment 26|Segment 27|Segment 28|Segment 29|Segment 30|Override Entry

Example
Element Entry|Create Element Entry|Bonus|2017/01/01|||E101||||||1000

Update Element Entry


Layout
Element Entry|Create Element Entry|<Element Name>|Effective Start Date|Effective End
Date|Person Number|Assignment Number|Terms Number|Relationship
Number|Payroll|Reason|Subpriority|ENTRY VALUE1|ENTRY VALUE2|ENTRY VALUE3|ENTRY
VALUE4|ENTRY VALUE5|ENTRY VALUE6|ENTRY VALUE7|ENTRY VALUE8|ENTRY VALUE9|ENTRY
VALUE10|ENTRY VALUE11|ENTRY VALUE12|ENTRY VALUE13|ENTRY VALUE14|ENTRY VALUE15|ENTRY
VALUE16|ENTRY VALUE17|ENTRY VALUE18|ENTRY VALUE19|ENTRY VALUE20|ENTRY VALUE21|ENTRY
VALUE22|ENTRY VALUE23|ENTRY VALUE24|ENTRY VALUE25|ENTRY VALUE26|ENTRY VALUE27|ENTRY
VALUE28|ENTRY VALUE29|ENTRY VALUE30|ENTRY VALUE31|ENTRY VALUE32|ENTRY VALUE33|ENTRY
VALUE34|ENTRY VALUE35|ENTRY VALUE36|ENTRY VALUE37|ENTRY VALUE38|ENTRY VALUE39|ENTRY
VALUE40|ENTRY VALUE41|ENTRY VALUE42|ENTRY VALUE43|ENTRY VALUE44|ENTRY VALUE45|ENTRY
VALUE46|ENTRY VALUE47|ENTRY VALUE48|ENTRY VALUE49|ENTRY VALUE50|Segment 1|Segment
2|Segment 3|Segment 4|Segment 5|Segment 6|Segment 7|Segment 8|Segment 9|Segment
10|Segment 11|Segment 12|Segment 13|Segment 14|Segment 15|Segment 16|Segment
17|Segment 18|Segment 19|Segment 20|Segment 21|Segment 22|Segment 23|Segment
24|Segment 25|Segment 26|Segment 27|Segment 28|Segment 29|Segment 30|Override Entry

Example
Element Entry|Update Element Entry|Bonus|2017/01/01|||E101||||||2000

Delete Element Entry


Layout
Element Entry|Delete Element Entry||Effective As-of Date|*Element|Entry
Sequence|*Person Number|Assignment Number|Terms Number|Relationship Number|Payroll

Example
Element Entry|Delete Element Entry||2017/01/01|Bonus|||E101

13 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
HDL Data Loader formula for Simplified Layouts, such as CSV
Customers wanting to upload simple layout spreadsheet, such as csv format, to create Element Entry, Element
Entry Value, Cost Allocation and Cost Allocation via HDL, then HDL Data Loader transformation formula can be
written to achieve that. This formula needs to be passed to the “PBL Transformation Formula” in the “Load Data
from PBL File” flow.
Please note this approach can be used by new customers, as well as PBL customers migrating from PBL to HDL.

Sample simplified layout

--Sequence, Assignment Number, Element Name, Effective Start Date, Amount, Cost Center
1,E101,Bonus,2020/04/01,1000,Sales

In this example, the Element should have an input value called “Amount” and the costing structure with a segment
called “Cost Center”.

Corresponding sample HDL Data Loader formula, which needs to be pass to the “PBL Transformation Formula”
parameter in the given Flow;

/* Inputs */
INPUTS ARE OPERATION (text),LINENO (number),POSITION1 (text),POSITION2
(text),POSITION3 (text),POSITION4 (text),POSITION5 (text),POSITION6 (text)

DEFAULT FOR POSITION1 IS 'NO DATA'


DEFAULT FOR POSITION2 IS 'NO DATA'
DEFAULT FOR POSITION3 IS 'NO DATA'
DEFAULT FOR POSITION4 IS 'NO DATA'
DEFAULT FOR POSITION5 IS 'NO DATA'
DEFAULT FOR POSITION6 IS 'NO DATA'

/* Calculations */
IF OPERATION='FILETYPE' THEN
OUTPUTVALUE='DELIMITED'
ELSE IF OPERATION='DELIMITER' THEN
OUTPUTVALUE=','
ELSE IF OPERATION='READ' THEN
OUTPUTVALUE='NONE'
ELSE IF OPERATION='MAP' THEN
(
TASK ='Element Entry'
TASKACTION ='Create Element Entry'
LINESEQUENCE = TRIM(POSITION1)
Assignment_Number = TRIM(POSITION2)
ACTIONREFERENCE = TRIM(POSITION3)
Effective_Start_Date = TRIM(POSITION4)
Amount = TRIM(POSITION5)
Cost_Center = TRIM(POSITION6)

RETURN TASK, TASKACTION, LINESEQUENCE, ACTIONREFERENCE, Assignment_Number,


Effective_Start_Date, Amount, Cost_Center
)
ELSE
OUTPUTVALUE='NONE'

/* Returns */
RETURN OUTPUTVALUE

/* End Formula Text */

14 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
Defaulting Entry Sequence when creating Element Entry
This section is information only, which highlights how Entry Sequence (aka. Multiple Entry Count) is defaulted in
the given solution.
In HDL, when using the user key, the Entry Sequence is expected to be passed, because it is part of the user key.
The passed Entry Sequence, along with the rest of the user key, will be used to check whether there exists an entry
before the entry is created.
To avoid passing the multiple entry count, the given formula also passes the source system key when the Task
Action is Create Element Entry.
The Source System Key is defaulted as “AssignmentNumber + ElementName + Unique Number”;

IF WSA_GET('Task_Action','NO DATA') = 'Create Element Entry' THEN


(
SourceSystemOwner = 'HRC_SQLLOADER'
SourceSystemId = AssignmentNumber||'-'||ElementName||'-'||InputValueName||'-
'||MultipleEntryCount
"ElementEntryId(SourceSystemId)" = AssignmentNumber||'-'||ElementName||'-
'||MultipleEntryCount

RETURN FileName,FileDiscriminator,BusinessOperation, SourceSystemOwner,


SourceSystemId, "ElementEntryId(SourceSystemId)", EffectiveStartDate,
EffectiveEndDate, ElementName, ElementTypeId, LegislativeDataGroupName,
LegislativeDataGroupId, InputValueName , ScreenEntryValue, LINEREPEAT
)
ELSE
(
RETURN FileName,FileDiscriminator,BusinessOperation, EffectiveStartDate,
EffectiveEndDate, ElementName, ElementTypeId, LegislativeDataGroupName,
LegislativeDataGroupId, AssignmentNumber, HrAssignmentId, InputValueName ,
ScreenEntryValue, LINEREPEAT, MultipleEntryCount, EntryType
)

This Unique Number is derived via the PAY_LOADER_REQUEST_ID_VS Value Set at the beginning of each child
process, which is based on the Process ID of the child process. This value is then incremented for each line in that
child process;

IF l_task_action = 'Create Element Entry' THEN


(
IF WSA_GET('NewMultipleEntryCount','NO DATA') = 'NO DATA' THEN
(
IF l_log_enabled='Y' THEN L_TEMP = ESS_LOG_WRITE('Calling Value Set :
PAY_LOADER_REQUEST_ID_VS')
l_MultipleEntryCount =
TO_CHAR(TO_NUMBER(GET_VALUE_SET('PAY_LOADER_REQUEST_ID_VS'))*1000000000)
)
ELSE
l_MultipleEntryCount = TO_CHAR(TO_NUMBER(WSA_GET('NewMultipleEntryCount','NO
DATA'))+1)
WSA_SET('NewMultipleEntryCount',l_MultipleEntryCount)

15 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
“PBL To HDL Other Objects” formula
This supports a specific set of task actions for the tasks; Payroll Relationship, External Bank Account and Personal Payment
Method.
In each cases the PBL input data file can be used with the following;
a. PBL formula
b. Without the PBL formula if the input file is in the default layout format.

Payroll Relationship
Task Action: Update Payroll Element Duration Date
Default Layout

Payroll Relationship|Update Payroll Element Duration Date||*Effective Date|*Assignment Number|*Payroll|*Time


Definition|*Date

Task Action: Update Assignment Details


Default Layout

Payroll Relationship|Update Assignment Details||*Effective Date|*Assignment Number|Time Card Required|Overtime


Period

Task Action: Add Payroll


Default Layout

Payroll Relationship|Add Payroll||*Assignment Number|*Payroll|*Effective As Of Date|Legislative Data Group

Task Action: End Payroll


Default Layout

Payroll Relationship|End Payroll||*Assignment Number|*Payroll|*Effective As Of Date|Legislative Data Group

Task Action: Delete Payroll


Default Layout

Payroll Relationship|Delete Payroll||*Assignment Number|*Payroll|*Effective As Of Date|Legislative Data Group

NOTE: The given formula can handle single task action for a given record in a file, but if there are multiple task actions for
the same record then it is not supported. For example, “Add Payroll” for Assignment 1 and “End Payroll” for Assignment 2
can be part of the same file. However, if there are two lines, where one line adds the Payroll and the other ends the Payroll,
then this is not supported by the given formula.
If there is such requirement to Add, End and set Final Close for a Payroll in a same file, then worth writing a new HCM Data
Loader Transformation formula to pass all these in a single line and map that to the “Assigned Payroll” HDL object.

16 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
External Bank Account
Task Action: Create External Bank Account
Default Layout

External Bank Account|Create External Bank Account||*Bank Name|*Bank Branch Name|*Account


Number|IBAN|Account Type|Secondary Account Reference|Account Name|*Person Number|Country

Personal Payment Method


Task Action: Create Personal Payment
Default Layout

Payment Method|Create Personal Payment Method||*Effective Start Date|*Name|Assignment Number|*Payroll


Relationship Number|Amount|*Priority|*Organization Payment Method|Percentage|*Payment Amount Type|Bank
Account Number

17 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
“PBL To HDL Balance Adjustment” formula
In Payroll Batch Loader, the Adjust Balance supports the creation of the Balance Adjustment Line, Cost Allocation and Cost
Allocation Account in a single line of data. However, in HDL the Balance Adjustment Header and Balance Adjustment Group
DAT file has one line each, but Balance Adjustment Line and Balance Adjustment Value DAT file has multiple lines for a
single adjustment. Likewise Cost Allocation and Cost Allocation Account are another set of DAT files.
The given formula will take a simple PBL layout and then creates the necessary HDL zip files.

This formula does not support the following PBL formulas with LINEREPEAT, MESSAGE and MESSAGELEVEL. However, if
support for these are required, then please raise the request in the Customer Connect where this document is shared.

PBL input file with default layout (i.e. no PBL transformation formula)
Adjust Balance
Layout
Balance|Adjust Balance|<Element Name>|Effective Date|Payroll|Consolidation
Group|Balance Date|Assignment Number|Calculation Breakdown Component|Tax Reporting
Unit|Legal Employer|Third-party Payee|Time Definition|Include adjustment in costing
process|INPUT_VALUE1|INPUT_VALUE2|INPUT_VALUE3|INPUT_VALUE4|INPUT_VALUE5|INPUT_VALUE6|
INPUT_VALUE7|INPUT_VALUE8|INPUT_VALUE9|INPUT_VALUE10|INPUT_VALUE11|INPUT_VALUE12|INPUT
_VALUE13|INPUT_VALUE14|INPUT_VALUE15|INPUT_VALUE16|INPUT_VALUE17|INPUT_VALUE18|INPUT_V
ALUE19|INPUT_VALUE20|INPUT_VALUE21|INPUT_VALUE22|INPUT_VALUE23|INPUT_VALUE24|INPUT_VAL
UE25|INPUT_VALUE26|INPUT_VALUE27|INPUT_VALUE28|INPUT_VALUE29|INPUT_VALUE30|SEGMENT1|SE
GMENT2|SEGMENT3|SEGMENT4|SEGMENT5|SEGMENT6|SEGMENT7|SEGMENT8|SEGMENT9|SEGMENT10|SEGMEN
T11|SEGMENT12|SEGMENT13|SEGMENT14|SEGMENT15|SEGMENT16|SEGMENT17|SEGMENT18|SEGMENT19|SE
GMENT20|SEGMENT21|SEGMENT22|SEGMENT23|SEGMENT24|SEGMENT25|SEGMENT26|SEGMENT27|SEGMENT2
8|SEGMENT29|SEGMENT30|Include adjustment in payment balance

Example
--Balance|Adjust Multiple Balances|PM YS Bonus|Effective Date|Payroll|Consolidation
Group|Balance Date|Assignment Number|Calculation Breakdown Component|Tax Reporting
Unit|Legal Employer|Third-Party Payee|Time Definition|Include in Costing
Process|Overridden Pay Value|Amount|Periodicity|Amount
Source|State|County|City|Segment 1|Segment 2|Segment 3|Segment 10|Segment 11|Segment
12|State Code|County Code|City Code|School District Code|Include adjustment in payment
balance
Balance|Adjust Multiple Balances|PM YS Bonus|2015-01-01|PM US Sun Power Semi-
monthly|PM Sun Power Semi-monthly||E300100005400626|PM US Sun Power Inc|PM US Sun
Power Inc|PM US Sun Power
Inc|||Yes||1000|||||||||||||||||||||||||||||cost1|cost2||||||||cost10|||||||||||||||||
||||No

18 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
How to troubleshoot “Generate Data Loader File”?
The given “PBL To HDL Element Entry” transformation formula contain logging statements, which can be enabled by setting
the “Logging Category” as “G” in the Process Configuration Group.
Once enabled any generated logs will be appear at the bottom of the log file;

This will highlight what values are returned by the PBL transformation formula or the by the Default PBL Layout input file, as
well as the additional information that are derived within the given formula.
For example, the log will highlight the derived Assignment Number when only the Person Number is passed;

19 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
Known Issues and Workarounds

1. “Generate Data Loader File” fails to generate any output when using the “PBL to HDL Element Entry” formula.
Symptom:
“Generate Data Loader File” results in the following error message in the log file;
“java.sql.SQLException: ORA-20001: Formula PBL TO HDL ELEMENT ENTRY, line 225, can't execute formula
PBL_TEST_FF. Details: Even if a formula, whose name is specified in an EXECUTE call, exists and is compiled, it
might not be executable. For example a formula can only execute formulas that are visible within the legislation that
it's executing in. There may be further application specific restrictions such as restricting called formulas by formula
type. Make sure formulas specified in EXECUTE calls are executable.”

Cause:
Calling the PBL formula within the “Delimiter” phase to derive the delimiter is resulting in the given error.

Resolution:
This is resolved from 20A March 20nd CWB or later releases, such as 20B.

Workaround:
Comment out the highlighted portion in yellow and then uncomment the portion in green as shown below for the
“PBL to HDL Element Entry” formula;
ELSE IF OPERATION='DELIMITER' THEN

/* l_pbl_formula =
GET_VALUE_SET('PAY_LOADER_FORMULA_VS','|=MODE=NAME|VALUE='||GET_VALUE_SET('PAY_LOADER_FLOW_PARAMS_VS','|=PARAMETER_NAME=PBL_TRANSFORMATION_FORMULA|')||'|')

IF LENGTH(l_pbl_formula) > 0 THEN

L_TEMP = ESS_LOG_WRITE('Calling PBL Formula for DELIMITER:'||l_pbl_formula)

SET_INPUT('OPERATION','DELIMITER')

EXECUTE(l_pbl_formula)

L_TEMP = ESS_LOG_WRITE('Completion of PBL Formula')

l_delimiter = GET_OUTPUT('OUTPUTVALUE','NO DATA')

ELSE

l_delimiter = '|'

OUTPUTVALUE=l_delimiter */

OUTPUTVALUE=','

20 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
2. “Generate Data Loader File” complete successfully without any errors but still no HDL file generated.
Symptom:
“Generate Data Loader File” shows the “CreateBatchFromFile” in the log file rather than the “LoadBatchFromFile”;
FTIrequestId : 300100209209522
flowId : 300100203181507
ProcessConfigurationGroup : 100010038407882
endNotifFlag : N
jobDefnIdName : CreateBatchFromFile
flowTaskId : 300100203181513
lookupContext : java:comp/env/ess/runtime

This then followed by the below error message in the Initiate Data Loader’s log file;
Unexpected JboException occurred with stacktrace, oracle.jbo.DMLException: JBO-26041: Failed to post data to
database during "Insert": SQL Statement "INSERT INTO
HRC_DL_DATA_SETS(DATA_SET_ID,UCM_CONTENT_ID,DATA_SET_NAME,SOURCE_TYPE,INTEGRATION_TYPE,T
RANSFER_STATUS,IMPORTED_STATUS,VALIDATED_STATUS,LOADED_STATUS,SKIPPED_STATUS,IMPORT_SUC
CESS_COUNT,IMPORT_ERROR_COUNT,UNPROCESSED_COUNT,VALIDATED_COUNT,LOADED_COUNT,ERROR_C
OUNT,SKIPPED_COUNT,CORRECTED_COUNT,ENTERPRISE_ID,REQUEST_ID,CREATED_BY,CREATION_DATE,LAST
_UPDATED_BY,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN,OBJECT_VERSION_NUMBER,IMPORT_LINES_ERROR
_COUNT,IMPORT_LINES_SUCCESS_COUNT,IMPORT_LINES_TOTAL_COUNT,LINE_ERROR_COUNT,LINE_HELD_CO
UNT,LINE_LOADED_COUNT,LINE_UNPROCESSED_COUNT,ROLLBACK_ERROR_COUNT,ARCHIVAL_STATUS)
VALUES
(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19,:20,:21,:22,:23,:24,:25,:26,:27,:28,:29,:30,:31,:32,:33,:34,:35)".

Cause:
When importing the given flow from the Setup and Maintenance configuration package, the flow randomly picks
either one of the “CreateBatchFromFile” or “LoadBatchFromFile” tasks. This is because both of these tasks have the
same display name.

Resolution:
This is resolved from 20B May 22nd CWB or later releases.

Workaround:
Manually setup the custom flow as shown below;
a. Query the flow “Load Data From File”

21 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
b. Click Copy and create a new customer flow “Load Data from PBL File Custom”

c. Query the newly copied flow “Load Data From PBL File Custom”

d. Click Edit and go the flow parameter section;

e. Create a new parameter called “PBL Transformation Formula” that matches the same Lookup as the existing
“Transformation Formula” parameter, but have the sequence as 35;

22 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
f. Click “Select and Add” in the same region to add the “Maximum Concurrent Threads for Import” and “Maximum
Concurrent Threads for Load” parameters;

g. Ensure the Parameter Basis and Basis Value are set as shown below for the “Maximum Concurrent Threads for
Import” and “Maximum Concurrent Threads for Load” parameters;

23 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
24 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
3. “Rollback” via the Flow or Flow task is resulting in error.
Symptom:
“Generate Data Loader File” shows the “CreateBatchFromFile” in the log file rather than the “LoadBatchFromFile”;
FTIrequestId : 300100209209522
flowId : 300100203181507
ProcessConfigurationGroup : 100010038407882
endNotifFlag : N
jobDefnIdName : CreateBatchFromFile
flowTaskId : 300100203181513
lookupContext : java:comp/env/ess/runtime

This then followed by the below error message in the Initiate Data Loader’s log file;
Unexpected JboException occurred with stacktrace, oracle.jbo.DMLException: JBO-26041: Failed to post data to
database during "Insert": SQL Statement "INSERT INTO
HRC_DL_DATA_SETS(DATA_SET_ID,UCM_CONTENT_ID,DATA_SET_NAME,SOURCE_TYPE,INTEGRATION_TYPE,T

25 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
RANSFER_STATUS,IMPORTED_STATUS,VALIDATED_STATUS,LOADED_STATUS,SKIPPED_STATUS,IMPORT_SUC
CESS_COUNT,IMPORT_ERROR_COUNT,UNPROCESSED_COUNT,VALIDATED_COUNT,LOADED_COUNT,ERROR_C
OUNT,SKIPPED_COUNT,CORRECTED_COUNT,ENTERPRISE_ID,REQUEST_ID,CREATED_BY,CREATION_DATE,LAST
_UPDATED_BY,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN,OBJECT_VERSION_NUMBER,IMPORT_LINES_ERROR
_COUNT,IMPORT_LINES_SUCCESS_COUNT,IMPORT_LINES_TOTAL_COUNT,LINE_ERROR_COUNT,LINE_HELD_CO
UNT,LINE_LOADED_COUNT,LINE_UNPROCESSED_COUNT,ROLLBACK_ERROR_COUNT,ARCHIVAL_STATUS)
VALUES
(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19,:20,:21,:22,:23,:24,:25,:26,:27,:28,:29,:30,:31,:32,:33,:34,:35)".

Cause:
When importing the given flow from the Setup and Maintenance configuration package, the flow randomly picks
either one of the “CreateBatchFromFile” or “LoadBatchFromFile” tasks. This is because both of these tasks have the
same display name.

Resolution:
This is resolved from 20B May 22nd CWB or later releases.

Workaround:
Manually setup the custom flow as shown below;
h. Query the flow “Load Data From File”

26 WHITE PAPER | Generate Element Entry and Other Objects using HDL Transformation Formula | Version 1.05
Copyright © 2020, Oracle and/or its affiliates | Confidential – Public
CONNECT WITH US
Call +1.800.ORACLE1 or visit oracle.com.
Outside North America, find your local office at oracle.com/contact.

blogs.oracle.com facebook.com/oracle twitter.com/oracle

Copyright © 2020, 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 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 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.

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. 0120

Generate Element Entry and Other Objects


using HDL Transformation Formula
September 2020

You might also like