[Home] [Help]
72: -- |---------------------< get_pension_type_details >--------------------------|
73: -- ----------------------------------------------------------------------------
74: --
75: FUNCTION get_pension_type_details
76: (p_business_group_id IN pqp_pension_types_f.business_group_id%TYPE
77: ,p_date_earned IN DATE
78: ,p_assignment_id IN per_all_assignments_f.assignment_id%TYPE
79: ,p_pension_type_id IN pqp_pension_types_f.pension_type_id%TYPE
80: ,p_legislation_code IN pqp_pension_types_f.legislation_code%TYPE
75: FUNCTION get_pension_type_details
76: (p_business_group_id IN pqp_pension_types_f.business_group_id%TYPE
77: ,p_date_earned IN DATE
78: ,p_assignment_id IN per_all_assignments_f.assignment_id%TYPE
79: ,p_pension_type_id IN pqp_pension_types_f.pension_type_id%TYPE
80: ,p_legislation_code IN pqp_pension_types_f.legislation_code%TYPE
81: ,p_column_name IN VARCHAR2
82: ,p_column_value OUT NOCOPY VARCHAR2
83: ,p_error_message OUT NOCOPY VARCHAR2
76: (p_business_group_id IN pqp_pension_types_f.business_group_id%TYPE
77: ,p_date_earned IN DATE
78: ,p_assignment_id IN per_all_assignments_f.assignment_id%TYPE
79: ,p_pension_type_id IN pqp_pension_types_f.pension_type_id%TYPE
80: ,p_legislation_code IN pqp_pension_types_f.legislation_code%TYPE
81: ,p_column_name IN VARCHAR2
82: ,p_column_value OUT NOCOPY VARCHAR2
83: ,p_error_message OUT NOCOPY VARCHAR2
84: ) RETURN NUMBER IS
86: CURSOR c_pty_cur (c_business_group_id IN NUMBER
87: ,c_pension_type_id IN NUMBER
88: ,c_date_earned IN DATE) IS
89: SELECT *
90: FROM pqp_pension_types_f
91: WHERE c_date_earned BETWEEN effective_start_date
92: AND effective_end_date
93: AND business_group_id = c_business_group_id
94: AND pension_type_id = c_pension_type_id;
109: AND paa.assignment_id = p_assignment_id;
110:
111: CURSOR c_get_ee_age_threshold(c_pension_type_id IN NUMBER) IS
112: SELECT NVL(EE_AGE_THRESHOLD,'N')
113: FROM pqp_pension_types_f
114: WHERE pension_type_id = c_pension_type_id
115: AND p_date_earned between effective_start_date and effective_end_date;
116:
117: CURSOR c_get_er_age_threshold(c_pension_type_id IN NUMBER) IS
115: AND p_date_earned between effective_start_date and effective_end_date;
116:
117: CURSOR c_get_er_age_threshold(c_pension_type_id IN NUMBER) IS
118: SELECT NVL(ER_AGE_THRESHOLD,'N')
119: FROM pqp_pension_types_f
120: WHERE pension_type_id = c_pension_type_id
121: AND p_date_earned between effective_start_date and effective_end_date;
122:
123:
122:
123:
124:
125: l_proc_name VARCHAR2(150) := g_proc_name || 'get_pension_type_details';
126: l_pension_id pqp_pension_types_f.pension_type_id%TYPE;
127: l_subcat VARCHAR2(80);
128: l_pension_rec c_pty_cur%ROWTYPE;
129: l_ee_age_threshold pqp_pension_types_f.ee_age_threshold%TYPE;
130: l_person_year_of_birth VARCHAR2(10);
125: l_proc_name VARCHAR2(150) := g_proc_name || 'get_pension_type_details';
126: l_pension_id pqp_pension_types_f.pension_type_id%TYPE;
127: l_subcat VARCHAR2(80);
128: l_pension_rec c_pty_cur%ROWTYPE;
129: l_ee_age_threshold pqp_pension_types_f.ee_age_threshold%TYPE;
130: l_person_year_of_birth VARCHAR2(10);
131: l_er_age_threshold pqp_pension_types_f.er_age_threshold%TYPE;
132:
133: BEGIN
127: l_subcat VARCHAR2(80);
128: l_pension_rec c_pty_cur%ROWTYPE;
129: l_ee_age_threshold pqp_pension_types_f.ee_age_threshold%TYPE;
130: l_person_year_of_birth VARCHAR2(10);
131: l_er_age_threshold pqp_pension_types_f.er_age_threshold%TYPE;
132:
133: BEGIN
134:
135: hr_utility.set_location('Entering : '||l_proc_name, 10);
475: -- |-------------------------< prorate_amount >-------------------------------|
476: -- ----------------------------------------------------------------------------
477: --
478: function prorate_amount
479: (p_business_group_id in pqp_pension_types_f.business_group_id%TYPE
480: ,p_date_earned in date
481: ,p_assignment_id in per_all_assignments_f.assignment_id%TYPE
482: ,p_amount in number
483: ,p_payroll_period in varchar2
1926: -- is processed eff jan 2007. Do not use this function in any other
1927: -- situation other than ABP late hires.
1928: --
1929: FUNCTION get_bal_val_de
1930: (p_business_group_id IN pqp_pension_types_f.business_group_id%TYPE
1931: ,p_assignment_id IN per_all_assignments_f.assignment_id%TYPE
1932: ,p_date_earned IN DATE
1933: ,p_start_date IN DATE
1934: ,p_end_date IN DATE
2007: -- ----------------------------------------------------------------------------
2008: -- |-----------------------------< get_bal_val >-------------------------------|
2009: -- ----------------------------------------------------------------------------
2010: FUNCTION get_bal_val
2011: (p_business_group_id IN pqp_pension_types_f.business_group_id%TYPE
2012: ,p_assignment_id IN per_all_assignments_f.assignment_id%TYPE
2013: ,p_effective_date IN DATE
2014: ,p_balance_name IN VARCHAR2
2015: ,p_dimension_name IN VARCHAR2)
2056: -- ----------------------------------------------------------------------------
2057: -- |-----------------------< get_abp_pension_salary >-----------------------------|
2058: -- ----------------------------------------------------------------------------
2059: function get_abp_pension_salary
2060: (p_business_group_id in pqp_pension_types_f.business_group_id%TYPE
2061: ,p_date_earned in date
2062: ,p_assignment_id in per_all_assignments_f.assignment_id%TYPE
2063: ,p_payroll_id in pay_payroll_actions.payroll_id%TYPE
2064: ,p_period_start_date in date
3126: -- |-----------------------< get_pension_salary >-----------------------------|
3127: -- ----------------------------------------------------------------------------
3128: --
3129: function get_pension_salary
3130: (p_business_group_id in pqp_pension_types_f.business_group_id%TYPE
3131: ,p_date_earned in date
3132: ,p_assignment_id in per_all_assignments_f.assignment_id%TYPE
3133: ,p_payroll_action_id in pay_payroll_actions.payroll_action_id%TYPE
3134: ,p_salary_balance_name in varchar2
3134: ,p_salary_balance_name in varchar2
3135: ,p_payroll_period in varchar2
3136: ,p_salary_balance_value out nocopy number
3137: ,p_error_message out nocopy varchar2
3138: ,p_pension_type_id in pqp_pension_types_f.pension_type_id%TYPE default -99
3139: ) return number is
3140:
3141: l_proc_name varchar2(150) := g_proc_name || 'get_pension_salary';
3142: l_hire_date date;
3218:
3219: --Cursor to check if the pension type is an ABP Pension Type
3220: CURSOR c_is_abp_pt IS
3221: SELECT 1
3222: FROM pqp_pension_types_f
3223: WHERE pension_type_id = p_pension_type_id
3224: AND special_pension_type_code = 'ABP';
3225:
3226: BEGIN
3419: --Cursor to find if the pension type is assigned to this org
3420: CURSOR c_is_pen_type_assigned(c_org_id in number) Is
3421: SELECT 1
3422: FROM hr_organization_information hoi,
3423: pqp_pension_types_f pty
3424: WHERE hoi.org_information_context = 'PQP_NL_ER_PENSION_TYPES'
3425: AND hoi.org_information2 = TO_CHAR(p_pension_type_id)
3426: AND hoi.organization_id = c_org_id
3427: AND pty.pension_type_id = p_pension_type_id
3433: );
3434: --Cursor to find the pension type name from the pension type id
3435: CURSOR c_find_pen_type_name Is
3436: SELECT pension_type_name
3437: FROM pqp_pension_types_f
3438: WHERE pension_type_id = p_pension_type_id
3439: AND rownum = 1;
3440:
3441: --Cursor to find if the pension type is valid as of the date earned
3440:
3441: --Cursor to find if the pension type is valid as of the date earned
3442: CURSOR c_find_pen_type_valid Is
3443: SELECT 1
3444: FROM pqp_pension_types_f
3445: WHERE pension_type_id = p_pension_type_id
3446: AND trunc(p_date_earned) between effective_start_date and effective_end_date
3447: AND business_group_id = p_business_group_id;
3448:
3881: nvl(SIG_SAL_STD_TAX_REDUCTION,'0')||
3882: nvl(SII_STD_TAX_REDUCTION,'0')||
3883: nvl(SII_SPL_TAX_REDUCTION,'0')||
3884: nvl(SII_NON_TAX_REDUCTION,'0') redstr
3885: FROM pqp_pension_types_f
3886: WHERE pension_type_id = p_pension_type_id
3887: AND trunc(p_effective_date) BETWEEN
3888: trunc(effective_start_date)
3889: AND trunc(effective_end_date);
4234: nvl(SIG_SAL_STD_TAX_REDUCTION,'0')||
4235: nvl(SII_STD_TAX_REDUCTION,'0')||
4236: nvl(SII_SPL_TAX_REDUCTION,'0')||
4237: nvl(SII_NON_TAX_REDUCTION,'0') redstr
4238: FROM pqp_pension_types_f
4239: WHERE pension_type_id = p_pension_type_id
4240: AND trunc(p_effective_date) BETWEEN
4241: trunc(effective_start_date)
4242: AND trunc(effective_end_date);
4513: -- ------------------------------------------------------------------
4514: FUNCTION get_bonus
4515: ( p_date_earned in date
4516: ,p_assignment_id in per_all_assignments_f.assignment_id%TYPE
4517: ,p_business_group_id in pqp_pension_types_f.business_group_id%TYPE
4518: ,p_pension_type_id in pqp_pension_types_f.pension_type_id%TYPE
4519: ,p_pay_period_salary in number
4520: ,p_pay_period in varchar2
4521: ,p_work_pattern in varchar2
4514: FUNCTION get_bonus
4515: ( p_date_earned in date
4516: ,p_assignment_id in per_all_assignments_f.assignment_id%TYPE
4517: ,p_business_group_id in pqp_pension_types_f.business_group_id%TYPE
4518: ,p_pension_type_id in pqp_pension_types_f.pension_type_id%TYPE
4519: ,p_pay_period_salary in number
4520: ,p_pay_period in varchar2
4521: ,p_work_pattern in varchar2
4522: ,p_conversion_rule in varchar2
4537: l_recur_bonus number := 0;
4538: l_non_recur_bonus number := 0;
4539: l_prev_recur_bonus number := 0;
4540: l_prev_non_recur_bonus number := 0;
4541: l_recur_bonus_period pqp_pension_types_f.recurring_bonus_period%type;
4542: l_non_recur_bonus_period pqp_pension_types_f.non_recurring_bonus_period%type;
4543: l_end_of_prev_yr date;
4544: l_prev_run_year number;
4545: l_payroll_id pay_payrolls_f.payroll_id%type;
4538: l_non_recur_bonus number := 0;
4539: l_prev_recur_bonus number := 0;
4540: l_prev_non_recur_bonus number := 0;
4541: l_recur_bonus_period pqp_pension_types_f.recurring_bonus_period%type;
4542: l_non_recur_bonus_period pqp_pension_types_f.non_recurring_bonus_period%type;
4543: l_end_of_prev_yr date;
4544: l_prev_run_year number;
4545: l_payroll_id pay_payrolls_f.payroll_id%type;
4546: l_asg_action_id pay_assignment_actions.assignment_action_id%type;
4558: ,non_recurring_bonus_balance
4559: ,previous_year_bonus_included
4560: ,recurring_bonus_period
4561: ,non_recurring_bonus_period
4562: FROM pqp_pension_types_f
4563: WHERE pension_type_id = p_pension_type_id
4564: AND TRUNC(p_date_earned) BETWEEN
4565: effective_start_date AND effective_end_date
4566: AND business_group_id = p_business_group_id;
4878: -- -----------------------------------------------------------------------
4879: -- |---------------------< get_abp_entry_value >--------------------------|
4880: -- -----------------------------------------------------------------------
4881: function get_abp_entry_value
4882: (p_business_group_id in pqp_pension_types_f.business_group_id%TYPE
4883: ,p_date_earned in date
4884: ,p_assignment_id in per_all_assignments_f.assignment_id%TYPE
4885: ,p_element_type_id in number
4886: ,p_input_value_name in varchar2
5194: -- This function is to get the average part time percentage of the
5195: -- employee for calculations in pension basis.
5196:
5197: function get_avg_part_time_perc
5198: (p_business_group_id in pqp_pension_types_f.business_group_id%TYPE
5199: ,p_date_earned in date
5200: ,p_assignment_id in per_all_assignments_f.assignment_id%TYPE
5201: ,p_assignment_action_id IN NUMBER
5202: ,p_period_start_date in DATE
5462: -- |---------------------< get_pay_period_age >-------------------------------|
5463: -- ----------------------------------------------------------------------------
5464: --
5465: FUNCTION get_pay_period_age
5466: (p_business_group_id IN pqp_pension_types_f.business_group_id%TYPE
5467: ,p_date_earned IN DATE
5468: ,p_assignment_id IN per_all_assignments_f.assignment_id%TYPE
5469: ,p_period_start_date IN DATE
5470: ) RETURN NUMBER IS