DBA Data[Home] [Help]

APPS.GHR_PAY_CALC dependencies on GHR_PAY_CALC

Line 1: PACKAGE BODY ghr_pay_calc AS

1: PACKAGE BODY ghr_pay_calc AS
2: /* $Header: ghpaycal.pkb 120.108.12020000.4 2012/08/01 10:03:28 vmididho ship $ */
3:
4:
5: FUNCTION get_form_item_name

Line 10: RETURN(ghr_pay_calc.form_item_name);

6: RETURN VARCHAR2 IS
7: BEGIN
8: -- Because forms can not directly read this global variable we need
9: -- to write just a little function on the server to return the value!!
10: RETURN(ghr_pay_calc.form_item_name);
11: --
12: END get_form_item_name;
13: --
14: PROCEDURE set_form_item_name(p_value IN VARCHAR2) IS

Line 16: ghr_pay_calc.form_item_name := p_value;

12: END get_form_item_name;
13: --
14: PROCEDURE set_form_item_name(p_value IN VARCHAR2) IS
15: BEGIN
16: ghr_pay_calc.form_item_name := p_value;
17: --
18: END set_form_item_name;
19:
20: --

Line 31: l_retained_grade ghr_pay_calc.retained_grade_rec_type;

27: RETURN BOOLEAN IS
28: --
29: l_pos_ei_data per_position_extra_info%ROWTYPE;
30: l_range_or_match pay_user_tables.range_or_match%type;
31: l_retained_grade ghr_pay_calc.retained_grade_rec_type;
32: l_user_table_id pay_user_tables.user_table_id%type;
33: l_proc varchar2(30) := 'get_open_pay_range';
34:
35: cursor c_pay_type is

Line 143: l_user_table_name := ghr_pay_calc.get_user_table_name(l_user_table_id);

139: --
140: -- Next get the name of the retrieved user_table_id
141: IF l_user_table_id IS NOT NULL THEN
142: --
143: l_user_table_name := ghr_pay_calc.get_user_table_name(l_user_table_id);
144: -- Note: Must have a table name if we have a table_id
145: IF l_user_table_name = ghr_pay_calc.l_standard_table_name THEN
146: RETURN('0');
147: ELSE

Line 145: IF l_user_table_name = ghr_pay_calc.l_standard_table_name THEN

141: IF l_user_table_id IS NOT NULL THEN
142: --
143: l_user_table_name := ghr_pay_calc.get_user_table_name(l_user_table_id);
144: -- Note: Must have a table name if we have a table_id
145: IF l_user_table_name = ghr_pay_calc.l_standard_table_name THEN
146: RETURN('0');
147: ELSE
148: RETURN('6');
149: END IF;

Line 246: RETURN ghr_pay_calc.pay_calc_in_rec_type IS

242: ,p_pa_request_id IN NUMBER
243: ,p_open_range_out_basic_pay IN NUMBER
244: ,p_open_out_locality_adj IN NUMBER
245: )
246: RETURN ghr_pay_calc.pay_calc_in_rec_type IS
247:
248: l_populated_rec ghr_pay_calc.pay_calc_in_rec_type;
249: --
250: BEGIN

Line 248: l_populated_rec ghr_pay_calc.pay_calc_in_rec_type;

244: ,p_open_out_locality_adj IN NUMBER
245: )
246: RETURN ghr_pay_calc.pay_calc_in_rec_type IS
247:
248: l_populated_rec ghr_pay_calc.pay_calc_in_rec_type;
249: --
250: BEGIN
251: --
252: l_populated_rec.person_id := p_person_id;

Line 288: PROCEDURE validate_in_data(p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type) IS

284: RETURN l_populated_rec;
285:
286: END;
287: --
288: PROCEDURE validate_in_data(p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type) IS
289: --
290: CURSOR c_chk_pos IS
291: SELECT 1
292: FROM hr_all_positions_f pos

Line 300: ghr_pay_calc.form_item_name := 'PAR.EMPLOYEE_LAST_NAME';

296: l_ret_val BOOLEAN := FALSE;
297: BEGIN
298: -- Must have a person
299: IF p_pay_calc_data.person_id IS NULL THEN
300: ghr_pay_calc.form_item_name := 'PAR.EMPLOYEE_LAST_NAME';
301: hr_utility.set_message(8301,'GHR_38244_PAY_CALC_NO_PER');
302: raise pay_calc_message;
303: END IF;
304:

Line 307: ghr_pay_calc.form_item_name := 'PAR.TO_POSITION_TITLE';

303: END IF;
304:
305: -- Must have a position -- well that is kinda obvious!!!
306: IF p_pay_calc_data.position_id IS NULL THEN
307: ghr_pay_calc.form_item_name := 'PAR.TO_POSITION_TITLE';
308: hr_utility.set_message(8301,'GHR_38016_PAY_CALC_NO_POS');
309: raise pay_calc_message;
310: END IF;
311:

Line 331: ghr_pay_calc.form_item_name := 'PAR.FIRST_NOA_CODE';

327: -- Must have a noa if the family is 'SALARY_CHG'
328: IF SUBSTR(p_pay_calc_data.noa_family_code ,1,8) = 'GHR_SAL_'
329: -- IF p_pay_calc_data.noa_family_code = 'SALARY_CHG'
330: AND p_pay_calc_data.noa_code IS NULL THEN
331: ghr_pay_calc.form_item_name := 'PAR.FIRST_NOA_CODE';
332: hr_utility.set_message(8301,'GHR_38246_PAY_CALC_NO_NOA');
333: raise pay_calc_message;
334: END IF;
335:

Line 341: ghr_pay_calc.form_item_name := 'PAR.PAY_RATE_DETERMINANT';

337: -- defaulted to sysdate
338:
339: -- Must have a pay rate determinant (e.g 0,5,6,7)
340: IF p_pay_calc_data.pay_rate_determinant IS NULL THEN
341: ghr_pay_calc.form_item_name := 'PAR.PAY_RATE_DETERMINANT';
342: hr_utility.set_message(8301,'GHR_38021_PAY_CALC_NO_PRD');
343: raise pay_calc_message;
344: END IF;
345:

Line 360: ghr_pay_calc.form_item_name := 'PAR.TO_STEP_OR_RATE';

356: END IF;
357:
358: -- Must have a step_or_rate (e.g 01,02) which is associated to the position
359: IF p_pay_calc_data.step_or_rate IS NULL THEN
360: ghr_pay_calc.form_item_name := 'PAR.TO_STEP_OR_RATE';
361: hr_utility.set_message(8301,'GHR_38019_PAY_CALC_NO_STEP');
362: raise pay_calc_message;
363: END IF;
364:

Line 482: raise ghr_pay_calc.pay_calc_message;

478: --
479: hr_utility.set_message(8301, 'GHR_38251_NO_CONVERSION');
480: hr_utility.set_message_token('FROM_PAY_BASIS',p_in_pay_basis);
481: hr_utility.set_message_token('TO_PAY_BASIS',p_out_pay_basis);
482: raise ghr_pay_calc.pay_calc_message;
483: END;
484: --
485: --------------------------- ------------------------------------
486: --

Line 633: l_retained_grade_rec ghr_pay_calc.retained_grade_rec_type;

629:
630: l_retained_pay_plan VARCHAR2(30);
631: l_retained_grade VARCHAR2(30);
632: l_retained_step_or_rate VARCHAR2(30);
633: l_retained_grade_rec ghr_pay_calc.retained_grade_rec_type;
634: l_temp_step VARCHAR2(30);
635: BEGIN
636:
637: l_retained_pay_plan := p_retained_pay_plan;

Line 794: raise ghr_pay_calc.pay_calc_message;

790: hr_utility.set_message_token('PAY_PLAN',p_pay_plan);
791: hr_utility.set_message_token('GRADE',p_grade_or_level);
792: -- hr_utility.set_message_token('EFF_DATE',TO_CHAR(p_effective_date,'DD-MON-YYYY') );
793: hr_utility.set_message_token('EFF_DATE',fnd_date.date_to_chardate(p_effective_date));
794: raise ghr_pay_calc.pay_calc_message;
795: ELSE
796: p_PT_value := l_PT_value;
797: p_PT_eff_start_date := l_PT_eff_start_date;
798: p_PT_eff_end_date := l_PT_eff_end_date;

Line 827: WHERE utb.user_table_name = ghr_pay_calc.l_standard_table_name

823: FROM pay_user_column_instances_f cin
824: ,pay_user_rows_f urw
825: ,pay_user_columns col
826: ,pay_user_tables utb
827: WHERE utb.user_table_name = ghr_pay_calc.l_standard_table_name
828: AND col.user_table_id = utb.user_table_id
829: AND col.user_column_name = p_step_or_rate
830: AND urw.user_table_id = utb.user_table_id
831: AND urw.row_low_range_or_name = p_pay_plan||'-'||p_grade_or_level

Line 843: hr_utility.set_message_token('PAY_TABLE_NAME',ghr_pay_calc.l_standard_table_name );

839: l_record_found := TRUE;
840: IF l_pay_plan_value IS NULL THEN
841: -- Set tokens to give name of pay table(standard), pay plan, grade, step and date
842: hr_utility.set_message(8301, 'GHR_38252_NULL_PAY_PLAN_VALUE');
843: hr_utility.set_message_token('PAY_TABLE_NAME',ghr_pay_calc.l_standard_table_name );
844: hr_utility.set_message_token('STEP',p_step_or_rate);
845: hr_utility.set_message_token('PAY_PLAN',p_pay_plan);
846: hr_utility.set_message_token('GRADE',p_grade_or_level);
847: -- hr_utility.set_message_token('EFF_DATE',TO_CHAR(p_effective_date,'DD-MON-YYYY') );

Line 856: hr_utility.set_message_token('PAY_TABLE_NAME',ghr_pay_calc.l_standard_table_name);

852: --
853: IF NOT l_record_found THEN
854: -- Set tokens to give name of pay table(standard), pay plan, grade, step and date
855: hr_utility.set_message(8301, 'GHR_38253_NO_PAY_PLAN_VALUE');
856: hr_utility.set_message_token('PAY_TABLE_NAME',ghr_pay_calc.l_standard_table_name);
857: hr_utility.set_message_token('STEP',p_step_or_rate);
858: hr_utility.set_message_token('PAY_PLAN',p_pay_plan);
859: hr_utility.set_message_token('GRADE',p_grade_or_level);
860: -- hr_utility.set_message_token('EFF_DATE',TO_CHAR(p_effective_date,'DD-MON-YYYY') );

Line 912: FUNCTION get_GM_GH_def_basic_pay(p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type

908:
909: END LEO_position;
910: --
911: -- This local procedure gets the default basic pay to do the comparison in the locality pay
912: FUNCTION get_GM_GH_def_basic_pay(p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
913: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type)
914: RETURN NUMBER IS
915:
916: l_std_user_table_id NUMBER;

Line 913: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type)

909: END LEO_position;
910: --
911: -- This local procedure gets the default basic pay to do the comparison in the locality pay
912: FUNCTION get_GM_GH_def_basic_pay(p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
913: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type)
914: RETURN NUMBER IS
915:
916: l_std_user_table_id NUMBER;
917:

Line 934: WHERE utb.user_table_name = ghr_pay_calc.l_standard_table_name;

930:
931: CURSOR get_std_user_table_id IS
932: SELECT utb.user_table_id
933: FROM pay_user_tables utb
934: WHERE utb.user_table_name = ghr_pay_calc.l_standard_table_name;
935:
936: BEGIN
937: -- First get the id of standard pay table for later use
938: FOR c_rec IN get_std_user_table_id LOOP

Line 991: PROCEDURE get_locality_adj (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type

987:
988:
989: --------------------------- ----------------------------------
990: --------------------------- ----------------------------------
991: PROCEDURE get_locality_adj (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
992: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type
993: ,p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type) IS
994: --
995: l_basic_pay_pa NUMBER; -- This is the basis_pay based in as a PA format

Line 992: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type

988:
989: --------------------------- ----------------------------------
990: --------------------------- ----------------------------------
991: PROCEDURE get_locality_adj (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
992: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type
993: ,p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type) IS
994: --
995: l_basic_pay_pa NUMBER; -- This is the basis_pay based in as a PA format
996: l_basic_pay_pos NUMBER;

Line 993: ,p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type) IS

989: --------------------------- ----------------------------------
990: --------------------------- ----------------------------------
991: PROCEDURE get_locality_adj (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
992: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type
993: ,p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type) IS
994: --
995: l_basic_pay_pa NUMBER; -- This is the basis_pay based in as a PA format
996: l_basic_pay_pos NUMBER;
997: l_basic_pay_pos_pa NUMBER;

Line 1014: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type;

1010: --
1011: l_proc VARCHAR2(30) := 'get_locality_adj';
1012: l_new_step_or_rate VARCHAR2(30); --AVR
1013: l_session ghr_history_api.g_session_var_type;
1014: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type;
1015:
1016:
1017: l_user_table_id pay_user_tables.user_table_id%type;
1018: l_GM_unadjusted_rate NUMBER; --AVR

Line 1048: l_retained_grade ghr_pay_calc.retained_grade_rec_type;

1044: l_essl_table BOOLEAN := FALSE;
1045:
1046: -- Bug 3021003
1047: l_ret_flag BOOLEAN := FALSE;
1048: l_retained_grade ghr_pay_calc.retained_grade_rec_type;
1049:
1050: --Begin Bug# 9156723
1051: l_duty_station_code ghr_duty_stations_f.duty_station_code%TYPE;
1052:

Line 1247: ELSIF ghr_pay_calc.get_user_table_name(l_user_table_id) NOT IN (ghr_pay_calc.l_standard_table_name,ghr_pay_calc.l_spl491_table_name)

1243: --Bug 4740036 Start
1244: --8320557 From 12 -Apr-2009 locality pay will be 0 for SL ST IP pay plan
1245: ELSIF l_pay_plan IN ('SL','ST','IP') AND p_pay_calc_data.effective_date >= to_date('2009/04/12','YYYY/MM/DD') THEN
1246: l_locality_adj := 0;
1247: ELSIF ghr_pay_calc.get_user_table_name(l_user_table_id) NOT IN (ghr_pay_calc.l_standard_table_name,ghr_pay_calc.l_spl491_table_name)
1248: AND l_pay_plan in ('GG','GS')
1249: AND p_pay_calc_data.pay_rate_determinant IN ('6','E','F')
1250: AND ghr_pay_calc.LEO_position (l_dummy
1251: ,p_pay_calc_data.position_id

Line 1250: AND ghr_pay_calc.LEO_position (l_dummy

1246: l_locality_adj := 0;
1247: ELSIF ghr_pay_calc.get_user_table_name(l_user_table_id) NOT IN (ghr_pay_calc.l_standard_table_name,ghr_pay_calc.l_spl491_table_name)
1248: AND l_pay_plan in ('GG','GS')
1249: AND p_pay_calc_data.pay_rate_determinant IN ('6','E','F')
1250: AND ghr_pay_calc.LEO_position (l_dummy
1251: ,p_pay_calc_data.position_id
1252: ,l_dummy
1253: ,l_dummy
1254: ,p_pay_calc_data.effective_date) THEN

Line 1256: FOR c_rec IN c_user_table_id(ghr_pay_calc.l_standard_table_name) LOOP

1252: ,l_dummy
1253: ,l_dummy
1254: ,p_pay_calc_data.effective_date) THEN
1255: hr_utility.set_location('AB p_pay_calc_data.pay_rate_determinant ' || p_pay_calc_data.pay_rate_determinant,99);
1256: FOR c_rec IN c_user_table_id(ghr_pay_calc.l_standard_table_name) LOOP
1257: l_std_user_table_id := c_rec.user_table_id;
1258: END LOOP;
1259: hr_utility.set_location('AB l_std_user_table_id ' || l_std_user_table_id,99);
1260: IF p_pay_calc_data.pay_rate_determinant = '6' THEN

Line 1333: l_adjustment_percentage := ghr_pay_calc.get_leo_lpa_percentage

1329: ,l_dummy_date
1330: ,l_dummy_date);
1331: END IF;
1332: hr_utility.set_location('AB l_std_basic_pay ' || l_std_basic_pay,99);
1333: l_adjustment_percentage := ghr_pay_calc.get_leo_lpa_percentage
1334: (p_pay_calc_data.duty_station_id
1335: ,p_pay_calc_data.effective_date);
1336: hr_utility.set_location('AB l_adjustment_percentage ' || l_adjustment_percentage,99);
1337: l_std_locality_adj := ROUND(l_std_basic_pay * (NVL(l_adjustment_percentage,0)/100),0);

Line 1526: l_locality_adj := ghr_pay_calc.convert_amount

1522: IF p_pay_calc_out_data.basic_pay >= p_pay_calc_data.current_adj_basic_pay THEN
1523: l_locality_adj := 0;
1524: --
1525: ELSE
1526: l_locality_adj := ghr_pay_calc.convert_amount
1527: (p_pay_calc_data.current_adj_basic_pay - p_pay_calc_out_data.basic_pay
1528: ,p_pay_calc_data.pay_basis
1529: ,'PA');
1530: --

Line 1538: raise ghr_pay_calc.unable_to_calculate;

1534: -- should never have really got here as the basic pay should have stopped us
1535: -- calculating if we didn't know how to
1536: hr_utility.set_message(8301, 'GHR_38254_NO_CALC_PRD');
1537: hr_utility.set_message_token('PRD',p_pay_calc_data.pay_rate_determinant);
1538: raise ghr_pay_calc.unable_to_calculate;
1539: END IF; -- End of PRD checks
1540: --
1541: END IF; -- End of LEO checks
1542: --

Line 1563: PROCEDURE get_adj_basic_pay (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type

1559: --
1560: END get_locality_adj;
1561: --
1562: --------------------------- ----------------------------------
1563: PROCEDURE get_adj_basic_pay (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
1564: ,p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type) IS
1565:
1566: --
1567: l_locality_adj_conv NUMBER;

Line 1564: ,p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type) IS

1560: END get_locality_adj;
1561: --
1562: --------------------------- ----------------------------------
1563: PROCEDURE get_adj_basic_pay (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
1564: ,p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type) IS
1565:
1566: --
1567: l_locality_adj_conv NUMBER;
1568: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type;

Line 1568: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type;

1564: ,p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type) IS
1565:
1566: --
1567: l_locality_adj_conv NUMBER;
1568: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type;
1569:
1570: BEGIN
1571:
1572: l_pay_calc_out_data := p_pay_calc_out_data ; --NOCOPY Changes

Line 1595: l_locality_adj_conv := ghr_pay_calc.convert_amount(p_pay_calc_out_data.locality_adj

1591: ELSE
1592: -- convert the locality_adj (which is always 'PA') to the pay_basis of the
1593: -- basic pay so they can then be added together
1594: --
1595: l_locality_adj_conv := ghr_pay_calc.convert_amount(p_pay_calc_out_data.locality_adj
1596: ,'PA'
1597: ,p_pay_calc_data.pay_basis);
1598: --
1599: p_pay_calc_out_data.adj_basic_pay := NVL(p_pay_calc_out_data.basic_pay,0)

Line 1646: PROCEDURE get_other_pay_amount (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type

1642:
1643: END get_ppi_amount;
1644:
1645: --------------------------- --------------------------------
1646: PROCEDURE get_other_pay_amount (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
1647: ,p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type) IS
1648:
1649: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type;
1650:

Line 1647: ,p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type) IS

1643: END get_ppi_amount;
1644:
1645: --------------------------- --------------------------------
1646: PROCEDURE get_other_pay_amount (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
1647: ,p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type) IS
1648:
1649: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type;
1650:
1651: BEGIN

Line 1649: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type;

1645: --------------------------- --------------------------------
1646: PROCEDURE get_other_pay_amount (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
1647: ,p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type) IS
1648:
1649: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type;
1650:
1651: BEGIN
1652:
1653: l_pay_calc_out_data := p_pay_calc_out_data ; --NOCOPY Changes

Line 1681: PROCEDURE get_total_salary (p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type

1677: RAISE;
1678: END get_other_pay_amount;
1679:
1680: --------------------------- ------------------------------------
1681: PROCEDURE get_total_salary (p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type
1682: ,p_pay_basis IN VARCHAR2) IS
1683:
1684: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type;
1685: BEGIN

Line 1684: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type;

1680: --------------------------- ------------------------------------
1681: PROCEDURE get_total_salary (p_pay_calc_out_data IN OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type
1682: ,p_pay_basis IN VARCHAR2) IS
1683:
1684: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type;
1685: BEGIN
1686:
1687: l_pay_calc_out_data := p_pay_calc_out_data ; --NOCOPY Changes
1688:

Line 1787: l_pay_calc_data ghr_pay_calc.pay_calc_in_rec_type; -- This is the main IN record structure

1783: --
1784: l_second_noa_family_code ghr_families.noa_family_code%TYPE;
1785: l_run_pay_calc_again BOOLEAN := FALSE;
1786: --
1787: l_pay_calc_data ghr_pay_calc.pay_calc_in_rec_type; -- This is the main IN record structure
1788: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type; -- This is the main OUT record structure
1789: l_retained_grade ghr_pay_calc.retained_grade_rec_type; -- This contains retained grade info if needed
1790: --
1791: l_message_set BOOLEAN := FALSE;

Line 1788: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type; -- This is the main OUT record structure

1784: l_second_noa_family_code ghr_families.noa_family_code%TYPE;
1785: l_run_pay_calc_again BOOLEAN := FALSE;
1786: --
1787: l_pay_calc_data ghr_pay_calc.pay_calc_in_rec_type; -- This is the main IN record structure
1788: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type; -- This is the main OUT record structure
1789: l_retained_grade ghr_pay_calc.retained_grade_rec_type; -- This contains retained grade info if needed
1790: --
1791: l_message_set BOOLEAN := FALSE;
1792: l_calculated BOOLEAN := TRUE;

Line 1789: l_retained_grade ghr_pay_calc.retained_grade_rec_type; -- This contains retained grade info if needed

1785: l_run_pay_calc_again BOOLEAN := FALSE;
1786: --
1787: l_pay_calc_data ghr_pay_calc.pay_calc_in_rec_type; -- This is the main IN record structure
1788: l_pay_calc_out_data ghr_pay_calc.pay_calc_out_rec_type; -- This is the main OUT record structure
1789: l_retained_grade ghr_pay_calc.retained_grade_rec_type; -- This contains retained grade info if needed
1790: --
1791: l_message_set BOOLEAN := FALSE;
1792: l_calculated BOOLEAN := TRUE;
1793: --

Line 1955: ghr_pay_calc.prd2_process := FALSE;

1951: -- FWFA Changes
1952: l_pay_calc_out_data.open_pay_fields := FALSE;
1953: l_pay_calc_out_data.open_basicpay_field := FALSE;
1954: -- bug# 13103038 PRD2 Process
1955: ghr_pay_calc.prd2_process := FALSE;
1956: -- Bug#5132113
1957: l_pay_calc_out_data.open_localityadj_field := FALSE;
1958:
1959: BEGIN

Line 2375: raise ghr_pay_calc.open_pay_range_mesg;

2371: END IF;
2372: ---Bug 7557159 Start
2373: IF p_pay_rate_determinant = 'D' THEN
2374: hr_utility.set_message(8301, 'GHR_38520_PRD_D');
2375: raise ghr_pay_calc.open_pay_range_mesg;
2376: END IF;
2377: ---Bug 7557159 End
2378:
2379: ---Bug 13103038 Start

Line 2389: ghr_pay_calc.prd2_process := TRUE;

2385: end loop;
2386: END IF;
2387: IF l_pay_rate_determinant = '2' AND l_noa_code = '894' AND l_locality_pay_area_code in ('HI','AK','ON')
2388: AND (l_session.noa_id_correct is not null OR l_first_action_la_code1 = 'VGR') THEN
2389: ghr_pay_calc.prd2_process := TRUE;
2390: hr_utility.set_message(8301, 'GHR_37461_PRD_2');
2391: raise ghr_pay_calc.open_pay_range_mesg;
2392: ELSE
2393: ghr_pay_calc.prd2_process := FALSE;

Line 2391: raise ghr_pay_calc.open_pay_range_mesg;

2387: IF l_pay_rate_determinant = '2' AND l_noa_code = '894' AND l_locality_pay_area_code in ('HI','AK','ON')
2388: AND (l_session.noa_id_correct is not null OR l_first_action_la_code1 = 'VGR') THEN
2389: ghr_pay_calc.prd2_process := TRUE;
2390: hr_utility.set_message(8301, 'GHR_37461_PRD_2');
2391: raise ghr_pay_calc.open_pay_range_mesg;
2392: ELSE
2393: ghr_pay_calc.prd2_process := FALSE;
2394: END IF;
2395: ---Bug 13103038 end

Line 2393: ghr_pay_calc.prd2_process := FALSE;

2389: ghr_pay_calc.prd2_process := TRUE;
2390: hr_utility.set_message(8301, 'GHR_37461_PRD_2');
2391: raise ghr_pay_calc.open_pay_range_mesg;
2392: ELSE
2393: ghr_pay_calc.prd2_process := FALSE;
2394: END IF;
2395: ---Bug 13103038 end
2396:
2397: if get_open_pay_range ( l_position_id

Line 2405: raise ghr_pay_calc.open_pay_range_mesg;

2401: , NVL(p_effective_date,TRUNC(sysdate)) ) then
2402: --6489042 during appointment of ESSL employees of PRD 2 enabling basic pay for user entry
2403: if p_pay_rate_determinant <> '2' then
2404: hr_utility.set_message(8301, 'GHR_38713_OPEN_PAY_RANGE');
2405: raise ghr_pay_calc.open_pay_range_mesg;
2406: elsif p_pay_rate_determinant = '2' and l_noa_family_code IN ('APP') then
2407: hr_utility.set_message(8301, 'GHR_38713_OPEN_PAY_RANGE');
2408: raise ghr_pay_calc.open_pay_range_mesg;
2409: end if;

Line 2408: raise ghr_pay_calc.open_pay_range_mesg;

2404: hr_utility.set_message(8301, 'GHR_38713_OPEN_PAY_RANGE');
2405: raise ghr_pay_calc.open_pay_range_mesg;
2406: elsif p_pay_rate_determinant = '2' and l_noa_family_code IN ('APP') then
2407: hr_utility.set_message(8301, 'GHR_38713_OPEN_PAY_RANGE');
2408: raise ghr_pay_calc.open_pay_range_mesg;
2409: end if;
2410: end if;
2411: END IF;
2412: end if;

Line 2457: ghr_pay_calc.prd2_process := TRUE;

2453: AND l_locality_pay_area_code in ('HI','AK','ON') THEN
2454: l_pay_calc_out_data.basic_pay := p_open_range_out_basic_pay;
2455: l_pay_calc_out_data.adj_basic_pay := p_open_range_out_basic_pay;
2456: l_pay_calc_out_data.open_basicpay_field := TRUE;
2457: ghr_pay_calc.prd2_process := TRUE;
2458: ELSE
2459: ghr_pay_calc.prd2_process := FALSE;
2460: l_pay_calc_out_data.basic_pay := l_pay_calc_data.current_basic_pay;
2461: l_pay_calc_out_data.adj_basic_pay := l_pay_calc_data.current_adj_basic_pay;

Line 2459: ghr_pay_calc.prd2_process := FALSE;

2455: l_pay_calc_out_data.adj_basic_pay := p_open_range_out_basic_pay;
2456: l_pay_calc_out_data.open_basicpay_field := TRUE;
2457: ghr_pay_calc.prd2_process := TRUE;
2458: ELSE
2459: ghr_pay_calc.prd2_process := FALSE;
2460: l_pay_calc_out_data.basic_pay := l_pay_calc_data.current_basic_pay;
2461: l_pay_calc_out_data.adj_basic_pay := l_pay_calc_data.current_adj_basic_pay;
2462: END IF;
2463: ---Bug 13103038 end

Line 2569: IF get_user_table_name(l_pay_calc_out_data.pay_table_id) = ghr_pay_calc.l_spl491_table_name AND

2565: l_pay_calc_out_data.pay_table_id := l_pay_calc_data.user_table_id;
2566: l_pay_plan := l_pay_calc_data.pay_plan;
2567: -- Bug#4748583 Added the following IF Condition to set the PRD to '6' for 0491 table.
2568: -- Bug#5089732 GL Pay Plan
2569: IF get_user_table_name(l_pay_calc_out_data.pay_table_id) = ghr_pay_calc.l_spl491_table_name AND
2570: (l_pay_calc_data.pay_plan <> 'GL' OR
2571: (l_pay_plan = 'GG' and
2572: l_pay_calc_data.effective_date < to_date('2006/01/08','YYYY/MM/DD')
2573: )

Line 2581: IF get_user_table_name(l_pay_calc_out_data.calculation_pay_table_id) = ghr_pay_calc.l_spl491_table_name AND

2577: END IF;
2578: -- Bug#4748583
2579: END IF;
2580: --Bug#5089732 Set the Pay Rate Determinant for GL,GG Pay Plans
2581: IF get_user_table_name(l_pay_calc_out_data.calculation_pay_table_id) = ghr_pay_calc.l_spl491_table_name AND
2582: (l_pay_plan = 'GL' OR
2583: (l_pay_plan = 'GG' and
2584: l_pay_calc_data.effective_date >= to_date('2006/01/08','YYYY/MM/DD')
2585: )

Line 2602: get_user_table_name(l_pay_calc_data.user_table_id) in (ghr_pay_calc.l_spl491_table_name,ghr_pay_calc.l_standard_table_name) THEN

2598:
2599: --BUG # 13341602 Added to set back the PRD to 0 If previously it was set to 6 by
2600: -- Special Rate and now it is changed to 0000 table
2601: IF l_pay_calc_data.pay_rate_determinant = '6' AND
2602: get_user_table_name(l_pay_calc_data.user_table_id) in (ghr_pay_calc.l_spl491_table_name,ghr_pay_calc.l_standard_table_name) THEN
2603: l_pay_calc_out_data.out_pay_rate_determinant := '0';
2604: END IF;
2605:
2606: -- FWFA Changes

Line 2641: and SUBSTR(ghr_pay_calc.get_user_table_name(l_user_table_id),1,4) = '0000' THEN

2637: l_pay_plan IN ('AD','EF') and
2638: l_pay_calc_data.grade_or_level = '00' and
2639: l_pay_calc_data.step_or_rate = '00' and
2640: l_pay_calc_data.pay_rate_determinant = '0'
2641: and SUBSTR(ghr_pay_calc.get_user_table_name(l_user_table_id),1,4) = '0000' THEN
2642: l_pay_calc_out_data.locality_adj := p_open_out_locality_adj;
2643: --End Bug# 10244679
2644: ELSIF NVL(esplan_flag,'N') = 'Y' and l_locality_pay_area_code in ('HI','AK','ON') then
2645: l_pay_calc_out_data.open_localityadj_field := TRUE;

Line 2911: WHEN ghr_pay_calc.pay_calc_message THEN

2907: (l_pay_calc_data
2908: ,l_pay_calc_out_data
2909: ,l_message_set
2910: ,l_calculated);
2911: WHEN ghr_pay_calc.pay_calc_message THEN
2912: l_message_set := TRUE;
2913: l_calculated := TRUE;
2914: ---Bug 7423379 Start (Fix was revoked - AVR 10/24)
2915: -- Begin Bug 9977338 removed the comments done for bug 7423379

Line 3008: l_prd_d_pay_amount := ghr_pay_calc.get_standard_pay_table_value (p_pay_plan => l_pay_plan

3004: l_pay_calc_out_data.open_localityadj_field := TRUE;
3005: end if;*/
3006: --Begin Bug# 7557159
3007: IF l_pay_plan='GS' AND l_pay_rate_determinant='D' THEN
3008: l_prd_d_pay_amount := ghr_pay_calc.get_standard_pay_table_value (p_pay_plan => l_pay_plan
3009: ,p_grade_or_level => l_grade_or_level
3010: ,p_step_or_rate => '10'
3011: ,p_effective_date => p_effective_date);
3012:

Line 3081: PROCEDURE sql_main_pay_calc (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type

3077: RAISE;
3078: END main_pay_calc;
3079:
3080:
3081: PROCEDURE sql_main_pay_calc (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
3082: ,p_pay_calc_out_data OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type
3083: ,p_message_set OUT NOCOPY BOOLEAN
3084: ,p_calculated OUT NOCOPY BOOLEAN
3085: ) IS

Line 3082: ,p_pay_calc_out_data OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type

3078: END main_pay_calc;
3079:
3080:
3081: PROCEDURE sql_main_pay_calc (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
3082: ,p_pay_calc_out_data OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type
3083: ,p_message_set OUT NOCOPY BOOLEAN
3084: ,p_calculated OUT NOCOPY BOOLEAN
3085: ) IS
3086: l_message_set BOOLEAN;

Line 3220: ghr_pay_calc.get_pay_table_value (p_user_table_id => p_user_table_id

3216: hr_utility.set_location('effective_date ...'|| to_char(p_effective_date,'DD-MON-YYYY'),5);
3217: hr_utility.set_location('In new current adj basic pay ...'|| to_char(p_cur_adj_basic_pay),5);
3218: hr_utility.set_location('In new basic pay ...'|| to_char(p_new_basic_pay),5);
3219:
3220: ghr_pay_calc.get_pay_table_value (p_user_table_id => p_user_table_id
3221: ,p_pay_plan => p_pay_plan
3222: ,p_grade_or_level => p_grade_or_level
3223: ,p_step_or_rate => p_step_or_rate
3224: ,p_effective_date => p_effective_date

Line 3230: ghr_pay_calc.get_pay_table_value (p_user_table_id => p_user_table_id

3226: ,p_PT_eff_start_date => l_PT_eff_start_date
3227: ,p_PT_eff_end_date => l_PT_eff_end_date);
3228:
3229: hr_utility.set_location('l_PT_value ...'|| to_char(l_PT_value),5);
3230: ghr_pay_calc.get_pay_table_value (p_user_table_id => p_user_table_id
3231: ,p_pay_plan => p_pay_plan
3232: ,p_grade_or_level => p_grade_or_level
3233: ,p_step_or_rate => p_step_or_rate
3234: ,p_effective_date => (l_PT_eff_start_date - 1)

Line 3240: l_SPT_value := ghr_pay_calc.get_standard_pay_table_value (p_pay_plan => p_pay_plan

3236: ,p_PT_eff_start_date => l_PT_o_eff_start_date
3237: ,p_PT_eff_end_date => l_PT_o_eff_end_date);
3238:
3239: hr_utility.set_location('l_PT_o_value ...'|| to_char(l_PT_o_value),5);
3240: l_SPT_value := ghr_pay_calc.get_standard_pay_table_value (p_pay_plan => p_pay_plan
3241: ,p_grade_or_level => p_grade_or_level
3242: ,p_step_or_rate => p_step_or_rate
3243: ,p_effective_date => p_effective_date);
3244:

Line 3246: l_SPT_o_value := ghr_pay_calc.get_standard_pay_table_value (p_pay_plan => p_pay_plan

3242: ,p_step_or_rate => p_step_or_rate
3243: ,p_effective_date => p_effective_date);
3244:
3245: hr_utility.set_location('l_SPT_value ...'|| to_char(l_SPT_value),5);
3246: l_SPT_o_value := ghr_pay_calc.get_standard_pay_table_value (p_pay_plan => p_pay_plan
3247: ,p_grade_or_level => p_grade_or_level
3248: ,p_step_or_rate => p_step_or_rate
3249: ,p_effective_date => (l_PT_eff_start_date -1) );
3250:

Line 3288: (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type

3284:
3285: end get_locality_adj_894_PRDM_GS;
3286:
3287: PROCEDURE get_locality_adj_894_PRDM_GM
3288: (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
3289: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type
3290: ,p_new_std_relative_rate OUT NOCOPY NUMBER
3291: ,p_new_adj_basic_pay OUT NOCOPY NUMBER
3292: ,p_new_locality_adj OUT NOCOPY NUMBER) IS

Line 3289: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type

3285: end get_locality_adj_894_PRDM_GS;
3286:
3287: PROCEDURE get_locality_adj_894_PRDM_GM
3288: (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
3289: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type
3290: ,p_new_std_relative_rate OUT NOCOPY NUMBER
3291: ,p_new_adj_basic_pay OUT NOCOPY NUMBER
3292: ,p_new_locality_adj OUT NOCOPY NUMBER) IS
3293:

Line 3325: WHERE utb.user_table_name = ghr_pay_calc.l_standard_table_name;

3321:
3322: CURSOR get_std_user_table_id IS
3323: SELECT utb.user_table_id
3324: FROM pay_user_tables utb
3325: WHERE utb.user_table_name = ghr_pay_calc.l_standard_table_name;
3326:
3327: BEGIN
3328: hr_utility.set_location('Entering ...'|| l_proc,5);
3329: -- First get the id of standard pay table for later use

Line 3422: (l_user_table_name <> ghr_pay_calc.l_standard_table_name) THEN

3418: IF l_new_std_relative_rate > new_adj_basic_pay THEN
3419: new_adj_basic_pay := l_new_std_relative_rate;
3420: new_locality_adj := new_adj_basic_pay - l_new_basic_pay;
3421: ELSIF (l_new_basic_pay > new_adj_basic_pay) AND
3422: (l_user_table_name <> ghr_pay_calc.l_standard_table_name) THEN
3423: new_adj_basic_pay := l_new_basic_pay;
3424: new_locality_adj := 0;
3425: END IF;
3426:

Line 3580: (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type

3576: END get_pay_basis;
3577:
3578: --------------------------- ------------------------------------------
3579: PROCEDURE get_locality_894_itpay
3580: (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
3581: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type
3582: ,p_new_basic_pay IN NUMBER
3583: ,p_GM_unadjusted_rate OUT NOCOPY NUMBER
3584: ,p_new_adj_basic_pay OUT NOCOPY NUMBER

Line 3581: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type

3577:
3578: --------------------------- ------------------------------------------
3579: PROCEDURE get_locality_894_itpay
3580: (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
3581: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type
3582: ,p_new_basic_pay IN NUMBER
3583: ,p_GM_unadjusted_rate OUT NOCOPY NUMBER
3584: ,p_new_adj_basic_pay OUT NOCOPY NUMBER
3585: ,p_new_locality_adj OUT NOCOPY NUMBER) IS

Line 3619: WHERE utb.user_table_name = ghr_pay_calc.l_standard_table_name;

3615:
3616: CURSOR get_std_user_table_id IS
3617: SELECT utb.user_table_id
3618: FROM pay_user_tables utb
3619: WHERE utb.user_table_name = ghr_pay_calc.l_standard_table_name;
3620:
3621: ----
3622: l_assignment_id per_assignments_f.assignment_id%type;
3623: l_value varchar2(60);

Line 3757: (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type

3753: END get_locality_894_itpay;
3754:
3755: --------------------------- ------------------------------------------
3756: PROCEDURE get_locality_892_itpay
3757: (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
3758: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type
3759: ,p_new_basic_pay IN NUMBER
3760: ,p_new_adj_basic_pay OUT NOCOPY NUMBER
3761: ,p_new_locality_adj OUT NOCOPY NUMBER) IS

Line 3758: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type

3754:
3755: --------------------------- ------------------------------------------
3756: PROCEDURE get_locality_892_itpay
3757: (p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
3758: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type
3759: ,p_new_basic_pay IN NUMBER
3760: ,p_new_adj_basic_pay OUT NOCOPY NUMBER
3761: ,p_new_locality_adj OUT NOCOPY NUMBER) IS
3762:

Line 3796: WHERE utb.user_table_name = ghr_pay_calc.l_standard_table_name;

3792:
3793: CURSOR get_std_user_table_id IS
3794: SELECT utb.user_table_id
3795: FROM pay_user_tables utb
3796: WHERE utb.user_table_name = ghr_pay_calc.l_standard_table_name;
3797:
3798: ----
3799: l_assignment_id per_assignments_f.assignment_id%type;
3800: l_value varchar2(60);

Line 3932: FUNCTION fwfa_pay_calc(p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type

3928: END get_locality_892_itpay;
3929:
3930: -- FWFA Changes. Created procedures get_special_pay_table_value, special_rate_pay_calc
3931: -- Create function fwfa_pay_calc
3932: FUNCTION fwfa_pay_calc(p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
3933: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type)
3934: RETURN BOOLEAN IS
3935: CURSOR cur_ppl(p_pay_plan VARCHAR2) IS
3936: SELECT 1

Line 3933: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type)

3929:
3930: -- FWFA Changes. Created procedures get_special_pay_table_value, special_rate_pay_calc
3931: -- Create function fwfa_pay_calc
3932: FUNCTION fwfa_pay_calc(p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
3933: ,p_retained_grade IN ghr_pay_calc.retained_grade_rec_type)
3934: RETURN BOOLEAN IS
3935: CURSOR cur_ppl(p_pay_plan VARCHAR2) IS
3936: SELECT 1
3937: FROM ghr_pay_plans ppl

Line 3980: l_user_table_name := ghr_pay_calc.get_user_table_name(l_user_table_id);

3976: END LOOP;
3977:
3978:
3979: IF p_pay_calc_data.effective_date >= to_date('2005/05/01','YYYY/MM/DD') THEN
3980: l_user_table_name := ghr_pay_calc.get_user_table_name(l_user_table_id);
3981: --
3982: FOR cur_ppl_rec IN cur_ppl(l_pay_plan)
3983: LOOP
3984: l_gs_equivalent := TRUE;

Line 3998: IF l_user_table_name NOT IN (ghr_pay_calc.l_standard_table_name,ghr_pay_calc.l_spl491_table_name) AND

3994: g_fwfa_pay_calc_flag := FALSE;
3995: RETURN FALSE;
3996: END IF;
3997: ELSE
3998: IF l_user_table_name NOT IN (ghr_pay_calc.l_standard_table_name,ghr_pay_calc.l_spl491_table_name) AND
3999: l_gs_equivalent THEN
4000: g_fwfa_pay_calc_flag := TRUE;
4001: RETURN TRUE;
4002: ELSE

Line 4086: PROCEDURE special_rate_pay_calc(p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type

4082: RAISE;
4083: --
4084: END get_special_pay_table_value;
4085:
4086: PROCEDURE special_rate_pay_calc(p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
4087: ,p_pay_calc_out_data OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type
4088: ,p_retained_grade IN OUT NOCOPY ghr_pay_calc.retained_grade_rec_type) IS
4089:
4090: l_new_prd VARCHAR2(30);

Line 4087: ,p_pay_calc_out_data OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type

4083: --
4084: END get_special_pay_table_value;
4085:
4086: PROCEDURE special_rate_pay_calc(p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
4087: ,p_pay_calc_out_data OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type
4088: ,p_retained_grade IN OUT NOCOPY ghr_pay_calc.retained_grade_rec_type) IS
4089:
4090: l_new_prd VARCHAR2(30);
4091: l_new_step VARCHAR2(30);

Line 4088: ,p_retained_grade IN OUT NOCOPY ghr_pay_calc.retained_grade_rec_type) IS

4084: END get_special_pay_table_value;
4085:
4086: PROCEDURE special_rate_pay_calc(p_pay_calc_data IN ghr_pay_calc.pay_calc_in_rec_type
4087: ,p_pay_calc_out_data OUT NOCOPY ghr_pay_calc.pay_calc_out_rec_type
4088: ,p_retained_grade IN OUT NOCOPY ghr_pay_calc.retained_grade_rec_type) IS
4089:
4090: l_new_prd VARCHAR2(30);
4091: l_new_step VARCHAR2(30);
4092: l_term_ret_pay_prd BOOLEAN;

Line 4242: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;

4238: g_pay_table_upd_flag := FALSE;
4239: ELSE
4240: p_position_pay_table := p_special_rate_table;
4241: p_new_prd := '6';
4242: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4243: g_pay_table_upd_flag := FALSE;
4244: END IF;
4245: ELSIF p_pp_grd_exists AND p_pt_value IS NULL THEN
4246: p_position_pay_table := p_special_rate_table;

Line 4248: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;

4244: END IF;
4245: ELSIF p_pp_grd_exists AND p_pt_value IS NULL THEN
4246: p_position_pay_table := p_special_rate_table;
4247: p_new_prd := '6';
4248: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4249: g_pay_table_upd_flag := FALSE;
4250: ELSE
4251: p_position_pay_table := ghr_pay_calc.l_spl491_table_name;
4252: p_new_prd := '6';

Line 4251: p_position_pay_table := ghr_pay_calc.l_spl491_table_name;

4247: p_new_prd := '6';
4248: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4249: g_pay_table_upd_flag := FALSE;
4250: ELSE
4251: p_position_pay_table := ghr_pay_calc.l_spl491_table_name;
4252: p_new_prd := '6';
4253: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4254: g_pay_table_upd_flag := TRUE;
4255: END IF;

Line 4253: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;

4249: g_pay_table_upd_flag := FALSE;
4250: ELSE
4251: p_position_pay_table := ghr_pay_calc.l_spl491_table_name;
4252: p_new_prd := '6';
4253: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4254: g_pay_table_upd_flag := TRUE;
4255: END IF;
4256: ELSIF p_prd IN ('E','F') THEN
4257: IF p_pp_grd_exists AND p_pt_value IS NOT NULL THEN

Line 4266: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;

4262: g_pay_table_upd_flag := FALSE;
4263: ELSE
4264: p_retained_pay_table := p_special_rate_table;
4265: p_new_prd := p_prd;
4266: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4267: g_pay_table_upd_flag := FALSE;
4268: END IF;
4269: ELSIF p_pp_grd_exists AND p_pt_value IS NULL THEN
4270: p_retained_pay_table := p_special_rate_table;

Line 4272: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;

4268: END IF;
4269: ELSIF p_pp_grd_exists AND p_pt_value IS NULL THEN
4270: p_retained_pay_table := p_special_rate_table;
4271: p_new_prd := p_prd;
4272: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4273: g_pay_table_upd_flag := FALSE;
4274: ELSE
4275: p_retained_pay_table := ghr_pay_calc.l_spl491_table_name;
4276: p_new_prd := p_prd;

Line 4275: p_retained_pay_table := ghr_pay_calc.l_spl491_table_name;

4271: p_new_prd := p_prd;
4272: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4273: g_pay_table_upd_flag := FALSE;
4274: ELSE
4275: p_retained_pay_table := ghr_pay_calc.l_spl491_table_name;
4276: p_new_prd := p_prd;
4277: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4278: g_pay_table_upd_flag := TRUE;
4279: END IF;

Line 4277: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;

4273: g_pay_table_upd_flag := FALSE;
4274: ELSE
4275: p_retained_pay_table := ghr_pay_calc.l_spl491_table_name;
4276: p_new_prd := p_prd;
4277: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4278: g_pay_table_upd_flag := TRUE;
4279: END IF;
4280: ELSIF p_prd IN ('3','4','J','K','U','V','R','Y') THEN --bug 4999237 -- Bug# 9255822 added PRD Y
4281: IF NOT(p_pp_grd_exists) THEN

Line 4282: p_position_pay_table := ghr_pay_calc.l_spl491_table_name;

4278: g_pay_table_upd_flag := TRUE;
4279: END IF;
4280: ELSIF p_prd IN ('3','4','J','K','U','V','R','Y') THEN --bug 4999237 -- Bug# 9255822 added PRD Y
4281: IF NOT(p_pp_grd_exists) THEN
4282: p_position_pay_table := ghr_pay_calc.l_spl491_table_name;
4283: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4284: g_pay_table_upd_flag := TRUE;
4285: ELSE
4286: p_position_pay_table := p_special_rate_table;

Line 4283: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;

4279: END IF;
4280: ELSIF p_prd IN ('3','4','J','K','U','V','R','Y') THEN --bug 4999237 -- Bug# 9255822 added PRD Y
4281: IF NOT(p_pp_grd_exists) THEN
4282: p_position_pay_table := ghr_pay_calc.l_spl491_table_name;
4283: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4284: g_pay_table_upd_flag := TRUE;
4285: ELSE
4286: p_position_pay_table := p_special_rate_table;
4287: g_pay_table_upd_flag := FALSE;

Line 4304: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;

4300: g_pay_table_upd_flag := FALSE;
4301: ELSE
4302: p_position_pay_table := p_special_rate_table;
4303: p_new_prd := p_prd;
4304: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4305: g_pay_table_upd_flag := FALSE;
4306: END IF;
4307: ELSIF p_pp_grd_exists AND p_pt_value IS NULL THEN
4308: p_position_pay_table := p_special_rate_table;

Line 4310: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;

4306: END IF;
4307: ELSIF p_pp_grd_exists AND p_pt_value IS NULL THEN
4308: p_position_pay_table := p_special_rate_table;
4309: p_new_prd := p_prd;
4310: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4311: g_pay_table_upd_flag := FALSE;
4312: ELSE
4313: p_position_pay_table := ghr_pay_calc.l_spl491_table_name;
4314: p_new_prd := p_prd;

Line 4313: p_position_pay_table := ghr_pay_calc.l_spl491_table_name;

4309: p_new_prd := p_prd;
4310: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4311: g_pay_table_upd_flag := FALSE;
4312: ELSE
4313: p_position_pay_table := ghr_pay_calc.l_spl491_table_name;
4314: p_new_prd := p_prd;
4315: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4316: g_pay_table_upd_flag := TRUE;
4317: END IF;

Line 4315: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;

4311: g_pay_table_upd_flag := FALSE;
4312: ELSE
4313: p_position_pay_table := ghr_pay_calc.l_spl491_table_name;
4314: p_new_prd := p_prd;
4315: p_calculation_pay_table := ghr_pay_calc.l_spl491_table_name;
4316: g_pay_table_upd_flag := TRUE;
4317: END IF;
4318: IF p_prd = '0' THEN
4319: p_new_prd := '6';

Line 4338: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;

4334: g_pay_table_upd_flag := FALSE;
4335: ELSE
4336: p_position_pay_table := p_special_rate_table;
4337: p_new_prd := '0';
4338: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4339: g_pay_table_upd_flag := FALSE;
4340: END IF;
4341: ELSIF p_pp_grd_exists AND p_pt_value IS NULL THEN
4342: p_position_pay_table := p_special_rate_table;

Line 4344: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;

4340: END IF;
4341: ELSIF p_pp_grd_exists AND p_pt_value IS NULL THEN
4342: p_position_pay_table := p_special_rate_table;
4343: p_new_prd := '0';
4344: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4345: g_pay_table_upd_flag := FALSE;
4346: ELSE
4347: p_position_pay_table := ghr_pay_calc.l_standard_table_name;
4348: p_new_prd := '0';

Line 4347: p_position_pay_table := ghr_pay_calc.l_standard_table_name;

4343: p_new_prd := '0';
4344: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4345: g_pay_table_upd_flag := FALSE;
4346: ELSE
4347: p_position_pay_table := ghr_pay_calc.l_standard_table_name;
4348: p_new_prd := '0';
4349: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4350: g_pay_table_upd_flag := TRUE;
4351: END IF;

Line 4349: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;

4345: g_pay_table_upd_flag := FALSE;
4346: ELSE
4347: p_position_pay_table := ghr_pay_calc.l_standard_table_name;
4348: p_new_prd := '0';
4349: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4350: g_pay_table_upd_flag := TRUE;
4351: END IF;
4352: ELSIF p_prd IN ('E','F') THEN
4353: IF p_pp_grd_exists AND p_pt_value IS NOT NULL THEN

Line 4366: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;

4362: p_new_prd := 'A';
4363: ELSIF p_prd = 'F' THEN
4364: p_new_prd := 'B';
4365: END IF;
4366: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4367: g_pay_table_upd_flag := FALSE;
4368: END IF;
4369: ELSIF p_pp_grd_exists AND p_pt_value IS NULL THEN
4370: p_retained_pay_table := p_special_rate_table;

Line 4376: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;

4372: p_new_prd := 'A';
4373: ELSIF p_prd = 'F' THEN
4374: p_new_prd := 'B';
4375: END IF;
4376: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4377: g_pay_table_upd_flag := FALSE;
4378: ELSE
4379: p_retained_pay_table := ghr_pay_calc.l_standard_table_name;
4380: IF p_prd = 'E' THEN

Line 4379: p_retained_pay_table := ghr_pay_calc.l_standard_table_name;

4375: END IF;
4376: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4377: g_pay_table_upd_flag := FALSE;
4378: ELSE
4379: p_retained_pay_table := ghr_pay_calc.l_standard_table_name;
4380: IF p_prd = 'E' THEN
4381: p_new_prd := 'A';
4382: ELSIF p_prd = 'F' THEN
4383: p_new_prd := 'B';

Line 4385: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;

4381: p_new_prd := 'A';
4382: ELSIF p_prd = 'F' THEN
4383: p_new_prd := 'B';
4384: END IF;
4385: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4386: g_pay_table_upd_flag := TRUE;
4387: END IF;
4388: ELSIF p_prd IN ('3','4','J','K','U','V','R','Y') THEN -- Bug# 9255822 added PRD Y
4389: IF NOT(p_pp_grd_exists) THEN

Line 4390: p_position_pay_table := ghr_pay_calc.l_standard_table_name;

4386: g_pay_table_upd_flag := TRUE;
4387: END IF;
4388: ELSIF p_prd IN ('3','4','J','K','U','V','R','Y') THEN -- Bug# 9255822 added PRD Y
4389: IF NOT(p_pp_grd_exists) THEN
4390: p_position_pay_table := ghr_pay_calc.l_standard_table_name;
4391: g_pay_table_upd_flag := TRUE;
4392: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4393: ELSE
4394: p_position_pay_table := p_special_rate_table;

Line 4392: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;

4388: ELSIF p_prd IN ('3','4','J','K','U','V','R','Y') THEN -- Bug# 9255822 added PRD Y
4389: IF NOT(p_pp_grd_exists) THEN
4390: p_position_pay_table := ghr_pay_calc.l_standard_table_name;
4391: g_pay_table_upd_flag := TRUE;
4392: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4393: ELSE
4394: p_position_pay_table := p_special_rate_table;
4395: g_pay_table_upd_flag := FALSE;
4396: p_calculation_pay_table := p_special_rate_table;

Line 4420: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;

4416: g_pay_table_upd_flag := FALSE;
4417: ELSE
4418: p_position_pay_table := p_special_rate_table;
4419: p_new_prd := p_prd;
4420: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4421: g_pay_table_upd_flag := FALSE;
4422: END IF;
4423: ELSIF p_pp_grd_exists AND p_pt_value IS NULL THEN
4424: p_position_pay_table := p_special_rate_table;

Line 4426: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;

4422: END IF;
4423: ELSIF p_pp_grd_exists AND p_pt_value IS NULL THEN
4424: p_position_pay_table := p_special_rate_table;
4425: p_new_prd := p_prd;
4426: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4427: g_pay_table_upd_flag := FALSE;
4428: ELSE
4429: p_position_pay_table := ghr_pay_calc.l_standard_table_name;
4430: p_new_prd := p_prd;

Line 4429: p_position_pay_table := ghr_pay_calc.l_standard_table_name;

4425: p_new_prd := p_prd;
4426: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4427: g_pay_table_upd_flag := FALSE;
4428: ELSE
4429: p_position_pay_table := ghr_pay_calc.l_standard_table_name;
4430: p_new_prd := p_prd;
4431: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4432: g_pay_table_upd_flag := TRUE;
4433: END IF;

Line 4431: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;

4427: g_pay_table_upd_flag := FALSE;
4428: ELSE
4429: p_position_pay_table := ghr_pay_calc.l_standard_table_name;
4430: p_new_prd := p_prd;
4431: p_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4432: g_pay_table_upd_flag := TRUE;
4433: END IF;
4434: END IF;
4435: END IF;

Line 4455: raise ghr_pay_calc.unable_to_calculate;

4451: in ('2','C','M','P','R','S') then
4452: p_pay_calc_out_data.open_pay_fields := TRUE;
4453: hr_utility.set_message(8301, 'GHR_38254_NO_CALC_PRD');
4454: hr_utility.set_message_token('PRD',p_pay_calc_data.pay_rate_determinant);
4455: raise ghr_pay_calc.unable_to_calculate;
4456: end if;
4457: end if;
4458: ---
4459:

Line 4493: l_user_table_name := ghr_pay_calc.get_user_table_name(l_user_table_id);

4489: --Begin Bug 7046241
4490: l_gr_pay_plan := FALSE;
4491: --End Bug 7046241
4492: -- 2. Get the user table name into local variable
4493: l_user_table_name := ghr_pay_calc.get_user_table_name(l_user_table_id);
4494: hr_utility.set_location('user table name:' ||l_user_table_name,30);
4495: -- 3. Get the Locality Percentage Value
4496: l_adjustment_percentage := NVL(ghr_pay_calc.get_lpa_percentage(p_pay_calc_data.duty_station_id
4497: ,p_pay_calc_data.effective_date),0);

Line 4496: l_adjustment_percentage := NVL(ghr_pay_calc.get_lpa_percentage(p_pay_calc_data.duty_station_id

4492: -- 2. Get the user table name into local variable
4493: l_user_table_name := ghr_pay_calc.get_user_table_name(l_user_table_id);
4494: hr_utility.set_location('user table name:' ||l_user_table_name,30);
4495: -- 3. Get the Locality Percentage Value
4496: l_adjustment_percentage := NVL(ghr_pay_calc.get_lpa_percentage(p_pay_calc_data.duty_station_id
4497: ,p_pay_calc_data.effective_date),0);
4498: hr_utility.set_location('l_adjustment_percentage ..' || to_char(l_adjustment_percentage),31);
4499: l_adj_perc_factor := l_adjustment_percentage/100;
4500: hr_utility.set_location('l_adj_perc_factor ..' || to_char(l_adj_perc_factor),32);

Line 4507: IF (ghr_pay_calc.LEO_position (l_dummy

4503:
4504: -- Check LEO Posiiton or NOT
4505: -- Bug#4709111 Modified p_pay_calc_data.grade_or_level to l_grade_or_level.
4506: -- Bug#5089732 Treat all the positions with pay plan GL as LEO Positions.
4507: IF (ghr_pay_calc.LEO_position (l_dummy
4508: ,p_pay_calc_data.position_id
4509: ,l_dummy
4510: ,l_dummy
4511: ,p_pay_calc_data.effective_date)

Line 4515: l_default_pay_table := ghr_pay_calc.l_spl491_table_name;

4511: ,p_pay_calc_data.effective_date)
4512: AND l_grade_or_level between 03 and 10) OR
4513: l_pay_plan = 'GL' THEN
4514: l_leo_flag := TRUE;
4515: l_default_pay_table := ghr_pay_calc.l_spl491_table_name;
4516: ELSE
4517: l_leo_flag := FALSE;
4518: l_default_pay_table := ghr_pay_calc.l_standard_table_name;
4519: END IF;

Line 4518: l_default_pay_table := ghr_pay_calc.l_standard_table_name;

4514: l_leo_flag := TRUE;
4515: l_default_pay_table := ghr_pay_calc.l_spl491_table_name;
4516: ELSE
4517: l_leo_flag := FALSE;
4518: l_default_pay_table := ghr_pay_calc.l_standard_table_name;
4519: END IF;
4520:
4521:
4522: --Bug #5919700 For 890 action and GM Pay plan GS should be considered

Line 4539: IF l_default_pay_table = ghr_pay_calc.l_spl491_table_name AND

4535: END IF;
4536:
4537:
4538: -- Bug#5741977 - Set the default Pay Plan as GL as GS, GG are end dated in 0491 table.
4539: IF l_default_pay_table = ghr_pay_calc.l_spl491_table_name AND
4540: l_pay_plan IN ('GS','GG') AND
4541: p_pay_calc_data.effective_date >= to_date('2007/01/07','YYYY/MM/DD') THEN
4542: l_default_pay_plan := 'GL';
4543: ------ Bug#5741977 start

Line 4581: raise ghr_pay_calc.unable_to_calculate;

4577: IF p_pay_calc_data.noa_code NOT IN ('894','890') then
4578: p_pay_calc_out_data.open_pay_fields := TRUE;
4579: hr_utility.set_message(8301, 'GHR_38254_NO_CALC_PRD');
4580: hr_utility.set_message_token('PRD',p_pay_calc_data.pay_rate_determinant);
4581: raise ghr_pay_calc.unable_to_calculate;
4582: END IF;
4583: --Bug# 9258929
4584: -- Get From assignment id and position id using person_id and effective date
4585: ghr_history_api.get_g_session_var(l_session);

Line 4720: ghr_pay_calc.get_pay_table_value(p_user_table_id =>l_default_table_id

4716: l_special_rate := l_basic_pay;
4717: hr_utility.set_location('GOt Current Years Special Pay Table Value at step 10'|| l_special_rate,7788);
4718: --Now Get current Years's default pay table value.for max rate....BUG# 4999237.
4719: hr_utility.set_location('Now Get current Years default pay table value.for max rate.',7788);
4720: ghr_pay_calc.get_pay_table_value(p_user_table_id =>l_default_table_id
4721: ,p_pay_plan =>l_default_pay_plan
4722: ,p_grade_or_level =>l_grade_or_level
4723: ,p_step_or_rate =>'10'
4724: ,p_effective_date =>p_pay_calc_data.effective_date

Line 4760: l_old_adj_perc_factor := (NVL(ghr_pay_calc.get_lpa_percentage(p_pay_calc_data.duty_station_id

4756: -- has been moved to before if condition as it is used in both if and else condition
4757: --Pick the special rate ......BUG# 4999237.
4758: --From Now on Calculation is as usual...BUG# 4999237.
4759: --get previous year's special rate value.at step 10 ....BUG# 4999237.
4760: l_old_adj_perc_factor := (NVL(ghr_pay_calc.get_lpa_percentage(p_pay_calc_data.duty_station_id
4761: ,p_pay_calc_data.effective_date - 1
4762: ),0))/100;
4763:
4764:

Line 4771: ghr_pay_calc.get_pay_table_value(p_user_table_id =>l_default_table_id

4767: hr_utility.set_location('l_default_table_id: '||l_default_table_id,95);
4768: hr_utility.set_location(' l_pay_plan: '||l_pay_plan,95);
4769: hr_utility.set_location(' l_default_pay_plan: '||l_default_pay_plan,95);
4770: hr_utility.set_location(' l_grade_or_level: '||l_grade_or_level,95);
4771: ghr_pay_calc.get_pay_table_value(p_user_table_id =>l_default_table_id
4772: ,p_pay_plan =>l_default_pay_plan
4773: ,p_grade_or_level =>l_grade_or_level
4774: ,p_step_or_rate => '10'
4775: ,p_effective_date =>p_pay_calc_data.effective_date - 1

Line 4807: l_user_table_name NOT IN (ghr_pay_calc.l_standard_table_name,ghr_pay_calc.l_spl491_table_name) THEN

4803: l_old_special_rate := l_old_adj_basic_pay;
4804: END IF;
4805:
4806: IF l_old_special_rate IS NOT NULL AND l_special_rate IS NOT NULL AND
4807: l_user_table_name NOT IN (ghr_pay_calc.l_standard_table_name,ghr_pay_calc.l_spl491_table_name) THEN
4808:
4809: l_increment := Round((l_special_rate - l_old_special_rate)/2,0);
4810: hr_utility.set_location('INCREMENTED HALF VALUE'||l_increment,7788);
4811: l_new_basic_pay := p_pay_calc_data.current_basic_pay + l_increment;

Line 4835: ghr_pay_calc.get_pay_table_value(p_user_table_id =>l_default_table_id

4831: IF l_new_basic_pay <= l_special_rate THEN
4832: l_new_adj_basic_pay := l_special_rate;
4833: hr_utility.set_location('SPECIAL RATE IS GREATER'||l_special_rate,7788);
4834: hr_utility.set_location('get current value for step10 in default table',7788);
4835: ghr_pay_calc.get_pay_table_value(p_user_table_id =>l_default_table_id
4836: ,p_pay_plan =>l_default_pay_plan
4837: ,p_grade_or_level =>l_grade_or_level
4838: ,p_step_or_rate => '10'
4839: ,p_effective_date =>p_pay_calc_data.effective_date

Line 4909: IF l_term_ret_pay_prd and l_gr_pay_plan and l_calculation_pay_table = ghr_pay_calc.l_standard_table_name then

4905: END IF; --IF NVL(l_special_rate,0)
4906:
4907: -- Set the PRD if Pay Retention is terminated.
4908: -- 7046241
4909: IF l_term_ret_pay_prd and l_gr_pay_plan and l_calculation_pay_table = ghr_pay_calc.l_standard_table_name then
4910: ghr_history_fetch.fetch_positionei(
4911: p_position_id => p_pay_calc_data.position_id,
4912: p_information_type => 'GHR_US_POS_VALID_GRADE',
4913: p_date_effective => p_pay_calc_data.effective_date,

Line 4926: IF l_calculation_pay_table = ghr_pay_calc.l_standard_table_name THEN

4922: END IF;
4923: -- 7046241
4924: IF l_term_ret_pay_prd THEN
4925: IF p_pay_calc_data.pay_rate_determinant IN ('3','4','J','K','R','Y') THEN -- Bug# 9255822 added PRD Y
4926: IF l_calculation_pay_table = ghr_pay_calc.l_standard_table_name THEN
4927: l_new_prd := '0';
4928: ELSE
4929: l_new_prd := '6';
4930: END IF;

Line 4932: IF l_calculation_pay_table = ghr_pay_calc.l_standard_table_name THEN

4928: ELSE
4929: l_new_prd := '6';
4930: END IF;
4931: ELSIF p_pay_calc_data.pay_rate_determinant = 'U' THEN
4932: IF l_calculation_pay_table = ghr_pay_calc.l_standard_table_name THEN
4933: l_new_prd := 'B';
4934: ELSE
4935: l_new_prd := 'F';
4936: END IF;

Line 4938: IF l_calculation_pay_table = ghr_pay_calc.l_standard_table_name THEN

4934: ELSE
4935: l_new_prd := 'F';
4936: END IF;
4937: ELSIF p_pay_calc_data.pay_rate_determinant = 'V' THEN
4938: IF l_calculation_pay_table = ghr_pay_calc.l_standard_table_name THEN
4939: l_new_prd := 'A';
4940: ELSE
4941: l_new_prd := 'E';
4942: END IF;

Line 4976: raise ghr_pay_calc.unable_to_calculate;

4972: IF p_pay_calc_data.noa_family_code IN ('APP','CHG_DUTY_STATION','CONV_APP','EXT_NTE','POS_CHG'
4973: ,'REALIGNMENT','REASSIGNMENT', 'RETURN_TO_DUTY') THEN
4974: hr_utility.set_message(8301, 'GHR_38260_NO_CALC_PAY_PLAN');
4975: hr_utility.set_message_token('PAY_PLAN',l_pay_plan);
4976: raise ghr_pay_calc.unable_to_calculate;
4977: END IF;
4978: -- Added this IF condition Bug#5114467
4979: IF l_pay_plan NOT IN ('GM','GR') THEN
4980: --Bug# 7518210 added GR

Line 4981: l_new_Position_Pay_Table := ghr_pay_calc.l_standard_table_name;

4977: END IF;
4978: -- Added this IF condition Bug#5114467
4979: IF l_pay_plan NOT IN ('GM','GR') THEN
4980: --Bug# 7518210 added GR
4981: l_new_Position_Pay_Table := ghr_pay_calc.l_standard_table_name;
4982: l_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4983: g_pay_table_upd_flag := TRUE;
4984: l_new_prd := '0';
4985: l_new_basic_pay := ROUND(p_pay_calc_data.current_adj_basic_pay / (1 + l_adj_perc_factor),0);

Line 4982: l_calculation_pay_table := ghr_pay_calc.l_standard_table_name;

4978: -- Added this IF condition Bug#5114467
4979: IF l_pay_plan NOT IN ('GM','GR') THEN
4980: --Bug# 7518210 added GR
4981: l_new_Position_Pay_Table := ghr_pay_calc.l_standard_table_name;
4982: l_calculation_pay_table := ghr_pay_calc.l_standard_table_name;
4983: g_pay_table_upd_flag := TRUE;
4984: l_new_prd := '0';
4985: l_new_basic_pay := ROUND(p_pay_calc_data.current_adj_basic_pay / (1 + l_adj_perc_factor),0);
4986: l_new_locality_adj := ROUND(l_new_basic_pay * l_adj_perc_factor);

Line 5131: IF l_user_table_name IN (ghr_pay_calc.l_standard_table_name,ghr_pay_calc.l_spl491_table_name) THEN

5127: l_new_adj_basic_pay := l_new_basic_pay + l_new_locality_adj;
5128: l_calculation_pay_table := get_user_table_name(l_user_table_id);
5129: ELSE --End Bug# 5608741
5130: -- Processing of NOACs other than WGI/QSI
5131: IF l_user_table_name IN (ghr_pay_calc.l_standard_table_name,ghr_pay_calc.l_spl491_table_name) THEN
5132: l_pay_calc_process := 'L';
5133: ELSE
5134: hr_utility.set_location('user tbale id: '||to_char(l_user_table_id),40);
5135: hr_utility.set_location('pay Plan: '||l_pay_plan,50);

Line 5148: ghr_pay_calc.get_pay_table_value(p_user_table_id =>l_default_table_id

5144: ,p_PT_eff_start_date => l_pt_eff_start_date
5145: ,p_PT_eff_end_date => l_pt_eff_end_date
5146: ,p_pp_grd_exists => l_pp_grd_exists );
5147: hr_utility.set_location('value '||to_char(l_pt_value),80);
5148: ghr_pay_calc.get_pay_table_value(p_user_table_id =>l_default_table_id
5149: ,p_pay_plan =>l_default_pay_plan
5150: ,p_grade_or_level =>l_grade_or_level
5151: ,p_step_or_rate =>l_step_or_rate
5152: ,p_effective_date =>p_pay_calc_data.effective_date

Line 5212: ghr_pay_calc.get_pay_table_value(p_user_table_id => l_default_table_id

5208:
5209:
5210: -- get_basic_pay
5211: hr_utility.set_location('2. l_step_or_rate: '||l_step_or_rate,999999);
5212: ghr_pay_calc.get_pay_table_value(p_user_table_id => l_default_table_id
5213: ,p_pay_plan => l_default_pay_plan
5214: ,p_grade_or_level => l_grade_or_level
5215: ,p_step_or_rate => l_step_or_rate
5216: ,p_effective_date => p_pay_calc_data.effective_date

Line 5247: IF l_calculation_pay_table = ghr_pay_calc.l_spl491_table_name AND

5243: hr_utility.set_location('new ADJ BA : '||to_char(l_new_adj_basic_pay),30);
5244: hr_utility.set_location('new PRD : '||l_new_prd,40);
5245: hr_utility.set_location('new Step : '||l_new_step,50);
5246: --Bug#5089732 Set the Pay Rate Determinant for GL,GG Pay Plans
5247: IF l_calculation_pay_table = ghr_pay_calc.l_spl491_table_name AND
5248: l_pay_plan IN ('GL','GG') AND
5249: l_new_prd IN ('6','E','F') THEN
5250: IF l_new_prd = '6' THEN
5251: l_new_prd := '0';

Line 5266: IF l_calculation_pay_table <> ghr_pay_calc.l_standard_table_name THEN

5262: -- And Code for determining Calculation pay table For Regular Emp. in GM pay table and 894 action
5263: IF l_pay_plan = 'GM' AND p_pay_calc_data.noa_code= 894 THEN
5264: -- AC : Bug#5725928 - Added the condition so that the pay adjustment process should be
5265: -- doing the comparison of locality verses special rate only if the pay table is not 0000
5266: IF l_calculation_pay_table <> ghr_pay_calc.l_standard_table_name THEN
5267: IF l_new_locality_adj > l_new_special_rate THEN
5268: l_new_prd := '0';
5269: ELSE
5270: l_new_prd := '6';

Line 5347: l_retained_grade_rec ghr_pay_calc.retained_grade_rec_type;

5343: l_locality_adj NUMBER;
5344: l_leo_flag BOOLEAN;
5345: l_std_user_table_id NUMBER;
5346: l_std_user_table_name varchar2(80);
5347: l_retained_grade_rec ghr_pay_calc.retained_grade_rec_type;
5348: l_pay_plan VARCHAR2(10);
5349: l_pay_basis VARCHAR2(10);
5350: l_grade_or_level VARCHAR2(60);
5351: l_user_table_id NUMBER;

Line 5429: l_pay_table := SUBSTR(ghr_pay_calc.get_user_table_name(l_user_table_id),1,4);

5425: ELSE
5426: p_award_salary := ROUND(p_adj_basic_pay);
5427: END IF;
5428: ELSE ---IF p_prd not in('3','4'
5429: l_pay_table := SUBSTR(ghr_pay_calc.get_user_table_name(l_user_table_id),1,4);
5430:
5431: IF (l_equivalent_pay_plan = 'GS') THEN
5432:
5433: --bug #5529825

Line 5460: IF ghr_pay_calc.LEO_position (p_prd

5456: --code for getting default table values......
5457:
5458:
5459:
5460: IF ghr_pay_calc.LEO_position (p_prd
5461: ,p_position_id
5462: ,l_std_user_table_id
5463: ,p_duty_station_id
5464: ,p_effective_date)

Line 5466: l_std_user_table_name := Ghr_pay_calc.l_spl491_table_name;

5462: ,l_std_user_table_id
5463: ,p_duty_station_id
5464: ,p_effective_date)
5465: AND p_grade_or_level between 03 and 10 THEN
5466: l_std_user_table_name := Ghr_pay_calc.l_spl491_table_name;
5467:
5468: ELSE
5469: l_std_user_table_name := Ghr_pay_calc.l_standard_table_name;
5470:

Line 5469: l_std_user_table_name := Ghr_pay_calc.l_standard_table_name;

5465: AND p_grade_or_level between 03 and 10 THEN
5466: l_std_user_table_name := Ghr_pay_calc.l_spl491_table_name;
5467:
5468: ELSE
5469: l_std_user_table_name := Ghr_pay_calc.l_standard_table_name;
5470:
5471: END IF;
5472: FOR c_rec IN get_user_table_id(l_std_user_table_name) LOOP
5473: l_std_user_table_id := c_rec.user_table_id;

Line 5476: ghr_pay_calc.get_pay_table_value (p_user_table_id => l_std_user_table_id

5472: FOR c_rec IN get_user_table_id(l_std_user_table_name) LOOP
5473: l_std_user_table_id := c_rec.user_table_id;
5474: END LOOP;
5475:
5476: ghr_pay_calc.get_pay_table_value (p_user_table_id => l_std_user_table_id
5477: ,p_pay_plan => l_pay_plan
5478: ,p_grade_or_level => l_grade_or_level
5479: ,p_step_or_rate => l_max_step
5480: ,p_effective_date => p_effective_date

Line 5486: l_adjustment_percentage := NVL(ghr_pay_calc.get_lpa_percentage(p_duty_station_id,p_effective_date),0);

5482: ,p_PT_eff_start_date => l_PT_eff_start_date
5483: ,p_PT_eff_end_date => l_PT_eff_end_date
5484: );
5485: hr_utility.set_location('default rate '||l_PT_value,8877);
5486: l_adjustment_percentage := NVL(ghr_pay_calc.get_lpa_percentage(p_duty_station_id,p_effective_date),0);
5487: hr_utility.set_location('l_adjustment_percentage '||l_adjustment_percentage,8877);
5488: l_locality_adj := l_PT_value * (NVL(l_adjustment_percentage,0)/100);
5489:
5490: l_pt_value := l_pt_value + l_locality_adj;

Line 5501: ghr_pay_calc.get_pay_table_value ( p_user_table_id => l_user_table_id

5497: end if;
5498: ELSIF l_pay_table IN('0491','0000') THEN
5499:
5500: BEGIN
5501: ghr_pay_calc.get_pay_table_value ( p_user_table_id => l_user_table_id
5502: ,p_pay_plan => l_pay_plan
5503: ,p_grade_or_level => l_grade_or_level
5504: ,p_step_or_rate => l_max_step
5505: ,p_effective_date => p_effective_date

Line 5510: l_adjustment_percentage := NVL(ghr_pay_calc.get_lpa_percentage(p_duty_station_id

5506: ,p_PT_value => l_PT_value
5507: ,p_PT_eff_start_date => l_PT_eff_start_date
5508: ,p_PT_eff_end_date => l_PT_eff_end_date);
5509:
5510: l_adjustment_percentage := NVL(ghr_pay_calc.get_lpa_percentage(p_duty_station_id
5511: ,p_effective_date),0);
5512:
5513: l_locality_adj := l_PT_value * (NVL(l_adjustment_percentage,0)/100);
5514:

Line 5518: WHEN ghr_pay_calc.pay_calc_message THEN

5514:
5515: p_award_salary := ROUND(l_PT_value+l_locality_adj);
5516:
5517: EXCEPTION
5518: WHEN ghr_pay_calc.pay_calc_message THEN
5519: BEGIN
5520: IF ghr_pay_calc.LEO_position (p_prd
5521: ,p_position_id
5522: ,l_std_user_table_id

Line 5520: IF ghr_pay_calc.LEO_position (p_prd

5516:
5517: EXCEPTION
5518: WHEN ghr_pay_calc.pay_calc_message THEN
5519: BEGIN
5520: IF ghr_pay_calc.LEO_position (p_prd
5521: ,p_position_id
5522: ,l_std_user_table_id
5523: ,p_duty_station_id
5524: ,p_effective_date)

Line 5526: l_std_user_table_name := Ghr_pay_calc.l_spl491_table_name;

5522: ,l_std_user_table_id
5523: ,p_duty_station_id
5524: ,p_effective_date)
5525: AND p_grade_or_level between 03 and 10 THEN
5526: l_std_user_table_name := Ghr_pay_calc.l_spl491_table_name;
5527:
5528: ELSE
5529: l_std_user_table_name := Ghr_pay_calc.l_standard_table_name;
5530:

Line 5529: l_std_user_table_name := Ghr_pay_calc.l_standard_table_name;

5525: AND p_grade_or_level between 03 and 10 THEN
5526: l_std_user_table_name := Ghr_pay_calc.l_spl491_table_name;
5527:
5528: ELSE
5529: l_std_user_table_name := Ghr_pay_calc.l_standard_table_name;
5530:
5531: END IF;
5532: FOR c_rec IN get_user_table_id(l_std_user_table_name) LOOP
5533: l_std_user_table_id := c_rec.user_table_id;

Line 5535: ghr_pay_calc.get_pay_table_value ( p_user_table_id => l_std_user_table_id

5531: END IF;
5532: FOR c_rec IN get_user_table_id(l_std_user_table_name) LOOP
5533: l_std_user_table_id := c_rec.user_table_id;
5534: END LOOP;
5535: ghr_pay_calc.get_pay_table_value ( p_user_table_id => l_std_user_table_id
5536: ,p_pay_plan => l_pay_plan
5537: ,p_grade_or_level => l_grade_or_level
5538: ,p_step_or_rate => l_max_step
5539: ,p_effective_date => p_effective_date

Line 5544: l_adjustment_percentage := NVL(ghr_pay_calc.get_lpa_percentage(p_duty_station_id

5540: ,p_PT_value => l_PT_value
5541: ,p_PT_eff_start_date => l_PT_eff_start_date
5542: ,p_PT_eff_end_date => l_PT_eff_end_date);
5543:
5544: l_adjustment_percentage := NVL(ghr_pay_calc.get_lpa_percentage(p_duty_station_id
5545: ,p_effective_date),0);
5546: l_locality_adj := l_PT_value * (NVL(l_adjustment_percentage,0)/100);
5547: p_award_salary := ROUND(l_PT_value+l_locality_adj);
5548: END;

Line 5561: ghr_pay_calc.get_pay_table_value ( p_user_table_id => l_user_table_id

5557: hr_utility.set_location('EFF DT '||to_char(p_effective_date),20);
5558: hr_utility.set_location('MAX STEP '||l_max_step,30);
5559: hr_utility.set_location('PAY PLAN '||l_pay_plan,40);
5560: hr_utility.set_location('GRADE '||l_grade_or_level,50);
5561: ghr_pay_calc.get_pay_table_value ( p_user_table_id => l_user_table_id
5562: ,p_pay_plan => l_pay_plan
5563: ,p_grade_or_level => l_grade_or_level
5564: ,p_step_or_rate => l_max_step
5565: ,p_effective_date => p_effective_date

Line 5571: p_award_salary := ROUND(ghr_pay_calc.convert_amount(l_PT_value,p_pay_basis,'PA'));

5567: ,p_PT_eff_start_date => l_PT_eff_start_date
5568: ,p_PT_eff_end_date => l_PT_eff_end_date);
5569: hr_utility.set_location('VALUE '||to_char(l_pt_value),60);
5570: hr_utility.set_location('Pay Basis '||p_pay_basis,70);
5571: p_award_salary := ROUND(ghr_pay_calc.convert_amount(l_PT_value,p_pay_basis,'PA'));
5572:
5573: END IF; --(p_pay_plan = l_equivalent_pay_plan)
5574: END IF; -----IF p_prd not in('3','4','J','K','U','V'
5575: --Begin Bug# 5039156

Line 5603: END ghr_pay_calc;

5599: p_award_salary := NULL;
5600: hr_utility.set_location('Leaving ' || l_proc,10);
5601: END award_amount_calc;
5602: -- Bug# 4748927 End
5603: END ghr_pay_calc;