Beruflich Dokumente
Kultur Dokumente
January 2016
Disclaimer
The following is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code,
or functionality, and should not be relied upon in making purchasing decisions. The
development, release,
and timing of any features or functionality described for Oracles products remains at
the sole discretion
of Oracle.
Introduction 1
Whats in this Document 1
Other Information Sources 1
Document Updates 1
Introduction to the Global Online Payslip and Templates
2
Creating a Custom Online Payslip 5
Step 1: Payslip Report Template Customization and Upload
5
Step 2: Changes in the HCM Extract data using the Application 10
Worked Example Displaying Balances in the Payment Currency 15
Payroll Archive HCM Extract Setup Customization to Store Exchange Rates
BIP Payslip Template Customization
17
Global Template Example
17
Country-Specific Template Example
20
26
15
Introduction
This paper identifies and describes setup tasks for customizing the Payslip in Oracle
Fusion Global Payroll.
The above custom template should now be added to a report; in fact a custom report
should be created, as follows:
1. Login to BIP with user having BI Admin privilege and create new report under
Custom folders. (The preferred path is a folder or sub-folders under
/Custom/Human Capital Management/Payroll/.)
6. Save report under the Custom folder. In example is report created under folder
/Custom/Human Capital Management/Payroll with Name KWPayslip.
8. Upload custom template file created earlier. In our example the layout name is
KW_Payslip.
9. The template file is now uploaded. Click on View a list if any change is
required for the default format etc.
Note: Instead of creating a template and report following the steps given above, you
could instead copy the existing payslip template/report from location Human Capital Management -> Payroll -> Payment Distribution
and copy that to the custom folder as follows:
1. Copy the payslip template
10
2.
11
3. In the search region enter Payslip for the name, select Archive Retrieval for the
Type and select the Legislative Data Group (LDG) for which you want to
create/customize the Payslip, and then click the Search button.
Note: It is necessary to specify a Legislative Data Group in the search region.
4. Click on Payslip.
5. The Edit Extract Definition page will open. Click Extract Delivery Options and click
Add in Extract Delivery Options section. Create a record for your custom Payslip
12
Start date
End Date
Output Type
Output Name
Template (Name should match the layout name in the report created in BIP.
It was created with name KW_Payslip)
6. In the Additional Details region, add details similar to Online Payslip Record that
is already provided by oracle. Currently the following data is added in Online
Payslip Record:
Date To:/DATA_DS/G_1/FILE_FRAGMENT/PAYSLIP/PAYMENT_RECORD/GLB_ARCH_
PR/GLB_PAY_ARCH_PR_PAYROLL/PAYROLL_PERIOD_END_DATE
13
Information Text1:/DATA_DS/G_1/FILE_FRAGMENT/PAYSLIP/PAYMENT_RECORD/GLB_ARCH_
PR/GLB_PAY_ARCH_EE_INFO/EMAIL_ADDRESS
Information Date1:/DATA_DS/G_1/FILE_FRAGMENT/PAYSLIP/PAYMENT_RECORD/GLB_ARCH_
PR/GLB_PAY_ARCH_PR_PAYROLL/PAYROLL_PAYSLIP_VIEW_DATE
Information Number1:/DATA_DS/G_1/FILE_FRAGMENT/PAYSLIP/PAYMENT_RECORD/GLB_ARCH_
PR/GLB_PAY_ARCH_PR_PAYROLL/PAYROLL_ID
Information Number2:/DATA_DS/G_1/FILE_FRAGMENT/PAYSLIP/PAYMENT_RECORD/GLB_ARCH_
PR/GLB_PAY_ARCH_PR_PAYROLL/PAYROLL_PERIOD_NUMBER
Information Number3:/DATA_DS/G_1/FILE_FRAGMENT/PAYSLIP/PAYMENT_RECORD/NET_PAY
Information Number5:/DATA_DS/G_1/FILE_FRAGMENT/PAYSLIP/PAYMENT_RECORD/GLB_ARCH_
PR/GLB_PAY_ARCH_PR_INFO/GLB_ARCH_CBID/GLB_PAY_ARCH_CBID_INF
ORMATION/PREPAYMENT_RELATIONSHIP_ACTION_ID
Information Number6:/DATA_DS/G_1/FILE_FRAGMENT/PAYSLIP/PAYMENT_RECORD/GLB_ARCH_
PR/GLB_PAY_ARCH_PR_INFO/GLB_ARCH_CBID/GLB_PAY_ARCH_CBID_INF
ORMATION/CALC_BREAKDOWN_ID
Issued Date:/DATA_DS/G_1/FILE_FRAGMENT/PAYSLIP/PAYMENT_RECORD/PAYMENT_D
ETAILS/PAYMENT_DATE
Key: Add entry in Data Element after giving following values in the search region:
Parent Block: - Global Archive Payroll Calc Breakdown
Extract record: - Global CBID Information
Date Element: - Calculation Breakdown Identifier
14
7. In Additional Details (the section after Report categories), add an entry for the
delivery option name for your report. Here, the Delivery option name was given as
KW Online Payslip.
15
Note: It is necessary to specify a Legislative Data Group in this dialog box in this
case.
Populate the Formula with text:
DEFAULT FOR DATA_ELEMENT_CODE IS 'USD>USD'
INPUTS ARE DATA_ELEMENT_CODE (TEXT)
IF NOT WSA_EXISTS('XRATE:'+DATA_ELEMENT_CODE) then (
RULE_VALUE = GET_RATE(substr(DATA_ELEMENT_CODE,1,instr(DATA_ELEMENT_CODE,'>')-1)
,substr(DATA_ELEMENT_CODE,instr(DATA_ELEMENT_CODE,'>')+1)
,PAY_GET_RATE_TYPE('T'))
WSA_SET('XRATE:'+DATA_ELEMENT_CODE, RULE_VALUE) /* Cache Rate */
) ELSE RULE_VALUE = WSA_GET('XRATE:'+DATA_ELEMENT_CODE, '1') /* Get Cached Rate */
return RULE_VALUE
16
9. Create one data element per payment currency in use, of type Rule, within the new
record created in the previous step. The data element(s) created here should
reference the Extract Rule formula created in the first step.
The short code should follow the format: 'from_currency_code>to_currency_code'
e.g. 'AED>USD' (to facilitate the above data-driven rule formula).
The element xml tag should follow the format <RATE from="from_currency_code"
to="to_currency_code">
(i.e. using xml tag attributes to specify the two currencies, in order to help facilitate
a more data-driven BIP Payslip Template Customization).
e.g.:
10. Generate and compile the Formula for the new Record:
17
Once the Payroll Archive has run, you should then be able to see the exchange rates
archived by that Archive Periodic Payroll Results task, using the View Person
Process Results page from the Payment Distribution work area (one value per data
element created above) e.g.:
18
<?xdoxslt:set_variable($_XDOCTX,'XRATE:USD>USD',1)?>
<?for-each:../../REC_GET_XCHG_RATE/RATE?>
<?xdoxslt:set_variable($_XDOCTX,concat('XRATE:',@from,'>',@to),.)?>
<?end for-each?>
<?
xdoxslt:set_variable($_XDOCTX,'CBID',GLB_PAY_ARCH_CBID_INFORMATION/CALC_BREAKDOWN_ID)?
>
<?
xdoxslt:set_variable($_XDOCTX,'PAYMENT_CC',../../../PAYMENT_DETAILS[CALC_BREAKDOWN_ID=
xdoxslt:get_variable($_XDOCTX,'CBID')][1]/CURRENCY)?>
This will:
a.
Set a variable storing a default/dummy exchange rate of 1 to cover
the standard case where employees are paid in the default LDG
currency and thus where no conversion is necessary (being expressed
in the above code as a conversion from USD to USD).
Note: Substitute USD in the above example code with your default
LDG currency code used for your payroll calculations.
Add further such logic to set similar variables storing a
default/dummy exchange rate of 1 for any further currencies in use, if
appropriate.
b.
Find the exchange rate(s) within in the XML and store them in
variables similarly called
'XRATE:from_currency_code>to_currency_code' e.g.
'XRATE:AED>USD'.
c.
Find, and store in a variable called 'PAYMENT_CC', the currency
code used for payment (Nb. from the first payment record found for
the person in case of multiple payments).
11. In the customized version of PayslipSubTemplates.rtf for your locale:
Change the BIP Form Field code for displaying each monetary balance
amount from, for example
<?PAYMENT?>
to
<?if@inlines:PAYMENT!=''?>
<?
PAYMENT*xdoxslt:get_variable($_XDOCTX,concat('XRATE:AED>',xdoxslt:get_variable($_XDOCT
X,'PAYMENT_CC')))?>
<?end if?>
This will simply multiply the given balance amount (if non-null) with the
stored exchange rate for the given payment currency.
There are likewise further monetary balance amount tags such as <?YEAR?>
and <?GLB_PAY_ARCH_PAY_ASG_INFO/SALARY_AMOUNT?>.
12. Ensure your customized Main template will import the correct customized version
of the sub-template (via the import statement), from the appropriate location for
such customized templates.
Upload the customized templates as described above.
Example Payslip output follows for both the non-customized and then customized
Global templates, for a UAE employee paid in USD.
19
20
The above BIP Payslip template customization worked-example was based on the
supplied Global template. The steps to similarly customize one of the supplied
country-specific versions of the Payslip template would essentially be the same.
However, the exact coding may naturally need to vary slightly depending on the exact
differences between the Global template and the country-specific version.
For example, the shipped template for UAE (the file being called HRXAEPayslip.rtf)
resides in the BIP Catalog under
Human Capital Management -> Payroll -> Regulatory and Tax Reporting -> Emirates
This implements a UAE-specific version of both the Employee Information details table
and the Net Pay Distribution details table rather than calling the respective Global
sub-templates as follows. Note that the UAE-specific version of the Employee
Information details table conveys more information than the Global version does
including in particular an additional field for displaying the Contributory Salary
balance amount, which would therefore also need to be customized as a part of this
worked-example.
21
The steps to customize this UAE-specific template for this worked-example would
therefore be as follows:
1. In your customized version of HRXAEPayslip.rtf:
This will:
a.
Set a variable storing the default/dummy exchange rate from AED22
to AED, to cover the standard case where the person is paid in AED
and thus no conversion is actually necessary (being expressed in the
above example code as a conversion from AED to AED).
Note: Add further such logic to set similar variables storing a
default/dummy exchange rate of 1 for any further currencies in use, if
appropriate..
b.
Find the exchange rate(s) within in the XML and store them in
variables similarly called
'XRATE:from_currency_code>to_currency_code' e.g.
'XRATE:AED>USD'.
c.
Find, and store in a variable called 'PAYMENT_CC', the currency
code used for payment (Nb. from the first payment record found for
the person in case of multiple payments).
Change the BIP Form Field code for displaying the Contributory Salary
amount from
<?xdoxslt:get_variable($_XDOCTX,'CS')?>
to
<?
xdoxslt:get_variable($_XDOCTX,'CS')*xdoxslt:get_variable($_XDOCTX,concat('XRATE:AED>',
xdoxslt:get_variable($_XDOCTX,'PAYMENT_CC')))?>
Change the BIP Form Field code for displaying each monetary balance
amount from, for example
<?PAYMENT?>
to
<?if@inlines:PAYMENT!=''?>
<?
PAYMENT*xdoxslt:get_variable($_XDOCTX,concat('XRATE:AED>',xdoxslt:get_variable($_XDOCT
X,'PAYMENT_CC')))?>
<?end if?>
This will simply multiply the given balance amount (if non-null) with the
stored exchange rate for the given payment currency.
There are likewise further monetary balance amount tags such as <?YEAR?>
and <?GLB_PAY_ARCH_PAY_ASG_INFO/SALARY_AMOUNT?>.
14. Ensure your customized Main template will import the correct customized version
of the sub-template (via the import statement), from the appropriate location for
such customized templates.
Upload the customized templates as described above.
Note: The above steps are by way of an example based on the shipped UAE template;
they may possibly need to be altered depending on any existing customizations you
might have already made to that template.
Example Payslip output follows for both the non-customized and then customized UAE
templates, for someone paid in USD.
23
24
This section explains the changes to make to the Payslip template to display absence
accrual information on it. This is applicable for Release 8, 9 and 10. Please note that
this will a part of the Payslip template of all payroll localizations Release 11 onwards.
Copy and paste the snippet into your Payslip sub-template. The snippet is included in
the document, Payslip SubTemplate for Absence Accruals, attached to MOS article
1569322.1. Note: Due to the Microsoft word compatibility, the copying and pasting
may delete the BI Publisher field property. Ensure you validate the changes as
explained below.
Validate Modified Payslip Sub-Template
Perform the following steps to validate the Payslip sub-template RTF file:
1. Confirm that the absence accrual information in the document displays the same
as shown in the following screen shot. .
2. Validate that the fields property values, marked 1-5 in the screen shot, are the
same in BI Publisher. If the values dont match, edit the values, as shown in the
table.
BIP FIELD
PARAMETER VALUES
IFABSENCEACCRU
ALS
<?IF:
GLB_PAY_ARCH_PR_ABSENCE_ACCRUALS/REPORTING_N
AME !='' and
GLB_PAY_ARCH_PR_ABSENCE_ACCRUALS/YEAR !='0'?>
Aa
<?foreach:GLB_ARCH_TRU/GLB_PAY_ARCH_PR_ABSENCE_ACC
RUALS?>
IFAa
Uom
<?choose:?>
<?when:BALANCE_UOM='H_DECIMAL3'?><?'Hours'?><?
end when?>
<?when:BALANCE_UOM='ND'?><?'Days'?><?end when?>
<?end choose?>
9,999.99
3. Click Save.
<?PAYMENT?>
25
26
Release 5
This Query should help identify the issue if the Customer is on Release 5:
27
28
For this query, we need to pass on Flow Instance Name as the parameter and check if
it returns a valid URL for the output, in which case, BIP Job would have been
successfully submitted, else, BIP Job might have been errored as the archiver process
itself might have errored out, in this case, run the below query to see if arhiver process
has been successfully completed or not:
SELECT fti.status,
fti.flow_task_instance_id,
ft.base_flow_Task_name,
pc.checklist_name,
pr.call_type,
pr.call_id
FROM pay_flow_Task_instances fti,
pay_flow_tasks_vl ft,
pay_checklists_vl pc,
pay_requests pr
WHERE fti.flow_instance_id =
(SELECT flow_instance_id
FROM pay_flow_instances
WHERE instance_name = ':FLOW_INSTANCE_NAME'
)
AND fti.base_flow_task_id = ft.base_flow_task_id
AND ft.base_flow_task_id = pc.base_flow_task_id
AND fti.flow_task_instance_id = pr.flow_task_instance_id
AND call_type = 'ESS';
Even if the above Query returns rows and you are not able to view the Payslip from My
Portrait of that Employee, then go to Navigator->Document Records and select Type
as Payslip and select the desired person name and click on Search. In the search
results, click on the record that corresponds to the latest Payslip run, and in the next
screen, check the Payslip View Date, it should be greater than or equal to Current Date
(Sysdate)
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
Oracle Corporation
liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This
World Headquarters
document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Worldwide Inquiries:
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and
Phone: +1.650.506.7000
are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are
Fax: +1.650.506.7200
trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. 0113
oracle.com