PER Payroll Element Entry Upload

Description

PER Payroll Element Entry Upload creates, updates, deletes and adjusts payroll element entries – with their input values – for an employee’s assignment in Oracle HRMS/Payroll, from Excel, via the standard DateTrack-aware Oracle public API.

When to use it

  • Mass-load new recurring element entries (allowances, deductions) for many employees at once.
  • Update the input values of existing element entries across a population.
  • Enter adjustment element entries against existing entries.
  • Delete element entries in bulk using the appropriate DateTrack delete mode.
  • Apply DateTracked, API-validated changes effective on a specific date, instead of manual entry.

Before you start

  • Blitz Report is installed and you are signed in to a responsibility with access to the business group.
  • The employee has a primary, active assignment.
  • The element has a valid element link that applies to the assignment and is effective on the entry date.

Step 1 – Choose a mode, set the parameters and download

In Blitz Report, open PER Payroll Element Entry Upload, choose an Upload Mode (Create for an empty template, or Create, Update to download existing entries to update or delete), and set the parameters:

ParameterPurpose
Upload ModeCreate or Create, Update. Default is Create.
Business GroupThe business group (required); also filters the employee list.
Employee NameOptionally download entries for a single employee.

Run the upload to download and open the Excel file.

Step 2 – Enter the element entries

On each row enter the Employee Name, the Element Name, the Entry Type (Entry or Adjustment), the Effective Date, and the amounts in the Input … Entry Value columns. For an update or delete, also choose the Datetrack Update Mode.

Step 3 – Delete entries (optional)

To remove an entry, set Delete Element Entry to Yes on its row and choose a DateTrack delete mode in the Datetrack Update Mode column. The entry must already exist (download it first).

Step 4 – Validate and Save

Click Validate and Save. This checks for missing required values and runs the upload’s validation, then saves the file. Correct anything it flags before continuing.

Step 5 – Upload and view the result

Back in Blitz Report, click Upload and select your saved file. This submits the Blitz Upload request, which creates, updates, adjusts or deletes each element entry. When it finishes, a result report opens showing each row as success or error.

What’s produced

  • Created, updated, adjusted or deleted payroll element entries with their input values.
  • A result report listing every row with a status (success or error) and a message.

Common questions

How do I delete an element entry?
Download in Create, Update mode, set Delete Element Entry = Yes on the row, choose a delete mode in Datetrack Update Mode, and upload.

What’s the difference between Entry Type “Entry” and “Adjustment”?
Entry creates a normal element entry; Adjustment creates an adjustment entry linked to the employee’s existing entry for that element.

Why can’t I edit Business Group, Employee Name, Element Name or the input-value-name columns?
They are read-only keys/labels set from the download; you enter data in the Input … Entry Value columns (and Effective Date, Entry Type, etc.).

Which Datetrack Update Mode should I pick?
For an update, choose how the dated change is applied (e.g. Correction or Update); for a delete, choose the delete mode. It is required for both update and delete.

Why doesn’t an employee appear in the list?
Only employees in the selected business group with a current, active, non-terminated assignment are listed.

Troubleshooting

MessageCauseWhat to do
Datetrack Update Mode is requiredThe mode was left blank on an update or delete row.Select a DateTrack mode (update modes for an update, delete modes when Delete = Yes).
Element entry not found / invalid object versionUpdating or deleting an entry that wasn’t downloaded, or stale data.Re-download in Create, Update mode so the entry’s current identity is present, then re-upload.
The element link is not valid on the effective dateThe element isn’t linked to the assignment, or not effective on the date.Verify the element is linked to the assignment and effective; pick a valid element.
No existing entry to adjust againstAn Adjustment row has no base entry for that element/assignment.Ensure a base entry exists, or use Entry Type “Entry”.
Input entry value validation errorThe value doesn’t match the input value’s validation/lookup.Use the dropdown where offered, or enter a value within the element’s defined validation.
with input_values as
(select * from
(
select peevf.element_entry_id,pivfv.name,pivfv.input_value_id,peevf.screen_entry_value entry_value, row_number() over (partition by pivfv.element_type_id,peevf.element_entry_id order by pivfv.display_sequence) rnum from 
pay_input_values_f_vl pivfv,
pay_element_entry_values_f peevf
where 
trunc(sysdate) between pivfv.effective_start_date and pivfv.effective_end_date and
trunc(sysdate) between peevf.effective_start_date and peevf.effective_end_date and 
pivfv.input_value_id=peevf.input_value_id
)
pivot ( 
  max(name) value_name, max(input_value_id) value_id,max(entry_value) entry_value
  for rnum in
   (
    1 input1, 2 input2, 3 input3, 4 input4, 5 input5,6 input6, 7 input7, 8 input8, 9 input9, 10 input10, 11 input11, 12 input12, 13 input13, 14 input14, 15 input15 
   )
  )
  )
select 
null action_,
null status_,
null message_,
null modified_columns_,
pbg.name business_group,
papf.full_name employee_name,
papf.employee_number,
petfv.element_name,
peef.element_entry_id,
hl.meaning entry_type,
null delete_element_entry,
null datetrack_update_mode,
peef.object_version_number,
to_date(null) effective_date,
peef.effective_start_date, 
peef.effective_end_date,
input1_value_name,
input1_entry_value,
input2_value_name,
input2_entry_value,
input3_value_name,
input3_entry_value,
input4_value_name,
input4_entry_value,
input5_value_name,
input5_entry_value,
input6_value_name,
input6_entry_value,
input7_value_name,
input7_entry_value,
input8_value_name,
input8_entry_value,
input9_value_name,
input9_entry_value,
input10_value_name,
input10_entry_value,
input11_value_name,
input11_entry_value,
input12_value_name,
input12_entry_value,
input13_value_name,
input13_entry_value,
input14_value_name,
input14_entry_value,
input15_value_name,
input15_entry_value,
to_number(null) upload_row
from
per_all_people_f papf,
per_all_assignments_f paaf,
pay_element_entries_f peef,
per_business_groups  pbg,
pay_element_links_f pelf,
pay_element_types_f_vl petfv,
per_assignment_status_types past,
hr_lookups hl,
input_values iv
where
1=1 and
pbg.business_group_id=papf.business_group_id and
papf.person_id=paaf.person_id and
trunc(sysdate) between papf.effective_start_date and papf.effective_end_date and 
trunc(sysdate) between paaf.effective_start_date and paaf.effective_end_date and
trunc(sysdate) between peef.effective_start_date and peef.effective_end_date and
trunc(sysdate) between pelf.effective_start_date and pelf.effective_end_date and
trunc(sysdate) between petfv.effective_start_date and petfv.effective_end_date and
pelf.element_type_id=peef.element_type_id and
petfv.element_type_id=peef.element_type_id and
pelf.business_group_id=pbg.business_group_id and
paaf.assignment_id=peef.assignment_id and
peef.creator_type<>'UT' and
peef.element_link_id=pelf.element_link_id and
iv.element_entry_id=peef.element_entry_id and
hl.lookup_type='ENTRY_TYPE' and
hl.lookup_code=peef.entry_type and
paaf.assignment_type='E' and
paaf.primary_flag='Y' and
paaf.assignment_status_type_id=past.assignment_status_type_id and
past.per_system_status='ACTIVE_ASSIGN' and
not exists
(
select 1
from    
per_periods_of_service ppos   
where
ppos.person_id=papf.person_id and
ppos.period_of_service_id=(select max(period_of_service_id) from per_periods_of_service where person_id = papf.person_id) and
ppos.actual_termination_date < trunc(sysdate)
)
Parameter NameSQL textValidation
Upload Mode
:p_upload_mode like '%' || xxen_upload.action_update
LOV
Business Group
pbg.name=:business_group
LOV
Employee Name
papf.full_name=:employee_name
LOV