You are on page 1of 20

------------------------

----- update query -----


------------------------
SELECT P.QRY,
P.ACTION_TYPE,
P.REQUEST_ID,
P.SALARY_MONTH,
P.BATCH_NO,
P.TXN_NO,
P.BRANCHS,
P.ACCOUNT,
P.TXN_DESC1,
P.ACCOUNT_BRANCH,
to_char(sysdate), -- P.VALUE_DATE,
P.CURRENCY,
P.TYPE,
ABS(SUM(P.AMOUNT)) AMOUNT,
P.TXN_CODE,
P.TXN_DESC1,
P.MIS_CODE,
P.MIS_DESC,
P.REF_NO,
P.UPLOADED_ON
FROM (
--------------------------------------
--Query No.1 earning Data
--------------------------------------

SELECT 'Qry 1' Qry,


DECODE(X.ACTION_TYPE, 'R', 'RUN', 'QUICK PAY RUN') ACTION_TYPE,
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999' Branchs,
X.Account,
X.Txn_Desc Txn_Desc1,
x.branch Account_Branch,
X.Value_Date,
X.Currency,
X.Type,
SUM(X.LCY_Amount) AMOUNT,
X.Txn_Code,
X.Txn_Desc,
X.MIS_Code,
X.MIS_Desc,
X.Ref_No,
X.Uploaded_On,
0 RUN_RESULT_ID1,
'' RESULT_VALUE

from (Select distinct papf.EMPLOYEE_NUMBER,


ppa.REQUEST_ID,
PPA.ACTION_TYPE,
to_char(ppa.DATE_EARNED, 'MON-RRRR') Salary_month,
'' Batch_No,
'' Txn_No,
(select aa.loc_information13 from hr_locations_all
aa where aa.LOCATION_ID = paaf.LOCATION_ID) branch, -- and ppa.DATE_EARNED BETWEEN
paaf.EFFECTIVE_START_DATE AND paaf.EFFECTIVE_END_DATE= '31-DEC-4712') branch,
gl_code.GL_CODE Account,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.gl_CODE
AND ROWNUM = 1) Account_Name,
'' Account_Branch,
pp.FIRST_PERIOD_END_DATE Value_Date,
'PKR' Currency,
'DEBIT' Type,
((decode(gl_code.ACCOUNT_STATUS,
'D',
gl_code.amount,
gl_code.amount * -1))) LCY_Amount,
pet.REPORTING_NAME Txn_Code,
PET.DESCRIPTION Txn_Desc,
gl_code.MIS_CODE MIS_Code,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.MIS_CODE)
MIS_Desc,
'' Ref_No,
'' Uploaded_On

FROM pay_payroll_actions ppa,


pay_assignment_actions paa,
pay_payrolls_f pp,
pay_run_results prr,
pay_run_result_values prrv,
pay_input_values_f piv,
pay_element_types_f pet,
per_all_assignments_f paaf,
per_all_people_f papf,

(SELECT DISTINCT a.PERSON_ID,


d.SEGMENT1 accounts_no,
d.SEGMENT2 branch_code
FROM per_all_people_f a,
per_all_assignments_f b,
pay_personal_payment_methods_f c,
PAY_EXTERNAL_ACCOUNTS d
WHERE a.person_id = b.person_id
AND b.assignment_id = c.assignment_id
and a.BUSINESS_GROUP_ID = &p_bg
AND c.external_account_id = d.external_account_id)
ac_code,

(select pca.SEGMENT4 GL_CODE,


pca.SEGMENT3 MIS_CODE,
sum(pc.costed_value) amount,
pc.DEBIT_OR_CREDIT ACCOUNT_STATUS,
pc.input_value_id,
pc.run_result_id
from pay_costs pc, PAY_COST_ALLOCATION_KEYFLEX pca
where pc.COST_ALLOCATION_KEYFLEX_ID =
pca.COST_ALLOCATION_KEYFLEX_ID
and pc.DEBIT_OR_CREDIT = 'D'
group by pca.SEGMENT4,
pca.SEGMENT3,
pc.DEBIT_OR_CREDIT,
pc.input_value_id,
pc.run_result_id) gl_code
where ppa.payroll_action_id = paa.payroll_action_id
and ppa.payroll_id = pp.payroll_id
and paa.assignment_action_id = prr.assignment_action_id
and prr.run_result_id = prrv.run_result_id
and prrv.input_value_id = piv.input_value_id
and piv.element_type_id = pet.element_type_id
and paaf.assignment_id = paa.assignment_id
and paaf.person_id = papf.person_id
and piv.name like 'Pay Value%'
and papf.BUSINESS_GROUP_ID = &P_BG
AND to_char(ppa.DATE_EARNED, 'MON-RRRR') = &P_SMONTH
and papf.PERSON_ID = ac_code.person_id(+)
and gl_code.input_value_id = prrv.input_value_id
and gl_code.run_result_id = prrv.run_result_id
AND ppa.REQUEST_ID = &P_REQ --and account_branch is not null
and (pet.ELEMENT_INFORMATION_CATEGORY LIKE '%EARNINGS%' OR
pet.ELEMENT_INFORMATION_CATEGORY LIKE
'%EMPLOYER CHARGES%')) X
WHERE X.Txn_Desc NOT IN ('LFA Allowance', 'Medical Allowance')

GROUP BY 'Qry 1',


X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999',
X.Account,
x.branch,
X.Value_Date,
X.Currency,
X.Type,
X.Txn_Code,
X.Txn_Desc,
X.MIS_Code,
X.MIS_Desc,
X.Ref_No,
X.Uploaded_On,
X.ACTION_TYPE,
0,
''

union all
--------------------------------------
--Query No.2 deduction Data
--------------------------------------

SELECT 'Qry 2' Qry,


DECODE(X.ACTION_TYPE, 'R', 'RUN', 'QUICK PAY RUN') ACTION_TYPE,
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999' Branch,
X.Account,
X.Account_Name,
'001' Account_Branch,
X.Value_Date,
X.Currency,
X.Type,
sum(X.LCY_Amount) AMOUNT,
X.Txn_Code,
X.Txn_Desc,
'00000' MIS_Code,
'' MIS_Desc,
X.Ref_No,
X.Uploaded_On,
0 RUN_RESULT_ID1,
'' RESULT_VALUE

from (Select distinct GL_CODE.*,


ppa.REQUEST_ID,
PPA.ACTION_TYPE,
to_char(ppa.DATE_EARNED, 'MON-RRRR') Salary_month,
'' Batch_No,
'' Txn_No,
(select aa.loc_information13 from hr_locations_all
aa where aa.LOCATION_ID = paaf.LOCATION_ID) branch, -- and ppa.DATE_EARNED BETWEEN
paaf.EFFECTIVE_START_DATE AND paaf.EFFECTIVE_END_DATE= '31-DEC-4712') branch,
gl_code.GL_CODE1 Account,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.gl_CODE1
AND ROWNUM = 1) Account_Name,
'' Account_Branch,
pp.FIRST_PERIOD_END_DATE Value_Date,
'PKR' Currency,
'CREDIT' Type,
(decode(gl_code.ACCOUNT_STATUS,
'C',
gl_code.amount1 * -1,
gl_code.amount1)) LCY_Amount,
pet.REPORTING_NAME Txn_Code,
PET.DESCRIPTION Txn_Desc,
gl_code.MIS_CODE1 MIS_Code,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.MIS_CODE1)
MIS_Desc,
'' Ref_No,
'' Uploaded_On,
papf.EMPLOYEE_NUMBER

FROM pay_payroll_actions ppa,


pay_assignment_actions paa,
pay_payrolls_f pp,
pay_run_results prr,
pay_run_result_values prrv,
pay_input_values_f piv,
pay_element_types_f pet,
per_all_assignments_f paaf,
per_all_people_f papf,

(SELECT DISTINCT a.PERSON_ID,


d.SEGMENT1 accounts_no,
d.SEGMENT2 branch_code
FROM per_all_people_f a,
per_all_assignments_f b,
pay_personal_payment_methods_f c,
PAY_EXTERNAL_ACCOUNTS d
WHERE a.person_id = b.person_id
AND b.assignment_id = c.assignment_id
and a.BUSINESS_GROUP_ID = &p_bg
AND c.external_account_id = d.external_account_id)
ac_code,

(select pca.SEGMENT4 GL_CODE1,


pca.SEGMENT3 MIS_CODE1,
sum(pc.costed_value) amount1,
pc.DEBIT_OR_CREDIT ACCOUNT_STATUS,
pc.input_value_id,
pc.run_result_id
from pay_costs pc, PAY_COST_ALLOCATION_KEYFLEX pca
where pc.COST_ALLOCATION_KEYFLEX_ID =
pca.COST_ALLOCATION_KEYFLEX_ID
and pc.DEBIT_OR_CREDIT = 'C'
group by pca.SEGMENT4,
pca.SEGMENT3,
pc.DEBIT_OR_CREDIT,
pc.input_value_id,
pc.run_result_id) gl_code
where ppa.payroll_action_id = paa.payroll_action_id
and ppa.payroll_id = pp.payroll_id
and paa.assignment_action_id = prr.assignment_action_id
and prr.run_result_id = prrv.run_result_id
and prrv.input_value_id = piv.input_value_id
and piv.element_type_id = pet.element_type_id
and paaf.assignment_id = paa.assignment_id
and paaf.person_id = papf.person_id
and piv.name like 'Pay Value%'
and papf.BUSINESS_GROUP_ID = &P_BG
AND to_char(ppa.DATE_EARNED, 'MON-RRRR') = &P_SMONTH
and papf.PERSON_ID = ac_code.person_id(+)
and gl_code.input_value_id = prrv.input_value_id
and gl_code.run_result_id = prrv.run_result_id
AND ppa.REQUEST_ID = &P_REQ
and (pet.ELEMENT_INFORMATION_CATEGORY LIKE '%DEDUCTIONS%')
and pet.ELEMENT_NAME not like '%Finance%'
and pet.ELEMENT_NAME not like '%Income Tax%'
and pet.ELEMENT_NAME not like '%EOBI%'
AND pet.processing_type = 'R') x

WHERE X.TXN_CODE NOT IN ('PFB')

GROUP BY
'Qry 2',
DECODE(X.ACTION_TYPE, 'R', 'RUN', 'QUICK PAY RUN'),
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999',
X.Account,
X.Account_Name,
'001',
X.Value_Date,
X.Currency,
X.Type,
X.Txn_Code,
X.Txn_Desc,
'00000',
'',
X.Ref_No,
X.Uploaded_On,
0,
''

union all
--------------------------------------
--Query No.3 Loan Data
--------------------------------------

SELECT 'Qry 3' Qry,


DECODE(X.ACTION_TYPE, 'R', 'RUN', 'QUICK PAY RUN') ACTION_TYPE,
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999' Branchs,
RESULT_VALUE Account,
VAR_PROFIT.NAME, ----------- CHANGE
'997' Account_Branch, --- x.branch
Account_Branch,
X.Value_Date,
X.Currency,
X.Type,
to_number(VAR_PROFIT.RV), -- SUM(X.LCY_Amount) AMOUNT,
X.Txn_Code,
X.Txn_Desc,
X.MIS_Code,
X.MIS_Desc,
X.Ref_No,
X.Uploaded_On,
X.RUN_RESULT_ID1,
RESULT_VALUE

from (Select distinct papf.EMPLOYEE_NUMBER,


ppa.REQUEST_ID,
PPA.ACTION_TYPE,
PRRV.RUN_RESULT_ID RUN_RESULT_ID1,
to_char(ppa.DATE_EARNED, 'MON-RRRR') Salary_month,
'' Batch_No,
'' Txn_No,
(select aa.loc_information13 from hr_locations_all
aa where aa.LOCATION_ID = paaf.LOCATION_ID) branch, -- and ppa.DATE_EARNED BETWEEN
paaf.EFFECTIVE_START_DATE AND paaf.EFFECTIVE_END_DATE= '31-DEC-4712') branch,
gl_code.GL_CODE Account,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.gl_CODE
AND ROWNUM = 1) Account_Name,
'' Account_Branch,
pp.FIRST_PERIOD_END_DATE Value_Date,
'PKR' Currency,
'CREDIT' Type,
((decode(gl_code.ACCOUNT_STATUS,
'C',
gl_code.amount * -1,
gl_code.amount * -1))) LCY_Amount,
pet.REPORTING_NAME Txn_Code,
PET.DESCRIPTION Txn_Desc,
gl_code.MIS_CODE MIS_Code,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.MIS_CODE) MIS_Desc,
'' Ref_No,
'' Uploaded_On

FROM pay_payroll_actions ppa,


pay_assignment_actions paa,
pay_payrolls_f pp,
pay_run_results prr,
pay_run_result_values prrv,
pay_input_values_f piv,
pay_element_types_f pet,
per_all_assignments_f paaf,
per_all_people_f papf,

(SELECT DISTINCT a.PERSON_ID,


d.SEGMENT1 accounts_no,
d.SEGMENT2 branch_code
FROM per_all_people_f a,
per_all_assignments_f b,
pay_personal_payment_methods_f c,
PAY_EXTERNAL_ACCOUNTS d
WHERE a.person_id = b.person_id
AND b.assignment_id = c.assignment_id
and a.BUSINESS_GROUP_ID = 121
AND c.external_account_id = d.external_account_id)
ac_code,

(select pca.SEGMENT4 GL_CODE,


pca.SEGMENT3 MIS_CODE,
sum(pc.costed_value) amount,
pc.DEBIT_OR_CREDIT ACCOUNT_STATUS,
pc.input_value_id,
pc.run_result_id

from pay_costs pc, PAY_COST_ALLOCATION_KEYFLEX pca


where pc.COST_ALLOCATION_KEYFLEX_ID =
pca.COST_ALLOCATION_KEYFLEX_ID
and pc.DEBIT_OR_CREDIT = 'C'
group by pca.SEGMENT4,
pca.SEGMENT3,
pc.DEBIT_OR_CREDIT,
pc.input_value_id,
pc.run_result_id) gl_code
where ppa.payroll_action_id = paa.payroll_action_id
and ppa.payroll_id = pp.payroll_id
and paa.assignment_action_id = prr.assignment_action_id
and prr.run_result_id = prrv.run_result_id
and prrv.input_value_id = piv.input_value_id
and piv.element_type_id = pet.element_type_id
and paaf.assignment_id = paa.assignment_id
and paaf.person_id = papf.person_id
and piv.name like 'Pay Value%'
and papf.BUSINESS_GROUP_ID = &P_BG
AND to_char(ppa.DATE_EARNED, 'MON-RRRR') = &P_SMONTH
and papf.PERSON_ID = ac_code.person_id(+)
and gl_code.input_value_id = prrv.input_value_id
and gl_code.run_result_id = prrv.run_result_id
AND ppa.REQUEST_ID = &P_REQ
and (pet.ELEMENT_INFORMATION_CATEGORY LIKE '%DEDUCTIONS%' OR
pet.ELEMENT_INFORMATION_CATEGORY LIKE '%Finance%')) X,
(SELECT RESULT_VALUE, RUN_RESULT_ID
from PAY_RUN_RESULT_VALUES_V
WHERE name like '%ISI Account%') ISI_ACCOUNT,

(SELECT K.RESULT_VALUE RV, K.RUN_RESULT_ID RR_ID, K.NAME


from PAY_RUN_RESULT_VALUES_V K
WHERE K.name in ('Principal Payment','Variable Profit')
AND K.RESULT_VALUE<>'0') VAR_PROFIT

WHERE X.ACCOUNT LIKE '%111111133%'


AND ISI_ACCOUNT.RUN_RESULT_ID = X.RUN_RESULT_ID1
AND TO_NUMBER(VAR_PROFIT.RR_ID) = X.RUN_RESULT_ID1
AND ISI_ACCOUNT.RUN_RESULT_ID = X.RUN_RESULT_ID1

-- GROUP BY 'Qry 3',


-- X.REQUEST_ID,
-- X.Salary_month,
-- X.Batch_No,
-- X.Txn_No,
-- '999',
-- X.Account,
-- '997',
-- VAR_PROFIT.NAME, -- X.Value_Date,
-- X.Currency,
-- X.Type,
-- X.Txn_Code,
-- X.Txn_Desc,
-- X.MIS_Code,
-- X.MIS_Desc,
-- X.Ref_No,
-- X.Uploaded_On,
-- X.ACTION_TYPE,
-- X.RUN_RESULT_ID1,X.Value_Date,
-- RESULT_VALUE

Union all
--------------------------------
--Query No-4 Credit to Employees
--------------------------------

SELECT 'Qry 4' Qry,


DECODE(X.ACTION_TYPE, 'R', 'RUN', 'QUICK PAY RUN') ACTION_TYPE,
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999' Branch,
X.BANK_ACCOUNTS_NO, ---, '0152357001'),
X.Account_Name,
X.Branch Account_Branch,
X.Value_Date,
X.Currency,
X.Type,
sum(X.LCY_Amount) AMOUNT,
'SAL' Txn_Code,
'SALARY' Txn_Desc,
'00000' MIS_Code,
'Not Used' MIS_Desc,
'' Ref_No,
'' Uploaded_On,
0 RUN_RESULT_ID1,
'' RESULT_VALUE

from (Select distinct GL_CODE.*,


AC_CODE.ACCOUNTS_NO BANK_ACCOUNTS_NO,
ppa.REQUEST_ID,
PPA.ACTION_TYPE,
to_char(ppa.DATE_EARNED, 'MON-RRRR') Salary_month,
'' Batch_No,
'' Txn_No,
ac_code.branch_code Branch,
papf.TITLE || papf.FIRST_NAME || ' ' ||
papf.LAST_NAME Account_Name,
'' Account_Branch,
pp.FIRST_PERIOD_END_DATE Value_Date,
'PKR' Currency,
'CREDIT' Type,
((decode(gl_code.ACCOUNT_STATUS,
'C',
gl_code.amount1 * -1,
gl_code.amount1 * 1))) LCY_Amount,
pet.REPORTING_NAME Txn_Code,
PET.DESCRIPTION Txn_Desc,
gl_code.MIS_CODE1 MIS_Code,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.MIS_CODE1)
MIS_Desc,
'' Ref_No,
'' Uploaded_On,
papf.EMPLOYEE_NUMBER

FROM pay_payroll_actions ppa,


pay_assignment_actions paa,
pay_payrolls_f pp,
pay_run_results prr,
pay_run_result_values prrv,
pay_input_values_f piv,
pay_element_types_f pet,
per_all_assignments_f paaf,
per_all_people_f papf,

(SELECT DISTINCT a.PERSON_ID,


d.SEGMENT1 accounts_no,
d.SEGMENT2 branch_code
FROM per_all_people_f a,
per_all_assignments_f b,
pay_personal_payment_methods_f c,
PAY_EXTERNAL_ACCOUNTS d
WHERE a.person_id = b.person_id
AND b.assignment_id = c.assignment_id
and a.BUSINESS_GROUP_ID = &p_bg
AND c.external_account_id = d.external_account_id)
ac_code,

(select pca.SEGMENT4 GL_CODE1,


pca.SEGMENT3 MIS_CODE1,
(pc.costed_value) amount1,
pc.DEBIT_OR_CREDIT ACCOUNT_STATUS,
pc.input_value_id,
pc.run_result_id
from pay_costs pc, PAY_COST_ALLOCATION_KEYFLEX pca
where pc.COST_ALLOCATION_KEYFLEX_ID =
pca.COST_ALLOCATION_KEYFLEX_ID
AND (pca.SEGMENT4 like '1111119999%')) gl_code

where ppa.payroll_action_id = paa.payroll_action_id


and ppa.payroll_id = pp.payroll_id
and paa.assignment_action_id = prr.assignment_action_id
and prr.run_result_id = prrv.run_result_id
and prrv.input_value_id = piv.input_value_id
and piv.element_type_id = pet.element_type_id
and paaf.assignment_id = paa.assignment_id
and paaf.person_id = papf.person_id
and piv.name like 'Pay Value%'
and papf.BUSINESS_GROUP_ID = &P_BG
AND to_char(ppa.DATE_EARNED, 'MON-RRRR') = &P_SMONTH
and papf.PERSON_ID = ac_code.person_id(+)
and gl_code.input_value_id = prrv.input_value_id
and gl_code.run_result_id = prrv.run_result_id
AND ppa.REQUEST_ID = &P_REQ
and (pet.ELEMENT_INFORMATION_CATEGORY NOT LIKE '%CHARGES%')) x
GROUP BY 'Qry 4',
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999',
X.Branch,
X.Account_Name,
X.Value_Date,
X.Currency,
X.Type,
'',
'',
'',
'',
'',
'',
X.ACTION_TYPE,
X.BANK_ACCOUNTS_NO,
0,
''
union all
------------------------------------------------
--QUERY NO 5 EOBI AND Provident Fund Account DATA
------------------------------------------------
SELECT 'Qry 5' Qry,
DECODE(X.ACTION_TYPE, 'R', 'RUN', 'QUICK PAY RUN') ACTION_TYPE,
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999' Branch,
X.Account,
X.Account_Name,
'009' Account_Branch,
X.Value_Date,
X.Currency,
X.Type,
SUM(X.LCY_Amount) AMOUNT,
X.Txn_Code,
X.Txn_Desc,
X.MIS_Code,
X.MIS_Desc,
X.Ref_No,
X.Uploaded_On,
0 RUN_RESULT_ID1,
'' RESULT_VALUE

from (Select distinct GL_CODE.*,


ppa.REQUEST_ID,
PPA.ACTION_TYPE,
to_char(ppa.DATE_EARNED, 'MON-RRRR') Salary_month,
'' Batch_No,
'' Txn_No,
(select aa.loc_information13 from hr_locations_all
aa where aa.LOCATION_ID = paaf.LOCATION_ID) branch, -- and ppa.DATE_EARNED BETWEEN
paaf.EFFECTIVE_START_DATE AND paaf.EFFECTIVE_END_DATE= '31-DEC-4712') branch,
gl_code.GL_CODE1 Account,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.gl_CODE1
AND ROWNUM = 1) Account_Name,
'' Account_Branch,
pp.FIRST_PERIOD_END_DATE Value_Date,
'PKR' Currency,
'CREDIT' Type,
((decode(gl_code.ACCOUNT_STATUS,
'C',
gl_code.amount1 * -1,
gl_code.amount1 * -1))) LCY_Amount,
pet.REPORTING_NAME Txn_Code,
PET.DESCRIPTION Txn_Desc,
gl_code.MIS_CODE1 MIS_Code,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.MIS_CODE1)
MIS_Desc,
'' Ref_No,
'' Uploaded_On,
papf.EMPLOYEE_NUMBER

FROM pay_payroll_actions ppa,


pay_assignment_actions paa,
pay_payrolls_f pp,
pay_run_results prr,
pay_run_result_values prrv,
pay_input_values_f piv,
pay_element_types_f pet,
per_all_assignments_f paaf,
per_all_people_f papf,

(SELECT DISTINCT a.PERSON_ID,


d.SEGMENT1 accounts_no,
d.SEGMENT2 branch_code
FROM per_all_people_f a,
per_all_assignments_f b,
pay_personal_payment_methods_f c,
PAY_EXTERNAL_ACCOUNTS d
WHERE a.person_id = b.person_id
AND b.assignment_id = c.assignment_id
and a.BUSINESS_GROUP_ID = &p_bg
AND c.external_account_id = d.external_account_id
AND ROWNUM = 1) ac_code,

(select pca.SEGMENT4 GL_CODE1,


pca.SEGMENT3 MIS_CODE1,
sum(pc.costed_value) amount1,
pc.DEBIT_OR_CREDIT ACCOUNT_STATUS,
pc.input_value_id,
pc.run_result_id
from pay_costs pc, PAY_COST_ALLOCATION_KEYFLEX pca
where pc.COST_ALLOCATION_KEYFLEX_ID =
pca.COST_ALLOCATION_KEYFLEX_ID
and pc.DEBIT_OR_CREDIT = 'C'
and (pca.SEGMENT4 LIKE ('LI0610020') OR
pca.SEGMENT4 LIKE ('0002384008'))

group by pca.SEGMENT4,
pca.SEGMENT3,
pc.DEBIT_OR_CREDIT,
pc.input_value_id,
pc.run_result_id) gl_code
where ppa.payroll_action_id = paa.payroll_action_id
and ppa.payroll_id = pp.payroll_id
and paa.assignment_action_id = prr.assignment_action_id
and prr.run_result_id = prrv.run_result_id
and prrv.input_value_id = piv.input_value_id
and piv.element_type_id = pet.element_type_id
and paaf.assignment_id = paa.assignment_id
and paaf.person_id = papf.person_id
and piv.name like 'Pay Value%'
and papf.BUSINESS_GROUP_ID = &P_BG
AND to_char(ppa.DATE_EARNED, 'MON-RRRR') = &P_SMONTH
and papf.PERSON_ID = ac_code.person_id(+)
and gl_code.input_value_id = prrv.input_value_id
and gl_code.run_result_id = prrv.run_result_id
AND ppa.REQUEST_ID = &P_REQ) x
WHERE TXN_CODE IN ('PFB', 'EOB')
AND ACCOUNT_NAME <> 'Provident Fund Account'
GROUP BY 'Qry 5',
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999',
X.Branch,
X.Account,
X.Account_Name,
X.Value_Date,
X.Currency,
X.Type,
X.Txn_Code,
X.Txn_Desc,
X.MIS_Code,
X.MIS_Desc,
X.Ref_No,
X.Uploaded_On,
X.ACTION_TYPE,
0,
''
---------------------
UNION ALL
---------------------

SELECT 'Qry 2-a' Qry,


DECODE(X.ACTION_TYPE, 'R', 'RUN', 'QUICK PAY RUN') ACTION_TYPE,
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999' Branch,
X.Account,
X.Account_Name,
'009' Account_Branch,
X.Value_Date,
X.Currency,
X.Type,
sum(X.LCY_Amount) AMOUNT,
X.Txn_Code,
X.Txn_Desc,
'00000' MIS_Code,
'' MIS_Desc,
X.Ref_No,
X.Uploaded_On,
0 RUN_RESULT_ID1,
'' RESULT_VALUE

from (Select distinct GL_CODE.*,


ppa.REQUEST_ID,
PPA.ACTION_TYPE,
to_char(ppa.DATE_EARNED, 'MON-RRRR') Salary_month,
'' Batch_No,
'' Txn_No,
(select aa.loc_information13 from hr_locations_all
aa where aa.LOCATION_ID = paaf.LOCATION_ID) branch, -- and ppa.DATE_EARNED BETWEEN
paaf.EFFECTIVE_START_DATE AND paaf.EFFECTIVE_END_DATE= '31-DEC-4712') branch,
gl_code.GL_CODE1 Account,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.gl_CODE1
AND ROWNUM = 1) Account_Name,
'' Account_Branch,
pp.FIRST_PERIOD_END_DATE Value_Date,
'PKR' Currency,
'CREDIT' Type,
(decode(gl_code.ACCOUNT_STATUS,
'C',
gl_code.amount1 * -1,
gl_code.amount1)) LCY_Amount,
pet.REPORTING_NAME Txn_Code,
PET.DESCRIPTION Txn_Desc,
gl_code.MIS_CODE1 MIS_Code,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.MIS_CODE1)
MIS_Desc,
'' Ref_No,
'' Uploaded_On,
papf.EMPLOYEE_NUMBER

FROM pay_payroll_actions ppa,


pay_assignment_actions paa,
pay_payrolls_f pp,
pay_run_results prr,
pay_run_result_values prrv,
pay_input_values_f piv,
pay_element_types_f pet,
per_all_assignments_f paaf,
per_all_people_f papf,

(SELECT DISTINCT a.PERSON_ID,


d.SEGMENT1 accounts_no,
d.SEGMENT2 branch_code
FROM per_all_people_f a,
per_all_assignments_f b,
pay_personal_payment_methods_f c,
PAY_EXTERNAL_ACCOUNTS d
WHERE a.person_id = b.person_id
AND b.assignment_id = c.assignment_id
and a.BUSINESS_GROUP_ID = &p_bg
AND c.external_account_id = d.external_account_id)
ac_code,

(select pca.SEGMENT4 GL_CODE1,


pca.SEGMENT3 MIS_CODE1,
sum(pc.costed_value) amount1,
pc.DEBIT_OR_CREDIT ACCOUNT_STATUS,
pc.input_value_id,
pc.run_result_id
from pay_costs pc, PAY_COST_ALLOCATION_KEYFLEX pca
where pc.COST_ALLOCATION_KEYFLEX_ID =
pca.COST_ALLOCATION_KEYFLEX_ID
and pc.DEBIT_OR_CREDIT = 'C'
group by pca.SEGMENT4,
pca.SEGMENT3,
pc.DEBIT_OR_CREDIT,
pc.input_value_id,
pc.run_result_id) gl_code
where ppa.payroll_action_id = paa.payroll_action_id
and ppa.payroll_id = pp.payroll_id
and paa.assignment_action_id = prr.assignment_action_id
and prr.run_result_id = prrv.run_result_id
and prrv.input_value_id = piv.input_value_id
and piv.element_type_id = pet.element_type_id
and paaf.assignment_id = paa.assignment_id
and paaf.person_id = papf.person_id
and piv.name like 'Pay Value%'
and papf.BUSINESS_GROUP_ID = &P_BG
AND to_char(ppa.DATE_EARNED, 'MON-RRRR') = &P_SMONTH
and papf.PERSON_ID = ac_code.person_id(+)
and gl_code.input_value_id = prrv.input_value_id
and gl_code.run_result_id = prrv.run_result_id
AND ppa.REQUEST_ID = &P_REQ
and (pet.ELEMENT_INFORMATION_CATEGORY LIKE '%DEDUCTIONS%')
and (pet.ELEMENT_NAME not like '%Finance%' and
pet.processing_type = 'R')) x
WHERE X.TXN_CODE NOT IN ('PFB')
AND ACCOUNT_NAME in ('EOBI', 'Income Tax')
GROUP by 'Qry 2-a',
DECODE(X.ACTION_TYPE, 'R', 'RUN', 'QUICK PAY RUN'),
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'009',
X.Account,
X.Account_Name,
'009',
X.Value_Date,
X.Currency,
X.Type,
X.Txn_Code,
X.Txn_Desc,
'00000',
'',
X.Ref_No,
X.Uploaded_On,
0,
''
-----------------------
UNION ALL
-----------------------

SELECT 'Qry 5-a' Qry,


DECODE(X.ACTION_TYPE, 'R', 'RUN', 'QUICK PAY RUN') ACTION_TYPE,
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999' Branch,
X.Account,
X.Account_Name,
'001',
X.Value_Date,
X.Currency,
X.Type,
SUM(X.LCY_Amount) AMOUNT,
X.Txn_Code,
X.Txn_Desc,
'00000' MIS_Code,
'' MIS_Desc,
X.Ref_No,
X.Uploaded_On,
0 RUN_RESULT_ID1,
'' RESULT_VALUE

from (Select distinct GL_CODE.*,


ppa.REQUEST_ID,
PPA.ACTION_TYPE,
to_char(ppa.DATE_EARNED, 'MON-RRRR') Salary_month,
'' Batch_No,
'' Txn_No,
(select aa.loc_information13 from hr_locations_all
aa where aa.LOCATION_ID = paaf.LOCATION_ID) branch, -- and ppa.DATE_EARNED BETWEEN
paaf.EFFECTIVE_START_DATE AND paaf.EFFECTIVE_END_DATE= '31-DEC-4712') branch,
gl_code.GL_CODE1 Account,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.gl_CODE1
AND ROWNUM = 1) Account_Name,
'' Account_Branch,
pp.FIRST_PERIOD_END_DATE Value_Date,
'PKR' Currency,
'CREDIT' Type,
((decode(gl_code.ACCOUNT_STATUS,
'C',
gl_code.amount1 * -1,
gl_code.amount1 * 1))) LCY_Amount,
pet.REPORTING_NAME Txn_Code,
PET.DESCRIPTION Txn_Desc,
gl_code.MIS_CODE1 MIS_Code,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.MIS_CODE1)
MIS_Desc,
'' Ref_No,
'' Uploaded_On,
papf.EMPLOYEE_NUMBER

FROM pay_payroll_actions ppa,


pay_assignment_actions paa,
pay_payrolls_f pp,
pay_run_results prr,
pay_run_result_values prrv,
pay_input_values_f piv,
pay_element_types_f pet,
per_all_assignments_f paaf,
per_all_people_f papf,

(SELECT DISTINCT a.PERSON_ID,


d.SEGMENT1 accounts_no,
d.SEGMENT2 branch_code
FROM per_all_people_f a,
per_all_assignments_f b,
pay_personal_payment_methods_f c,
PAY_EXTERNAL_ACCOUNTS d
WHERE a.person_id = b.person_id
AND b.assignment_id = c.assignment_id
and a.BUSINESS_GROUP_ID = &p_bg
AND c.external_account_id = d.external_account_id
AND ROWNUM = 1) ac_code,

(select pca.SEGMENT4 GL_CODE1,


pca.SEGMENT3 MIS_CODE1,
sum(pc.costed_value) amount1,
pc.DEBIT_OR_CREDIT ACCOUNT_STATUS,
pc.input_value_id,
pc.run_result_id
from pay_costs pc, PAY_COST_ALLOCATION_KEYFLEX pca
where pc.COST_ALLOCATION_KEYFLEX_ID =
pca.COST_ALLOCATION_KEYFLEX_ID
and pc.DEBIT_OR_CREDIT = 'C'
and (pca.SEGMENT4 LIKE ('LI0610020') OR
pca.SEGMENT4 LIKE ('0002384008'))

group by pca.SEGMENT4,
pca.SEGMENT3,
pc.DEBIT_OR_CREDIT,
pc.input_value_id,
pc.run_result_id) gl_code
where ppa.payroll_action_id = paa.payroll_action_id
and ppa.payroll_id = pp.payroll_id
and paa.assignment_action_id = prr.assignment_action_id
and prr.run_result_id = prrv.run_result_id
and prrv.input_value_id = piv.input_value_id
and piv.element_type_id = pet.element_type_id
and paaf.assignment_id = paa.assignment_id
and paaf.person_id = papf.person_id
and piv.name like 'Pay Value%'
and papf.BUSINESS_GROUP_ID = &P_BG
AND to_char(ppa.DATE_EARNED, 'MON-RRRR') = &P_SMONTH
and papf.PERSON_ID = ac_code.person_id(+)
and gl_code.input_value_id = prrv.input_value_id
and gl_code.run_result_id = prrv.run_result_id
AND ppa.REQUEST_ID = &P_REQ) x
WHERE ACCOUNT_NAME = 'Provident Fund Account'
AND X.Txn_Code <> 'PFS'

GROUP BY 'Qry 5-a',


DECODE(X.ACTION_TYPE, 'R', 'RUN', 'QUICK PAY RUN'),
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999',
X.Account,
X.Account_Name,
'001',
X.Value_Date,
X.Currency,
X.Type,
X.Txn_Code,
X.Txn_Desc,
'00000',
'',
X.Ref_No,
X.Uploaded_On,
0,
''

-------------
union all
-------------

SELECT 'Qry 1-a' Qry,


DECODE(X.ACTION_TYPE, 'R', 'RUN', 'QUICK PAY RUN') ACTION_TYPE,
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999' Branchs,
X.Account,
X.Txn_Desc Txn_Desc1,
x.branch Account_Branch,
X.Value_Date,
X.Currency,
X.Type,
SUM(X.LCY_Amount) AMOUNT,
X.Txn_Code,
X.Txn_Desc,
X.MIS_Code,
X.MIS_Desc,
X.Ref_No,
X.Uploaded_On,
0 RUN_RESULT_ID1,
'' RESULT_VALUE

from (Select distinct papf.EMPLOYEE_NUMBER,


ppa.REQUEST_ID,
PPA.ACTION_TYPE,
to_char(ppa.DATE_EARNED, 'MON-RRRR') Salary_month,
'' Batch_No,
'' Txn_No,
(select aa.loc_information13 from hr_locations_all
aa where aa.LOCATION_ID = paaf.LOCATION_ID) branch, -- and ppa.DATE_EARNED BETWEEN
paaf.EFFECTIVE_START_DATE AND paaf.EFFECTIVE_END_DATE= '31-DEC-4712') branch,
gl_code.GL_CODE Account,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.gl_CODE
AND ROWNUM = 1) Account_Name,
'' Account_Branch,
pp.FIRST_PERIOD_END_DATE Value_Date,
'PKR' Currency,
'DEBIT' Type,
((decode(gl_code.ACCOUNT_STATUS,
'D',
gl_code.amount * 1,
gl_code.amount * 1))) LCY_Amount,
pet.REPORTING_NAME Txn_Code,
PET.DESCRIPTION Txn_Desc,
gl_code.MIS_CODE MIS_Code,
(select f1.DESCRIPTION
from fnd_flex_values_vl f1
where f1.FLEX_VALUE = gl_code.MIS_CODE) MIS_Desc,
'' Ref_No,
'' Uploaded_On

FROM pay_payroll_actions ppa,


pay_assignment_actions paa,
pay_payrolls_f pp,
pay_run_results prr,
pay_run_result_values prrv,
pay_input_values_f piv,
pay_element_types_f pet,
per_all_assignments_f paaf,
per_all_people_f papf,

(SELECT DISTINCT a.PERSON_ID,


d.SEGMENT1 accounts_no,
d.SEGMENT2 branch_code
FROM per_all_people_f a,
per_all_assignments_f b,
pay_personal_payment_methods_f c,
PAY_EXTERNAL_ACCOUNTS d
WHERE a.person_id = b.person_id
AND b.assignment_id = c.assignment_id
and a.BUSINESS_GROUP_ID = &p_bg

AND c.external_account_id = d.external_account_id)


ac_code,

(select pca.SEGMENT4 GL_CODE,


pca.SEGMENT3 MIS_CODE,
sum(pc.costed_value) amount,
pc.DEBIT_OR_CREDIT ACCOUNT_STATUS,
pc.input_value_id,
pc.run_result_id
from pay_costs pc, PAY_COST_ALLOCATION_KEYFLEX pca
where pc.COST_ALLOCATION_KEYFLEX_ID =
pca.COST_ALLOCATION_KEYFLEX_ID
and pc.DEBIT_OR_CREDIT = 'C'
group by pca.SEGMENT4,
pca.SEGMENT3,
pc.DEBIT_OR_CREDIT,
pc.input_value_id,
pc.run_result_id) gl_code
where ppa.payroll_action_id = paa.payroll_action_id
and ppa.payroll_id = pp.payroll_id
and paa.assignment_action_id = prr.assignment_action_id
and prr.run_result_id = prrv.run_result_id
and prrv.input_value_id = piv.input_value_id
and piv.element_type_id = pet.element_type_id
and paaf.assignment_id = paa.assignment_id
and paaf.person_id = papf.person_id
and piv.name like 'Pay Value%'
and papf.BUSINESS_GROUP_ID = &P_BG
AND to_char(ppa.DATE_EARNED, 'MON-RRRR') = &P_SMONTH
and papf.PERSON_ID = ac_code.person_id(+)
and gl_code.input_value_id = prrv.input_value_id
and gl_code.run_result_id = prrv.run_result_id
AND ppa.REQUEST_ID = &P_REQ
and (pet.ELEMENT_INFORMATION_CATEGORY LIKE '%EARNINGS%' OR
pet.ELEMENT_INFORMATION_CATEGORY LIKE
'%EMPLOYER CHARGES%' OR pet.REPORTING_NAME IN ('PFB'))) X
WHERE X.Txn_Desc IN ('LFA Allowance', 'Medical Allowance')
GROUP BY 'Qry 1-a',
DECODE(X.ACTION_TYPE, 'R', 'RUN', 'QUICK PAY RUN'),
X.REQUEST_ID,
X.Salary_month,
X.Batch_No,
X.Txn_No,
'999',
X.Account,
X.Txn_Desc,
x.branch,
X.Value_Date,
X.Currency,
X.Type,
X.Txn_Code,
X.Txn_Desc,
X.MIS_Code,
X.MIS_Desc,
X.Ref_No,
X.Uploaded_On,
0,
''
---------------------
) P

where P.ACCOUNT_BRANCH is not null


GROUP BY P.QRY,
P.ACTION_TYPE,
P.REQUEST_ID,
P.SALARY_MONTH,
P.BATCH_NO,
P.TXN_NO,
P.BRANCHS,
P.ACCOUNT,
P.TXN_DESC1,
P.ACCOUNT_BRANCH,
to_char(sysdate), --P.VALUE_DATE,
P.CURRENCY,
P.TYPE,
P.TXN_CODE,
P.TXN_DESC1,
P.MIS_CODE,
P.MIS_DESC,
P.REF_NO,
P.UPLOADED_ON

order by P.TXN_code, p.account

You might also like