Hrms Queries
Hrms Queries
sum(decode(ety.element_name,Transportation
Allowance,TO_NUMBER(rrv.result_value),
Transportation Sick Leave Payment,TO_NUMBER(rrv.result_value),
Transportation Out Work Incident Leave
Payment,TO_NUMBER(rrv.result_value),
0)) Transportation_allowance,
sum(decode(ety.element_name,Work Type
Allowance,TO_NUMBER(rrv.result_value),
Work Type Sick Leave Payment ,TO_NUMBER(rrv.result_value),
Work Type Out Work Incident Leave
Payment,TO_NUMBER(rrv.result_value),
0)) worktype_allowance,
sum(decode(ety.element_name,Damages Allowance
,TO_NUMBER(rrv.result_value),
Damages Sick Leave Payment,TO_NUMBER(rrv.result_value),
Damages Out Work Incident Leave
Payment,TO_NUMBER(rrv.result_value),
0)) Damage_allowance,
sum(decode(ety.element_name,Danger
Allowance,TO_NUMBER(rrv.result_value),
Danger Sick Leave Payment,TO_NUMBER(rrv.result_value),
Danger Out Work Incident Leave Payment,TO_NUMBER(rrv.result_value),
0)) Danger_allowance,
sum(decode(ety.element_name,Inflation Allowance
,TO_NUMBER(rrv.result_value),0)) Inflation_Allowance,
-->Deductions
sum(decode(ety.element_name,Loan Recovery
,TO_NUMBER(rrv.result_value),0)) Loan_recovery,
sum(decode(ety.element_name,Loan Recovery Housing
,TO_NUMBER(rrv.result_value),0)) Loan_Recovery_Housing,
sum(decode(ety.element_name,Loan Recovery Others
,TO_NUMBER(rrv.result_value),0)) Loan_Recovery_Others,
sum(decode(ety.element_name,Housing Deduction
,TO_NUMBER(rrv.result_value),0)) Housing_Deduction,
sum(decode(ety.element_name,Penalty
,TO_NUMBER(rrv.result_value),0)) Penalty,
sum(decode(ety.element_name,Civil
Pension,TO_NUMBER(rrv.result_value),Social
Insurance,TO_NUMBER(rrv.result_value),0)) Civil_pension,
FROM
per_people_x ppf,
per_assignments_x paf,
pay_assignment_actions pas ,
pay_payroll_actions ppa,
pay_run_results rr,
pay_run_result_values rrv,
pay_element_types_f ety,
pay_input_values_F I ,
PER_TIME_PERIODS TP
-- PER_POSITION_DEFINITIONS PD
-- PAY_INPUT_VALUES_F
:P_FROM_DATE
AND :P_TO_DATE
= :P_Employee_number
group by
ppf.employee_number,
ppf.person_id,
ppf.full_name,
ppa.TIME_PERIOD_ID,
ppa.EFFECTIVE_DATE,
TP.PERIOD_NAME,
order by ppa.EFFECTIVE_DATE
HRMS: SQL Query to get payslip of an employee
Hello Everybody,
below is a useful SQL statement to retrive a payslip of a certain employee in
a certain calendar month.
just replace the calendar name and the emp number with yours and run it.
SELECT ppa.date_earned, per.full_name, per.employee_number,
NVL (pet.reporting_name, pet.element_name), piv.NAME,
prrv.result_value, ptp.period_name
ORDER BY 1;
RETURN ln_input_value_id;
EXCEPTION
WHEN
OTHERS
THEN
RETURN
NULL;
END;
Running Oracle Fast Formula from PL/SQL Package Procedur
FF_EXEC.init_formula(p_formula_id => v_formula_id,
p_effective_date => v_eff_date,
p_inputs => l_f_inputs,
p_outputs => l_f_outputs);
Balance Query in Oracle Payroll - Element Feeding the Balance:
Query 1:
SELECT petf.element_name bal_feed_element_name,
pivf.NAME bal_feed_input_name,pbt.balance_name,
pbt.reporting_name,
hr_general.decode_organization (pbt.business_group_id)
business_group,
pbt.base_balance_type_id base_balance_name
--,PBT.UN
,
hr_general.decode_lookup ('UNITS', pbt.balance_uom) units,
pbt.currency_code, pbt.assignment_remuneration_flag,
(SELECT element_name
FROM pay_element_types_f
WHERE element_type_id =
(SELECT element_type_id
FROM pay_input_values_f
WHERE input_value_id =
pbt.input_value_id))
primary_element_name,
(SELECT element_type_id
FROM pay_input_values_f
WHERE input_value_id = pbt.input_value_id) primary_input_name,
DECODE (pbf.scale,
1, 'ADD',
-1, 'SUBTRACT',
NULL
) balance_add_subtract,
pbf.effective_start_date, pbf.effective_end_date, pbd.dimension_name,
pbd.description, pdb.grossup_allowed_flag, pdb.run_balance_status,
NULL initial_feed_element_name, NULL initial_feed_input_value_name,
NULL attribute_name, NULL attribute_dimension
FROM pay_balance_types pbt,
pay_balance_feeds_f pbf,
pay_element_types_f petf,
pay_input_values_f pivf,
pay_defined_balances pdb,
pay_balance_dimensions pbd
WHERE pbt.balance_type_id = pbf.balance_type_id
AND pdb.balance_type_id = pbt.balance_type_id
ben_pl_bnf_f pbn,
per_all_people_f emp_papf
WHERE 1 = 1
AND pen.prtt_enrt_rslt_id = pbn.prtt_enrt_rslt_id
AND pen.prtt_enrt_rslt_stat_cd IS NULL
AND pen.enrt_cvg_thru_dt = hr_general.end_of_time
-- AND pcr.personal_flag(+) = 'Y'
AND pbn.bnf_person_id = pcr.contact_person_id(+)
AND pbn.bnf_person_id = ppf.person_id(+)
AND emp_papf.person_id = pcr.person_id
AND :p_report_end_date BETWEEN pbn.effective_start_date
AND pbn.effective_end_date
AND :p_report_end_date BETWEEN NVL (ppf.effective_start_date,
:p_report_end_date
)
AND NVL (ppf.effective_end_date,
:p_report_end_date
)
AND :p_report_end_date BETWEEN NVL (emp_papf.effective_start_date,
:p_report_end_date
)
AND NVL (emp_papf.effective_end_date,
:p_report_end_date
)
AND :p_report_end_date BETWEEN pen.effective_start_date
AND pen.effective_end_date
Return Varchar2 Is
v_Emp_No Varchar2(100) := 0000;
Begin
If (p_Emp_Type = EMP) Then
Begin
Select 0 || Max(To_Number(Papf.Employee_Number) + 1)
Into v_Emp_No
From Per_All_People_f Papf
Where Papf.Employee_Number Is Not Null
And Papf.Employee_Number Not Like XX%
And Papf.Employee_Number Like 0%
And Papf.Business_Group_Id = p_Business_Group_Id;
Exception
When Others Then
v_Emp_No := NULL';
End;
End If;
Return v_Emp_No;
End;
/
STEP # 2
Change the HR:Business Group & HR: Security Profile profile setting to
Setup Business Group
Step # 4
Switch to Responsibility UAE HRMS Manager then Total Compensation >
Basic > Write Formulas, Search for EMP_NUMBER_GENERATION
STEP # 5
Save and compile the Fast formula and then try to create new staff from
HRMS responsibility, you will see it will generate the new staff # through
programming.
Feel free to contact me if further details required.
How To Query Supervisor Chain Of Command For A User
How to query for supervisors hierarchy above an approver user
when using employee supervisor chain of command?
Solution
Substitute the username in place of DCROCKETT in the following query. This
is useful when troubleshooting approval
list issues with employee supervisor relationships for requisitions and
purchasing documents
IN NUMBER,
IN NUMBER,
P_CALCULATION_DATE IN DATE
)
RETURN NUMBER
IS
L_START_DATE
DATE;
L_END_DATE
DATE;
L_ACC_END_DATE
L_VALUE
DATE;
NUMBER
L_NET_VALUE
:= 0;
P_PLAN_ID
NUMBER;
-- L_CALCULATION_DATE DATE;
BEGIN
SELECT PAP.ACCRUAL_PLAN_ID
INTO P_PLAN_ID
FROM PAY_ACCRUAL_PLANS PAP
WHERE UPPER (PAP.ACCRUAL_PLAN_NAME) LIKE
(SELECT UPPER (PETF.ELEMENT_NAME)
FROM PAY_ELEMENT_ENTRIES_F PEEF, PAY_ELEMENT_TYPES_F PETF
WHERE PEEF.ELEMENT_TYPE_ID = PETF.ELEMENT_TYPE_ID
AND UPPER (PETF.ELEMENT_NAME) LIKE '%PLAN%'
AND PETF.PROCESSING_TYPE = 'R'
AND PEEF.ASSIGNMENT_ID = P_ASSG_ID
AND P_CALCULATION_DATE BETWEEN
PEEF.EFFECTIVE_START_DATE
AND PEEF.EFFECTIVE_END_DATE);
=> P_ASSG_ID,
P_PLAN_ID
=> P_PLAN_ID,
P_PAYROLL_ID
=> P_PAYROLL_ID,
P_BUSINESS_GROUP_ID
your business group id accordingly
P_ASSIGNMENT_ACTION_ID
P_CALCULATION_DATE
=> -1,
=> TO_DATE
(P_CALCULATION_DATE
)
-- DATE YOU WANT TO CHECK THE NET ENTITLEMENT EX. TO_DATE('01-MAR2009', 'DD-MON-YYYY')
,
P_ACCRUAL_START_DATE
=> NULL,
P_ACCRUAL_LATEST_BALANCE
P_CALLING_POINT
P_START_DATE
P_END_DATE
P_ACCRUAL_END_DATE
P_ACCRUAL
P_NET_ENTITLEMENT
);
RETURN NVL (L_NET_VALUE, 0);
EXCEPTION
WHEN OTHERS
THEN
RETURN 0;
END;
/
=> NULL,
=> 'FRM',
=> L_START_DATE,
=> L_END_DATE,
=> L_ACC_END_DATE,
=> L_VALUE,
=> L_NET_VALUE