Global Payroll Payslip Troubleshooting
Global Payroll Payslip Troubleshooting
Global Payroll Payslip Troubleshooting
Payslip Troubleshooting
O R AC L E W H I T E P AP E R | A P R I L 2018
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 Oracle’s products
remains at the sole discretion of Oracle.
Introduction 4
Document Updates 4
2.1 Case 1 Generate Payslips did not complete successfully and has errors 5
2.1.1.2 Error message has “Report data size (xxxx bytes) exceeds the
2.1.2 Error with Archive Payroll Information and Generate Report process 6
2.1.2.1 If the log file has the error ‘An assertion failure was detected at
location write_bank_account:1’ 6
2.2.1 Payslip is visible through View Results in Person Process Results but
2.2.1.1 Check one of the payslips and verify if Payroll Period and Pay Date is
correct. 8
2.2.1.2 If payslip periods are incorrect (payslip period is in the future), check if
run, and the Balance Adjustments has process date that falls in the next payroll
period. 8
2.2.2 Payslip is NOT visible through View Results in Person Process Results.8
2.2.2.1 Check in BI if payslips are generated using the steps listed in Section
1. 8
2.2.2.2 Check if Generate Payslips has errors in “Errors and Warnings’ tab as
PAY_PAYPROC_UNKNOWN_ERR or FND_CORE_SYS_ERR. 9
2.2.2.4 Run the SQL listed in 7.1 to find how many payslips are missing from
the Document of Records. You will need flow instance name to run the SQL. 9
2.3 Case 3 Customer added email delivery option, but didn’t receive any email or
2.4 Case 4 Employees see an error when opening the Payslip PDF file 10
2.6 Case 6 Generate Payslip running for long time and not completing 11
2.8 Case 8 Payslip missing for employee has zero net pay 11
2.9 Case 9 Customer added new delivery option to generate single output
3.2 Were payslips generated previously for the same employees for the same
period?12
3.3 Check the input parameters for the Generate Payslips process 12
5.2 Check Errors and Warnings Tab from Checklists UI if process status is ‘Error’
17
7 Appendix 18
7.5 Get additional information from Archive Payroll Information and Generate
Section 1 provides an Overview of the Generate Payslips process and the various child processes that are invoked.
Section 2 lists the 5 broad Payslip Troubleshooting Scenarios or cases of Payslip errors. Most problems with the Generate
Payslips process would fit into one of the 5 scenarios. For each scenario, the steps to investigate are provided depending on
the final outcome, the phase or step that failed, and the type of error message displayed.
Some of the common investigational procedures that are required for one or more scenarios are explained in the subsequent
sections (3 to 7) and referenced through links under the various scenarios, in order to avoid repetition.
Section 3 explains the pre-requisites to the Generate Payslips Process Prerequisites and steps to verify them as well as
the parameters to the Generate Payslips process.
Section 4 explains how two of the pre-requisite processes viz. Payroll Archive and Payments Processes can be
investigated as a possible root cause for the issues with the subsequent Generate Payslips process.
Section 5 provides steps to View Status of Child Processes and the associated log files.
Section 6 explains how to Investigate BI Publisher Job within the BI Publisher server.
Section 7 provides is the Appendix where diagnostic scripts referenced throughout this document are located to assist in
troubleshooting.
Document Updates
This document is based on the most current application release as of the document’s publication date. Content may be
updated as needed only to reflect major changes to existing features or when significant new features are added. For this
reason, it is possible that some minor UI differences may exist between the version being implemented and the version
described in this document.
If more than one thread is specified in the payroll process configuration group, you will see sub-processes under Archive
Payroll Information and Generate Report and Archive Integration with Document of Records in hierarchy view on the
Scheduled Processes UI (5.1).
Case 1) Generate Payslips did not complete successfully and has errors.
Case 2) Generate Payslips completed successfully but some employees cannot see their pay slips.
Case 3) Customer added email delivery option, but employees received either no email or multiple emails.
Case 4) Employees see an error when opening the Payslip PDF file.
2.1 Case 1 Generate Payslips did not complete successfully and has errors
Check which child process errored out using the steps listed in 5.1 and 5.2, error will be with one of the processes listed in
Section 1 their child sub processes
1) Check the sequence of running the prerequisite processes is correct, as listed in Section 3.
Resolution: Rollback the out-of-order processes and run in the correct order.
2) Check that Payroll Archive and Payment processes have successfully processed the employees as mentioned in
Section 4.
If balances were not archived in Archive Periodic Payroll Results process and customer is using US LDG, this could
be caused by missing 'Federal Tax' jurisdiction on TRU. US payroll archives only when TRU is registered with
'Federal Tax' jurisdiction.
Resolution: Add 'Federal Tax' jurisdiction on TRU, rollback and rerun the Archive Periodic Payroll Results process,
then run Generate Payslips process.
3) Ensure that any prior Generate Payslips processes for the same period were rolled back before re-running it.
2.1.1.2 Error message has “Report data size (xxxx bytes) exceeds the maximum limit (xxxx bytes).”
Resolution: Customer to log an SR to increase the report data size.
2.1.1.3 Error message has “oracle.xdo.memoryguard.XDOQueryTimeoutException SQL query time exceeds the
limit (600 sec). Stopped processing.”
1) Check the sequence of running the prerequisite processes is correct as listed in Section 3.
Resolution: Support to find process start time and end time in the log file (see 7.5).
2) Oracle Support to log a bug and attach the AWR report for time slot found in 1).
Resolution: Development to investigate the issue.
2) If there is no customization or the above steps have been checked, customer to log an SR.
Note to Oracle Support: Check the health of ESS Server, BI Server and UCM server.
2.1.2 Error with Archive Payroll Information and Generate Report process
Check the error in the log file and review further steps below.
2.1.2.1 If the log file has the error ‘An assertion failure was detected at location write_bank_account:1’
ERROR
Set Token 1
Name HR_6882_HRPROC_ASSERT
Token1 write_bank_account:1
Token2 null
Token3 null
An assertion failure was detected at location write_bank_account:1.
Cause: This error comes up when the bank account details have been created for a later date than the process run.
As an example, the bank account details was created as of the system date while the process for a past period and
so it will not have picked up these details.
This is not a bug, as normally a new hire would enter their bank details first, and then a payroll flow would be run for
a later date. This usually only occurs in test environments. Customers have the option of switching off this validation
via the payroll action parameter. There is no issue in the process.
Resolution:
2) On the All Tasks tab, search for task Name ‘Manage Common Lookups’
6) If the record does not exist, click the Add icon and add the record as above. For meaning, enter ‘Historic Payment’.
2) On the All Task tab, search for task Name ‘Manage Payroll Process Configuration’
6) In the Add Parameter pop-up, select the drop-down for Parameter Name.
7) Search and select Historic Payment and set the Default Value to Y
9) Click Done
Note to Oracle Support: Check the health of ESS Server, BI Server and UCM server.
Get the process log for Archive Integration with Document of Records and check for errors
System Document Type of delivery option may be incorrect. Check System Document Type using these steps:
5) Check Additional Details section of delivery option having "Documents of Record" type
6) Scroll down and look for System Document Type. Correct value should be "GLB_PAYSLIP".
7) After correcting, rollback the Generate Payslips process and rerun it. If error still occurs, log an SR with all the log
files as described in 5.2.
Note to Oracle Support: Check the health of ESS Server, BI Server and UCM server.
2.2 Case 2 Generate Payslips completed successfully but some employees cannot see their payslips
Pick one employee number who cannot see the payslip. Go to Navigator > Payroll Calculations > Person Process Results.
Search for the Person Number and 'Generate Payslip' task for the pay period. On the record, click on View Results and check
if payslip is available.
2.2.1 Payslip is visible through View Results in Person Process Results but not visible to employees
2.2.1.1 Check one of the payslips and verify if Payroll Period and Pay Date is correct.
Please make sure the Payslip View Date for the payroll period is not in the future.
2.2.1.2 If payslip periods are incorrect (payslip period is in the future), check if Generate Prepayments processed
Balance Adjustment along with regular payroll run, and the Balance Adjustments has process date that falls in the
next payroll period.
2.2.2 Payslip is NOT visible through View Results in Person Process Results.
2.2.2.1 Check in BI if payslips are generated using the steps listed in Section 1.
- Save and submit changes. Rollback payslip process and re-run it, if still have same issue, please go to
2.2.2.4.
2.2.2.4 Run the SQL listed in 7.1 to find how many payslips are missing from the Document of Records. You will
need flow instance name to run the SQL.
- Flow Instance name given to the Generate Payslips process with screenshot and
Run diagnostic script listed in 7.3 with parameters - Person Number, Payslip Flow name and log a bug on
development to review the data.
2.3 Case 3 Customer added email delivery option, but didn’t receive any email or received same email
several times.
Deliver By:
/DATA_DS/G_1/FILE_FRAGMENT/PAYSLIP/PAYMENT_RECORD/GLB_ARCH_PR/GLB_PAY_ARCH_EE_INFO/
PERSON_ID
Note: You can’t copy/paste or see the cursor while typing new value. If you want to modify Split By or Deliver By,
you can follow the steps below:
a. Click on the dropdown
b. Pick a different value (any value would do as this is just a temporary step)
c. Click on the dropdown again. Now you would see a new value called “-- Enter --“. Select that value.
d. Once selected, you can type into the field. For further changes, repeat steps a- c above.
2.4 Case 4 Employees see an error when opening the Payslip PDF file
Resolution: Customer to log an SR with detail of the issue.
Note to Oracle Support: Check the health of ESS Server, BI Server and UCM server. Retrieve UCM server log for Oracle
Development to analyze the error.
Note to Oracle Support: Run diagnostic script listed in 7.3 with person number and payslip flow name provided by
customer and upload the results for Oracle Development to review.
2.6 Case 6 Generate Payslip running for long time and not completing
Customer to log an SR with payslip flow name and screenshots showing the issue.
Run payslip monitor script listed in 7.4; upload the results for Oracle Development to review.
4) After changed this value, please rollback and resubmit payslip process. If error still occurs, log an SR with all the log
files as described in 5.2.
2.8 Case 8 Payslip missing for employee has zero net pay
Follow these steps to determine:
2.9 Case 9 Customer added new delivery option to generate single output (PDF/ADP file), but output
is unavailable on View Results of checklist
Follow these steps to determine:
1) Check data model used in the report, please don’t use seeded PayslipBurstingDataModel directly, copy one
and remove bursting definition.
2) Check permission settings of report and data model, it should have "Generate Payslips" and "BI Consumer"
accounts, with Custom Permissions - Read, Traverse, Run Publisher Report, Schedule Publisher Report,
View Publisher Output.
3.2 Were payslips generated previously for the same employees for the same period?
Once payslips have been generated for that period, they are locked. You will need to rollback the payslips first, then generate
the payslips again.
3.3 Check the input parameters for the Generate Payslips process
1) Are the date ranges correct? (Note End Date displays above Start Date)
Resolution: Generate Payslips process is based on Payroll Archive results, check parameters of Payroll Archive
process.
4) Switch to table view, check if there are balance records, e.g. Global Payroll Relationship Earnings.
Note: You can also download Archive Payroll Information and Generate Report process log on this tab. Click
on ‘Process 13922’, click on View Log icon, then click log file link on the popup to save it.
5) View status of child processes and download log files
5.2 Check Errors and Warnings Tab from Checklists UI if process status is ‘Error’
Follow these steps to determine:
1) Go to Navigator > Reports and Analytics, click on book icon and then Home.
2) Go to Report Job History (under Browse/Manage).
3) For Owner, select Contains option and enter 'fusion', job name, using Process ID of Archive Integration with BI
Publisher jobs we found in 5.2 and do a search.
4) In the search results, click on Report Job Name. Verify that you can see employee payslips.
5) Check the error message by hovering over or clicking on "X Failed" icon and take a screenshot of error message.
7 Appendix
2. SELECT fi.instance_name,
SELECT DECODE(program
,'SQL Developer','C:\' -- assume sql developer will run from windows
,'sqlplusw.exe','C:\'
,'sqlplus.exe','C:\'
,'Toad.exe','C:\'
,'$HOME/'
) spooldrivename
,NVL('&&bug_or_sr_reference','BugNumberUnknown')||'_HCM_PAYSLIP_QUERY_'||TO_CHAR(systi
mestamp,'DDMONYY_HH24MISS')||
DECODE(program
,'SQL Developer','\' -- assume sql developer will run from windows
,'sqlplusw.exe','\'
SPOOL &spooldrive.&spooldir.&spoolfilebase._os_specific_cmds.sql
select DECODE(program
,'SQL Developer','host dir &spooldrive.&spooldir' -- assume sql developer will run from windows
,'sqlplusw.exe','host dir &spooldrive.&spooldir'
,'sqlplus.exe','host dir &spooldrive.&spooldir'
,'Toad.exe','\'
,'host ls -ltr &spooldrive.&spooldir' -- most likely a sqlplus client from unix
)
from v$session WHERE sid = USERENV('sid');
SPOOL OFF;
set termout on
PROMPT =========================================================================
PROMPT .
PROMPT &spooldrive.&spooldir
PROMPT Verifying that spool location was created successfully
start &spooldrive.&spooldir.&spoolfilebase._os_specific_cmds.sql
PROMPT .
PROMPT If successful, it should show a file listing of the output folder with
PROMPT with one file &spooldrive.&spooldir.&spoolfilebase._os_specific_cmds.sql
PROMPT .
PROMPT =========================================================================
PROMPT Fetching Diagnostic Data....
REM set options friendly for producing csv files
SET LINESIZE 32767 NUMWIDTH 18 LONG 4000 FEEDBACK OFF ECHO OFF
SET TRIMOUT ON ARRAYSIZE 5000 AUTOCOMMIT OFF FLUSH OFF HEADING ON TERMOUT OFF
SET PAUSE OFF SERVEROUTPUT ON TRIMSPOOL ON VERIFY OFF
SET UNDERLINE OFF PAGESIZE 50000 ESCAPE OFF
REM select star can result in dates being displayed in default date format
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
REM do not assume that the client running will a default of US
ALTER SESSION SET NLS_LANGUAGE = 'AMERICAN';
---
SET TERMOUT OFF
SET COLSEP '|'
SPOOL &spooldrive.&spooldir.&spoolfilebase._pay_actions.csv
select (select fi.instance_name from pay_flow_instances fi, pay_requests r
where r.pay_request_id = pa.pay_request_id
and r.flow_instance_id = fi.flow_instance_id) flow_instance_name,
RC.BASE_CATEGORY_NAME, pa.*
from PAY_PAYROLL_ACTIONS pa, PAY_REPORT_CATEGORIES rc
where PA.REPORT_CATEGORY_ID = RC.REPORT_CATEGORY_ID(+)
and pa.action_type <> 'G'
and PA.EFFECTIVE_DATE between to_date('&&start_date', 'YYYY/MM/DD') and to_date('&&end_date',
'YYYY/MM/DD')
and PA.PAYROLL_ACTION_ID in ( select PRA.PAYROLL_ACTION_ID
from PAY_PAYROLL_REL_ACTIONS pra
where payroll_relationship_id in (select payroll_relationship_id
from PAY_PAY_RELATIONSHIPS_DN prdn,
per_all_people_f ppl
where prdn.person_id = ppl.person_id
and ppl.person_number =
'&&person_number'))
order by PA.EFFECTIVE_DATE, PA.PAYROLL_ACTION_ID;
SPOOL OFF
SET TERMOUT ON
SPOOL &spooldrive.&spooldir.&spoolfilebase._dor.csv
SELECT distinct hdr.documents_of_record_id DOCUMENTS_OF_RECORD_ID ,
hdr.person_id PERSON_ID ,
papf.person_number,
hdr.date_from PERIOD_START_DATE ,
hdr.date_to PERIOD_END_DATE ,
hdr.issued_date PAYMENT_DATE ,
ptp.payslip_view_date PAYSLIP_VIEW_DATE ,
hdr.dei_information_number1 PAYROLL_ID ,
hdr.dei_information_number2 PERIOD_NUMBER ,
hdr.dei_information_number3 AMOUNT ,
hdr.dei_information_number4 TAX_UNIT_ID ,
hdr.dei_information_number5 PREPAY_REL_ACTION_ID ,
hdr.dei_information_number6 CALC_BREAKDOWN_ID ,
hdr.dei_information_number7 ARCHIVE_REL_ACTION_ID ,
hdr.dei_information1 EMAIL_ADDRESS ,
pra.payroll_relationship_id PAYROLL_RELATIONSHIP_ID ,
prd.payroll_relationship_number PAYROLL_RELATIONSHIP_NUMBER ,
ppf.payroll_name PAYROLL ,
ppf.legislative_data_group_id,
pldgv.legislation_code,
hdr.dei_information_number6 TAX_REFERENCE,
hdr.RELATED_OBJECT_ID, hdr.RELATED_OBJECT_NAME,hdr.RELATED_OBJECT_ID_COL
FROM hr_document_types_vl hdt ,
hr_documents_of_record hdr ,
pay_payroll_rel_actions pra ,
pay_pay_relationships_dn prd ,
pay_all_payrolls_f ppf,
pay_time_periods ptp,
per_all_people_f papf,
PER_LEGISLATIVE_DATA_GROUPS_VL pldgv
WHERE hdt.system_document_type like '%PAYSLIP'
AND hdt.category_code = 'PAYROLL'
AND hdt.sub_category_code = 'PAYROLL_PAYMENT'
AND hdr.document_type_id = hdt.document_type_id
AND hdr.DEI_INFORMATION_CATEGORY LIKE '%PAYSLIP%'
AND pra.payroll_rel_action_id = hdr.related_object_id AND
prd.payroll_relationship_id = pra.payroll_relationship_id
AND ppf.payroll_id = hdr.dei_information_number1
AND pldgv.legislative_data_group_id = ppf.legislative_data_group_id
AND hdr.dei_information_date1 BETWEEN ppf.effective_start_date AND
ppf.effective_end_date
AND ptp.payroll_id = ppf.payroll_id
AND ptp.start_date = hdr.date_from
AND ptp.end_date = hdr.date_to
AND ptp.period_category = 'E'
AND prd.person_id =hdr.person_id
AND hdr.person_id =papf.person_id
AND papf.person_number = '&&person_number'
AND hdr.RELATED_OBJECT_NAME = 'PAY_PAYROLL_REL_ACTIONS'
AND hdr.RELATED_OBJECT_ID_COL = 'PAYROLL_REL_ACTION_ID'
AND hdr.date_from >= to_date('&&start_date', 'YYYY/MM/DD');
SPOOL OFF
SET TERMOUT ON
PROMPT &spooldrive.&spooldir.&spoolfilebase._dor.csv completed.
SET TERMOUT OFF
SPOOL &spooldrive.&spooldir.&spoolfilebase._rel_action_without_dor.csv
select peo.person_number, ppa.payroll_action_id, ppa.effective_date, ppa.start_date
from pay_pay_relationships_dn pr,
pay_payroll_rel_actions ract,
per_all_people_f peo,
pay_payroll_actions ppa,
pay_report_categories rc
where peo.person_id=pr.person_id
and ract.payroll_action_id =ppa.payroll_action_id
and ppa.action_type = 'XWr'
and ppa.EFFECTIVE_DATE between to_date('&&start_date', 'YYYY/MM/DD') and to_date('&&end_date',
'YYYY/MM/DD')
and ppa.report_category_id = rc.report_category_id
and rc.base_category_name = 'Payslip'
and peo.person_number = '&&person_number'
and ract.payroll_relationship_id=pr.payroll_relationship_id
and not exists (select 1
from hr_documents_of_record
where related_object_id=ract.payroll_rel_action_id
and related_object_id_col ='PAYROLL_REL_ACTION_ID');
SPOOL OFF
SET TERMOUT ON
PROMPT &spooldrive.&spooldir.&spoolfilebase._rel_action_without_dor.csv completed.
SET TERMOUT OFF
SPOOL &spooldrive.&spooldir.&spoolfilebase._rel_action_with_dor.csv
SELECT hdr.documents_of_record_id,
hdr.date_from PERIOD_START_DATE,
hdr.date_to PERIOD_END_DATE,
hdr.issued_date PAYMENT_DATE,
hdr.dei_information_number1 PAYROLL_ID ,
hdr.dei_information_number2 PERIOD_NUMBER ,
hdr.dei_information_number3 AMOUNT ,
hdr.dei_information_number4 TAX_UNIT_ID ,
hdr.dei_information_number5 PREPAY_REL_ACTION_ID ,
hdr.dei_information_number6 CALC_BREAKDOWN_ID ,
hdr.dei_information_number7 ARCHIVE_REL_ACTION_ID ,
hdr.dei_information_number6 TAX_REFERENCE,
hdr.dei_information1 EMAIL_ADDRESS,
hdr.DEI_INFORMATION_CATEGORY
SPOOL &spooldrive.&spooldir.&spoolfilebase._xrd_tmp_action.csv
SELECT *
FROM PAY_TEMP_OBJECT_ACTIONS
WHERE PARENT_OBJECT_ID IN
(SELECT TO_CHAR(ract.PAYROLL_REL_ACTION_ID) AS parent_obj_id
FROM pay_pay_relationships_dn pr,
pay_payroll_rel_actions ract,
per_all_people_f peo,
pay_payroll_actions ppa,
pay_report_categories rc
WHERE peo.person_id =pr.person_id
AND ract.payroll_action_id =ppa.payroll_action_id
AND ppa.action_type = 'XWr'
AND ppa.EFFECTIVE_DATE between to_date('&&start_date', 'YYYY/MM/DD') and
to_date('&&end_date', 'YYYY/MM/DD')
AND ppa.report_category_id = rc.report_category_id
AND rc.base_category_name = 'Payslip'
AND peo.person_number = '&&person_number'
AND ract.payroll_relationship_id=pr.payroll_relationship_id
);
SPOOL OFF
SET TERMOUT ON
PROMPT &spooldrive.&spooldir.&spoolfilebase._xrd_tmp_action.csv completed.
SET TERMOUT OFF
SPOOL &spooldrive.&spooldir.&spoolfilebase._payslip_xml.csv
SELECT distinct per.person_number,
ppa.payroll_action_id,
ppa.action_type,
ppra.payroll_rel_action_id,
ppra.payroll_relationship_id,
ppra.action_status,
ppa.effective_date,
ppa.start_date,
xf.file_detail_id,
LENGTH(xf.FILE_FRAGMENT) file_length
FROM pay_payroll_actions ppa,
pay_payroll_rel_actions ppra,
pay_pay_relationships_dn pprd,
PER_ALL_PEOPLE_F per,
pay_report_categories rc,
pay_file_details xf
WHERE ppa.payroll_action_id = ppra.payroll_action_id
AND ppa.action_type = 'XWr'
AND ppa.EFFECTIVE_DATE between to_date('&&start_date', 'YYYY/MM/DD') and to_date('&&end_date',
'YYYY/MM/DD')
AND ppra.payroll_relationship_id = pprd.payroll_relationship_id
AND ppra.payroll_rel_action_id = xf.source_id(+)
AND xf.source_type = 'PRA'
AND ppa.report_category_id = rc.report_category_id
AND rc.base_category_name = 'Payslip'
AND pprd.person_id = per.person_id
AND per.person_number = '&&person_number';
SPOOL OFF
SET TERMOUT ON
PROMPT &spooldrive.&spooldir.&spoolfilebase._payslip_xml.csv completed.
SET TERMOUT OFF
SPOOL &spooldrive.&spooldir.&spoolfilebase._arch_balances.csv
select distinct ppa.payroll_action_id, ppra.payroll_rel_action_id,
pname.list_name as person_name,
ppa.effective_date, ppa.start_date,ppa.end_date,
info.action_information_category,
info.action_information45 AS CATEGORY_NAME,
info.action_information42 AS BALANCE_NAME,
SPOOL &spooldrive.&spooldir.&spoolfilebase._arch_payroll.csv
select distinct ppa.payroll_action_id, ppra.payroll_rel_action_id,
pname.list_name as person_name,
ppa.effective_date, ppa.start_date,ppa.end_date,
info.action_information_category,
info.action_information41,
info.action_information42,
info.action_information43,
info.action_information44,
info.action_information45,
info.action_information46,
info.action_information47,
info.action_information48,
info.action_information49,
info.action_information50,
info.action_information51,
info.action_information17,
info.action_information18
from pay_payroll_actions ppa,pay_payroll_rel_actions ppra,
SPOOL &spooldrive.&spooldir.&spoolfilebase._payment.csv
select ppa.payroll_action_id, ppra.payroll_rel_action_id,
pname.list_name as person_name,
xf.FILE_DETAIL_ID
from pay_payroll_actions ppa,pay_payroll_rel_actions ppra,
PAY_FILE_DETAILS xf,
pay_pay_relationships_dn pprd, per_person_names_f pname,
PER_ALL_PEOPLE_F per
where ppa.payroll_action_id = ppra.payroll_action_id
and ppa.action_type in ('H', 'M','A','E', 'PP' )
and ppa.EFFECTIVE_DATE between to_date('&&start_date', 'YYYY/MM/DD') and to_date('&&end_date',
'YYYY/MM/DD')
and xf.source_id(+) = ppra.payroll_rel_action_id
and ppra.payroll_relationship_id = pprd.payroll_relationship_id
and pprd.person_id = pname.person_id
and pname.name_type='GLOBAL'
and pname.person_id = per.person_id
and per.person_number = '&&person_number';
SPOOL OFF
SET TERMOUT ON
PROMPT &spooldrive.&spooldir.&spoolfilebase._payment.csv completed.
SET TERMOUT OFF
SPOOL &spooldrive.&spooldir.&spoolfilebase._prepayment.csv
select distinct ppa.payroll_action_id, ppra.payroll_rel_action_id,
ppa.effective_date, ppa.start_date,ppa.end_date,
pname.list_name as person_name,
payment.PRE_PAYMENT_ID, payment.value
from pay_payroll_actions ppa,pay_payroll_rel_actions ppra,
PAY_PRE_PAYMENTS payment,
pay_pay_relationships_dn pprd,
per_person_names_f pname,PER_ALL_PEOPLE_F per
where ppa.payroll_action_id = ppra.payroll_action_id
and ppa.action_type in ('P','U')
and ppa.EFFECTIVE_DATE between to_date('&&start_date', 'YYYY/MM/DD') and to_date('&&end_date',
'YYYY/MM/DD')
and ppra.payroll_rel_action_id = payment.payroll_rel_action_id(+)
and ppra.payroll_relationship_id = pprd.payroll_relationship_id
and pprd.person_id = pname.person_id
and pname.person_id = per.person_id
and pname.name_type='GLOBAL'
and per.person_number = '&&person_number';
SPOOL OFF
SET TERMOUT ON
PROMPT &spooldrive.&spooldir.&spoolfilebase._prepayment.csv completed.
SET TERMOUT OFF
SPOOL &spooldrive.&spooldir.&spoolfilebase._run_results.csv
SELECT DISTINCT pa.payroll_action_id,
pa.EFFECTIVE_DATE,
pa.action_type,
pa.ACTION_STATUS,
pra.payroll_rel_action_id,
pra.ACTION_STATUS,
pra.RETRO_COMPONENT_ID,
prtype.RUN_TYPE_NAME,
pra.SOURCE_ACTION_ID
, pra.SOURCE_ID,
pname.list_name AS person_name,
rr.run_result_id,
RR.start_date,
rr.end_date,
pet.base_element_name,
pet.element_name,
pet.reporting_name AS ele_reporting_name,
piv.base_name AS input_value_name,
piv.reserved_input_value,
rrv.result_value,
pbt.base_balance_name,
pbt.balance_name,
pbt.reporting_name
SPOOL &spooldrive.&spooldir.&spoolfilebase._element_entries.csv
select distinct
to_char(pee.person_id) as person_id,
peo.person_number,
to_char(pee.element_entry_id) as element_entry_id,
to_char(pet.element_type_id) as element_type_id,
pet.base_element_name,
pet.processing_type as type,
pet.use_at_rel_level as rel,
pet.use_at_term_level as term,
pet.use_at_asg_level as asg,
pet.multiple_entries_allowed_flag as mult,
pee.entry_type,
pee.creator_type,
to_char(pee.creator_id) as creator_id,
pee.multiple_entry_count as mec,
pee.object_version_number as ee_ovn,
to_char(pee.effective_start_date, 'YYYY/MM/DD') as ee_start,
to_char(pee.effective_end_date, 'YYYY/MM/DD') as ee_end,
to_char(peu.entry_usage_id) as usage_id,
to_char(peu.payroll_relationship_id) as relationship_id,
to_char(peu.payroll_term_id) as term_id,
to_char(peu.assigned_payroll_id) as ap_id,
to_char(peu.payroll_assignment_id) as assignment_id,
to_char(peu.date_from, 'YYYY/MM/DD') as date_from,
to_char(peu.date_to, 'YYYY/MM/DD') as date_to,
peu.usage_level,
SPOOL &spooldrive.&spooldir.&spoolfilebase._delivery_options.csv
SELECT distinct ext_del.ext_delivery_option_id,
ext_del.BASE_DELIVERY_OPTION_NAME,
ext_del.BIP_report_name,
ext_del.BIP_template_name,
ext_del.output_type,
ext_del.output_name,
ext_del.output_directory_name,
ext_del.delivery_type
FROM fusion.pay_rep_cat_components prcc,
fusion.pay_payroll_actions ppa,
fusion.per_ext_delivery_options_b ext_del,
fusion.per_ext_definitions_b ext
SPOOL OFF
SET TERMOUT ON
PROMPT &spooldrive.&spooldir.&spoolfilebase._delivery_options.csv completed.
SET TERMOUT OFF
SPOOL &spooldrive.&spooldir.&spoolfilebase._delivery_preference.csv
select peo.person_number,
per_report_preferences.get_del_pref_by_sysdoctype('GLB_PAYSLIP', 'PRINT', peo.person_id,
'PERSON_ID', prl.enterprise_id) as paper_payslip,
per_report_preferences.get_del_pref_by_sysdoctype('GLB_PAYSLIP', 'DOR', peo.person_id, 'PERSON_ID',
prl.enterprise_id) as online_payslip
from PER_ALL_PEOPLE_F peo,
PAY_PAY_RELATIONSHIPS_DN prl
where peo.person_number = '&&person_number'
Note: This script requires 2 mandatory parameters: PERSON NUMBER and PAYSLIP FLOW NAME flow name.
1) Connect to the database using SQL*Plus (SQLplus), for the environment associated to this bug/SR.
2) Using SQL*Plus (linux or windows) run the following command:
"START Diagnostic.SQL"
It will prompt for SR or bug reference. It uses that to store the output in a distinct directory for each run.
It will also ask for the PERSON NUMBER and PAYSLIP FLOW NAME and use that to fetch data.
If you need to ask Cloud Ops to execute the script, please specific application environment name and parameter
values.
Example:
person_number: 955160008181673
payslip_flow_name: SS_Payslip_Jan2014_CDRM_13thDec
This query will return details of payslip processes submitted in last 7 days.
7.5 Get additional information from Archive Payroll Information and Generate Report process log
4) XRD (Report Delivery, aka DOR, Archive Integration with Document of Records) process id is 52201, and
status is completed.
- PROC_DEL_UCM_DOR_START_DATE - PROC_DEL_UCM_DOR_END_DATE