0% found this document useful (0 votes)
93 views10 pages

Payroll Reconciliation Emp Details DS

Payroll_Reconciliation_Emp_Details_DS (2)

Uploaded by

IBO Singapore
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views10 pages

Payroll Reconciliation Emp Details DS

Payroll_Reconciliation_Emp_Details_DS (2)

Uploaded by

IBO Singapore
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 10

SELECT DISTINCT

--PERSON_ID,
ELEMENT_TYPE_ID,
REPORTING_NAME,
EFFECTIVE_END_DATE,
ASSIGNMENT_NUMBER,
ORACLE_PN,
LAST_NAME,
FIRST_NAME,
FULL_NAME,
LAWSON_NUM,
JOB_CODE,
EXP_ACCOUNT,
JOB_NAME,
COST_CENTER,
COMPANY_NUM,
DEPT_NAME,
LEGAL_EMPLOYER,
SUM(AMOUNT) AS Amount,
SUM(HOURS) AS Hours,

BALANCE_CATEGORY,
DESCRIPTION,
COSTING_DEPARTMENT_COMPANY,
COSTING_DEPARTMENT_COST,
COSTING_DEPARTMENT_NAME,
COSTING_LEGAL_ENTITY,
FROM_DATE,
"To_Date",
WCC_D,
WCC
--,
--CHECKDATE
FROM (

WITH SEG1
AS (
SELECT DISTINCT (Substr(dept.name, 1, Instr(dept.name, '_', 1, 1) - 1)) S1
FROM hr_all_organization_units_f_vl dept
,hr_org_unit_classifications_f class
WHERE dept.ORGANIZATION_ID = class.ORGANIZATION_ID
AND class.CLASSIFICATION_CODE = 'DEPARTMENT'
AND (
dept.name IN (:p_Dept_Name)
-- OR Coalesce(:p_Dept_Name, '') IS NULL
)
AND :p_to_date BETWEEN dept.effective_start_date
AND dept.effective_end_date

UNION

SELECT ''
FROM dual
WHERE NOT EXISTS (
SELECT DISTINCT (Substr(dept.name, 1, Instr(dept.name, '_', 1, 1)
- 1)) S1
FROM hr_all_organization_units_f_vl dept
,hr_org_unit_classifications_f class
WHERE dept.ORGANIZATION_ID = class.ORGANIZATION_ID
AND class.CLASSIFICATION_CODE = 'DEPARTMENT'
AND (
dept.name IN (:p_Dept_Name)
-- OR Coalesce(:p_Dept_Name, '') IS NULL
)
AND :p_to_date BETWEEN dept.effective_start_date
AND dept.effective_end_date
)
)
,SEG2
AS (
SELECT DISTINCT (Substr(dept.name, 5, Instr(dept.name, '_', 1, 2) - 5)) S2
FROM hr_all_organization_units_f_vl dept
,hr_org_unit_classifications_f class
WHERE dept.ORGANIZATION_ID = class.ORGANIZATION_ID
AND class.CLASSIFICATION_CODE = 'DEPARTMENT'
AND (
dept.name IN (:p_Dept_Name)
-- OR Coalesce(:p_Dept_Name, '') IS NULL
)
AND :p_to_date BETWEEN dept.effective_start_date
AND dept.effective_end_date

UNION

SELECT ''
FROM dual
WHERE NOT EXISTS (
SELECT DISTINCT (Substr(dept.name, 1, Instr(dept.name, '_', 1, 1)
- 1)) S1
FROM hr_all_organization_units_f_vl dept
,hr_org_unit_classifications_f class
WHERE dept.ORGANIZATION_ID = class.ORGANIZATION_ID
AND class.CLASSIFICATION_CODE = 'DEPARTMENT'
AND (
dept.name IN (:p_Dept_Name)
-- OR Coalesce(:p_Dept_Name, '') IS NULL
)
AND :p_to_date BETWEEN dept.effective_start_date
AND dept.effective_end_date
)
)
SELECT
paam.person_id
,pcak.COST_ALLOCATION_ID
,paam.ASSIGNMENT_NUMBER
,paam.effective_end_date
---pprd.payroll_relationship_number
,papf.person_number AS Oracle_PN
,ppnf.last_name AS Last_Name
,ppnf.first_name AS First_Name
,ppnf.last_name || ', ' || ppnf.first_name AS Full_Name
,NVL(peai.ext_identifier_number, papf.person_number) AS Lawson_Num
,pjfv.job_code AS Job_Code
-- ,CASE WHEN REC1.REPORTING_NAME='Paid Time Off' and
rec1.classification_name='Absences' then '600202'
--else pjfv.attribute5
--end AS Exp_Account
,pjfv.name AS Job_Name
,Substr(dept.name, 5, Instr(dept.name, '_', 1, 2) - 5) AS Cost_Center
,Substr(dept.name, 1, Instr(dept.name, '_', 1, 1) - 1) AS Company_Num
,Substr(dept.name, Instr(dept.name, '_', 1, 2) + 1) AS Dept_Name
,le.name AS Legal_Employer
,CASE
WHEN (instr(rec1.SUM, 'H1', 1, 1) = 0)
THEN REPLACE((SUBSTR(rec1.SUM, instr(rec1.SUM, 'E1', 1, 1) + 3,
LENGTH(rec1.SUM) - 1)), '|', '')
WHEN (instr(rec1.SUM, 'E1', 1, 1) = 0)
THEN '0'
ELSE SUBSTR(rec1.SUM, instr(rec1.SUM, 'E1', 1, 1) + 3, (instr(rec1.SUM,
'|', 1, 1)) - (instr(rec1.SUM, 'E1', 1, 1) + 3))
END Amount
,CASE
WHEN (instr(rec1.SUM, 'H1', 1, 1) = 0)
THEN '0'
WHEN (instr(rec1.SUM, 'E1', 1, 1) = 0)
THEN REPLACE((SUBSTR(rec1.SUM, instr(rec1.SUM, 'H1', 1, 1) + 3,
LENGTH(rec1.SUM) - 1)), '|', '')
ELSE REPLACE((SUBSTR(rec1.SUM, instr(rec1.SUM, 'H1', 1, 1) + 3,
instr(rec1.SUM, '|', 1, 2) - instr(rec1.SUM, 'H1', 1, 1) + 3)), '|', '')
END Hours
,rec1.element_Type_id
--,REC1.effective_date CHECKDATE
,REC1.classification_name Balance_Category
--,(
-- SELECT pet1.DESCRIPTION
-- FROM pay_element_types_vl pet1
-- WHERE pet1.element_Type_id = rec1.element_Type_id
-- ) AS Description
,REC1.REPORTING_NAME AS DESCRIPTION
,REC1.REPORTING_NAME
--,(
-- SELECT pet1.description
-- FROM pay_element_types_vl pet1
-- WHERE pet1.element_Type_id = rec1.element_Type_id
-- ) AS Reporting_Name
---,pjfv.attribute5
,

NVL((SELECT DISTINCT
PCAK.SEGMENT3
FROM pay_cost_alloc_keyflex pcak,
pay_costs pc
WHERE 1=1
AND pc.cost_allocation_keyflex_id = pcak.cost_allocation_keyflex_id
AND pc.RUN_RESULT_ID IN (REC1.RUN_RESULT_ID)
--AND PC.INPUT_VALUE_ID IN (REC1.INPUT_VALUE_ID)
AND PC.BALANCE_OR_COST='C'
) ,pjfv.attribute5 )Exp_Account
--PAYROLL_REL_ACTION_ID='243887898'
,pcaa.segment1 AS costing_department_company
,pcaa.segment2 AS costing_department_cost
,(
SELECT Substr(dept1.name, Instr(dept1.name, '_', 1, 2) + 1)
FROM HR_ALL_ORGANIZATION_UNITS_F_VL dept1
WHERE dept1.name LIKE pcaa.segment1 || '_' || pcaa.segment2 || '_' ||
'%'
AND pcaa.segment1 IS NOT NULL
AND :p_to_date BETWEEN dept1.effective_start_date
AND dept1.effective_end_date
AND rownum = 1
) AS costing_department_name
,(
SELECT xle.name
FROM XLE_ENTITY_PROFILES xle
WHERE xle.legal_entity_identifier = pcaa.segment1
) AS costing_legal_entity
,to_char(:p_from_date,'MM/DD/YYYY') AS From_Date
,to_char(:p_to_date, 'MM/DD/YYYY') AS "To_Date"
,pjfv.attribute3 WCC_d
,(
SELECT fv.description
FROM FND_VS_VALUE_SETS fvvs
,FND_VS_VALUES_vl fv
WHERE value_set_code = 'CCH_COMP_CLASS'
AND fvvs.VALUE_SET_ID = fv.VALUE_SET_ID
AND fv.value = pjfv.attribute3
) WCC
FROM per_all_assignments_m paam
,PER_PERSON_NAMES_F ppnf
,PER_ALL_PEOPLE_F papf
,PER_EXT_APP_IDENTIFIERS peai
,PER_JOBS_F_VL pjfv
,HR_ALL_ORGANIZATION_UNITS_F_VL dept
,HR_LEGAL_ENTITIES le
,pay_payroll_assignments ppasg
,PAY_COST_ALLOCATIONS_F pcak
,PAY_COST_ALLOC_ACCOUNTS pcaa
,(
SELECT
--rec.person_id
rec.element_type_id
,rec.ASS_NUMBER
,REC.REPORTING_NAME
--,REC.DESCRIPTION
,REC.CLASSIFICATION_NAME
,REC.RUN_RESULT_ID
,REC.input_value_id
--,REC.effective_date

,Replace(Replace(Xmlagg(XMLELEMENT("KRULE", rec.Input_Value ||
'-' || rec.Sum_Amount)), '<KRULE>', ''), '</KRULE>', '|') AS SUM
FROM (

SELECT --M.PERSON_ID AS PERSON_ID,


G.ASSIGNMENT_NUMBER AS ASS_NUMBER
,pr.element_type_id AS Element_Type_ID
--,pa.effective_date
,CASE
WHEN (piv.name = 'Earnings Calculated')
THEN 'E1'
ELSE 'H1'
END AS Input_Value
--,V.RESULT_VALUE V
--,pbtl.REPORTING_NAME
,CASE WHEN pbtl.REPORTING_NAME IS NULL
THEN pbtl.BALANCE_NAME
ELSE PBTL.REPORTING_NAME
END AS REPORTING_NAME
--,CASE WHEN pbtl.DESCRIPTION IS NULL
--THEN pbtl.BALANCE_NAME
--ELSE PBTL.DESCRIPTION
--END AS DESCRIPTION
,pec.classification_name
,SUM(V.RESULT_VALUE) AS Sum_Amount
,V.RUN_RESULT_ID
,piv.input_value_id
FROM PAY_REL_GROUPS_DN G
--,PER_ALL_ASSIGNMENTS_M M
,pay_pay_relationships_dn pprd
,PAY_PAYROLL_REL_ACTIONS R
,PAY_PAYROLL_ACTIONS PA
,PAY_RUN_RESULTS PR
,PAY_RUN_RESULT_VALUES V
,pay_input_values_vl piv
,pay_balance_feeds_f pbff
,pay_balance_types pbt
,pay_element_types_vl pet
,pay_ele_classifications_vl pec
--,per_periods_of_service ppos
,PAY_BALANCE_TYPES_TL pbtl
,PAY_BALANCE_CATEGORIES_F PBC
--,pay_PAYROLL_TERMS PT
--,pay_balance_dimensions pbd
--,pay_defined_balances pdb
WHERE 1=1

and pbff.element_type_id=piv.element_type_id
AND piv.input_value_id IS NOT NULL
AND pbt.input_value_id IS NOT NULL
AND PBTL.LANGUAGE='US'
and pbt.base_balance_name=pbtl.balance_name

AND PBT.balance_type_id=PBTL.balance_type_id

and pbff.balance_type_id=pbt.balance_type_id
and NVL(pbff.legislation_code,'US')='US'
and NVL(PBT.legislation_code,'US')='US'

AND :p_to_date BETWEEN PBFF.EFFECTIVE_START_DATE


AND PBFF.EFFECTIVE_END_DATE
AND :p_to_date BETWEEN pec.DATE_FROM
AND pec.DATE_TO
AND G.PAYROLL_RELATIONSHIP_ID =
pprd.PAYROLL_RELATIONSHIP_ID

and PBFF.effective_start_date between


piv.effective_start_date
and piv.effective_end_date
-- and
PBFF.effective_start_date between pet.effective_start_date
--and pet.effective_end_date

AND :p_to_date BETWEEN G.START_DATE


AND G.END_DATE
AND r.retro_component_id IS NULL
AND R.PAYROLL_RELATIONSHIP_ID = G.PAYROLL_RELATIONSHIP_ID
AND R.ACTION_STATUS = 'C'
AND PA.PAYROLL_ACTION_ID = R.PAYROLL_ACTION_ID
AND (
pa.action_type IN (
'B'
,'I'
)
OR (
r.source_action_id IS NOT NULL
AND pa.action_type IN (
'R'
,'Q'
,'V'
)
)
)
AND PA.ACTION_STATUS = 'C'
AND pa.effective_date BETWEEN :p_from_date AND :p_to_date
AND PR.PAYROLL_REL_ACTION_ID = R.PAYROLL_REL_ACTION_ID
AND PR.RUN_RESULT_ID = V.RUN_RESULT_ID
AND V.input_value_id = piv.input_value_id
AND pr.element_type_id = piv.element_type_id
AND piv.name IN (
'Earnings Calculated'
,'Hours Calculated'
)
AND :p_to_date BETWEEN piv.effective_start_date
AND piv.effective_end_date
AND piv.element_type_id = pet.element_type_id
AND pec.classification_id = pet.classification_id
AND pec.classification_name IN (
'Absences'
,'Standard Earnings'
,'Supplemental Earnings'
,'Taxable benefits'
,'Nonpayroll Payment'
,'Direct Payments'
,'Balance Initialization'
)
AND PBT.LEGISLATIVE_DATA_GROUP_ID IS NOT NULL
AND PBT.BALANCE_CATEGORY_ID=PBC.BALANCE_CATEGORY_ID
AND PBC.BASE_CATEGORY_NAME IN ('Absences'
,'Earnings'
,'Supplemental Earnings'
,'Taxable benefits'
,'Nonpayroll Payment'
,'Direct Payments'
,'Balance Initialization')
AND :p_to_date BETWEEN PET.effective_start_date
AND PET.effective_end_date

--AND PBT.INPUT_VALUE_ID=PBFF.INPUT_VALUE_ID--NEW
--and m.assignment_number='E1020853'
--AND PET.REPORTING_NAME='Diff Evening'
--AND PET.REPORTING_NAME in ('Diff Night','Regular')
AND G.RELATIONSHIP_GROUP_ID=(SELECT MAX(G2.RELATIONSHIP_GROUP_ID)
FROM PAY_REL_GROUPS_DN G2
WHERE G.PAYROLL_RELATIONSHIP_ID=G2.PAYROLL_RELATIONSHIP_ID
AND G2.START_DATE <= NVL(:p_to_date, TRUNC(SYSDATE))
--AND G2.PAYROLL_RELATIONSHIP_ID = pprd1.PAYROLL_RELATIONSHIP_ID
--AND G.ASSIGNMENT_ID=G2.ASSIGNMENT_ID
AND G2.GROUP_TYPE='A'
)

GROUP BY
--m.person_id
pr.element_type_id
,piv.name
,G.ASSIGNMENT_NUMBER
,CASE WHEN pbtl.REPORTING_NAME IS NULL THEN
pbtl.BALANCE_NAME ELSE PBTL.REPORTING_NAME END
--,CASE WHEN pbtl.DESCRIPTION IS NULL THEN
pbtl.BALANCE_NAME ELSE PBTL.DESCRIPTION END
--,pbtl.REPORTING_NAME
--,pbtl.REPORTING_NAME
,pec.classification_name
,V.RUN_RESULT_ID
,piv.input_value_id
--,pa.effective_date
ORDER BY piv.name
) rec
GROUP BY
--rec.person_id
rec.element_Type_id
,rec.ASS_NUMBER
,REC.REPORTING_NAME
--,REC.DESCRIPTION
,REC.CLASSIFICATION_NAME
,REC.RUN_RESULT_ID
,REC.input_value_id
--,REC.effective_date
) rec1
,seg1
,seg2
WHERE 1=1 AND
paam.assignment_type = 'E'
--AND papf.person_number = '1029291'
AND paam.effective_latest_change = 'Y'
--AND paam.primary_flag = 'N'

AND :p_to_date BETWEEN paam.effective_start_date AND paam.effective_end_date


--AND rec1.person_id = paam.person_id
AND PAAM.ASSIGNMENT_NUMBER=rec1.ASS_NUMBER
AND paam.person_id = ppnf.person_id
AND ppnf.name_type = 'US'
AND papf.person_number NOT IN (
'100'
,'102'
,'103'
,'104'
,'105'
,'106'
,'107'
,'108'
,'109'
,'110'
,'111'
,'112'
,'113'
)
AND paam.person_id = papf.person_id
AND paam.person_id = peai.person_id(+)
AND peai.ext_identifier_type(+) = 'LAWSON_NUMBER'
AND paam.job_id = pjfv.job_id(+)
AND dept.organization_id(+) = paam.organization_id
AND paam.legal_entity_id(+) = le.organization_id
AND le.classification_code(+) = 'HCM_LEMP'
AND le.STATUS (+) = 'A'
AND paam.assignment_id = ppasg.hr_assignment_id(+)
AND (
(
pcaa.segment1 IN (
(
SELECT legal_entity_identifier
FROM XLE_ENTITY_PROFILES
WHERE name IN (:p_Legal_Name)
)
)
OR Coalesce(:p_Legal_Name, '') IS NULL
)
OR (
le.name IN (:p_Legal_Name)
OR Coalesce(:p_Legal_Name, '') IS NULL
)
)
AND (
(
(
pcaa.segment1 IN SEG1.S1
OR SEG1.S1 IS NULL
)
AND (
pcaa.segment2 IN SEG2.S2
OR SEG2.S2 IS NULL
)
)
OR (
(
Substr(dept.name, 1, Instr(dept.name, '_', 1, 1) - 1) IN
SEG1.S1
OR SEG1.S1 IS NULL
)
AND (
Substr(dept.name, 5, Instr(dept.name, '_', 1, 2) - 5) IN
SEG2.S2
OR SEG2.S2 IS NULL
)
)
)
AND pcak.source_id(+) = ppasg.PAYROLL_assignment_ID
AND pcak.source_type(+) = 'ASG'
AND pcak.cost_allocation_record_id = pcaa.cost_allocation_record_id(+)
AND pcaa.source_sub_type(+) = 'COST'
--AND :p_from_date BETWEEN paam.effective_start_date
-- AND paam.effective_end_date

--AND (PAAM.effective_start_date BETWEEN :p_from_date AND :p_to_date)

--( :p_from_date BETWEEN PAAM.EFFECTIVE_START_DATE AND


PAAM.EFFECTIVE_END_DATE)

AND :p_to_date BETWEEN ppnf.effective_start_date


AND ppnf.effective_end_date
AND :p_to_date BETWEEN papf.effective_start_date
AND papf.effective_end_date
AND :p_to_date BETWEEN pjfv.effective_start_date(+)
AND pjfv.effective_end_date(+)
AND :p_to_date BETWEEN dept.effective_start_date(+)
AND dept.effective_end_date(+)
AND :p_to_date BETWEEN le.effective_start_date(+)
AND le.effective_end_date(+)
AND :p_to_date BETWEEN pcak.effective_start_date(+)
AND pcak.effective_end_date(+)
/*AND PAPF.PERSON_NUMBER in ('1052879',
'1022692',
'1022875',
'1028135',
'1028135',
'1021803',
'1021803'

)
--and papf.person_number IN ('1019878','1020698','1024079') ,'1046184'
--)
--AND PAPF.PERSON_NUMBER='1021803'

--AND PAPF.PERSON_NUMBER IN ('1022682','1019889','1021663','1045742')


/* AND papf.person_number IN (
,'1020698','1024079'

'1019864',
1017927
1020206
1020206

) */
ORDER BY (
SELECT xle.name
FROM XLE_ENTITY_PROFILES xle
WHERE xle.legal_entity_identifier = pcaa.segment1
)
,pcaa.segment1)
GROUP BY
--PERSON_ID,
ELEMENT_TYPE_ID,
REPORTING_NAME,
EFFECTIVE_END_DATE,
ASSIGNMENT_NUMBER,
ORACLE_PN,
LAST_NAME,
FIRST_NAME,
FULL_NAME,
LAWSON_NUM,
JOB_CODE,
EXP_ACCOUNT,
JOB_NAME,
COST_CENTER,
COMPANY_NUM,
DEPT_NAME,
LEGAL_EMPLOYER,

BALANCE_CATEGORY,
DESCRIPTION,
COSTING_DEPARTMENT_COMPANY,
COSTING_DEPARTMENT_COST,
COSTING_DEPARTMENT_NAME,
COSTING_LEGAL_ENTITY,
FROM_DATE,
"To_Date",
WCC_D,
WCC
--,
--CHECKDATE

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy