0 evaluări0% au considerat acest document util (0 voturi)
47 vizualizări5 pagini
This SQL query retrieves costing details for employees including their employee number, name, period, date earned, unit, position, element name, cost type, costed value, and chart of accounts details. It joins data from various payroll, people, and general ledger tables to provide a complete picture of payment costs for employees between January 1-31, 2017 for a specific business group.
This SQL query retrieves costing details for employees including their employee number, name, period, date earned, unit, position, element name, cost type, costed value, and chart of accounts details. It joins data from various payroll, people, and general ledger tables to provide a complete picture of payment costs for employees between January 1-31, 2017 for a specific business group.
This SQL query retrieves costing details for employees including their employee number, name, period, date earned, unit, position, element name, cost type, costed value, and chart of accounts details. It joins data from various payroll, people, and general ledger tables to provide a complete picture of payment costs for employees between January 1-31, 2017 for a specific business group.
------------QUERY TO GET THE COSTING DETAILS OF CLEARING ACCOUNTS FOR EMPLOYEES
HAVING PREPAYMENT PROCESSED (i.e., NET PAY > 0)---------------
SELECT papf.EMPLOYEE_NUMBER, papf.FULL_NAME, (SELECT ptp.PERIOD_NAME FROM Per_Time_Periods ptp WHERE ptp.PAYROLL_ID = ppa.PAYROLL_ID AND ppa.EFFECTIVE_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE) Period_name, to_char(ppa.EFFECTIVE_DATE, 'Month - yyyy') period, ppa.date_earned, ppa.EFFECTIVE_DATE, hr_general.DECODE_ORGANIZATION(paaf.organization_id) unit, (SELECT p.NAME FROM per_positions p WHERE p.POSITION_ID = paaf.POSITION_ID AND p.BUSINESS_GROUP_ID = paaf.BUSINESS_GROUP_ID) position, --XXAPU_FF_UTILITY_PKG.GET_REGION(paaf.organization_id) region, NVL(petf.reporting_name, petf.element_name) element_name, pc.DEBIT_OR_CREDIT, DECODE(pc.DEBIT_OR_CREDIT, 'D', 'C', 'D') dr_cr, pc.BALANCE_OR_COST, pc.COSTED_VALUE, DECODE(pc.DEBIT_OR_CREDIT, 'D', pc.COSTED_VALUE, pc.COSTED_VALUE * -1) result_value, Pcak.Concatenated_Segments, Pcak.Segment4 coa FROM pay_payroll_actions ppa, pay_assignment_actions paa, PAY_COSTs pc, pay_run_results prr, pay_element_types_f petf, pay_cost_allocation_keyfle_kfv pcak, per_all_assignments_f paaf, Per_People_x papf WHERE ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID AND paa.ASSIGNMENT_ACTION_ID = pc.ASSIGNMENT_ACTION_ID AND pc.RUN_RESULT_ID = prr.RUN_RESULT_ID AND prr.ELEMENT_TYPE_ID = petf.ELEMENT_TYPE_ID AND ppa.BUSINESS_GROUP_ID = nvl(petf.BUSINESS_GROUP_ID,ppa.BUSINESS_GROUP_ID) AND pc.COST_ALLOCATION_KEYFLEX_ID = pcak.cost_allocation_keyflex_id AND ppa.EFFECTIVE_DATE BETWEEN '01-Jan-2017' AND '31-Jan-2017' AND ppa.BUSINESS_GROUP_ID = 81 --AND pc.BALANCE_OR_COST = 'B' AND CLASSIFICATION_ID NOT IN (86, 89) --AND petf.element_name NOT LIKE '%Leave Plan%' AND paa.ASSIGNMENT_ID = paaf.ASSIGNMENT_ID AND ppa.BUSINESS_GROUP_ID = paaf.BUSINESS_GROUP_ID AND paaf.PERSON_ID = papf.PERSON_ID AND paaf.BUSINESS_GROUP_ID = papf.BUSINESS_GROUP_ID AND ppa.EFFECTIVE_DATE BETWEEN paaf.EFFECTIVE_START_DATE AND paaf.EFFECTIVE_END_DATE AND ppa.EFFECTIVE_DATE BETWEEN petf.EFFECTIVE_START_DATE AND petf.EFFECTIVE_END_DATE AND Pcak.Segment4 = '3930' AND paa.ASSIGNMENT_ID IN (SELECT paa1.ASSIGNMENT_ID FROM pay_payroll_actions ppa1, pay_assignment_actions paa1, pay_pre_payments ppp WHERE ppa1.PAYROLL_ACTION_ID = paa1.PAYROLL_ACTION_ID AND paa1.ASSIGNMENT_ACTION_ID = ppp.ASSIGNMENT_ACTION_ID AND ppa1.CONSOLIDATION_SET_ID IN (61, 62) AND ppa1.EFFECTIVE_DATE BETWEEN '1-jan-2017' AND '31-jan-2017' AND ppa1.ACTION_STATUS = 'C' AND paa1.ACTION_STATUS = 'C'); ----------------------------------------------------------------------------------- ------------------------------------------ --============================= COSTING OF PAYMENTS QUERY ==============================================-- SELECT papf.EMPLOYEE_NUMBER, papf.FULL_NAME, (SELECT ptp.PERIOD_NAME FROM Per_Time_Periods ptp WHERE ptp.PAYROLL_ID = paC.PAYROLL_ID AND paC.EFFECTIVE_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE) Period_name, to_char(paC.EFFECTIVE_DATE, 'Month - yyyy') period, paC.date_earned, paC.EFFECTIVE_DATE, hr_general.DECODE_ORGANIZATION(paaf.organization_id) unit, (SELECT p.NAME FROM per_positions p WHERE p.POSITION_ID = paaf.POSITION_ID AND p.BUSINESS_GROUP_ID = paaf.BUSINESS_GROUP_ID) position, OPM.ORG_PAYMENT_METHOD_NAME PAYMENT_METHOD_NAME, PCOS.ACCOUNTING_DATE ACCOUNTING_DATE, HR_GENERAL.DECODE_LOOKUP('PAY_COST_ACCOUNT_TYPE', PCOS.ACCOUNT_TYPE) COST_TYPE, HR_GENERAL.DECODE_LOOKUP('DEBIT_CREDIT', PCOS.DEBIT_OR_CREDIT) DEBIT_OR_CREDIT, HR_CHKFMT.CHANGEFORMAT(PCOS.VALUE, 'M', PCOS.CURRENCY_CODE) COSTED_VALUE, PCOS.SOURCE_TYPE SOURCE_TYPE, PCOS.SOURCE_ACTION_ID SOURCE_ACTION_ID, PCOS.ACCOUNT_ID GL_ACCOUNT_CCID, GCC.CHART_OF_ACCOUNTS_ID FLEX_NUM, PCOS.ASSIGNMENT_ID, PCOS.ASSIGNMENT_ACTION_ID, PCOS.PRE_PAYMENT_ID, PCOS.PAYMENT_COST_ID, GCC.SEGMENT1, GCC.SEGMENT2, GCC.SEGMENT3, GCC.SEGMENT4, GCC.SEGMENT5, GCC.SEGMENT6, GCC.SEGMENT7, GCC.SEGMENT8, GCC.SEGMENT9 FROM PAY_PAYMENT_COSTS PCOS, PAY_PRE_PAYMENTS PPP, PAY_ORG_PAYMENT_METHODS_F OPM, PAY_ASSIGNMENT_ACTIONS PAA, PAY_PAYROLL_ACTIONS PAC, GL_CODE_COMBINATIONS GCC, PER_ALL_ASSIGNMENTS_F PAAF, PER_PEOPLE_X PAPF WHERE PCOS.PRE_PAYMENT_ID = PPP.PRE_PAYMENT_ID AND PPP.ORG_PAYMENT_METHOD_ID = OPM.ORG_PAYMENT_METHOD_ID AND PAA.ASSIGNMENT_ACTION_ID = PCOS.ASSIGNMENT_ACTION_ID AND PAA.PAYROLL_ACTION_ID = PAC.PAYROLL_ACTION_ID AND PAC.EFFECTIVE_DATE BETWEEN OPM.EFFECTIVE_START_DATE AND OPM.EFFECTIVE_END_DATE AND GCC.CODE_COMBINATION_ID = PCOS.ACCOUNT_ID AND PAc.EFFECTIVE_DATE BETWEEN '01-Jan-2017' AND '31-Jan-2017' AND PAc.BUSINESS_GROUP_ID = 81 AND paa.ASSIGNMENT_ID = paaf.ASSIGNMENT_ID AND paC.BUSINESS_GROUP_ID = paaf.BUSINESS_GROUP_ID AND paaf.PERSON_ID = papf.PERSON_ID AND paaf.BUSINESS_GROUP_ID = papf.BUSINESS_GROUP_ID AND PAc.EFFECTIVE_DATE BETWEEN paaf.EFFECTIVE_START_DATE AND paaf.EFFECTIVE_END_DATE; ----------------------------------------------------------------------------------- ----------------------------------------------------------- --======================================COMPLETE COSTING QUERY ================================================-- SELECT papf.EMPLOYEE_NUMBER, papf.FULL_NAME, (SELECT ptp.PERIOD_NAME FROM Per_Time_Periods ptp WHERE ptp.PAYROLL_ID = ppa.PAYROLL_ID AND ppa.EFFECTIVE_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE) Period_name, to_char(ppa.EFFECTIVE_DATE, 'Month - yyyy') period, ppa.date_earned, ppa.EFFECTIVE_DATE, hr_general.DECODE_ORGANIZATION(paaf.organization_id) unit, (SELECT p.NAME FROM per_positions p WHERE p.POSITION_ID = paaf.POSITION_ID AND p.BUSINESS_GROUP_ID = paaf.BUSINESS_GROUP_ID) position, --XXAPU_FF_UTILITY_PKG.GET_REGION(paaf.organization_id) region, NVL(petf.reporting_name, petf.element_name) element_name, pc.DEBIT_OR_CREDIT, pc.BALANCE_OR_COST, pc.COSTED_VALUE, DECODE(pc.DEBIT_OR_CREDIT, 'D', pc.COSTED_VALUE, pc.COSTED_VALUE * -1) result_value, Pcak.Concatenated_Segments, Pcak.Segment4 coa FROM pay_payroll_actions ppa, pay_assignment_actions paa, PAY_COSTs pc, pay_run_results prr, pay_element_types_f petf, pay_cost_allocation_keyfle_kfv pcak, per_all_assignments_f paaf, Per_People_x papf WHERE ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID AND paa.ASSIGNMENT_ACTION_ID = pc.ASSIGNMENT_ACTION_ID AND pc.RUN_RESULT_ID = prr.RUN_RESULT_ID AND prr.ELEMENT_TYPE_ID = petf.ELEMENT_TYPE_ID AND ppa.BUSINESS_GROUP_ID = nvl(petf.BUSINESS_GROUP_ID, ppa.BUSINESS_GROUP_ID) AND pc.COST_ALLOCATION_KEYFLEX_ID = pcak.cost_allocation_keyflex_id AND ppa.EFFECTIVE_DATE BETWEEN '01-Jan-2017' AND '31-Jan-2017' AND ppa.BUSINESS_GROUP_ID = 81 --AND pc.BALANCE_OR_COST = 'B' --AND CLASSIFICATION_ID NOT IN (86,89) --AND petf.element_name NOT LIKE '%Leave Plan%' AND paa.ASSIGNMENT_ID = paaf.ASSIGNMENT_ID AND ppa.BUSINESS_GROUP_ID = paaf.BUSINESS_GROUP_ID AND paaf.PERSON_ID = papf.PERSON_ID AND paaf.BUSINESS_GROUP_ID = papf.BUSINESS_GROUP_ID AND ppa.EFFECTIVE_DATE BETWEEN paaf.EFFECTIVE_START_DATE AND paaf.EFFECTIVE_END_DATE AND ppa.EFFECTIVE_DATE BETWEEN petf.EFFECTIVE_START_DATE AND petf.EFFECTIVE_END_DATE; ----------------------------------------------------------------------------------- --------------------------------------------------------------- --=================================COSTING FOR EMPLOYEES HAVING PAYMENTS (PREPAYMENT) NOT DONE (I.E., NET PAY = 0)-- SELECT papf.EMPLOYEE_NUMBER, papf.FULL_NAME, (SELECT ptp.PERIOD_NAME FROM Per_Time_Periods ptp WHERE ptp.PAYROLL_ID = ppa.PAYROLL_ID AND ppa.EFFECTIVE_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE) Period_name, to_char(ppa.EFFECTIVE_DATE, 'Month - yyyy') period, ppa.date_earned, ppa.EFFECTIVE_DATE, hr_general.DECODE_ORGANIZATION(paaf.organization_id) unit, (SELECT p.NAME FROM per_positions p WHERE p.POSITION_ID = paaf.POSITION_ID AND p.BUSINESS_GROUP_ID = paaf.BUSINESS_GROUP_ID) position, --XXAPU_FF_UTILITY_PKG.GET_REGION(paaf.organization_id) region, NVL(petf.reporting_name, petf.element_name) element_name, pc.DEBIT_OR_CREDIT, pc.BALANCE_OR_COST, pc.COSTED_VALUE, DECODE(pc.DEBIT_OR_CREDIT, 'D', pc.COSTED_VALUE, pc.COSTED_VALUE * -1) result_value, Pcak.Concatenated_Segments, Pcak.Segment4 coa FROM pay_payroll_actions ppa, pay_assignment_actions paa, PAY_COSTs pc, pay_run_results prr, pay_element_types_f petf, pay_cost_allocation_keyfle_kfv pcak, per_all_assignments_f paaf, Per_People_x papf WHERE ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID AND paa.ASSIGNMENT_ACTION_ID = pc.ASSIGNMENT_ACTION_ID AND pc.RUN_RESULT_ID = prr.RUN_RESULT_ID AND prr.ELEMENT_TYPE_ID = petf.ELEMENT_TYPE_ID AND ppa.BUSINESS_GROUP_ID = nvl(petf.BUSINESS_GROUP_ID, ppa.BUSINESS_GROUP_ID) AND pc.COST_ALLOCATION_KEYFLEX_ID = pcak.cost_allocation_keyflex_id AND ppa.EFFECTIVE_DATE BETWEEN '01-Jan-2017' AND '31-Jan-2017' AND ppa.BUSINESS_GROUP_ID = 81 --AND pc.BALANCE_OR_COST = 'B' AND CLASSIFICATION_ID NOT IN (86,89) --AND petf.element_name NOT LIKE '%Leave Plan%' AND paa.ASSIGNMENT_ID = paaf.ASSIGNMENT_ID AND ppa.BUSINESS_GROUP_ID = paaf.BUSINESS_GROUP_ID AND paaf.PERSON_ID = papf.PERSON_ID AND paaf.BUSINESS_GROUP_ID = papf.BUSINESS_GROUP_ID AND ppa.EFFECTIVE_DATE BETWEEN paaf.EFFECTIVE_START_DATE AND paaf.EFFECTIVE_END_DATE AND ppa.EFFECTIVE_DATE BETWEEN petf.EFFECTIVE_START_DATE AND petf.EFFECTIVE_END_DATE AND paa.ASSIGNMENT_ID NOT IN (SELECT paa1.ASSIGNMENT_ID FROM pay_payroll_actions ppa1, pay_assignment_actions paa1, pay_pre_payments ppp WHERE ppa1.PAYROLL_ACTION_ID = paa1.PAYROLL_ACTION_ID AND paa1.ASSIGNMENT_ACTION_ID = ppp.ASSIGNMENT_ACTION_ID AND ppa1.CONSOLIDATION_SET_ID IN (61, 62) AND ppa1.EFFECTIVE_DATE BETWEEN '1-jan-2017' AND '31-jan-2017' AND ppa1.ACTION_STATUS = 'C' AND paa1.ACTION_STATUS = 'C'); ----------------------------------------------------------------------------------- ------------------------------------------------