Professional Documents
Culture Documents
Introduction .................................................................................................................................................. 3
Other ............................................................................................................................................................. 7
To ease this overhead, Oracle Payroll delivers multiple features that can reduce the amount of payroll
data held on the database that can be deemed to be legacy and not required for period to period
processing/reporting as per customer requirement. By minimizing this volume and limit the further growth
in volume of data in the transactional tables, performance can also be improved.
The various features are listed below with online references that detail the process and how to
enable/implement the feature if it is available for localizations.
Generally speaking, the PAY_RUN_RESULTS and PAY_RUN_RESULT_VALUES tables will create most
data during regular Payroll processing so would be a key area to focus for the maximum significant
overall volume reduction.
Insignificant Run Results prevents creation of both zero/null indirect run results and run result values. It
will prevent creation of the run result in the case where all run result values are null.
Sparse Matrix not only prevents null run result values but can also prevent certain run result values
derived from direct run results.
Both these features can prevent future creation of such data and support to purge any eligible existing
data via an associated upgrade program. This data may have been created prior to the feature being
enabled by the customer.Any results that are referenced by Retropay will not be deleted.
However, if a customer has any custom code that relies on the existence of the run result values being
generated, then it is advised that they carry out a testing cycle with just the Sparse Matrix feature enabled
for prevention of future values and confirm no impact is seen with the custom code prior to running the
Sparse Matrix Null Result Values process which will delete existing null run result values.
After running these processes, it is advised to ensure tables/indexes are rebuilt to reduce potential
fragmentation due to the potentially large amount of data that may be removed.
From Release 12.2 onwards, both of these features are enabled by default.
As of Release 12.1 the following legislations: US, MX, CA, AU, HK, KR and SG automatically enable this
feature via the overriding legislation rule.
Sparse matrix has been enabled via Generic upgrade process for International Payroll since 12.1 HRMS
RUP7 and over 20 localizations now support this feature.
• 368723.1 - How to Avoid the Creation of Null Run Results and Null Run Result Values while
Running Payroll?
This Note details the setup for enabling the Insignificant Run Results and Sparse Matrix features
via the Generic upgrade mechanism.
The Note also contains information on a patch containing a script for 12.0/12.1 for retroactive
deletion of insignificant run results/run result values and for the case of Sparse Matrix, the
retroactive deletion of old null run result values via Generic Upgrade.
The patch can be made available on request for 12.2 customers. The script is generic and
applicable to all code levels.
Of note for US, Canada, India and Norway legislations who refer to jurisdiction results:
Results related to jurisdiction used to be created, patch 20867132:R12.PAY.B now prevents them
being created in future as is proper, as well as providing an update to
the Generic Upgrade to remove existing result values of this type. A one-off can be requested for
12.2 availability.
Payroll Purge
Legislations can implement Payroll Purge functionality to periodically reduce data held in the Payroll
tables.
Each customer needs to consider their own requirement in terms of how often and for what length of time
legacy data is required to be held for legal reporting purpose.
As a general guidance, customers must consider to run Purge process to remove data 2 years prior to the
current financial year as this is considered a suitable timeframe.
One caveat would be to consider if any retrospective changes might be required in future which would
possibly involve Retropay needing access to this older data so customers should bear that in mind when
to purge data. They may of course have backup/offlining strategies in place to prevent complete loss of
data in tandem but can utilise the Purge feature to ensure regular processing is running against
appropriately streamlined data volume.
This is referred in 1937092.1 which also details the SQL for determining for which business groups the
upgrade has not yet run (pygenupgfix.sql). It is enabled via the Generic Upgrade mechanism: "Single
Latest Balance Table"
Refer bug 12889150 requesting for documentation which is added to Release Notes for R12.2.4/R12.1.7.
- see section 3.3 in 1662347.1 - Oracle Payroll Release Notes for Release 12.1 HRMS RUP7
- see section 3.3 in 1906518.1 - Oracle Payroll Release Notes for Release 12.2.4
The following 3 tables can be truncated after running the upgrade as all data is moved to
PAY_LATEST_BALANCES:
PAY_PERSON_LATEST_BALANCES
PAY_ASSIGNMENT_LATEST_BALANCES
PAY_BALANCE_CONTEXT_VALUES
This would be a manual step required by the DBA. Indexes etc on the PAY_LATEST_BALANCES should
also be rebuilt as per normal guidance after the migration of potentially large amounts of data to this
table.
Database Compression
First introduced in 9g, now a mainstream feature as Advanced compression in 11g and further extended
in 12c.
Simply put compression is where data values in a column that are repeated in different rows and stored in
the same data block are only stored once. Thus you need fewer blocks for storing the same data. There
is some additional CPU overhead to process the compressed blocks but far more significantly there is
less physical I/O because you visit fewer blocks.
Note, Oracle provide basic block compression feature as standard whereas some more advanced
compression features are only available with a license.
Some Payroll tables lend themselves well for consideration of compression. For example, tables relating
to Payroll result data are mostly static as soon as the pay period is closed. Also, legacy data used in
reporting can be considered.
The following Payroll specific tables may well lend to compression and were considered as part of an
internal compression benchmarking project:
References:
Internal Oracle Vision compression with Payroll processing benchmark:
Oracle E-Business Suite Release 12.1 with Oracle Database 11g Advanced Compression (Doc ID
1110648.1)
- Highlights: Payroll performance improved up to 25%, Up to 68% compression
For more detailed information on Compression options for tables, see the section in the Oracle DBA
guide
Event model
The Event model is an architecture used by Retropay, Continuous Calculation, Proration, and some other
processes.
Its function is to capture run-time changes (known as events) caused by manual changes recorded by
users, for example: compensation, manager, or location changes. Over time, the number of records held
can grow significantly in certain cases and thus Oracle Payroll provides facilities to purge this information
as described in the references below:
• Overview of Event Model: Payroll Event Model - section within Enhanced RetroPay white paper
(373148.1)
• Purge: Oracle Payroll Release Notes, Release 12.1.2 (970458.1)
- see section 3.1 which also details the 2 operating parameters used by this process and their
impact on the performance of the purge in terms of commit units/bulk fetch.
- rows archived into PAY_PROCESS_EVENTS_SHADOW based on those created prior to the
given "Purge Date"
Run Balances
Adjust Run Balance Dates process
The Adjust Run Balance Dates process will adjust the balance start date of all valid run balances.
It also acts as a purge process by truncating run balance data prior to the start date selected at run time.
Thus this process itself can be used to purge balance data that is deemed legacy in sense of not needing
to be retained on live tables for reporting purposes.
Again, as with the Payroll Purge section above, determination of this start date would be at the discretion
of the customer but general guidance would suggest a date of 12 months prior to the start of the financial
year would in most cases be appropriate. A date further back than this date may make the process non-
performing due to the amount of processing.
The following Notes will be of interest:
• How to SetUp and Use process_timeout for the Generate Run Balance Process(377887.1)
- to detail control of the timeout (whereby process ARBD/GRB) can later be retried
• How to Maintain 'Run Balances' at a Specific Point in Time in the Past (Doc ID 299561.1)
- some examples of cases by which to determine for how long the run balance data needs to be
retained to be reported on
• Best Practices: Generate Run Balance Payroll (Doc ID 335950.1)
Other
Purging Strategies for E-business Suite (https://community.oracle.com/docs/DOC-912284#)
- mentions: Using the standard Oracle E-Business Suite archive and purge programs.
CONNECT W ITH US
blogs.oracle.com/oracle
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. This
facebook.com/oracle
document is provided for information purposes only, and the contents hereof
twitter.com/oracle are subject to change without notice. This document is not warranted to be
error-free, nor subject to any other warranties or conditions, whether
oracle.com 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.