You are on page 1of 12

Oracle Human Resources (HRMS) Guide to the Setup and

Generation of the Online Payslip [ID 363694.1]

Modified:Jun

21, 2013

Status:PUBLISHED

Type:WHITE

PAPER

To

Bottom

Comments (0)

Priority:2

In this Document
Abstract
A Guide to the Setup and Generation of the Online Payslip
Introduction
History
Details
Setup
Online Payslip
Related Documents
Applies to:

Oracle Payroll - Version 11.5.10.2 and later


Oracle HRMS (UK) - Version 11.5.10.2 and later
Oracle HRMS (US) - Version 11.5.10.2 and later
Oracle HRMS (Australia) - Version 11.5.10.2 and later
Oracle HRMS (Canada) - Version 11.5.10.2 and later
Information in this document applies to any platform.
***Checked for relevance on 02-JAN-2013***
Abstract
A Guide to the Setup and Generation of the Online Payslip

Introduction

The Online Payslip enables employees to view their own payslip, via the
Employee Self Service menu after payroll processing has been completed.
Managers can also search for, and access the payslip of individual employees
via the Payroll Professional menu.

The information displayed on the payslip is generated by an


archiver program during the payroll process. This process and
the payslip are localised for each payroll legislation supplied by
Oracle to satisfy local requirements.

History

Document History
Author :Steve Cooper
Create Date :05-Apr-2006

Details
Setup

Each legislation has its own requirements regarding what information to


display on the Online Payslip. There will be standard information including
header details such as Name, Address, Employee Number and National
Identifier, and also statutory deductions and balances. There is also a userdefinable capability as each legislation allows the user to specify additional
site specific elements and balances that they wish to include on their
payslip.
The information is held on the Org Developer Descriptive Flexfield accessed
from the Business Group definition. Navigate to Workstructures ->
Organization-> Description , query your business group and click on Others
button. EMEA legislations have tended to use the Payslip Balances and
Payslip Elements contexts to contain the details of what additional
information they want to display on their Online Payslip. The US and Canada
use Payslip Information.
For example, the following contexts are used for legislations in EMEA
GB_PAYSLIP_BALANCES
GB_PAYSLIP_ELEMENTS
NL_PAYSLIP_BALANCES
NL_PAYSLIP_ELEMENTS
SA_PAYSLIP_BALANCES

SA_PAYSLIP_ELEMENTS
ZA_PAYSLIP_BALANCES
ZA_PAYSLIP_ELEMENTS
IE_BALANCES
IE_ELEMENTS

The segments defined are much the same for each legislation requiring
Balance Name,Balance Dimension and a Balance Narrative to be entered for
balances and Element Name, Element Input Value and Element Narrative for
Elements. The following sql can be used to query the information entered for
GB contexts:
select substr(org.org_information1,1,20) Baltype, substr(org.org_information2,1,20)
Baldim, substr(org.org_information3,1,20) Desc from hr_organization_information_v org
where org.org_information_context = 'GB_PAYSLIP_BALANCES' and
org.organization_id=&business_group
select substr(org.org_information1,1,20) Eletype, substr(org.org_information2,1,20)
Inpval, substr(org.org_information3,1,20) Desc from hr_organization_information_v org
where org.org_information_context = 'GB_PAYSLIP_ELEMENTS' and
org.organization_id=&business_group

For the US Balances, Elements and Messages are entered against the one
context, Business Group:Payslip Info. The follwing sql can be used to query
the information entered to be displayed on US online payslip:

select substr(org.org_information7,1,20) Balance, substr(org.org_information4,1,20)


Baltype, substr(org.org_information5,1,20) Baldim from hr_organization_information_v
org where org.org_information_context = 'Business Group:Payslip Info' and
org.organization_id=&business_group and org.org_information1='BALANCE'
select substr(org.org_information7,1,20) Element, substr(org.org_information2,1,20)
Eletype, substr(org.org_information3,1,20) Inpval from hr_organization_information_v
org where org.org_information_context = 'Business Group:Payslip Info' and
org.organization_id=&business_group and org.org_information1='ELEMENT'
select substr(org.org_information6,1,30) Message from hr_organization_information_v
org where org.org_information_context = 'Business Group:Payslip Info' and
org.organization_id=&business_group and org.org_information1='MESG'

The information that appears on the Online Payslip has to be extracted for
each period that the payslip is required. The payroll runs, prepayments and

payroll processes have to have been completed ,and then the payslip archive
process is run to extract and store the relevant information onto the table,
PAY_ACTION_INFORMATION.
Each legislation provides its own archive process to extract the statutory
information it needs, and any user defined information, as discussed in
previous section.
The archive procedure is standardised across the different legislations, and is
a PYUGEN process, but the naming conventions have tended to differ. For
example, below is a sample of some of the archive program definitions in
current use:
Region

Legislation

EMEA

FR

Payslip Generator - Statement of


Earnings (French)

PAYFRARC

UK

Payslip Generation - Self Service

UKPSGEN

AMERICAS

APAC

User Concurrent Pgm

Name Concurrent
Pgm

NL

Dutch Payslip Archiver

NL_PS_ARCHIVE

SA

Saudi Payroll Archiver

SA_ARCHIVE

KW

Kuwait Payroll Archiver

KW_ARCHIVE

IE

IE Legislative Reports Generator

IELDGEN

ZA

Pay Advice Generation - Self Service


(South Africa)

PYZAPARC

CA

Canadian Payroll Archiver

PYCAPYAR
MX_PS_ARCHIVE

MX

Payroll Archiver

US

Payroll Archive

PAYUSXFR

NZ

Payslip Archive (New Zealand)

PYNZPSAC

HK

Payslip Archive (Hong Kong)

PYHKPSAC

JP

JP Payslip Generation - Self Service

JPPSGEN

SG

Payslip Archive (Singapore)

PYSGPSAC

AU

Payslip Archive (Australia)

PYAUPSAC

KR

Payslip Archive (Korea)

PYKRPSAC

CN

Payslip Archive (China)

PYCNPSAC

IN

Payroll Reports Archive (India)

PYINPSAC

PYUGEN is a generic progam which is used to launch a number of different


payroll processes including Archive. Two hidden parameters passed by the
concurrent program definition are used to identify and launch the pl/sql code
delivered by each localisation development group.
These are PROCESS_NAME which is always ARCHIVE, and REPORT_TYPE
which uniquely identifies the row on PAY_REPORT_FORMAT_MAPPINGS_F
which contains the archive pl/sql package. Listed below are some of the
archive pl/sql packages identified by REPORT_TYPE on
PAY_REPORT_FORMAT_MAPPINGS_F which are used by different legislations in
Oracle Payroll:
Region

Report Type

EMEA

UKPS

Initialization_Code
pay_gb_payslip_archive.archinit

JPPS

pay_jp_payslip_archive.archinit

ZA_SOE

pay_za_payslip_archive.archinit

IEPS

SOE_ARCHIVE

AMERICAS

APAC

pay_ie_legislative_archive.archinit

pay_fr_arc_pkg.archinit

NL_PS_ARCHIVE

PAY_NL_PAYSLIP_ARCHIVE.ARCHIVE_INIT

SA_ARCHIVE

pay_sa_archive.initialization_code

KW_ARCHIVE

PAY_KW_ARCHIVE.INITIALIZATION_CODE

PY_ARCHIVER

pay_ca_payroll_arch.py_archinit

MX_PAYSLIP_ARCHIVE

pay_mx_payroll_arch.initialization_code

XFR_INTERFACE

pay_us_action_arch.action_archinit

SG_PAYSLIP_ARCHIVE

pay_sg_payslip_archive.initialization_code

HK_PAYSLIP_ARCHIVE

pay_hk_payslip_archive.initialization_code

AU_PAYSLIP_ARCHIVE

pay_au_payslip_archive.initialization_code

NZ_PAYSLIP_ARCHIVE

pay_nz_payslip_archive.initialization_code

KR_PAYSLIP_ARCHIVE

pay_kr_payslip_archive.initialization_code

CN_PAYSLIP_ARCHIVE

pay_cn_payslip_archive.initialization_code

IN_PAYSLIP_ARCHIVE

pay_in_payslip_archive.initialization_code

The payslip archive process stores information on PAY_ACTION_INFORMATION


by ACTION_INFORMATION_CATEGORY.
For example, an analysis of the GB pl/sql package accessed by PYUGEN,
pay_gb_payslip_archive (pygbparc.pkb), shows that the following categories
of information are extracted:

EMPLOYEE DETAILS

EMPLOYEE NET PAY DISTRIBUTION

ADDRESS DETAILS

GB EMPLOYEE DETAILS

EMEA ELEMENT INFO

EMEA BALANCES

Below is a breakdown of what information is stored and some useful sql to


extract the information:
1) EMPLOYEE DETAILS Proc pay_emp_action_arch.get_personal_information
Desc - archives general employee details under EMPLOYEE DETAILS
category.
col
col
col
col
col
col

assid format 99999


name format a30
organization format a6
NatIdentifier format a11
Empno format a10
startdate format a20

select assignment_id Assid,


action_information1 Name,
action_information2 organization,
action_information4 NatIdentifier,
action_information10 Empno,
effective_date
from pay_action_information
where ACTION_INFORMATION_CATEGORY = 'EMPLOYEE DETAILS'

and creation_date > &eff_date


order by assid, effective_date

Full list of cols containing employee details for this context is


action_information1 - Full Name
action_information2 - Organization ID
action_information3
action_information4 - National Identifier
action_information5 - Salary Basis
action_information6 - Frequency
action_information7 - Grade
action_information8 - Bargaining Unit
action_information9 - Collective Agreement
action_information10 - Employee Number
action_information11 - Start Date
action_information12 - Original Date of Hire
action_information13 - Adjusted SVC Date
action_information14 - Assignment Number
action_information15 - Organization Name
action_information16 - Time Period ID
action_information17 - Job Name
action_information18 - GRE Name
action_information19 - Position Name
action_information20 - Contract
action_information21 - Normal Start Time
action_information22 - Normal End Time
action_information23 - Pay Calculation Method
action_information24 - Shift
action_information25 - Phone Number
action_information26 - Hourly or Salaried
action_information27 - Step
action_information28 - Proposed Salary
action_information29 - Pay anualization factor
action_information30 - Location Name

2) EMPLOYEE NET PAY DISTRIBUTION Proc pay_emp_action_arch.get_net_pay_distribution Desc - archives net


pay distribution details under EMPLOYEE NET PAY DISTRIBUTION
category.
col
col
col
col
col

assid format 99999


OrgPayMethID format 99999
PerPayMethID format 99999
Value format 99999.99
OrgPayMethName format a20

Select assignment_id Assid,


substr(action_information1,1,5) OrgPayMethID,
substr(action_information2,1,5) PerPayMethID,
to_number(action_information16) Value,
action_information18 OrgPayMethName
from pay_action_information
where ACTION_INFORMATION_CATEGORY = 'EMPLOYEE NET PAY DISTRIBUTION'
and creation_date > &cre_date
and assignment_id=&ass_id

3) ADDRESS DETAILS
Proc - pay_emp_action_arch.get_employee_addr Desc - Archives
address details under ADDRESS DETAILS category
col assid format 99999
col Personid format 99999
col Addressline1 format a20
col Addressline2 format a20
col City format a20
col Postcode format a10
select assignment_id Assid,
substr(action_information1,1,6) Personid,
action_information5 AddressLine1,
action_information6 AddressLine2,
action_information8 City,
action_information12 PostCode
from pay_action_information
where ACTION_INFORMATION_CATEGORY = 'ADDRESS DETAILS'
and creation_date > &cre_date
and assignment_id=&ass_id

List of cols containing address details for this context is


action_information1 - Person ID
action_information5 - Address Line 1
action_information6 - Address Line 2
action_information7 - Address Line 3
action_information8 - City
action_information9 - Region 1
action_information10 - Region 2
action_information11 - Region 3
action_information12 - Post Code
action_information13 - Country

4) GB EMPLOYEE DETAILS
Proc - pay_gb_payslip_archive.archive_gb_employee_details Desc Archives GB specific employee details under GB EMPLOYEE DETAILS
category.
col
col
col
col

assid format 99999


taxcode format a10
taxbasis format a20
nicat format a5

Select assignment_id Assid,


action_information21 TaxCode,
action_information22 TaxBasis,

action_information23 NICat
from pay_action_information
where ACTION_INFORMATION_CATEGORY = 'GB EMPLOYEE DETAILS'
and creation_date > &cre_date
and assignment_id = &ass_id

5) EMEA ELEMENT INFO


Proc - pay_gb_payslip_archive.get_element_info Desc - Archives GB
specific element details under EMEA ELEMENT INFO category.
col assignment_id format 99999
col element_name format a20
col name format a20
col value format 99999.99
select pai.assignment_id,
pet.element_name,
piv.name,
to_number(pai.action_information4) value
from pay_action_information pai,
pay_element_types_f pet,
pay_input_values_f piv
where pai.action_information_category = 'EMEA ELEMENT INFO'
and pai.creation_date > &cre_date
and pai.assignment_id=&ass_id
and pet.element_type_id=to_number(pai.action_information1)
and pai.effective_date between pet.effective_start_date and pet.effective_end_date
and piv.input_value_id=to_number(pai.action_information2)
and pai.effective_date between piv.effective_start_date and piv.effective_end_date

6) EMEA BALANCES Proc - pay_gb_payslip_archive.process_balance


Desc - Archives GB specific balances(statutory and user) under
EMEA BALANCES category.
col assignment_id format 99999
col balance_name format a30
col value format 999999.99
select pai.assignment_id,
pbt.balance_name,
to_number(pai.action_information4) value
from pay_action_information pai,
pay_balance_types pbt,
pay_defined_balances pdb
where pai.action_information_category = 'EMEA BALANCES'
and pai.creation_date > &cre_date
and pai.assignment_id=&ass_id
and pdb.defined_balance_id=to_number(pai.action_information1)
and pdb.balance_type_id=pbt.balance_type_id

Online Payslip

Currently there are two methods which have been used to develop the
Online Payslip. There is the Framework version which has been adopted by
most existing legislations, and an XML Publisher version which was
introduced with the Mexican localisation, and which will be adopted by the
newer localisations.
The framework version is launched by the function,PAY_PAYSLIP_SS, that
defines the root region,PAY_PAYSLIP_TOP_SS which is loaded from the
database by FND. The definition of this can be found in the file system in
$PAY_TOP/mds/selfservice/payslip/webui/PayslipPG.xml.
Localisation teams use certain core regions by default i.e. Employee Details,
Pay Period Details, Net Pay Distibution, Tax Details and Message. In addition
there is a localization layer that is also loaded into the database for each
legislation. The definition for that can be found in the directory
$PAY_TOP/mds/selfservice/payslip/webui/customizations/localization.
The localisation level determines which controller objects will execute. The
controller objects are java classes.
For example

In GB legislation, this is
$JAVA_TOP/oracle/apps/pay/selfservice/payslip/US/webui/PayGBPaysli
pDetailsCO.class.
For US it is
$JAVA_TOP/oracle/apps/pay/selfservice/payslip/US/webui/PayPayslipC
hoosePayslipCO.class
For Canada it is
$JAVA_TOP/oracle/apps/pay/selfservice/payslip/US/webui/PayCAPaysli
pDetailsCO.class.

Controller object code executes a query which is associated with each region
of the payslip to fetch the data that has been previously extracted onto
pay_action_information.
The payslip can be further personalised by users at Site,Organization,
Responsibilty or User Level. For instance, you can increase the number of
records displayed in the deductions table beyond the default of 10.
The XDO version of the online payslip is invoked by a parameter on the
pay_legislation_rules table. For example
select legislation_code,
rule_type,
rule_mode
from pay_legislation_rules
where rule_type='PAYSLIP_MODE';

Legislation_Code Rule_type Rule_mode


---------------- --------- --------MX PAYSLIP_MODE XDO

If rule_mode set to XDO then the package PAY_PAYROLL_XML_EXTRACT_PKG


is invoked to obtain XML data. If rule_mode is OAF or no row exists the
framework payslip is launched.
Related Documents

Oracle Human Resources Management Systems - Payroll Processing


Management Guide (US)
Oracle Human Resources Management Systems - Payroll Management Guide
(UK)
Online Help (Available from the applications)

Copyright 2003 Oracle. All rights reserved. Oracle is a registered


trademark of Oracle. Various product and service names referenced herein
may be trademarks of Oracle. All other product and service names
mentioned may be trademarks of their respective owners.
Disclaimer: This document is provided for information purposes only and the
contents hereof are subject to change without notice. Oracle does not
warrant that this document is error-free, nor does it provide 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. Oracle specifically disclaims 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 the prior written permission of Oracle.

Copyright 2008 Oracle. All rights reserved. Oracle is a registered


trademark of Oracle. Various product and service names referenced

herein may be trademarks of Oracle. All other product and service


names mentioned may be trademarks of their respective owners.
Disclaimer: This document is provided for information purposes only
and the contents hereof are subject to change without notice.
Oracle does not warrant that this document is error-free, nor does it
provide 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. Oracle
specifically disclaims 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 the prior written permission of Oracle.

You might also like